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