Hi,

This patch does two main things:
1) adds support for PostgreSQL
2) makes parallel builds with make -j possible

It turns out that because of the Perl DBI interface, supporting PostgreSQL is 
pretty much the same as 
MySQL so other than adding the driver, I didn't have to do much.  The key is to 
have the DBI interface 
force all of the column names to a known case as suggested by the 
documentation.  So, I would expect 
that install/lib/conf-mysql.pl to now work with just about any database that is 
compatible with the DBI 
interface.

This does mean that conf-mysql.pl is not well named since it is not specific to 
mysql.  However, I would 
not suggest changing it at this time.

The changes to linuxboot/Makefile are a little more extensive.

The postgresql driver worked the easiest with perl 5.10 so I upgraded the perl 
version.  If you want to 
use the older perl version, you would also have to install a library that is a 
core perl library as of 
5.10.

I upgraded parted since the version otherwise downloaded had issues.  Gzip 
complained about "unexpected 
end of file."  I haven't tested this newer version enough yet.

The computer I build on is a multi-core 64-bit processor with lots of memory.  
So I made changes to 
allow a parallel make to work when called with make -j.  This is noticable on 
my machine when building 
the kernel and glibc.  Since my processor is a 64-bit processor on an otherwise 
32-bit system, the 
kernel build files by default want to build a 64-bit kernel so I had to force 
the kernel to the 
ARCH=i386 when building the kernel.

Allan.
Index: install/lib/conf-mysql.pl
===================================================================
RCS file: /cvsroot/unattended/unattended/install/lib/conf-mysql.pl,v
retrieving revision 1.1
diff -u -r1.1 conf-mysql.pl
--- install/lib/conf-mysql.pl	19 Oct 2004 04:42:19 -0000	1.1
+++ install/lib/conf-mysql.pl	13 Feb 2009 21:37:49 -0000
@@ -46,13 +46,15 @@
         or return undef;
     return undef
         unless defined $lookup && defined $property;
+    # To avoid issues with different drivers return the field names in different cases, force to lower case
+    $dbh->{FetchHashKeyName} = 'NAME_lc';
     my $sth = $dbh->prepare("SELECT Value FROM unattended WHERE Lookup = '$lookup' and Property = '$property';")
         or return undef;
     $sth->execute
         or return undef;
     my $ref = $sth->fetchrow_hashref()
         or return undef;
-    my $value = $ref->{'Value'}
+    my $value = $ref->{'value'}
         or return undef;
     $value =~ /\S/
         or return undef;
Index: install/site/sample-config.pl
===================================================================
RCS file: /cvsroot/unattended/unattended/install/site/sample-config.pl,v
retrieving revision 1.10
diff -u -r1.10 sample-config.pl
--- install/site/sample-config.pl	15 Nov 2008 00:34:24 -0000	1.10
+++ install/site/sample-config.pl	13 Feb 2009 21:37:49 -0000
@@ -40,6 +40,10 @@
 #require "conf-mysql.pl";
 #CONFIG->setup('DBI:mysql:database=unattended;host=192.168.2.1', 'username', 'password');
 
+# Set db for PostgreSQL interface
+#require "conf-mysql.pl";
+#CONFIG->setup('dbi:PgPP:dbname=unattended;host=192.168.2.1', 'username', 'password');
+
 # Setup db for CSV interface
 require "conf-csv.pl";
 CONFIG->setup(dos_to_host('z:\\site\\unattend.csv'), '', '');
Index: linuxboot/Makefile
===================================================================
RCS file: /cvsroot/unattended/unattended/linuxboot/Makefile,v
retrieving revision 1.203
diff -u -r1.203 Makefile
--- linuxboot/Makefile	9 Feb 2009 16:46:47 -0000	1.203
+++ linuxboot/Makefile	13 Feb 2009 21:37:50 -0000
@@ -3,6 +3,7 @@
 # Convert::ASN1 is required by perl-ldap
 convert-asn1=Convert-ASN1-0.22
 dbd-mysql=DBD-mysql-2.9008
+dbd-pgpp=DBD-PgPP-0.05
 dbi=DBI-1.607
 dmidecode=dmidecode-2.9
 dosemu=dosemu-1.4.0
