{"id":19364312,"url":"https://github.com/orc/pdksh","last_synced_at":"2026-03-15T19:17:17.817Z","repository":{"id":137108117,"uuid":"91498155","full_name":"Orc/pdksh","owner":"Orc","description":"pdksh 5.2.14 with the lovecraftian tentacled horror of GNU autoconfigure stripped out","archived":false,"fork":false,"pushed_at":"2020-06-15T11:43:46.000Z","size":528,"stargazers_count":12,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-23T14:39:25.275Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Orc.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-16T19:48:44.000Z","updated_at":"2025-04-16T07:10:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"63a48f47-9964-4fda-9bd1-6e0c1fd78483","html_url":"https://github.com/Orc/pdksh","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Orc/pdksh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orc%2Fpdksh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orc%2Fpdksh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orc%2Fpdksh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orc%2Fpdksh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Orc","download_url":"https://codeload.github.com/Orc/pdksh/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Orc%2Fpdksh/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30549935,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-15T15:03:43.933Z","status":"ssl_error","status_checked_at":"2026-03-15T15:03:37.630Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T07:37:01.698Z","updated_at":"2026-03-15T19:17:17.801Z","avatar_url":"https://github.com/Orc.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nLast updated Jul '99 for pdksh-5.2.14.\n\t(check ftp://ftp.cs.mun.ca:/pub/pdksh/ or\n\t http://www.cs.mun.ca/~michael/pdksh/ for new versions/patches)\n\nPD-ksh is a mostly complete AT\u0026T ksh look-alike (see NOTES file for a list\nof things not supported).  Work is mostly finished to make it fully\ncompatible with both POSIX and AT\u0026T ksh (when the two don't conflict).\n\nSince pdksh is free and compiles and runs on most common unix systems, it\nis very useful in creating a consistent user interface across multiple\nmachines.  For example, in the CS dept. of MUN, pdksh is installed on a\nvariety of machines including Suns, HPs, DecStations, pcs running Linux,\netc., and is the login shell of ~5200 users.\n\nPDksh is currently being maintained by Michael Rendell (michael@cs.mun.ca),\nwho took over from Simon J. Gerraty (sjg@zen.void.oz.au) at the later's\nsuggestion.  A short list of things that have been added since the last\npublic pdksh release (4.9) are auto-configuration, arrays, $(( .. )),\n[[ .. ]], variable attributes, co-processes, extended file globbing,\nmany POSIXisms and many bug fixes.  See the NEWS and ChangeLog files for\nother features added and bugs fixed.\n\nNote that pdksh is provided AS IS, with NO WARRANTY, either expressed or\nimplied.  Also note that although the bulk of the code in pdksh is in the\npublic domain, some files are copyrighten (but freely distributable) and\nsubject to certain conditions (eg, don't remove copyright, document any\nchanges, etc.).  See the LEGAL file for details.\n\nIf you would like to be notified via email of new releases as they become\navailable, send mail to pdksh-request@cs.mun.ca with subject\n\"send release notifications\" (or \"don't send release notifications\" to stop\nthem).\n\n\nFiles of interest:\n\tNEWS\t\tshort list of noticeable changes in various versions.\n\tCONTRIBUTORS\tshort history of pdksh, people who contributed, etc.\n\tNOTES\t\tlists of known bugs in pdksh, at\u0026t ksh, and posix.\n\tPROJECTS\tlist of things that need to be done in pdksh.\n\tBUG-REPORTS\tlist of recently reported bugs that have been fixed\n\t\t\tand all reported bugs that haven't been fixed.\n\tLEGAL\t\tA file detailing legal issues concerning pdksh.\n\tetc/*\t\tsystem profile and kshrc files used by Simon J. Gerraty.\n\tmisc/README*\treadme files from previous versions.\n\tmisc/Changes*\tchangelog files from previous versions.\n\tos2/*\t\tfiles and info needed to compile ksh on os/2.\n\ttests/*\t\tpdksh's regression testing system.\n\n\nCompiling/Installing:\n\n  The quick way:\n\t./configure.sh\n\tmake\n\tmake check\t# optional\n\tmake install\t# will install /usr/local/bin/ksh\n\t\t\t#  and /usr/local/man/man1/ksh.1\n\t[add path-to-installed-pdksh to /etc/shells]\n\n    * miscellaneous configuration notes:\n\t* On DecStations, MIPS and SONY machines with older C compilers that\n\t  can't handle \"int * volatile x\", you should use gcc or turn off\n\t  optimization.  The problem is configure defines volatile to nothing\n\t  since the compiler can't handle it properly, but the compiler does\n\t  optimizations that the volatile is meant to prevent.   So.  Use gcc.\n\t* On MIPS RISC/os 5.0 systems, sysv environment, \u003csignal.h\u003e is\n\t  messed up - it defines sigset_t, but not any of the rest of\n\t  the posix signals (the sigset_t typedef should be in the\n\t  ifdef KERNEL section) - also doesn't have waitpid() or wait3().\n\t  Things compile up ok in the svr4 environment, but it dumps core\n\t  in __start (perhaps our system doesn't have the full svr4\n\t  environ?).  Try compiling in the bsd43 environ instead (still not\n\t  perfect - see BUG-REPORTS file), using gcc - cc has problems with\n\t  macro expansions in the argument of a macro (in this case, the ARGS\n\t  macro).\n\t* On TitanOS (Stardent/Titan), use `CC=\"cc -43\" configure ...'.\n\t  When configure finishes, edit config.h, undef HAVE_DIRENT_H and\n\t  define HAVE_SYS_DIR_H (the dirent.h header file is broken).\n\t* On Linux (red hat distribution), check that /dev/tty has mode 0666\n\t  (not mode 0644).  If it has the wrong permissions, ksh will print\n\t  warnings about not being able to do job control.\n\t* on NeXT machines (3.2, probably other releases), the siglist.out file\n\t  won't be generated correctly if you try to use the system's compiler\n\t  (it has a broken cc -E and strange header files).  There are two\n\t  ways to make it work:\n\t    1) if you have gcc, use it (for everything).  Alternatively,\n\t       force configure to use it for CPP, i.e., use\n\t\t  CPP=\"gcc -E\" configure ...\n\t    2) Force configure to use some extra CPPFLAGS, using\n\t\t  CPPFLAGS=\"XXX\" configure ...\n\t       where XXX is obtained from running \"cc -v YYY.c\" on some\n\t       C file.  Look at the options passed to cpp (there are lots\n\t       of them...) and replace the XXX above with them.\n\t  Make sure you do a \"make distclean\" (or \"rm config.cache\") if\n\t  you re-run configure with a difference CPP or CPPFLAGS.\n\t  Also note that if you are building multiple arch binaries, you\n\t  will have to specify both CC and CPP.\n    * run make: everything should compile and link without problems.\n    * run make check: this fires up a perl script that checks for some known\n      and some fixed bugs.  The script prints pass/fail for tests it expected\n      to pass/fail, and PASS/FAIL for tests it expected to fail/pass.  If you\n      don't have perl, or if your perl doesn't work (most common problem is\n      the .ph header files are missing or broken), you can run\n\t  ENV= path-to-pdksh-executable misc/Bugs path-to-pdksh-executable\n      instead.\n    * run make install: this installs ksh (in /usr/local/bin/ksh by default,\n      or where ever you told configure to put things).\n    * add path-to-installed-pdksh to /etc/shells if it's not already there.\n      This is only needed if you intend to use pdksh as a login shell (things\n      like ftp won't allow users to connect in if their shell isn't in this\n      file).\n\nThe following is a list of machines that pdksh is reported to work on:\n    -/PC Linux 1.x,2.x\n    -/PC NetBSD 0.9a\n    -/PC BSDI 1.1\n    -/PC FreeBSD 2.x, 3.x\n    -/PC OpenBSD\n    -/PC Interactive/Sunsoft 3.0.1 and 4.1 (note that problems have been\n\t    reported with isc3.2 - see the BUG-REPORTS file)\n    -/PC OS/2\n    Commadore/Amiga NetBSD 1.0\n    Dec/alpha OSF/1 v2.x, v3.x\n    Dec/alpha NetBSD 1.1B\n    Dec/pmax Ultrix 4.2\n    Dec/vax Ultrix 2.2 (not tested recently :-))\n    Dec/vax 4.3BSD+NFS (MtXinu) (not tested recently :-))\n    HP/pa HP-UX 9.01\n    IBM/RS/6000 AIX 3.2.5\n    MIPS/m120 RISC/os 5.0 (bsd43 environ)\n    NeXT NeXTStep 3.2\n    SGI/IRIX 6.2\n    Sun/sun4 SunOS 4.1.3, 4.1.4\n    Sun/sun4 Solaris 2.x\n    Sun/sun386i SunOS 4.0.2\n    Sun/sun3 SunOS 4.0.3, 4.1.1_U1\n    Stardent/TitanOS 4.2\n\n\nNewer versions of pdksh may be available from\n\tftp://ftp.cs.mun.ca:/pub/pdksh/\nyou may want to check for one if you run into any problems, as the problem may\nalready be fixed (you can get new release notifications automatically - see\nabove).  The file pdksh-unstable-XXX.tar.gz has the very latest version which\nmay not compile (it is generated automatically when changes are detected\nin the main source repository) - it is for those who want to follow\nchanges as they are made.\n\nBTW, THE MOST FREQUENTLY REPORTED BUG IS\n\techo hi | read a; echo $a\t# Does not print hi\nI'm aware of this and there is no need to report it.\n\nMichael Rendell, michael@cs.mun.ca\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forc%2Fpdksh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forc%2Fpdksh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forc%2Fpdksh/lists"}