Amiga Unix Wiki

Because AmigaOS just isn't obscure enough today!

User Tools

Site Tools


more_software

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
more_software [2018/08/16 20:23]
wiki_admin
more_software [2019/12/13 19:39]
wiki_admin updated SysV-part
Line 1: Line 1:
-====== Installing AmixBP software ======+//This page will be re-written in the future, for now it's here as-is being copy-pasted from several sources.//
  
-More information on [[http://amixbp.sourceforge.net|AmixBP]] (backports for Amix, not updated since 2009).+----
  
-After downloading the desired files from sourceforge.net, to unpack them into the default location /opt/amixbp on your Amiga UNIX machine run the following command:+====== SysV pkg-files ======
  
-zoo xpq filename.tar.zoo | gtar -xvC / -f - 
  
-This will unpack the files to the correct location. If you'd rather not unpack straight into /opt/amixbp, you can unpack to your current directory by omitting the "C /" from the gtar options. This will create an opt/amixbp directory tree descending from your pwd. When unpacking the files, don't worry about errors regarding existing directories. This is normal.+<file> 
 +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.
  
-You need to add /opt/amixbp/bin to your path. If you would like files installed to take precedence over the native utilities, add it to the front of your path. If you want to Amiga UNIX commands and utilities to take precedence, add it to the back of your path. In that case, to force the use of AmixBP software (for exampleAmiga UNIX provides an old gcc, but so does AmixBP) you will need to specify the full path. ie: /opt/amixbp/bin/gcc+To make a SysV pkg from a cpio file:
  
-====== Installing software from the file galleries ======+1. Make a temp/working directory
  
-Installing the software is fairly simpleYou will need bzip2 to handle the archivesthis is provided here for the binary only. If you like, you can download the full bzip2 archive from the file galleries, which requires bzip2 to extract. To install the bzip2.Z file, as root do:+2In the temp/working dirblow up the cpio file (as root, or with sudo 
 +   if you have that installed):
  
-uncompress bzip2.Z +  cpio -idmv /path/to/foo.cpio
-chmod a+x bzip2 +
-cp -p bzip2 /usr/bin+
  
-Now you have bzip2To install any of the cpio.bz2 archivesbecome root (su), cd to / and do:+2bIf 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 'pkgproto' to build the prototype file in the next stepbut it 
 +    is not as easy to search for symlinks using this method.
  
-bzip2 -dc filename.cpio.bz2 | cpio -ivcdm+3Build the pkg prototype file (does not have to be done as root):
  
-If you have the bzip2 archive installedyou can use bzcat instead of bzip2 -dc.+  echo 'i pkginfo' > prototype 
 +  pkgproto {dirs,created,from,cpio} >> prototype
  
-If you don'entirely trust the cpio archivesyou can install them into a fake root tree and move the files laterFor example, you can make a directory in /tmp, unarchive the file there, check it outand move the directories out to / when you're satisfied.+3a. This is the tricky part. If there are any symbolic links in the 
 +    pkg, for some reason, the pkgproto for AMIX doesn'include them 
 +    in the prototype fileso, we have to add them manually. You'll 
 +    need the coreutils package installed to get the 'readlink' command. 
 +    The following example just searches the 'usr' subdirectorybut if 
 +    the pkg installs stuff outside of 'usr', then they will need to be 
 +    searched/accounted for as well:
  
-Note that most archives will unpack to /usr/localso you need to add directories like /usr/local/bin and /usr/local/sbin to your path if you want to execute them without explicitly specifying the location of the files (ie: instead of make you would have to do /usr/local/bin/make if /usr/local/bin is not in your path).+  find usr -type l -print > one 
 +  for i in `cat one` ; do readlink -f $i ; done | sed -e "s|`pwd`||" -e "s|^/||" > two 
 +  paste -d= one two | awk '{print "s none"$1}' >> prototype
  
-====== Compilation ======+    The 'one' and 'two' files can be removed after the 'paste' command.
  
-**SUCCESS**+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.
  
-NCSA httpd 1.5.2a — successful on 1.1, AMIX gcc+4Create a pkginfo fileThe 'PKG' name can only be up to 9 characters 
 +   long.
  
 +  PKG=pkgname
 +  ARCH=m68k
 +  NAME=My nifty package
 +  VERSION=1.2.3
 +  CATEGORY=utilities
  
-gzip 1.3.— successful on 2.03, gcc-2.7.2.3+5. Make the package structure:
  
-GNU screen 4.0.2 — successful on 2.03, gcc-2.7.2.3+  pkgmk -d `pwd` -r /
  
-GNU make 3.80 — successful on 2.03, gcc-2.7.2.3+6Bundle it up into a package file:
  
-wget 1.9.1 — successful on 2.03, gcc-2.7.2.3+  pkgtrans -s `pwd` /path/you/store/pkgs/pkgname-1.2.3.pkg
  
-Nethack 3.4 — successful on 2.03gcc-2.7.2.3+7To install your new pkg (as rootor with sudo):
  
-apache 1.3.31 — successful on 2.03, gcc-2.7.2.3+  pkgadd -d /path/you/store/pkgs/pkgname-1.2.3.pkg
  
-gcc 2.4.5 — successful on 2.03, AMIX gcc, then recompiled with itself+---
  
-gcc 2.5.8 — successful on 2.03gcc 2.4.5, then recompiled with itself+If you configure/install packages to install to their own directory 
 +(/usr/local/pkgname/opt/AmixBP/pkgname, etc), then you can build your 
 +prototype file with something like:
  
-gcc 2.6.3 — successful on 2.03, gcc 2.5.8, then recompiled with itself+  cd / ; find usr/local/pkgname | pkgproto >> /path/to/working/dir/prototype ; cd -
  
-gcc 2.7.2.— successful on 2.03, gcc 2.6.3, then recompiled with itself+as the command step of aboveJust keep an eye out for bits that might 
 +have been installed elsewherelike gcc likes to put the man pages in 
 +/usr/man/* regardless of the --prefix supplied during the configure 
 +step.
  
-ntp-4.2.0 — successful and working on 2.1+If you just install everything to /usr/local, which makes it easier on 
 +the PATH, I use 'find' to look for files newer than the Makfile for the 
 +package that was just installed:
  
-bash-1.14.7 — successful and working on 2.1+  cd / ; find usr -newer ~/dl/foo-2.04/Makefile | pkgproto >> /path/to/working/dir/prototype
  
-bash-3.0 — successful and working on 2.1needs changes to compile (see below)+The prototype file will need a little cleaningmake sure that there are 
 +entries for all directories:
  
-bzip2 1.0.2 — successful and working on 2.1+i pkginfo 
 +d none usr 0755 root root 
 +d none usr/local 0755 root root 
 +d none usr/local/bin 0755 root root
  
-rsync 2.6.3 — successful and working on 2.1+The above 'find' command will probably only find /usr/local/bin, you'll 
 +need to manually add the two directory entries above itAlso, check 
 +lower in the file for other examples, like '/usr/local/man/man1' (for 
 +man pages), might need to add an entry for '/usr/local/man', etcIf you 
 +miss any, 'pkgmk' will let you knowJust fix them, then re-run pkgmk, 
 +adding the '-o' flag to 'overwrite' the previous run. 
 +</file>
  
-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)+====== Installing AmixBP software ======
  
-GNU patch 2.5.4 — successful and working on 2.1, needs changes to compile (see below)+More information on [[http://amixbp.sourceforge.net|AmixBP]] (backports for Amix, not updated since 2009).
  
-lynx 2.7.2 — successful and working on 2.1needs changes to compile (see below)+After downloading the desired files from sourceforge.net, to unpack them into the default location /opt/amixbp on your Amiga UNIX machine run the following command:
  
-zlib 1.2.2 — successful and working on 2.1+zoo xpq filename.tar.zoo | gtar -xvC / -f -
  
-perl 5.005_4 — successful and working on 2.1care needed during configuration (see below)+This will unpack the files to the correct locationIf you'd rather not unpack straight into /opt/amixbp, you can unpack to your current directory by omitting the "C /" from the gtar optionsThis will create an opt/amixbp directory tree descending from your pwd. When unpacking the filesdon't worry about errors regarding existing directories. This is normal.
  
-openssl 1.0.0d — successful and working on 2.1needs changes to compile (see below)+You need to add /opt/amixbp/bin to your pathIf you would like files installed to take precedence over the native utilities, add it to the front of your pathIf you want to Amiga UNIX commands and utilities to take precedence, add it to the back of your pathIn that case, to force the use of AmixBP software (for example: Amiga UNIX provides an old gcc, but so does AmixBPyou will need to specify the full path. ie: /opt/amixbp/bin/gcc
  
-**FAILS**+====== Installing software from the file galleries ======
  
-amiwm 0.20pl48 — fails on 2.03compilesobject files do not linkAMIX gcc+Installing the software is fairly simpleYou will need bzip2 to handle the archives, this is provided here for the binary onlyIf you likeyou can download the full bzip2 archive from the file gallerieswhich requires bzip2 to extract. To install the bzip2.Z fileas root do:
  
-gcc 2.95.3 — fails on 2.03, with gcc 2.7.2.3, collect2 has unresolved symbols (forget which, sys_sig.h?)+uncompress bzip2.
 +chmod a+x bzip2 
 +cp -p bzip2 /usr/bin
  
-binutils 2.15 — no m68k-cbm-sysv4 target for gas or ldmakes this useless pretty much+Now you have bzip2To install any of the cpio.bz2 archives, become root (su)cd to / and do:
  
-apache 2.x — compilation failure+bzip2 -dc filename.cpio.bz2 | cpio -ivcdm
  
-mysql 4.x — compilation failure+If you have the bzip2 archive installed, you can use bzcat instead of bzip2 -dc.
  
-lynx 2.8.x — compilation failureassembler takes dump+If you don't entirely trust the cpio archives, you can install them into a fake root tree and move the files laterFor exampleyou can make directory in /tmp, unarchive the file there, check it out, and move the directories out to / when you're satisfied.
  
-netrik — missinguncompilable libraries+Note that most archives will unpack to /usr/localso you need to add directories like /usr/local/bin and /usr/local/sbin to your path if you want to execute them without explicitly specifying the location of the files (ie: instead of make you would have to do /usr/local/bin/make if /usr/local/bin is not in your path).
  
-w3m — missing, uncompilable libraries+====== Compilation ======
  
-GNU gettext — nope (last tested on 2.03)+**SUCCESS**
  
-GNU readline — nyet (last tested on 2.03, integrated readline on bash 3.0 compiled fine on 2.1)+  * 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)
  
-UNIX top 3.5.1 — Can get it to compile, but only displays one process (init), free mem is wrong, and crashes on update.+**FAILS**
  
-wm2 — Wants ANSI C headers. Man, just ask for the world why dontcha?+  * 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.32Add -lnsl and -lsocket to EXTRA_LIBS in MakefileComment out defines for shape extension in top of MakefileChange XROOT to /usr/XChange snprintf() in menufile.c to use sprintf(), remove "sizeof" parameter (Buffer overflows? What buffer overflows??). Rename windowlab.1x to windowlab, compress with compress and move to /usr/man/1XHOLY SHIT A WINDOW MANAGER COMPILED ON AMIX
-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 "sizeof" parameter (Buffer overflows? What buffer overflows??). +
-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/xheader.c and src/incremen.c to provide free 
-GNU tar 1.14 Need to #include stdlib.h in src/xheader.c and src/incremen.c to provide free +  GNU patch 2.5.4 Edit argmatch.c, change strncasecmp call to strncmp 
- +  lynx 2.7.2 Add "-DNO_BCOPY" to defines in Makefile for svr4 
-GNU patch 2.5.4 Edit argmatch.c, change strncasecmp call to strncmp +  coreutils 5.2.1 Added #define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) to lib/fts.c 
- +  Perl 5.005_4Compiled only standard extensions, shared objectsLink gcc-2.7.2.3 cpp to /usr/local/bin/cpp to prevent use of ancient /usr/public/bin/cpp before running ConfigureUse my own malloc, do not use Perl malloc 
-lynx 2.7.2 Add "-DNO_BCOPY" to defines in Makefile for svr4 +  openssl 1.0.0d perl5 needed for compilationsvr4 unsupported, run ./Configure gcc instead of ./configDefine NO_STRINGS_H in Makefile CFLAGSedit crypto/o_str.c to change strings.h ifdef to use NO_STRINGS_Hinclude sys/types.h in crypto/bio/bss_bio.c, replace all instances of ssize_t with size_tifdef NO_STRINGS_H apps/apps.cadd -lnsl -lsocket to EX_LIBS in apps/Makefile and in test/Makefile to fix lots of missing symbols 
- +  prngd 0.9.29Oh 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 entryAMIX doesn't have ssize_t is has size_t, many files need to be edited (add ifdefs later)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 nowSeems to work, but will dump core if you fail to provide a socket to run on. Provide that socket... 
-coreutils 5.2.1 Added #define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK) to lib/fts.c +  openssh 3.9p1Proceeding well, now that I realize ldd expects to find everything in /usr/lib and/or /usr/ccs/lib and cannot be changed (permanently) without a recompile, and gee we don't have the sources for that guyCommented 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 inCompilation finished, now recompiling since AMIX doesn't have /dev/random and I need to use prngd for entropy...binaries seem to work otherwiseAdd #define PRNGD_SOCKET /var/run/egd-pool and #define PRNGD_PORT 708 to ssh-rand-helper.c so ssh actually uses prngdWorks 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.25bREQUIRES ncurses from DRASTIC UPGRADES file galleryadd #define bzero(b, n) memset(b, '\0', n) to src/defines.hadd #define strncasecmp(a, b, c) strncmp(a, b, c) to src/defines.hadd #define strcasecmp(a, b) strcmp(a, b) to src/defines.hcomment out #include strings.h in: src/screen.c, src/ctcp.c, src/dcc.c, src/main.c, src/config.c, src/comm.c, src/misc.c in main.c change #include <sys/signal.h> to #include "/usr/local/lib/gcc-lib/m68k-cbm-sysv4/2.7.2.3/include/sys/signal.h"
-Perl 5.005_4 +
-Compiled only standard extensions, shared objects +
-Link gcc-2.7.2.3 cpp to /usr/local/bin/cpp to prevent use of ancient /usr/public/bin/cpp before running Configure +
-Use my own malloc, do not use Perl malloc +
- +
-openssl 1.0.0d +
-perl5 needed for compilation +
-svr4 unsupported, run ./Configure gcc instead of ./config +
-Define NO_STRINGS_H in Makefile CFLAGS +
-edit crypto/o_str.c to change strings.h ifdef to use NO_STRINGS_H +
-include sys/types.h in crypto/bio/bss_bio.c, replace all instances of ssize_t with size_t +
-ifdef NO_STRINGS_H apps/apps.c +
-add -lnsl -lsocket to EX_LIBS in apps/Makefile and in test/Makefile to fix lots of missing symbols +
- +
-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't have ssize_t is has size_t, many files need to be edited (add ifdefs later) +
-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 /usr/ccs/lib and cannot be changed (permanently) without a recompile, and gee we don't have the sources for that guy +
-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't have /dev/random and I need to use prngd for entropy...binaries seem to work otherwise +
-Add #define PRNGD_SOCKET /var/run/egd-pool and #define PRNGD_PORT 708 to ssh-rand-helper.c so ssh actually uses prngd +
-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, '\0', n) to src/defines.h +
-add #define strncasecmp(a, b, c) strncmp(a, b, c) to src/defines.h +
-add #define strcasecmp(a, b) strcmp(a, b) to src/defines.h +
-comment out #include strings.h in: src/screen.c, src/ctcp.c, src/dcc.c, src/main.c, src/config.c, src/comm.c, src/misc.c +
-in main.c change #include <sys/signal.h> to #include "/usr/local/lib/gcc-lib/m68k-cbm-sysv4/2.7.2.3/include/sys/signal.h"+
  
 **WANT-TO-BUILD** **WANT-TO-BUILD**
  
 ANY modern window manager for X — Please ANY modern window manager for X — Please
more_software.txt · Last modified: 2021/09/19 18:00 (external edit)