mrfricks dbf2cdb48a tahrpup64 logos 9 yıl önce
..
boot 8f18024791 Fix version upgrade process 9 yıl önce
huge_extras 8f18024791 Fix version upgrade process 9 yıl önce
huge_kernel 8848aa5bcb add 'huge_kernel', a repository for new huge style kernels 10 yıl önce
kernel-skeleton e75d46f123 Remove mistakenly added firmware 9 yıl önce
packages-templates 1a3a4b4190 Include ngettext in the builds 9 yıl önce
rootfs-packages 891ccb62a4 ptheme: store active tray setup - pinstall 9 yıl önce
rootfs-skeleton dbf2cdb48a tahrpup64 logos 9 yıl önce
support 9277c5c463 Edited the Trisquel release notes 9 yıl önce
0pre 07a44aa52f Initial commit from Nov 11, 2013, woof2 fossil repo 11 yıl önce
0setup 8864c6d49d Do not show pkg names when processing in non-verbose mode 9 yıl önce
1choosepackages 07a44aa52f Initial commit from Nov 11, 2013, woof2 fossil repo 11 yıl önce
1download e2d45d1ecc Fix up some missing files 9 yıl önce
2createpackages d8f9d843ee Fix up for missing symlinks in devx re #606 9 yıl önce
3builddistro 554aeb45e0 removing docs is too aggressive 9 yıl önce
3builddistro-Z 3795c32869 bug fix in test @ line 1441 re #649 9 yıl önce
4babybuild ea1465560a Revert "Move all-firmware to modem-firmware" 11 yıl önce
4quirkybuild 07a44aa52f Initial commit from Nov 11, 2013, woof2 fossil repo 11 yıl önce
DISTRO_PET_REPOS dc3f87e05e Fixes to functions4puppy and DISTRO_PET_REPOS 9 yıl önce
DISTRO_SPECS 07a44aa52f Initial commit from Nov 11, 2013, woof2 fossil repo 11 yıl önce
PKGS_HOMEPAGES 07a44aa52f Initial commit from Nov 11, 2013, woof2 fossil repo 11 yıl önce
PKGS_MANAGEMENT 6f3e8b7f19 Fixes for rootfs-packages 9 yıl önce
README.txt 07a44aa52f Initial commit from Nov 11, 2013, woof2 fossil repo 11 yıl önce
VCSMETADATA 07a44aa52f Initial commit from Nov 11, 2013, woof2 fossil repo 11 yıl önce
create_new_woof 07a44aa52f Initial commit from Nov 11, 2013, woof2 fossil repo 11 yıl önce
findwoofinstalledpkgs 7b9bf56d19 Address #608 by creating files for rootfs-packages in builtin_files and add entries in woof-installed-pkgs 9 yıl önce
woof_gui 07a44aa52f Initial commit from Nov 11, 2013, woof2 fossil repo 11 yıl önce
woof_gui_tabs 6f3e8b7f19 Fixes for rootfs-packages 9 yıl önce

README.txt

Woof
----

Woof is a "Puppy builder". What this means is you can build your own custom
Puppy Linux live-CD from the binary packages of another distro.

Currently supported: Ubuntu, Debian, Slackware, Arch, T2, Puppy, Mageia

What you get looks and feels just like Puppy, is Puppy. The default selection
of packages gives you a live-CD ISO file about 100MB - 130MB. You also get the
freedom and speed of Puppy, and none of the disadvantages that you may have
perceived with the other distros.

Notice that 'Puppy' is in the list. It may seem a bit "circular" but yes, the
compatible-distro can be one of the Puppy-releases, so you could build a Puppy
live-CD with 100% PET packages. Wary Puppy is built this way.

Preparation
-----------

1. Suitable build environment
If you are reading this then you have expanded the 'woof' tarball. But, be sure
that this is done in a Linux partition. A Windows/DOS FAT or NTFS partition will
not work! Also, the partition needs lots of space, I suggest 10GB.