@@ -13,15 +14,17 @@
 # 2.3.6 for Debian Etch, FC4. 2.6.1 for Debian Lenny. 
 glibc=glibc-2.6.1
 kbd=kbd-1.12
-linux=linux-2.6.28.3
+linux=linux-2.6.28.4
 module-init-tools=module-init-tools-3.5
 mysql=mysql-5.0.67
 nano=nano-2.0.9
 ncurses=ncurses-5.6
-parted=parted-1.6.22
+#parted=parted-1.6.22
+parted=parted-1.8.8
 pciutils=pciutils-3.0.3
 #for gcc 4.2 and up use per-5.10.0
-perl=perl-5.8.9
+#dbd-pgpp requires IO::Socket that is core in Perl 5.10.0
+perl=perl-5.10.0
 # perl-ldap aka. Net::LDAP
 perl-ldap=perl-ldap-0.39
 perl-xml-parser=XML-Parser-2.36
@@ -37,7 +40,7 @@
 
 cwd:=$(shell pwd)
 
-packages=$(bash) $(busybox) $(convert-asn1) $(dbd-mysql) $(dbi)		\
+packages=$(bash) $(busybox) $(convert-asn1) $(dbd-mysql) $(dbd-pgpp) $(dbi) \
 	$(dmidecode) $(dosemu) $(e2fsprogs) $(expat) $(glibc) $(kbd)	\
 	$(linux)  $(module-init-tools) $(mysql) $(nano)	\
 	$(ncurses) $(parted) $(perl) $(perl-ldap) $(perl-xml-parser)	\
@@ -92,11 +95,11 @@
 
 $(module-init-tools)/depmod:
 	cd $(module-init-tools) && ./configure --prefix=/ 	\
-		--build=i586-linux && make
+		--build=i586-linux && $(MAKE)
 	[ -e $@ ]
 
 stage1/sbin/depmod: $(module-init-tools)/depmod
-	cd $(module-init-tools) && make DESTDIR=$(cwd)/stage1 install
+	$(MAKE) -C $(module-init-tools) DESTDIR=$(cwd)/stage1 install
 	rm stage1/sbin/insmod.static
 	[ -e $@ ]
 
@@ -106,17 +109,20 @@
 ## Linux
 
 $(linux)/.config: misc/linux-config
+	$(MAKE) -C $(linux) mrproper
 	cp -f $< $@
-	cd $(linux) && make oldconfig
+	$(MAKE) -C $(linux) ARCH=i386 oldconfig
 
 $(linux)/arch/x86/boot/bzImage: $(linux)/.config
 	rm -f $@
-	cd $(linux) && make
+	$(MAKE) -C $(linux) ARCH=i386
+	$(MAKE) -C $(linux) INSTALL_HDR_PATH=dest ARCH=i386 headers_install  
 	[ -e $@ ]
 
 stage1/.stamp-modules: $(linux)/arch/x86/boot/bzImage stage1/sbin/depmod
-	cd $(linux) && make INSTALL_MOD_PATH=$(cwd)/stage1	\
+	$(MAKE) -C $(linux) INSTALL_MOD_PATH=$(cwd)/stage1	\
 			    DEPMOD=$(cwd)/stage1/sbin/depmod	\
+			    ARCH=i386				\
 			    modules_install
 	touch $@
 
@@ -129,7 +135,7 @@
 	&& CFLAGS="$(fakelib_cflags)"					\
 		bash_cv_termcap_lib=gnutermcap ./configure --prefix=/	\
 		--build=i586-linux					\
-	&& make
+	&& $(MAKE)
 	[ -e $@ ] && touch $@
 
 $(call copy_exe, $(bash)/bash, stage1/bin/bash)
@@ -148,23 +154,23 @@
 
 $(busybox)/.config: misc/busybox-config $(busybox)/.stamp-busybox-patch 
 	cp -f $< $@
-	cd $(busybox) && make oldconfig
+	$(MAKE) -C $(busybox) oldconfig
 
 # BusyBox has some broken dependencies (changing CONFIG_INIT to off
 # does not rebuild reboot.o), hence the "make clean" here.
 $(busybox)/busybox: $(busybox)/.config fakeinclude/stdio.h
