Woof2 - Updating with Fossil

Notice

This tutorial assumes that you have already downloaded Woof2 according to Barry Kauler's instructions from here. It also assumes you are familiar with Woof and the variables used in the Woof program. If not, familiarise yourself with DISTRO_SPECS. This is where woof global variables are set.


Getting Started

Before you start you should do some preliminary preparation. You will likely have built a few distros and may want to save some files. NOTE that all generic woof files will be overwritten in the update. You need to back up at least DISTRO_SPECS, DISTRO_PKGS_SPECS-${DISTRO_BINARY_COMPAT}-${DISTRO_COMPAT_VERSION} and Packages-puppy-${DISTRO_FILE_PREFIX}-official if you have changed any of those.


Procedure

You should have a directory named woof-project which you created (or similar) from your original Woof2 download and installation. Inside that should be at least the directories local-repositories, woof2 (or similar), woof-out_(arch and compat version here) and the file woof2.fossil, perhaps more if you have set up like I am going to demonstrate. Throughout this tutorial I will be refering to the root Woof directory as "woof-project" and will assume the working directory you created for Woof is "woof2". If you have already updated you may have extra directories with a similar name to "woof2" (I use woof3, woof4 etc).

Step1

Download the Update

  1. Open a terminal emulator inside woof-project as the root user.

  2. Change directory to your working woof2

    # cd woof2

  3. Run the folowing:

    # fossil update

  4. You should receive similar to the following output if successful:

    Autosync: http://bkhome.org/fossil/woof2.cgi
    Bytes Cards Artifacts Deltas
    Sent: 130 1 0 0
    Received: 78 2 0 0
    Sent: 177 2 0 0
    Received: 5023 3 1 0
    Sent: 4971 104 0 0
    Received: 259870 105 19 84
    Total network traffic: 3382 bytes sent, 93804 bytes received
    UPDATE merge2out
    ADD woof-arch/arm/build/support/printcols
    ADD woof-arch/arm/target/boot/initrd-tree0/bin/busybox
    ADD woof-arch/arm/target/boot/initrd-tree0/bin/cp
    ADD woof-arch/arm/target/boot/initrd-tree0/bin/disktype
    ADD woof-arch/arm/target/boot/initrd-tree0/bin/elspci
    ADD woof-arch/arm/target/boot/initrd-tree0/bin/find
    ADD woof-arch/arm/target/boot/initrd-tree0/bin/guess_fstype
    ADD woof-arch/arm/target/boot/initrd-tree0/bin/losetup
    ADD woof-arch/arm/target/boot/initrd-tree0/bin/lsmod
    ADD woof-arch/arm/target/boot/initrd-tree0/bin/modinfo
    ADD woof-arch/arm/target/boot/initrd-tree0/bin/modprobe
    ADD woof-arch/arm/target/boot/initrd-tree0/bin/ntfs-3g
    ADD woof-arch/arm/target/boot/initrd-tree0/bin/vercmp
    ADD woof-arch/arm/target/boot/initrd-tree0/bin/xargs
    ADD woof-arch/arm/target/rootfs-skeleton/usr/sbin/pngoverlay
    ADD woof-arch/arm/target/rootfs-skeleton/usr/sbin/welcome1stboot
    REMOVE woof-arch/arm1176jzf-s/build/support/printcols
    REMOVE woof-arch/arm1176jzf-s/target/boot/initrd-tree0/bin/busybox
    REMOVE woof-arch/arm1176jzf-s/target/boot/initrd-tree0/bin/cp
    REMOVE woof-arch/arm1176jzf-s/target/boot/initrd-tree0/bin/disktype
    REMOVE woof-arch/arm1176jzf-s/target/boot/initrd-tree0/bin/elspci
    REMOVE woof-arch/arm1176jzf-s/target/boot/initrd-tree0/bin/find
    REMOVE woof-arch/arm1176jzf-s/target/boot/initrd-tree0/bin/guess_fstype
    REMOVE woof-arch/arm1176jzf-s/target/boot/initrd-tree0/bin/losetup
    REMOVE woof-arch/arm1176jzf-s/target/boot/initrd-tree0/bin/lsmod
    REMOVE woof-arch/arm1176jzf-s/target/boot/initrd-tree0/bin/modinfo
    REMOVE woof-arch/arm1176jzf-s/target/boot/initrd-tree0/bin/modprobe
    REMOVE woof-arch/arm1176jzf-s/target/boot/initrd-tree0/bin/ntfs-3g
    REMOVE woof-arch/arm1176jzf-s/target/boot/initrd-tree0/bin/vercmp
    REMOVE woof-arch/arm1176jzf-s/target/boot/initrd-tree0/bin/xargs
    UPDATE woof-code/1download
    UPDATE woof-code/2createpackages
    UPDATE woof-code/3builddistro
    ADD woof-code/packages-templates/dbus/FIXUPHACK
    ADD woof-code/packages-templates/hal/etc/dbus-1/system.d/hal.conf
    ADD woof-code/packages-templates/hal/etc/hal/fdi/information/EMPTYDIRMARKER
    ADD woof-code/packages-templates/hal/etc/hal/fdi/policy/EMPTYDIRMARKER
    ADD woof-code/packages-templates/hal/etc/hal/fdi/preprobe/EMPTYDIRMARKER
    ADD woof-code/packages-templates/hal/etc/init.d/x_hal
    ADD woof-code/packages-templates/hal/etc/udev/rules.d/90-hal.rules
    ADD woof-code/packages-templates/hal/usr/PLUSEXTRADIRS
    ADD woof-code/packages-templates/hal/var/cache/hald/EMPTYDIRMARKER
    ADD woof-code/packages-templates/hal/var/run/hald/hald-local/EMPTYDIRMARKER
    ADD woof-code/packages-templates/hal/var/run/hald/hald-runner/EMPTYDIRMARKER
    ADD woof-code/packages-templates/sysvinit-utils-cut/usr/bin/last
    UPDATE woof-code/rootfs-skeleton/etc/rc.d/rc.shutdown
    UPDATE woof-code/rootfs-skeleton/etc/rc.d/rc.sysinit
    UPDATE woof-code/rootfs-skeleton/etc/rc.d/rc.update
    UPDATE woof-code/rootfs-skeleton/sbin/pup_event_frontend_d
    UPDATE woof-code/rootfs-skeleton/usr/bin/xwin
    UPDATE woof-code/rootfs-skeleton/usr/local/petget/configure.sh
    UPDATE woof-code/rootfs-skeleton/usr/local/petget/dependencies.sh
    UPDATE woof-code/rootfs-skeleton/usr/local/petget/fetchinfo.sh
    UPDATE woof-code/rootfs-skeleton/usr/local/petget/filterpkgs.sh
    UPDATE woof-code/rootfs-skeleton/usr/local/petget/findnames.sh
    UPDATE woof-code/rootfs-skeleton/usr/local/petget/help.htm
    UPDATE woof-code/rootfs-skeleton/usr/local/petget/installpreview.sh
    UPDATE woof-code/rootfs-skeleton/usr/local/petget/petget
    UPDATE woof-code/rootfs-skeleton/usr/local/petget/pkg_chooser.sh
    UPDATE woof-code/rootfs-skeleton/usr/local/petget/ui_Classic
    UPDATE woof-code/rootfs-skeleton/usr/local/petget/ui_Ziggy
    UPDATE woof-code/rootfs-skeleton/usr/sbin/cdburner-wizard
    UPDATE woof-code/rootfs-skeleton/usr/sbin/hostname-set
    ADD woof-code/rootfs-skeleton/usr/sbin/network_default_connect
    UPDATE woof-code/rootfs-skeleton/usr/sbin/shutdownconfig
    UPDATE woof-code/rootfs-skeleton/usr/sbin/updatenetmoduleslist.sh
    UPDATE woof-code/rootfs-skeleton/usr/sbin/xgamma-gui
    UPDATE woof-distro/Packages-puppy-noarch-official
    ADD woof-distro/arm/Packages-puppy-armv6-official
    ADD woof-distro/arm/Packages-puppy-armv7-official
    ADD woof-distro/arm/debian/squeeze/DISTRO_COMPAT_REPOS-debian-squeeze
    ADD woof-distro/arm/debian/squeeze/DISTRO_PET_REPOS
    ADD woof-distro/arm/debian/squeeze/DISTRO_PKGS_SPECS-debian-squeeze
    ADD woof-distro/arm/debian/squeeze/DISTRO_SPECS
    ADD woof-distro/arm/debian/squeeze/Packages-puppy-squeeze-official
    ADD woof-distro/arm/ubuntu/lucid/DISTRO_COMPAT_REPOS-ubuntu-lucid
    ADD woof-distro/arm/ubuntu/lucid/DISTRO_PET_REPOS
    ADD woof-distro/arm/ubuntu/lucid/DISTRO_PKGS_SPECS-ubuntu-lucid
    ADD woof-distro/arm/ubuntu/lucid/DISTRO_SPECS
    ADD woof-distro/arm/ubuntu/lucid/Packages-puppy-lucid-official
    ADD woof-distro/arm/ubuntu/precise/DISTRO_COMPAT_REPOS-ubuntu-precise
    ADD woof-distro/arm/ubuntu/precise/DISTRO_PET_REPOS
    ADD woof-distro/arm/ubuntu/precise/DISTRO_PKGS_SPECS-ubuntu-precise
    ADD woof-distro/arm/ubuntu/precise/DISTRO_SPECS
    ADD woof-distro/arm/ubuntu/precise/Packages-puppy-precise-official
    REMOVE woof-distro/arm1176jzf-s/debian/squeeze/DISTRO_COMPAT_REPOS-debian-squeeze
    REMOVE woof-distro/arm1176jzf-s/debian/squeeze/DISTRO_PET_REPOS
    REMOVE woof-distro/arm1176jzf-s/debian/squeeze/DISTRO_PKGS_SPECS-debian-squeeze
    REMOVE woof-distro/arm1176jzf-s/debian/squeeze/DISTRO_SPECS
    REMOVE woof-distro/arm1176jzf-s/debian/squeeze/Packages-puppy-squeeze-official
    --------------
    updated-to: c440074e1c05a79ab4aa485bc79220d6acd34e93 2012-05-10 23:54:32 UTC
    tags: trunk
    comment: HOSTNAME updated when X restarted after it is changed (user:
    BarryK)
    "fossil undo" is available to undo changes to the working checkout.

    NB:

Step 2

Apply the update

This is the point of no return. If you didn't backup your critical Woof working files do it now.

  1. Change up a directory to your original woof-project.

    # cd ..

  2. Make a new working directory called woof3 or similar.

    # mkdir woof3

  3. Change directory to woof3.

    # cd woof3

  4. Run the following to update your working Woof tree:

    # fossil open ../woof2.fossil

Woof2 is now updated to the latest.


Unpacking and setting up

This is a matter of running the merge2out script.
Please read the README-FIRST file inside of your newly created woof3 directory.
This explains how to run merge2out and what else to do. It may change from time to time so is not covered by this tutorial.

Enjoy Woofing!



Woof2 is produced entirely by Barry Kauler

Disclaimer: Use this guide at your own risk. I take no responsibility for any malfunctions.

Web Page © Michael Amadio 2012