The attached file 'ppm_links-15.tar' contains files that patch the Puppy Package Manager so that it behaves as outlined below.
It contains 5 files:
'./usr/local/petget/installpkg.sh'
1. Respects all symbolic links to directories in the local file system.
So on my xenialpup '/usr/lib/i386-linux-gnu/libassuan.so.0.7.2' is written as '/usr/lib/libassuan.so.0.7.2',
'/tmp/x.txt' is written as '/initrd/mnt/zram0/tmp/x.txt'.
2. Ignores 'PUPMODE' and writes all files to the '/' file system. Same for "frugal install" and "full install".
So doesn't muck around with whiteout files or stack layers.
3. Extracts all source formats to a directory in /tmp.
Produces a list of the contents of this directory as the '.files' file.
Processes each entry in the '.files' file.
'./usr/local/petget/removepreview.sh'
1. Processes each entry in the '.files' file, in reverse order, so that files get removed before the containing directory.
If a processed directory is empty in the local file system, it is removed.
2. Removes files from the '/' file system, respecting any symbolic links to directories in the local file system.
3. After removing a file/directory it checks if this actiion produced a whiteout file in the RW directory, directly.
If it's an "aufs" stack, any whiteout file is removed from the RW directory, directly.
If it's an "overlayfs" stack, the full real path to the whiteout file is written to an "exclude file" so that the file will be excluded from the RW directory during the next reboot.
If it's a "full install", no whiteout files should be detected.
'./usr/local/mi-utils/dir2list'
A CLI utility to echo a list of directories and files contained in a directory.
Run without parameters to see usage help.
The included 'installpkg.sh' redirects the output of this utility to the '.files' file.
'./usr/local/mi-utils/save-add'
A CLI utility to write specified files from a specified directory to the '/' file system.
Run without parameters to see usage help.
The included 'installpkg.sh' calls this utility to do the actual file writing and directory creation.
'./usr/local/mi-utils/save-remove'
A CLI utility to remove specified files from the '/' file system.
Run without parameters to see usage help.
The included 'removepreview.sh' calls this utility to do the actual removing.
To use:
Either, extract somewhere and then copy the 5 files to their appropriate locations.
or
Code: Select all
tar xf ppm_links-15.tar -C /
While the second method is simpler, I don't recommend doing this on your production Puppy.
Note 2:
I have not provided a '.pet' file, since this is clobbering the actual file executed to install a '.pet'.
gyro