-	cd $(busybox) && make clean \
-	&& make CFLAGS_EXTRA="$(fakelib_cflags)" LDFLAGS="$(fakelib_cflags)"
+	$(MAKE) -C $(busybox) clean
+	$(MAKE) -C $(busybox) CFLAGS_EXTRA="$(fakelib_cflags)" LDFLAGS="$(fakelib_cflags)"
 
 stage1/bin/busybox: $(busybox)/busybox
-	cd $(busybox) && make CONFIG_PREFIX=$(cwd)/stage1 install
+	$(MAKE) -C $(busybox) CONFIG_PREFIX=$(cwd)/stage1 install
 	cmp $< $@
 
 stage1 += stage1/bin/busybox
 
 ## dmidecode
 $(dmidecode)/dmidecode:
-	cd $(dir $@) && make
+	$(MAKE) -C $(dir $@)
 	[ -e $@ ]
 
 $(call copy_exe,$(dmidecode)/dmidecode,stage1/usr/sbin/dmidecode)
@@ -175,6 +181,7 @@
 	touch $@
 
 fakeinclude/slang.h: $(slang)/src/slang.h
+	mkdir -p $(dir $@)
 	cp $< $@
 	[ -e $@ ] && touch $@
 
@@ -183,7 +190,7 @@
 	cd $(slang)						\
 	&& CC="$(CC) $(fakelib_cflags)" ./configure		\
 		--prefix=/usr 					\
-	&& make
+	&& $(MAKE)
 	[ -e $@ ]
 
 # "Fake" library to link against
@@ -208,7 +215,7 @@
 				stage1/lib/libdl.so
 	rm -f $@
 	cd build-$(dosemu)					\
-	&& make MAKELEVEL=0 				\
+	&& $(MAKE) MAKELEVEL=0 				\
 	&& cp commands/exitemu.com $(cwd)/../install/dosbin/exitemu.com
 	[ -e $@ ]
 
@@ -216,6 +223,9 @@
 
 stage1 += stage1/usr/bin/dosemu.bin
 
+# ensure that the following exists before we attempt to copy it
+build-$(dosemu)/bin/libplugin_term.so: build-$(dosemu)/bin/dosemu.bin
+
 $(call copy_file,build-$(dosemu)/bin/libplugin_term.so,stage1/usr/lib/dosemu/libplugin_term.so)
 
 stage1 += stage1/usr/lib/dosemu/libplugin_term.so
@@ -268,7 +278,7 @@
 $(e2fsprogs)/lib/libuuid.so:
 	cd $(e2fsprogs)						\
 	&& ./configure --enable-elf-shlibs --build=i586-linux	\
-	&& make
+	&& $(MAKE)
 	[ -e $@ ]
 
 $(call copy_lib,$(e2fsprogs)/lib/libuuid.so,stage1/lib/libuuid.so)
@@ -279,8 +289,6 @@
 # Configure switches cheerfully stolen from LFS project
 # (http://www.linuxfromscratch.org/lfs/view/development/chapter05/glibc.html).
 build-$(glibc)/libc.so: $(linux)/arch/x86/boot/bzImage
-	cd $(cwd)/$(linux)&& make INSTALL_HDR_PATH=dest headers_install  
-	cd ..
 	mkdir -p build-$(glibc)
 	cd build-$(glibc) && $(cwd)/$(glibc)/configure		\
 	    --prefix=/usr					\
@@ -291,7 +299,7 @@
 	    --with-headers=$(cwd)/$(linux)/dest/include		\
 	    --build=i586-linux					\
 	&& find . -name \*.d -print0 | xargs -0 -r rm -f	\
-	&& make
+	&& $(MAKE)
 	touch -c $@
 
 $(call copy_lib, build-$(glibc)/libc.so, stage1/lib/libc.so)
@@ -314,7 +322,7 @@
 fakeinclude/stdio.h: fakelib/libc.so
 	mkdir -p $(dir $@)
 	cd build-$(glibc)						 \
-		&& make inst_includedir=$(cwd)/$(dir $@) install-headers
+		&& $(MAKE) inst_includedir=$(cwd)/$(dir $@) install-headers
 	[ -e $@ ] && touch $@
 
 # Variable for use in CFLAGS to convince utilities to compile/link
