git clone https://github.com/puppylinux-woof-CE/woof-CE.git
cd woof-CE
Run the script merge2out
and choose the host arch.
# ./merge2out
This script merges woof-arch, woof-code and woof-distro, to ../woof-out_*.
woof-arch: architecture-dependent (x86, arm) files, mostly binary executables. woof-code: the core of Woof. Mostly scripts. woof-distro: distro-configuration (Debian, Slackware, etc.) files. kernel-kit: puppy-kernel build script and configuration files
Important: the host architecture is distinct from the target architecture. The host is the machine you are running Woof on, the target is the machine in which the Puppy that you build is going to run. Typically, you will build on a x86 machine, and the target may be x86 or arm.
1 arm 2 x86 3 x86_64 Type number of host architecture: 2 …ok, x86
Choose target arch.
1 arm
2 x86
3 x86_64
Type number of target architecture: 2
...ok, x86
Choose the binary compatible distro for your Puppy.
Woof builds a Puppy based on the binary packages from another distro.
We sometimes refer to this as the "compat-distro".
1 arch
2 debian
3 devuan
4 mageia
5 pet-based
6 scientific
7 slackware
8 t2
9 trisquel
10 ubuntu
Type number of compat-distro: 7
...ok, slackware
Choose the version of the binary compatible distro.
The compat-distro usually has release versions, unless it is a rolling
release system such as Arch Linux. Please choose which release you want to
obtain the binary packages from.
1 13.1
2 13.37
3 14.0
4 14.1
Type number of release: 4
...ok, 14.1
Choices:
Host architecture: x86
Target architecture: x86
Compatible-distro: slackware
Compat-distro version: 14.1
If these are ok, press ENTER, other CTRL-C to quit:
If you are happy, it’s just a matter of reading the prompts and selecting [Enter] and in a matter of moments you will have a new woof tree set up to build your shiny new Puppy.
Directory '../woof-out_x86_x86_slackware_14.1'
is now normal, that is, the workarounds have been removed. Note,
../local-repositories has been created (if not already), to be used as a common
binary package download place. 'packages-pet' and 'packages-tgz_txz-14.1'
have been created that link into it, where pkgs will be downloaded to.
Change into your new woof-out* directory.
cd ../woof-out_x86_x86_slackware_14.1
Now run the following commands in order, waiting for each to complete! (This can take a long time! Especially on first run when all packages need to be downloaded ~ around 600MB of packages.)
./0setup ./1download ./2createpackages ./3builddistro-Z
If all goes well, you will have a nice new ISO image in the woof-out_x86_x86_slackware_14.1/woof-output*
directory.
Note: At the time of writing not all distro choices are tested working. Known working distros are Slackware 14.1 (Slacko), Ubuntu Trusty Tahr (Tahrpup) and Trisquel Belenos (Librepup).
Woof-CE is kept on github.com. Everybody is welcome to download and use it to build a Puppy, or even fork it.
But if you want your modifications to be included and used for future puppies, they must be merged back to the original Woof-CE repository. To merge that, you need to send a patch or better yet a pull request to the Woof-CE repository.
The Woof-CE members will then consider your request and merge them if they feel that your changes are beneficial for everyone. If your patch is not accepted, don’t feel bad. Often it is just a little changes you need to apply before resubmitting the request again. Even if the rejection is final, be glad to know the puppy you build with your changes is now unique - no other puppy will work like it because it’s the only one that has your unique changes.