2. Host operating system
You must be running in a Linux environment.
The Linux distro that you are running rght now may have inadequate or missing
'dpkg-deb' and 'lzma' utilities. This problem also applies to Puppy Linux <= v4.
Place 'support/dpkg-deb' into /bin and 'support/lzma' into /usr/bin, replacing any other
versions (first run 'which' to check they aren't existing elsehwere).

NOTICE: Woof is currently only supported in a running Puppy 4.3+ environment.
Do not use any other Linux distro.

3. Choose a compatible-distro.
This is the distro whose packages you are going to 'borrow' to build your Puppy.
Open file DISTRO_SPECS in a text editor and change this line:
DISTRO_BINARY_COMPAT="ubuntu"
to what you want, 'arch', 'ubuntu', 'debian', 'slackware', 't2' or 'puppy'.

Building a Puppy: using the commandline scripts
-----------------------------------------------

0. Download package database files
You must have broadband Internet access.
Open a terminal in the 'woof' directory, then run '0setup':
# ./0setup

###PENDING###
1a. OPTIONAL: Tweak common PET package selection
# ./1choosepackages
You can edit the variable PKGS_SPECS_TABLE in file DISTRO_PKGS_SPECS-* to choose
the packages that you want in your build. '1choosepackages' is a GUI that might
make it easier to fiddle with the choices of "common" PET packages, which is
those PETs that are used in all Puppy builds.
Note, file Packges-puppy-common-official is the database of the common PETs.

1. Download packages
About 500MB drive space is required, but this may vary enormously
depending on the package selection.
# ./1download

2. Build the cut-down generic Puppy-packages
This will take 2 - 3 hours, depending on your PC. A reasonably modern fast PC
with CPU >= 1.5GHz and >= 256MB RAM is recommended.
# ./2createpackages

3. Build Puppy live-CD
This gets built in a directory named 'sandbox3' and as well as the live-CD iso
file you will also find the individual built files and the 'devx' file.
# ./3builddistro

Building a Puppy: using the GUI
-------------------------------

NOTICE, OCTOBER 2009:
The GUI is under heavy development.
Currently only tested building from compat-distro Puppy-4 PET pkgs.

I have written a frontend GUI for the above scripts (and then some).
The GUI is also a frontend for all of the configuration files, so you
should not have to directly edit any of them (or that's the plan anyway).
It is a work-in-progress, but quite usable, and I recommend that you use the
GUI interface rather than the commandline scripts, especially when new to Woof.

# ./woof_gui

It will come up with a tabbed-interface, and basically you go from left-tab
to right-tab.

For newcomers, I recommend that you perform a run-through without making any
changes, to confirm that everything works. By default, Woof is configured
to build Puppy 4.3+ from 4.x PET packages only (the compatible-distro is set
to 'puppy').

Newcomer instructions:

SKIP THIS IF LATEST WOOF: 'Download dbs' tab: click the 'UPDATE' button.
'Download pkgs' tab: click the 'DOWNLOAD' button.
'Build pkgs' tab: click the 'BUILD ALL' button.
'Kernel options' tab: choose the latest kernel.
'Build distro' tab: click the 'BUILD DISTRO' button.

...then you will have a Puppy 4.3+ live-CD ISO file and a 'devx' SFS file!

LEGAL
-----

Woof is (c) copyright Barry Kauler 2009, puppylinux.com
Woof is free, at this stage a specific distribution licence is not decided.
However, Woof consists of components that are under various 'GPL' licences
and builds from 'GPL' and various 'free' binary packages, so the final
build of Puppy will be in conformance with those and as stated in the Puppy
'rootfs-skeleton/usr/share/doc/index.html' file.

------------------------------------------------------------------------------

TECHNICAL NOTES
---------------


packages-templates directory
----------------------------

any directory in the template, the files in the target pkg will be cut down to the same selection.
(even if empty dir). Exception, file named 'PLUSEXTRAFILES' then target will have all files from deb.
0-size file, means get file of same name from deb (even if in different dir) to target.
non-zero file, means copy this file from template to target.
template files with '-FULL' suffix, rename target file also (exs: in coreutils, util-linux).

Any dir in template with 'PKGVERSION' in name, substitute actual pkg version number in target dir.
Except for /dev, /var, all dirs in target are deleted to only those in template, except
if file 'PLUSEXTRADIRS' is found in template.

As a last resort, if target pkg is wrong, a file 'FIXUPHACK' is a script that can be at top dir
in template. It executes in target, with current-dir set to where FIXUPHACK is located. (ex: perl_tiny).
Ran into problem slackware post-install scripts messing things up. See near bottom of '2createpackages'
how damage is limited. Also DISABLE_POST_INSTALL_SCRIPT=yes in FIXUPHACK to disable entirely.

If a dir in template has files in it then target is cut down (unless PLUSEXTRAFILES present),
however there are some exceptions (such as .so regular files). To not allow any exceptions,
place NOEXCEPTIONFILES in the template dir (ex: glibc usr/lib/gconv).
I needed to finetune this some more -- example packages-templates/gettext/usr/lib, have
NOEXCEPTIONFILES, but do want all of libasfprint.so.* whatever the version numbers are,
so can now create zero-size file 'libasfprint.so.STARCHAR' to achieve this.

Packages-puppy-*
----------------

Notice that there are 'Packages-puppy-2-official' and 'Packages-puppy-2xx-official',
also 'Packages-puppy-4-official' and 'Packages-puppy-4xx-official'.

The '-2xx-' and '-4xx-' database files are local only, used in Woof only.
These files do not get uploaded to ibiblio.org.
They are used for building a "compatible-distro" from PET packages.
The 'DISTRO_PKGS_SPECS-puppy-2' and 'DISTRO_PKGS_SPECS-puppy-4' specify these database files.

The single-digit '-2-', '-3-', '-4-', '-5-' files reside on ibiblio.org also.
These files list the complete contents of each repository.

The reason for having a '-2xx-' as well as a '-2-' database files is because
the latter is a complete record of what is in 'pet_packages-2' directory on
ibiblio.org, whereas the former lists packages being used to build the Puppy
live-CD.


Regards,
Barry Kauler
puppylinux.com