@@ -386,13 +394,13 @@
 	cd $(kbd)					\
 	&& export CFLAGS="$(fakelib_cflags) -O2"	\
 	&& ./configure					\
-	&& make CFLAGS="$$CFLAGS"
+	&& $(MAKE) CFLAGS="$$CFLAGS"
 	[ -e $@ ]
 
 stage1/bin/loadkeys: $(kbd)/src/loadkeys
 	rm -f $@
 	cd $(kbd)				\
-	&& make DESTDIR=$(cwd)/stage1 install
+	&& $(MAKE) DESTDIR=$(cwd)/stage1 install
 	rm -rf stage1/usr/share/locale
 	cd stage1/usr/bin && rm deallocvt dumpkeys fgconsole 		\
 		getkeycodes kbdrate loadunimap mapscrn psf*table 	\
@@ -408,7 +416,7 @@
 		./configure --prefix=/usr				    \
 			--disable-browser --disable-mouse --disable-speller \
 			--build=i586-linux				    \
-	&& make
+	&& $(MAKE)
 	[ -e $@ ] && touch $@
 
 $(call copy_exe, $(nano)/src/nano, stage1/usr/bin/nano)
@@ -425,12 +433,12 @@
 			--disable-database --with-fallbacks=linux	\
 			--build=i586-linux --without-hashed-db		\
 			--enable-widec					\
-	&& make
+	&& $(MAKE)
 	[ -e $@ ] && touch $@
 
 fakeinclude/curses.h: stage1/usr/lib/libncursesw.so
 	cd $(ncurses)						\
-	&& make includedir=$(cwd)/$(dir $@) install.includes
+	&& $(MAKE) includedir=$(cwd)/$(dir $@) install.includes
 	[ -e $@ ] && touch $@
 
 $(call copy_lib, $(ncurses)/lib/libncursesw.so, stage1/usr/lib/libncursesw.so)
@@ -447,7 +455,7 @@
 	&& CFLAGS="$(fakelib_cflags) -I$(cwd)/$(e2fsprogs)/lib"	\
 		./configure --disable-nls --without-readline	\
 		--build=i586-linux --disable-Werror		\
-	&& make
+	&& $(MAKE)
 	[ -e $@ ]
 
 $(parted)/libparted/.libs/libparted.so: $(parted)/parted/.libs/parted
@@ -461,7 +469,7 @@
 
 ## pciutils
 $(pciutils)/lspci:
-	cd $(pciutils) && make PREFIX=/usr
+	$(MAKE) -C $(pciutils) PREFIX=/usr
 	[ -e $@ ]
 
 $(call copy_exe, $(pciutils)/lspci, stage1/sbin/lspci)
@@ -473,8 +481,8 @@
 ## pmtools (acpidump, for diagnostics)
 $(pmtools)/acpidump/acpidump: fakeinclude/stdio.h $(linux)/arch/x86/boot/bzImage
 	cd $(dir $@)							  \
-	&& make clean							  \
-	&& make
+	&& $(MAKE) clean						  \
+	&& $(MAKE)
 	[ -e $@ ]
 
 $(call copy_exe,$(pmtools)/acpidump/acpidump,stage1/sbin/acpidump)
@@ -491,11 +499,11 @@
 		-Darchname=i586-linux -Ud_eaccess			\
 		-Accflags="$(fakelib_cflags)"				\
 		-deO							\
-	&& make
+	&& $(MAKE)
 	[ -e $@ ]
 
 stage1/opt/perl/bin/perl: $(perl)/perl
-	cd $(perl) && make DESTDIR=$(cwd)/stage1 STRIPFLAGS=-s install.perl
+	$(MAKE) -C $(perl) DESTDIR=$(cwd)/stage1 STRIPFLAGS=-s install.perl
 	: # Delete extra utility programs and hard links
 	find stage1/opt/perl/bin -type f ! -name perl		\
 				-a ! -name perldoc -print0	\
@@ -519,8 +527,8 @@
 $(mysql)/libmysql/.libs/libmysqlclient.so: $(mysql)/Makefile
 	rm -f $@
 	cd $(mysql)							\
