more_software
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
more_software [2018/08/16 20:22] – wiki_admin | more_software [2021/09/19 18:00] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | //This page will be re-written in the future, for now it's here as-is being copy-pasted from several sources.// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====== SysV pkg-files ====== | ||
+ | |||
+ | |||
+ | < | ||
+ | NB: All the shell stuff assumes you are running bash. If you are using | ||
+ | sh or ksh, you will need to manually expand the brace expansions and | ||
+ | if you are using csh or tcsh, you will need to adjust the for-loops | ||
+ | and brace expansions for that shell. | ||
+ | |||
+ | To make a SysV pkg from a cpio file: | ||
+ | |||
+ | 1. Make a temp/ | ||
+ | |||
+ | 2. In the temp/ | ||
+ | if you have that installed): | ||
+ | |||
+ | cpio -idmv / | ||
+ | |||
+ | 2b. If the cpio file was already installed, an alternative to expanding | ||
+ | the cpio file again is to pipe the output of 'cpio -cit < foo.cpio' | ||
+ | to ' | ||
+ | is not as easy to search for symlinks using this method. | ||
+ | |||
+ | 3. Build the pkg prototype file (does not have to be done as root): | ||
+ | |||
+ | echo 'i pkginfo' | ||
+ | pkgproto {dirs, | ||
+ | |||
+ | 3a. This is the tricky part. If there are any symbolic links in the | ||
+ | pkg, for some reason, the pkgproto for AMIX doesn' | ||
+ | in the prototype file, so, we have to add them manually. You'll | ||
+ | need the coreutils package installed to get the ' | ||
+ | The following example just searches the ' | ||
+ | the pkg installs stuff outside of ' | ||
+ | searched/ | ||
+ | |||
+ | find usr -type l -print > one | ||
+ | for i in `cat one` ; do readlink -f $i ; done | sed -e " | ||
+ | paste -d= one two | awk ' | ||
+ | |||
+ | The ' | ||
+ | |||
+ | 3b. At this point, it's not a bad idea to check the prototype file for | ||
+ | any inconsistancies with regards to permissions and file ownership. | ||
+ | For the most part, everything should probably be 'root root', or maybe | ||
+ | 'bin bin', but there are exceptions. | ||
+ | |||
+ | 4. Create a pkginfo file. The ' | ||
+ | long. | ||
+ | |||
+ | PKG=pkgname | ||
+ | ARCH=m68k | ||
+ | NAME=My nifty package | ||
+ | VERSION=1.2.3 | ||
+ | CATEGORY=utilities | ||
+ | |||
+ | 5. Make the package structure: | ||
+ | |||
+ | pkgmk -d `pwd` -r / | ||
+ | |||
+ | 6. Bundle it up into a package file: | ||
+ | |||
+ | pkgtrans -s `pwd` / | ||
+ | |||
+ | 7. To install your new pkg (as root, or with sudo): | ||
+ | |||
+ | pkgadd -d / | ||
+ | |||
+ | --- | ||
+ | |||
+ | If you configure/ | ||
+ | (/ | ||
+ | prototype file with something like: | ||
+ | |||
+ | cd / ; find usr/ | ||
+ | |||
+ | as the command step of 3 above. Just keep an eye out for bits that might | ||
+ | have been installed elsewhere, like gcc likes to put the man pages in | ||
+ | /usr/man/* regardless of the --prefix supplied during the configure | ||
+ | step. | ||
+ | |||
+ | If you just install everything to /usr/local, which makes it easier on | ||
+ | the PATH, I use ' | ||
+ | package that was just installed: | ||
+ | |||
+ | cd / ; find usr -newer ~/ | ||
+ | |||
+ | The prototype file will need a little cleaning, make sure that there are | ||
+ | entries for all directories: | ||
+ | |||
+ | i pkginfo | ||
+ | d none usr 0755 root root | ||
+ | d none usr/local 0755 root root | ||
+ | d none usr/ | ||
+ | |||
+ | The above ' | ||
+ | need to manually add the two directory entries above it. Also, check | ||
+ | lower in the file for other examples, like '/ | ||
+ | man pages), might need to add an entry for '/ | ||
+ | miss any, ' | ||
+ | adding the ' | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
====== Installing AmixBP software ====== | ====== Installing AmixBP software ====== | ||
Line 33: | Line 142: | ||
**SUCCESS** | **SUCCESS** | ||
- | NCSA httpd 1.5.2a — successful on 1.1, AMIX gcc | + | * NCSA httpd 1.5.2a — successful on 1.1, AMIX gcc |
- | + | | |
- | + | | |
- | gzip 1.3.5 — successful on 2.03, gcc-2.7.2.3 | + | |
- | + | | |
- | GNU screen 4.0.2 — successful on 2.03, gcc-2.7.2.3 | + | |
- | + | | |
- | GNU make 3.80 — successful on 2.03, gcc-2.7.2.3 | + | |
- | + | | |
- | wget 1.9.1 — successful on 2.03, gcc-2.7.2.3 | + | |
- | + | | |
- | Nethack 3.4 — successful on 2.03, gcc-2.7.2.3 | + | |
- | + | | |
- | apache 1.3.31 — successful on 2.03, gcc-2.7.2.3 | + | |
- | + | | |
- | gcc 2.4.5 — successful on 2.03, AMIX gcc, then recompiled with itself | + | |
- | gcc 2.5.8 — successful on 2.03, gcc 2.4.5, then recompiled with itself | + | |
- | gcc 2.6.3 — successful on 2.03, gcc 2.5.8, then recompiled with itself | + | |
- | gcc 2.7.2.3 — successful on 2.03, gcc 2.6.3, then recompiled with itself | + | |
- | ntp-4.2.0 — successful and working on 2.1 | + | |
- | bash-1.14.7 — successful and working on 2.1 | + | |
- | bash-3.0 — successful and working on 2.1, needs changes to compile (see below) | + | |
- | bzip2 1.0.2 — successful and working on 2.1 | + | |
- | rsync 2.6.3 — successful and working on 2.1 | + | |
- | GNU tar 1.14 — successful and working on 2.1, needs changes to compile (see below) | + | |
- | GNU coreutils 5.2.1 — successful and working on 2.1, needs changes to compile (see below) | + | |
- | GNU patch 2.5.4 — successful and working on 2.1, needs changes to compile (see below) | + | |
- | lynx 2.7.2 — successful and working on 2.1, needs changes to compile (see below) | + | |
- | zlib 1.2.2 — successful and working on 2.1 | + | |
- | perl 5.005_4 — successful and working on 2.1, care needed during configuration (see below) | + | |
- | openssl 1.0.0d — successful and working on 2.1, needs changes to compile (see below) | + | |
**FAILS** | **FAILS** | ||
- | amiwm 0.20pl48 — fails on 2.03, compiles, object files do not link, AMIX gcc | + | * amiwm 0.20pl48 — fails on 2.03, compiles, object files do not link, AMIX gcc |
- | gcc 2.95.3 — fails on 2.03, with gcc 2.7.2.3, collect2 has unresolved symbols (forget which, sys_sig.h? | + | |
- | binutils 2.15 — no m68k-cbm-sysv4 target for gas or ld, makes this useless pretty much | + | |
- | apache 2.x — compilation failure | + | |
- | mysql 4.x — compilation failure | + | |
- | lynx 2.8.x — compilation failure, assembler takes a dump | + | |
- | netrik — missing, uncompilable libraries | + | |
- | w3m — missing, uncompilable libraries | + | |
- | GNU gettext — nope (last tested on 2.03) | + | |
- | GNU readline — nyet (last tested on 2.03, integrated readline on bash 3.0 compiled fine on 2.1) | + | |
- | UNIX top 3.5.1 — Can get it to compile, but only displays one process (init), free mem is wrong, and crashes on update. | + | |
- | wm2 — Wants ANSI C headers. Man, just ask for the world why dontcha? | + | |
**IN PROCESS** | **IN PROCESS** | ||
- | WindowLab 1.32 | + | * WindowLab 1.32: Add -lnsl and -lsocket to EXTRA_LIBS in Makefile. Comment out defines for shape extension in top of Makefile. Change XROOT to /usr/X. Change snprintf() in menufile.c to use sprintf(), remove " |
- | Add -lnsl and -lsocket to EXTRA_LIBS in Makefile | + | |
- | Comment out defines for shape extension in top of Makefile | + | |
- | Change XROOT to /usr/X | + | |
- | Change snprintf() in menufile.c to use sprintf(), remove " | + | |
- | Rename windowlab.1x to windowlab, compress with compress and move to /usr/man/1X | + | |
- | HOLY SHIT A WINDOW MANAGER COMPILED ON AMIX | + | |
**CHANGES NEEDED** | **CHANGES NEEDED** | ||
changes needed for successful compilation on AMIX | changes needed for successful compilation on AMIX | ||
- | bash 3.0 Needed to edit some stuff for libintl to compile...will redo this and add the info later | + | * bash 3.0 Needed to edit some stuff for libintl to compile...will redo this and add the info later |
- | GNU tar 1.14 Need to #include stdlib.h in src/ | + | |
- | GNU patch 2.5.4 Edit argmatch.c, change strncasecmp call to strncmp | + | |
- | lynx 2.7.2 Add " | + | |
- | coreutils 5.2.1 Added #define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) to lib/fts.c | + | |
- | Perl 5.005_4 | + | |
- | Compiled only standard extensions, shared objects | + | |
- | Link gcc-2.7.2.3 cpp to / | + | |
- | Use my own malloc, do not use Perl malloc | + | |
- | openssl 1.0.0d | + | |
- | perl5 needed for compilation | + | |
- | svr4 unsupported, | + | |
- | Define NO_STRINGS_H in Makefile CFLAGS | + | |
- | edit crypto/ | + | |
- | include sys/types.h in crypto/ | + | |
- | ifdef NO_STRINGS_H apps/apps.c | + | |
- | add -lnsl -lsocket to EX_LIBS in apps/ | + | |
- | prngd 0.9.29 | + | |
- | Oh dear, one of these where you edit the Makefile and config.h manually, and oh generic sysv4 isn't supported so I have to make my own defines... | + | |
- | Defined AMIX, copied SYSLIBS from NCR sysv4 entry | + | |
- | AMIX doesn' | + | |
- | AMIX closelog requires () | + | |
- | made AMIX entry in config.h, provided file locations for entropy collection | + | |
- | borrowed Solaris 7 prngd.conf file, need to fix it but it will work for now | + | |
- | Seems to work, but will dump core if you fail to provide a socket to run on. Provide that socket... | + | |
- | openssh 3.9p1 | + | |
- | Proceeding well, now that I realize ldd expects to find everything in /usr/lib and/or / | + | |
- | Commented out include of shadow.h in auth.c and auth-shadow.c since it caused redefinition of struct spwd. This allowed compile to continue but I wonder if I'll be able to log in | + | |
- | Compilation finished, now recompiling since AMIX doesn' | + | |
- | Add #define PRNGD_SOCKET / | + | |
- | Works now but only root can login...others get setuid error...think I found a fix, add to config.h: #define SETEUID_BREAKS_SETUID 1, #define BROKEN_SETREUID 1, #define BROKEN_SETREGID 1 | + | |
- | rhapsody 0.25b | + | |
- | REQUIRES ncurses from DRASTIC UPGRADES file gallery | + | |
- | add #define bzero(b, n) memset(b, ' | + | |
- | add #define strncasecmp(a, | + | |
- | add #define strcasecmp(a, | + | |
- | comment out #include strings.h in: src/ | + | |
- | in main.c change #include < | + | |
**WANT-TO-BUILD** | **WANT-TO-BUILD** | ||
ANY modern window manager for X — Please | ANY modern window manager for X — Please |
more_software.1534443762.txt.gz · Last modified: 2021/09/19 18:00 (external edit)