more_software
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
more_software [2019/12/09 19:42] – major re-writes + addition of SysV pkg section wiki_admin | more_software [2021/09/19 18:00] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 5: | Line 5: | ||
====== SysV pkg-files ====== | ====== 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. | + | |
+ | < | ||
+ | NB: All the shell stuff assumes you are running bash. If you are using | ||
+ | | ||
+ | | ||
+ | | ||
To make a SysV pkg from a cpio file: | To make a SysV pkg from a cpio file: | ||
Line 11: | Line 16: | ||
1. Make a temp/ | 1. Make a temp/ | ||
- | 2. In the temp/ | + | 2. In the temp/ |
+ | if you have that installed): | ||
cpio -idmv / | 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' | + | 2b. If the cpio file was already installed, an alternative to expanding |
+ | | ||
+ | | ||
+ | | ||
3. Build the pkg prototype file (does not have to be done as root): | 3. Build the pkg prototype file (does not have to be done as root): | ||
Line 22: | Line 31: | ||
pkgproto {dirs, | 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' | + | 3a. This is the tricky part. If there are any symbolic links in the |
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
find usr -type l -print > one | find usr -type l -print > one | ||
Line 30: | Line 45: | ||
The ' | 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. | + | 3b. At this point, it's not a bad idea to check the prototype file for |
+ | | ||
+ | | ||
+ | | ||
- | 4. Create a pkginfo file. The ' | + | 4. Create a pkginfo file. The ' |
+ | long. | ||
PKG=pkgname | PKG=pkgname | ||
Line 52: | Line 71: | ||
pkgadd -d / | pkgadd -d / | ||
- | If you configure/ | + | --- |
+ | |||
+ | If you configure/ | ||
+ | (/ | ||
+ | prototype file with something like: | ||
cd / ; find usr/ | 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 | + | 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. | 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 ' | ||
+ | </ | ||
---- | ---- |
more_software.1575916977.txt.gz · Last modified: 2021/09/19 17:59 (external edit)