-	&& make								\
-	&& make -C include includedir=$(cwd)/fakeinclude install
+	&& $(MAKE)								\
+	&& $(MAKE) -C include includedir=$(cwd)/fakeinclude install
 	[ -e $@ ]
 
 $(call copy_lib,$(mysql)/libmysql/.libs/libmysqlclient.so,stage1/lib/libmysqlclient.so)
@@ -540,8 +548,8 @@
 stage1/.stamp-convert-asn1: $(convert-asn1)/Makefile
 	rm -f $@
 	cd $(convert-asn1)					\
-	&& make PERL="$(perlrun)" CC="$(CC) $(fakelib_cflags)"	\
-	&& make PERL="$(perlrun)" install
+	&& $(MAKE) PERL="$(perlrun)" CC="$(CC) $(fakelib_cflags)"	\
+	&& $(MAKE) PERL="$(perlrun)" install
 	touch $@
 
 stage1 += stage1/.stamp-convert-asn1
@@ -558,8 +566,8 @@
 stage1/.stamp-dbi: $(dbi)/Makefile
 	rm -f $@
 	cd $(dbi)						\
-	&& make PERL="$(perlrun)" CC="$(CC) $(fakelib_cflags)"	\
-	&& make PERL="$(perlrun)" install
+	&& $(MAKE) PERL="$(perlrun)" CC="$(CC) $(fakelib_cflags)"	\
+	&& $(MAKE) PERL="$(perlrun)" install
 	touch $@
 
 stage1 += stage1/.stamp-dbi
@@ -577,14 +585,32 @@
 stage1/.stamp-dbd-mysql: $(dbd-mysql)/Makefile stage1/lib/libmysqlclient.so
 	rm -f $@
 	cd $(dbd-mysql)							    \
-	&& make PERL="$(perlrun)"					\
+	&& $(MAKE) PERL="$(perlrun)"					\
 		LDLOADLIBS="$(fakelib_cflags) -lmysqlclient"		\
 		CC="$(CC) $(fakelib_cflags) -I$(cwd)/fakeinclude/mysql"	\
-	&& make PERL="$(perlrun)" install
+	&& $(MAKE) PERL="$(perlrun)" install
 	touch $@
 
 stage1 += stage1/.stamp-dbd-mysql
 
+## DBD-pgpp Perl module
+$(dbd-pgpp)/Makefile: stage1/opt/perl/bin/perl
+	cd $(dir $@)							\
+	&& eval `$(perlrun) -V:archlib`					\
+	&& { [ -n "$$archlib" ] || exit 37 ; }				\
+	&& $(perlrun) Makefile.PL --skipdeps PERL_ARCHLIB=$(cwd)/stage1/$$archlib	\
+		DESTDIR=$(cwd)/stage1/ PERL_LIB=$(perllib)
+	[ -e $@ ]
+
+stage1/.stamp-dbd-pgpp: $(dbd-pgpp)/Makefile
+	rm -f $@
+	cd $(dbd-pgpp)							\
+	&& $(MAKE) PERL="$(perlrun)" 					\
+	&& $(MAKE) PERL="$(perlrun)" install
+	touch $@
+
+stage1 += stage1/.stamp-dbd-pgpp
+
 ## perl-ldap Perl module
 $(perl-ldap)/Makefile: stage1/.stamp-convert-asn1
 	cd $(dir $@)							\
@@ -597,8 +623,8 @@
 stage1/.stamp-perl-ldap: $(perl-ldap)/Makefile
 	rm -f $@
 	cd $(perl-ldap)						\
-	&& make PERL="$(perlrun)" CC="$(CC) $(fakelib_cflags)"	\
-	&& make PERL="$(perlrun)" install
+	&& $(MAKE) PERL="$(perlrun)" CC="$(CC) $(fakelib_cflags)"	\
+	&& $(MAKE) PERL="$(perlrun)" install
 	touch $@
 
 stage1 += stage1/.stamp-perl-ldap
@@ -617,10 +643,10 @@
 stage1/.stamp-perl-xml-parser: $(perl-xml-parser)/Makefile
 	rm -f $@                                                        
 	cd $(perl-xml-parser)                                           \
-	&& make PERL="$(perlrun)"                                       \
+	&& $(MAKE) PERL="$(perlrun)"                                       \
 		LDLOADLIBS="$(fakelib_cflags)"                          \
 		CC="$(CC) $(fakelib_cflags) -I$(cwd)/$(expat)/lib"	 \
-	&& make PERL="$(perlrun)" install
+	&& $(MAKE) PERL="$(perlrun)" install
 	touch $@
 
 stage1 += stage1/.stamp-perl-xml-parser
@@ -636,10 +662,10 @@
 stage1/.stamp-perl-xml-xpath: $(perl-xml-xpath)/Makefile
 	rm -f $@                                                        
 	cd $(perl-xml-xpath)                                         \
-	&& make PERL="$(perlrun)"                                       \
+	&& $(MAKE) PERL="$(perlrun)"                                       \
 		LDLOADLIBS="$(fakelib_cflags)"                          \
 		CC="$(CC) $(fakelib_cflags) -I$(cwd/fakeinclude) -I$(cwd/expat/lib)" \
-	&& make PERL="$(perlrun)" install
+	&& $(MAKE) PERL="$(perlrun)" install
 	touch $@
 
 stage1 += stage1/.stamp-perl-xml-xpath
@@ -648,7 +674,8 @@
 
 # Without -rdynamic, CP850.so craps out with "undefined symbol:
 # smb_register_charset".
-$(samba)/source/config.status:
+# so ensure that the kernel is built first
+$(samba)/source/config.status: stage1/.stamp-modules
 	cd $(samba)/source					\
 	    && LDFLAGS=-rdynamic ./configure --prefix=/usr	\
 	        --disable-cups --without-readline		\
@@ -661,10 +688,14 @@
 # Without "make installmodules" (which installs CP850.so), smbmount
 # prints a tremendous number of "convert_string_internal: Conversion
 # not supported" errors.
+# There seems to be a bug in the Samba makefile so we need to do
+# a make proto before the regular make in the case that we are doing
+# a parallel build
 stage1/usr/lib/smb.conf: $(samba)/source/config.status
 	cd $(samba)/source					\
-	    && make SBIN_PROGS="" BIN_PROGS="$(samba_progs)"	\
-	    && make SBIN_PROGS="" BIN_PROGS="$(samba_progs)"	\
+	    && $(MAKE) proto					\
+	    && $(MAKE) SBIN_PROGS="" BIN_PROGS="$(samba_progs)"	\
+	    && $(MAKE) SBIN_PROGS="" BIN_PROGS="$(samba_progs)"	\
 		    DESTDIR=$(cwd)/stage1			\
 		    installbin installdat installmodules
 	ln -sf ../usr/bin/smbmount stage1/sbin/mount.smbfs
@@ -685,8 +716,8 @@
 ## wireless_tools
 $(wireless_tools)/iwconfig: fakeinclude/stdio.h $(linux)/arch/x86/boot/bzImage
 	cd $(wireless_tools)				\
-	&& make clean					\
-	&& make KERNEL_SRC=$(cwd)/$(linux)		\
+	&& $(MAKE) clean					\
+	&& $(MAKE) KERNEL_SRC=$(cwd)/$(linux)		\
 		CFLAGS="$(fakelib_cflags) -O2 -Wall"
 	[ -e $@ ]
 
@@ -704,7 +735,7 @@
 $(zlib)/$(zlib_so): fakeinclude/stdio.h
 	rm -f $@
 	cd $(zlib)						\
-	&& make CFLAGS="-O $(fakelib_cflags)"			\
+	&& $(MAKE) CFLAGS="-O $(fakelib_cflags)"			\
 		LDSHARED="cc -shared -Wl,-soname,libz.so.1"	\
 		$(zlib_so)
 
@@ -720,11 +751,11 @@
 $(expat)/.libs/libexpat.so.1.5.2:
 	cd $(expat)						\
 	&& ./configure --prefix=/				\
-	&& make
+	&& $(MAKE)
 
 $(call copy_lib,$(expat)/.libs/libexpat.so.1.5.2,stage1/lib/libexpat.so)
-$(call copy_file,$(expat)/libs/expat.h,fakeinclude/expat.h)
-$(call copy_file,$(expat)/libs/expat_external.h,fakeinclude/expat_external.h)
+$(call copy_file,$(expat)/lib/expat.h,fakeinclude/expat.h)
+$(call copy_file,$(expat)/lib/expat_external.h,fakeinclude/expat_external.h)
 
 stage1 += stage1/lib/libexpat.so
 
