build-from-scratch Makefile
Hi,
I made myself a Makefile in the debian-installer topdir to rebuild all
debs and udebs. It won't build on a freshly checked out cvs because
you need to autoreconf some of the packages first. I will add that
around Wednesday.
The Makefile uses stamp files. delete a stamp file to rebuild just
that package. I want to add an automatic detection of changes in there
but its manually for now.
"make clean" deletes all stamp files and the DEST dir.
"make" will build packages in the right order into "DEST/<package>".
The third script I use to move the compiled stuff into my local
mirror. Maybe thats usefull for someone else too. dpkg-scanudebs is a
copy of dpkg-scanpackages but with '*.udeb' instead of '*.deb' in the
find call.
MfG
Goswin
=========================Makefile=====================================
DEST=$(PWD)/dest
all: libdebian-installer tools_cdebconf main-menu tools_udpkg anna utils tools_languagechooser tools_ddetect tools_cdrom-detect tools_autopartkit tools_base-installer tools_baseconfig-udeb tools_bterm-unifont tools_bugreporter-udeb tools_cdrom-checker tools_grub-installer tools_kbd-chooser tools_lilo-installer tools_lvmcfg tools_netcfg tools_partconf tools_partitioner tools_pcmcia-udeb tools_prebaseconfig tools_usb-discover tools_userdevfs retriever_cdrom retriever_choose-mirror retriever_file retriever_floppy retriever_net
clean:
rm .stamp-*
rm -rf $(DEST)
libdebian-installer: .stamp-libdebian-installer
.stamp-libdebian-installer:
./compile.sh libdebian-installer . $(DEST)
touch .stamp-libdebian-installer
tools_cdebconf: .stamp-tools_cdebconf
.stamp-tools_cdebconf:
./compile.sh cdebconf tools $(DEST)
touch .stamp-tools_cdebconf
main-menu: install-libdebconfclient-dev install-libdebian-installer4-dev .stamp-main-menu
.stamp-main-menu:
./compile.sh main-menu . $(DEST)
touch .stamp-main-menu
tools_udpkg: .stamp-tools_udpkg
.stamp-tools_udpkg:
./compile.sh udpkg tools $(DEST)
touch .stamp-tools_udpkg
anna: install-libdebconfclient-dev install-libdebian-installer4-dev .stamp-anna
.stamp-anna:
./compile.sh anna . $(DEST)
touch .stamp-anna
utils: install-libdebconfclient-dev install-libdebian-installer4-dev .stamp-utils
.stamp-utils:
./compile.sh utils . $(DEST)
touch .stamp-utils
tools_languagechooser: .stamp-tools_languagechooser
.stamp-tools_languagechooser:
./compile.sh languagechooser tools $(DEST)
touch .stamp-tools_languagechooser
tools_ddetect: .stamp-tools_ddetect
.stamp-tools_ddetect:
./compile.sh ddetect tools $(DEST)
touch .stamp-tools_ddetect
tools_cdrom-detect: .stamp-tools_cdrom-detect
.stamp-tools_cdrom-detect:
./compile.sh cdrom-detect tools $(DEST)
touch .stamp-tools_cdrom-detect
tools_autopartkit: install-libdebconfclient-dev .stamp-tools_autopartkit
.stamp-tools_autopartkit:
./compile.sh autopartkit tools $(DEST)
touch .stamp-tools_autopartkit
tools_base-installer: install-libdebconfclient-dev install-libdebian-installer4-dev .stamp-tools_base-installer
.stamp-tools_base-installer:
./compile.sh base-installer tools $(DEST)
touch .stamp-tools_base-installer
tools_baseconfig-udeb: .stamp-tools_baseconfig-udeb
.stamp-tools_baseconfig-udeb:
./compile.sh baseconfig-udeb tools $(DEST)
touch .stamp-tools_baseconfig-udeb
tools_bterm-unifont: .stamp-tools_bterm-unifont
.stamp-tools_bterm-unifont:
./compile.sh bterm-unifont tools $(DEST)
touch .stamp-tools_bterm-unifont
tools_bugreporter-udeb: .stamp-tools_bugreporter-udeb
.stamp-tools_bugreporter-udeb:
./compile.sh bugreporter-udeb tools $(DEST)
touch .stamp-tools_bugreporter-udeb
tools_cdrom-checker: install-libdebconfclient-dev install-libdebian-installer4-dev .stamp-tools_cdrom-checker
.stamp-tools_cdrom-checker:
./compile.sh cdrom-checker tools $(DEST)
touch .stamp-tools_cdrom-checker
tools_grub-installer: .stamp-tools_grub-installer
.stamp-tools_grub-installer:
./compile.sh grub-installer tools $(DEST)
touch .stamp-tools_grub-installer
tools_kbd-chooser: install-libdebconfclient-dev install-libdebian-installer4-dev .stamp-tools_kbd-chooser
.stamp-tools_kbd-chooser:
./compile.sh kbd-chooser tools $(DEST)
touch .stamp-tools_kbd-chooser
tools_lilo-installer: .stamp-tools_lilo-installer
.stamp-tools_lilo-installer:
./compile.sh lilo-installer tools $(DEST)
touch .stamp-tools_lilo-installer
tools_lvmcfg: .stamp-tools_lvmcfg
.stamp-tools_lvmcfg:
./compile.sh lvmcfg tools $(DEST)
touch .stamp-tools_lvmcfg
tools_netcfg: install-libdebconfclient-dev install-libdebian-installer4-dev .stamp-tools_netcfg
.stamp-tools_netcfg:
./compile.sh netcfg tools $(DEST)
touch .stamp-tools_netcfg
tools_partconf: install-libdebconfclient-dev install-libdebian-installer4-dev .stamp-tools_partconf
.stamp-tools_partconf:
./compile.sh partconf tools $(DEST)
touch .stamp-tools_partconf
tools_partitioner: install-libdebconfclient-dev install-libdebian-installer4-dev .stamp-tools_partitioner
.stamp-tools_partitioner:
./compile.sh partitioner tools $(DEST)
touch .stamp-tools_partitioner
tools_pcmcia-udeb: .stamp-tools_pcmcia-udeb
.stamp-tools_pcmcia-udeb:
./compile.sh pcmcia-udeb tools $(DEST)
touch .stamp-tools_pcmcia-udeb
tools_prebaseconfig: .stamp-tools_prebaseconfig
.stamp-tools_prebaseconfig:
./compile.sh prebaseconfig tools $(DEST)
touch .stamp-tools_prebaseconfig
tools_usb-discover: .stamp-tools_usb-discover
.stamp-tools_usb-discover:
./compile.sh usb-discover tools $(DEST)
touch .stamp-tools_usb-discover
tools_userdevfs: .stamp-tools_userdevfs
.stamp-tools_userdevfs:
./compile.sh userdevfs tools $(DEST)
touch .stamp-tools_userdevfs
retriever_cdrom: .stamp-retriever_cdrom
.stamp-retriever_cdrom:
./compile.sh cdrom retriever $(DEST)
touch .stamp-retriever_cdrom
retriever_choose-mirror: install-libdebconfclient-dev .stamp-retriever_choose-mirror
.stamp-retriever_choose-mirror:
./compile.sh choose-mirror retriever $(DEST)
touch .stamp-retriever_choose-mirror
retriever_file: .stamp-retriever_file
.stamp-retriever_file:
./compile.sh file retriever $(DEST)
touch .stamp-retriever_file
retriever_floppy: .stamp-retriever_floppy
.stamp-retriever_floppy:
./compile.sh floppy retriever $(DEST)
touch .stamp-retriever_floppy
retriever_net: .stamp-retriever_net
.stamp-retriever_net:
./compile.sh net retriever $(DEST)
touch .stamp-retriever_net
install-libdebconfclient-dev: .stamp-tools_cdebconf .stamp-install-libdebconfclient-dev
.stamp-install-libdebconfclient-dev:
dpkg -i $(DEST)/cdebconf/libdebconfclient0*.deb
touch .stamp-install-libdebconfclient-dev
install-libdebian-installer4-dev: .stamp-libdebian-installer .stamp-install-libdebian-installer4-dev
.stamp-install-libdebian-installer4-dev:
dpkg -i $(DEST)/libdebian-installer/libdebian-installer4*.deb
touch .stamp-install-libdebian-installer4-dev
======================================================================
=============================compile.sh===============================
#!/bin/sh -ex
# called from makefile
# compile.sh NAME SRC-DIR DEST-DIR
# Example:
# compile.sh libdebian-installer . dest
NAME="$1"
DIR="$2/$NAME"
DEST="$3/$NAME"
mkdir -p "$DEST"
cd "$DIR"
dpkg-buildpackage -S
cd ..
mv *.dsc *.tar.gz *.changes "$DEST"
cd $DEST
dpkg-source -x *.dsc
cd */
debuild -us -uc
cd ..
rm -rf */
======================================================================
======================mirror updates==================================
#!/bin/sh -e
DEST=/mnt/debian/debian-installer/debian-installer/dest
MIRROR=/mnt/debian/mirror/debian-installer
cd "$DEST"
for DIR in *; do
if [ "`echo $DIR | cut -b 1-3`" = "lib" ]; then
HASH="`echo $DIR | cut -b 1-4`"
else
HASH="`echo $DIR | cut -b 1`"
fi
rm -rf "$MIRROR/pool/main/$HASH/$DIR"
mkdir -p "$MIRROR/pool/main/$HASH/$DIR"
cp -v "$DIR"/* "$MIRROR/pool/main/$HASH/$DIR"/
done
cd "$MIRROR"
dpkg-scanpackages pool /dev/null "" | gzip >dists/sid/main/binary-i386/Packages.gz
dpkg-scanudebs pool /dev/null "" | gzip >dists/sid/main/debian-installer/binary-i386/Packages.gz
======================================================================
Reply to: