I've just pushed this. If someone is still using PrimOS, let me know and we'll see about restoring support. However, I think it's been effectively "gone" for at least 10 years. I actually coded for a PrimOS system -- mostly via PL/P -- a long time ago.
>From 6354db60645c42b5c9a08e4c404cabc5a30b84e6 Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyer...@redhat.com> Date: Mon, 26 Apr 2010 18:52:15 +0200 Subject: [PATCH 1/2] maint: remove primos support * Makefile.am (EXTRA_DIST): Remove all primos/ files. * primos/build.cpl: Remove file. * primos/ci.opts: Likewise. * primos/include/errno.h: Likewise. * primos/include/fcntl.h: Likewise. * primos/include/stdlib.h: Likewise. * primos/include/sysStat.h: Likewise. * primos/include/sysTypes.h: Likewise. * primos/primos.c: Likewise. * primos/readme: Likewise. --- Makefile.am | 6 +-- primos/build.cpl | 76 ---------------------------- primos/ci.opts | 6 -- primos/include/errno.h | 17 ------ primos/include/fcntl.h | 22 -------- primos/include/stdlib.h | 16 ------ primos/include/sysStat.h | 92 --------------------------------- primos/include/sysTypes.h | 25 --------- primos/primos.c | 123 --------------------------------------------- primos/readme | 27 ---------- 10 files changed, 2 insertions(+), 408 deletions(-) delete mode 100644 primos/build.cpl delete mode 100644 primos/ci.opts delete mode 100644 primos/include/errno.h delete mode 100644 primos/include/fcntl.h delete mode 100644 primos/include/stdlib.h delete mode 100644 primos/include/sysStat.h delete mode 100644 primos/include/sysTypes.h delete mode 100644 primos/primos.c delete mode 100644 primos/readme diff --git a/Makefile.am b/Makefile.am index abba90e..4edbd0d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -44,10 +44,8 @@ EXTRA_DIST = $(ACINCLUDE_INPUTS) $(man_MANS) \ gunzip.in gzexe.in gzip.doc gzip.h lzw.h msdos/match.asm msdos/tailor.c \ msdos/gzip.prj msdos/doturboc.bat msdos/Makefile.msc msdos/Makefile.bor \ msdos/Makefile.djg nt/Makefile.nt os2/gzip.def os2/Makefile.os2 \ - os2/gzip16.def primos/include/errno.h primos/include/fcntl.h \ - primos/include/stdlib.h primos/include/sysStat.h \ - primos/include/sysTypes.h primos/build.cpl primos/readme \ - primos/primos.c primos/ci.opts revision.h sample/makecrc.c \ + os2/gzip16.def \ + revision.h sample/makecrc.c \ sample/ztouch sample/add.c sample/sub.c sample/zread.c sample/zfile \ tailor.h vms/Makefile.mms vms/gzip.hlp vms/vms.c vms/Readme.vms \ vms/Makefile.vms vms/Makefile.gcc vms/makegzip.com zcat.in zcmp.in zdiff.in \ diff --git a/primos/build.cpl b/primos/build.cpl deleted file mode 100644 index 6d82fa0..0000000 --- a/primos/build.cpl +++ /dev/null @@ -1,76 +0,0 @@ -/* Gzip build file for Primos. -/* author: Peter Eriksson, p...@lysator.liu.se -/* -type -type 'Building GZIP for PRIMOS - Please Wait...' -type -&if ^ [exists *>PRIMOS>OBJ -dir] &then &do - type 'Creating *>PRIMOS>OBJ directory...' - type - create *>PRIMOS>OBJ - &end - -type 'Compiling... - -&set_var unit := 0 - -/* -&set_var cdefines := -debug - -como *>primos>compile.como -&do file &items [wild *>@@.c -single unit] - &set_var filebase := [before %file% .] - &if ^ [exists *>primos>obj>%filebase%.bin] &then &do - type 'Compiling "'%file%'"...' - ci *>%file% -binary *>primos>obj>=.bin %cdefines% -optionsfile *>primos>ci.opts - &end -&end -close -unit %unit% -&set_var unit := 0 - -&do file &items [wild *>primos>@@.c -single unit] - &set_var filebase := [before %file% .] - &if ^ [exists *>primos>obj>%filebase%.bin] &then &do - type 'Compiling "'%file%'"...' - ci *>primos>%file% -binary *>primos>obj>=.bin %cdefines% -optionsfile *>primos>ci.opts - &end -&end -como -end - -type -type -type 'Binding...' - -&set_var unit := 0 -&data bind - li ccmain - load *>primos>obj>gzip - load *>primos>obj>bits - load *>primos>obj>crypt - load *>primos>obj>deflate - load *>primos>obj>getopt - load *>primos>obj>inflate - load *>primos>obj>lzw - load *>primos>obj>makecrc - load *>primos>obj>primos - load *>primos>obj>trees - load *>primos>obj>unlzw - load *>primos>obj>unpack - load *>primos>obj>unlzh - load *>primos>obj>unzip - load *>primos>obj>util - load *>primos>obj>zip - li c_lib - li - dynt -all - nwc - nitr - ntw - compress - file *>primos>gzip.run -&end - -type -type -type 'All done. (Hopefully). The executable should be in *>PRIMOS>GZIP.RUN' -&return diff --git a/primos/ci.opts b/primos/ci.opts deleted file mode 100644 index bb4f9b3..0000000 --- a/primos/ci.opts +++ /dev/null @@ -1,6 +0,0 @@ --define PRIMOS --include *>PRIMOS>INCLUDE --ignoreregister --packbytes --sof - diff --git a/primos/include/errno.h b/primos/include/errno.h deleted file mode 100644 index ee89146..0000000 --- a/primos/include/errno.h +++ /dev/null @@ -1,17 +0,0 @@ -/* -** errno.h -** -** Emulation of the Unix errno.h header file for PRIMOS -** -** Author: Peter Eriksson <p...@lysator.liu.se> -*/ - -#ifndef __ERRNO_H__ -#define __ERRNO_H__ - -#include <errd.h> - -#define ENOENT e$fntf - -#endif - diff --git a/primos/include/fcntl.h b/primos/include/fcntl.h deleted file mode 100644 index 9e4b1dc..0000000 --- a/primos/include/fcntl.h +++ /dev/null @@ -1,22 +0,0 @@ -/* -** fcntl.h -** -** Emulation of the Unix fcntl.h header file for PRIMOS -** -** Author: Peter Eriksson <p...@lysator.liu.se> -*/ - -#ifndef __FCNTL_H__ -#define __FCNTL_H__ - -#define O_RDONLY 0 -#define O_WRONLY 1 -#define O_RDWR 2 - -#define O_BINARY 0 -#define O_EXCL 0 -#define O_NDELAY 0 -#define O_CREAT 0 -#define O_TRUNC 0 - -#endif diff --git a/primos/include/stdlib.h b/primos/include/stdlib.h deleted file mode 100644 index 49fbfc3..0000000 --- a/primos/include/stdlib.h +++ /dev/null @@ -1,16 +0,0 @@ -/* -** stdlib.h -** -** Emulation of the Unix stdlib.h header file for PRIMOS -** -** Author: Peter Eriksson <p...@lysator.liu.se> -*/ - -#ifndef __STDLIB_H__ -#define __STDLIB_H__ - -extern char *malloc(); -extern char *calloc(); - -#endif - diff --git a/primos/include/sysStat.h b/primos/include/sysStat.h deleted file mode 100644 index 07cfd06..0000000 --- a/primos/include/sysStat.h +++ /dev/null @@ -1,92 +0,0 @@ -/* -** sys/stat.h -** -** Emulation of the Unix sys/stat.h header file for PRIMOS -** -** Author: Peter Eriksson <p...@lysator.liu.se> -*/ - -#ifndef __SYS_STAT_H__ -#define __SYS_STAT_H__ - - -#include <sys/types.h> - -struct stat { - /* First some PRIMOS standard entries */ - off_t st_size; - time_t st_mtime; - short st_type; /* Primos file type */ - short st_rwlock; /* Primos read/write lock */ - - /* Begin Unix compatibility - don't believe these entries! */ - dev_t st_dev; - ino_t st_ino; - mode_t st_mode; - short st_nlink; - uid_t st_uid; - gid_t st_gid; - dev_t st_rdev; - time_t st_atime; - time_t st_ctime; - long st_blksize; - long st_blocks; -}; - -#define _IFMT 0170000 /* type of file */ -#define _IFREG 0100000 /* regular */ -#define _IFDIR 0040000 /* directory */ - -/* Some stupid programs check if these are defined and then - believe these are supported in the OS - not so in PRIMOS ... */ -#ifndef __50SERIES -# define _IFCHR 0020000 -# define _IFBLK 0060000 -# define _IFLNK 0120000 -# define _IFSOCK 0140000 -# define _IFIFO 0010000 -#endif - -#define S_ISUID 0004000 -#define S_ISGID 0002000 -#define S_ISVTX 0001000 -#define S_IREAD 0000400 -#define S_IWRITE 0000200 -#define S_IEXEC 0000100 - -#define S_ENFMT 0002000 - -#define S_IFMT _IFMT -#define S_IFREG _IFREG -#define S_IFDIR _IFDIR -#ifndef __50SERIES -# define S_IFCHR _IFCHR -# define S_IFBLK _IFBLK -# define S_IFLNK _IFLNK -# define S_IFSOCK _IFSOCK -# define S_IFIFO _IFIFO -#endif - -#define S_IRWXU 0000700 -#define S_IRUSR 0000400 -#define S_IWUSR 0000200 -#define S_IXUSR 0000100 -#define S_IRWXG 0000070 -#define S_IRGRP 0000040 -#define S_IWGRP 0000020 -#define S_IXGRP 0000010 -#define S_IRWXO 0000007 -#define S_IROTH 0000004 -#define S_IWOTH 0000002 -#define S_IXOTH 0000001 - -#define S_ISREG(m) (((m) & _IFMT) == _IFREG) -#define S_ISDIR(m) (((m) & _IFMT) == _IFDIR) -#ifndef __50SERIES -# define S_ISBLK(m) (((m) & _IFMT) == _IFBLK) -# define S_ISCHR(m) (((m) & _IFMT) == _IFCHR) -# define S_ISFIFO(m) (((m) & _IFMT) == _IFIFO) -#endif - - -#endif diff --git a/primos/include/sysTypes.h b/primos/include/sysTypes.h deleted file mode 100644 index ec6c5b1..0000000 --- a/primos/include/sysTypes.h +++ /dev/null @@ -1,25 +0,0 @@ -/* -** sys/types.h -** -** Emulation of the Unix sys/types.h header file for PRIMOS -** -** Author: Peter Eriksson <p...@lysator.liu.se> -*/ - -#ifndef __SYS_TYPES_H__ -#define __SYS_TYPES_H__ - -typedef long size_t; -typedef long time_t; - -typedef long off_t; -typedef short dev_t; -typedef short ino_t; -typedef short mode_t; -typedef short uid_t; -typedef short gid_t; - -typedef char *caddr_t; - -#endif - diff --git a/primos/primos.c b/primos/primos.c deleted file mode 100644 index 18e228b..0000000 --- a/primos/primos.c +++ /dev/null @@ -1,123 +0,0 @@ -/* -** primos.c -** -** This file contains emulation routines for some common Unix functions -** -** Author: Peter Eriksson <p...@lysator.liu.se> -*/ - -#ifdef __50SERIES - -#include <config.h> -#include <stdio.h> -#include <fcntl.h> -#include <sys/stat.h> - - -uid_t primos_uid = 42; -gid_t primos_gid = 42; -mode_t primos_mode = 600; - -/* Dummy do-nothing routine for chmod() */ -int chmod(path, mode) - char *path; - int mode; -{ - return 0; -} - -char *getenv(var) - char *var; -{ - char buf[256]; - extern char *gvget(); - - buf[0] = '.'; - strcpy(buf+1, var); - - return gvget(buf); -} - - -unlink(path) - char *path; -{ - return delete(path); -} - -int lstat(path, buf) - char *path; - struct stat *buf; -{ - return stat(path, buf); -} - -int stat(path, buf) - char *path; - struct stat *buf; -{ - buf->st_dev = 1; - buf->st_ino = 1; - buf->st_nlink = 1; - buf->st_uid = primos_uid; - buf->st_gid = primos_gid; - buf->st_rdev = 1; - buf->st_blksize = 2048; - - buf->st_rwlock = frwlock(path); - switch (buf->st_type = ftype(path)) - { - case 0: - case 1: - /* Regular file (SAM or DAM) */ - buf->st_size = fsize(path); - buf->st_mtime = fdtm(path); - - buf->st_mode = S_IFREG|primos_mode; - break; - - case 4: - buf->st_size = 0; - buf->st_mtime = fdtm(path); - - buf->st_mode = S_IFDIR|primos_mode; - break; - - case -1: - return -1; - - default: - buf->st_mode = primos_mode; - buf->st_size = fsize(path); - buf->st_mtime = fdtm(path); - } - - buf->st_blocks = (buf->st_size-1) / buf->st_blksize + 1; - - /* Should be fixed to really fetch these values, but that - * would require calling some PRIMOS subroutines and I don't have - * a copy of the Primos Subroutine reference manuals here.. - */ - buf->st_atime = buf->st_mtime; - buf->st_ctime = buf->st_mtime; - - return 0; -} - -int fstat(fd, buf) - int fd; - struct stat *buf; -{ - char path[1025]; - - return stat(getname(fd, path), buf); -} - -int ascii2pascii(c) - int c; -{ - return (c ? (c | 0x80) : '\0'); -} - - -#endif /* __50SERIES */ diff --git a/primos/readme b/primos/readme deleted file mode 100644 index 1867062..0000000 --- a/primos/readme +++ /dev/null @@ -1,27 +0,0 @@ -To build GZIP for PRIMOS you should just have to type: - - r *>primos>build - -while standing in the directory above this PRIMOS subdirectory. - -If the files in these directories looks strange, then it might be -because they are in normal ASCII. You'll need to convert them into -PASCII before you will be able to build the GZIP executable. - -You can find a simple ASCII to PASCII converter via anonymous FTP -from "ftp.lysator.liu.se" in the directory "pub/primos/run" as -the file "topascii.run". - -You can reach me at a number of places in case there are any bugs -in this port to report... - - Email: - - p...@signum.se Signum is a company giving support for - Free Software. Call/Mail us if you're - interrested! (Phone: +46-13-21-46-00) - - p...@lysator.liu.se Lysator is a computer society at the - Linkoping University in Sweden. - -Peter Eriksson, 25 May 1993 -- 1.7.1.328.g9993c >From 810fad1383ed3fede449aba08dc1c413162580ab Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyer...@redhat.com> Date: Mon, 26 Apr 2010 18:55:22 +0200 Subject: [PATCH 2/2] build: update gnulib submodule to latest --- gnulib | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/gnulib b/gnulib index fb814d4..95d5b87 160000 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit fb814d4cf9834324f0c05bcd04899003933933fa +Subproject commit 95d5b8747b7ba317f59fb69b0dee5dd42ab417e6 -- 1.7.1.328.g9993c