@@ -807,8 +838,9 @@
 ## Stage 2
 .stamp-stage2: .stamp-stage1 misc/nail-floppy.txt
 	rm -rf stage2 ../install/linuxaux
-	mkdir stage2
+	mkdir -p stage2
 	cp -R -f --preserve=links,mode stage1/. stage2/.
+	rm -f stage2/.stamp-*
 	tools/move-and-link.pl --nail-list=misc/nail-floppy.txt	\
 		stage2 ../install/linuxaux /z/linuxaux
 	touch $@
@@ -912,6 +944,8 @@
 	http://www.cpan.org/authors/id/G/GB/GBARR/)
 $(call download_rule, $(dbd-mysql), tar.gz, \
 	http://www.cpan.org/authors/id/R/RU/RUDY/)
+$(call download_rule, $(dbd-pgpp), tar.gz, \
+	http://www.cpan.org/authors/id/A/AR/ARC/)
 $(call download_rule, $(dbi), tar.gz, \
 	http://www.cpan.org/authors/id/T/TI/TIMB/)
 $(call download_rule, $(dmidecode), tar.bz2,	\
@@ -937,8 +971,10 @@
 	http://mirror.services.wisc.edu/mysql/Downloads/MySQL-5.0/)
 $(call download_rule, $(nano), tar.gz, http://www.nano-editor.org/dist/v2.0/)
 $(call download_rule, $(ncurses), tar.gz, http://ftp.gnu.org/gnu/ncurses/)
-$(call download_rule, $(parted), tar.gz, 			\
-        http://unattended.cvs.sourceforge.net/*checkout*/unattended/unattended/linuxboot/misc/)
+#$(call download_rule, $(parted), tar.gz, 			\
+#        http://unattended.cvs.sourceforge.net/*checkout*/unattended/unattended/linuxboot/misc/)
+$(call download_rule, $(parted), tar.bz2,			\
+	http://ftp.gnu.org/gnu/parted/)
 $(call download_rule, $(pciutils), tar.bz2,			\
 	http://ftp.all.kernel.org/pub/software/utils/pciutils/)
 $(call download_rule, $(pcmcia-cs), tar.gz,			\
@@ -985,12 +1021,22 @@
 # Blow away everything we do not want to ship.
 tidy:
 	rm -rf $(patsubst symlink-%,%,$(symlink_targets))
-	rm -f $(glibc-linuxthreads)
 	rm -rf dosboot iso
 	rm -rf .stamp-stage1 stage2 .stamp-stage2
 	rm -f devices.cpio initrd
 
+# Clean up all the stuff we built so we can build again
+clean: tidy
+	rm -rf tftpboot
+	rm -rf linuxboot.iso
+	rm -rf ../install/linuxaux
+
 FORCE:
 
+# this particular makefile doesn't completely work when building in
+# parallel but we want to be able to pass the -j flag to each of the
+# sub-makes particularly for the kernel and glibc
+.NOTPARALLEL:
+
 .PHONY: stage1 all download $(download_targets)	$(symlink_targets) \
-	iso tftpboot tidy FORCE
+	iso tftpboot tidy clean FORCE
Index: linuxboot/README.txt
===================================================================
RCS file: /cvsroot/unattended/unattended/linuxboot/README.txt,v
retrieving revision 1.5
diff -u -r1.5 README.txt
--- linuxboot/README.txt	31 Jan 2009 18:21:11 -0000	1.5
+++ linuxboot/README.txt	13 Feb 2009 21:37:50 -0000
@@ -57,6 +57,11 @@
 Do "make iso" to build linuxboot.iso.  Do "make tftpboot" to populate
 the tftpboot/ directory.  A simple "make" does both.
 
+The build may complete faster if you do a parallel make with "make -j 4".
+On a modern, multi-core system with lots of RAM you may be able to use
+a higher value for the -j parameter.  The proper value for -j depends
+on the specs of the computer doing the build.
+
 For more details, read the Makefile and other sources.  Hey, what do
 you expect on the bleeding edge?
 
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
unattended-devel mailing list
unattended-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unattended-devel

Reply via email to