wanderer wrote: Sun Mar 21, 2021 3:41 pmdoes woof-ce download the binaries from the target distro and make them into pets
can the pets be then made into modules (sfs files)
eliminating any need for an intermediate step
IT's worth looking at the Readme here:
Open a terminal in the woof-out_* directory.
Download package database files
./0setup
OPTIONAL: Tweak common PET package selection. You can edit the variable PKGS_SPECS_TABLE in file DISTRO_PKGS_SPECS-* to choose the packages that you want in your build.
Download packages
./1download
About 500MB drive space is required, but this may vary enormously depending on the package selection.
Build the cut-down generic Puppy-packages
./2createpackages
https://github.com/puppylinux-woof-CE/w ... ne-scripts
So if I recall correctly, what the ./2createpackages script does is extract each package into a directory. One could convert these extracted directories into sfs files, however, for many of these packages there are various hacks applied which are analogous to an install or configure script. One might want to incorporate some of these hacks into a sfs module.
Here are some of the hacks:
rootfs-hacks.sh
Note that the directories aren't necessarily a single package from the binary compatible distribution. The modules can also be from one of the puppy repos or they could be built from source. Also some of these packages might be an amalgamation of more than one package from the binary compatible distribution. For instance in upupGG+D util-linux is defined as follows:
Code: Select all
yes|util-linux|util-linux,fdisk,mount,uuid-runtime,bsdutils,libuuid1,libblkid1,libfdisk1,libmount1,libsmartcols1,libfdisk-dev,libmount-dev,libsmartcols-dev,uuid-dev,libblkid-dev,libmount-dev|exe,dev,doc,nls| #ADDED 20150717-08 20150730 20150808
in /var/packages/DISTRO_PKGS_SPECS. The third filed in the above line defines all the debian and ubuntu packages that are amalgamated into a single built-in package called util-linux.
the repositories are important because
people will be sharing their work by exchanging modules
as well as making it very fast to build an iso
and eliminating the need to download modules more than onceIt would certainly speed up the build process.
also the modules will not be merged just placed unchanged into a folder in the iso
and then linked either by unionfs or symlinks
so there is no processing other than simply copying them to the folder to make the iso
DISTRO_PKGS_SPECS, has some inherent modulation where a single built-in package may be comprised of more than one "distro compatable package". This reduces the number of choices that a distro builder has to make in deciding what to include in the distro. If there was a puppy repo of modules, that had this level of amalgamation or more, then the amalgamation would speed up download time by having fewer tcp connections to make and greater compression efficiency. Also unitis with greater coursness are easier to understand and think about as a whole. The level of granularity vs amalgamation could be debated ad-infinitum.