From 83b7bc9b2fb1db5b950f9da5b011d3c664286599 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Michael=20Schr=C3=B6der?= Date: Tue, 6 Jun 2006 10:52:55 +0000 Subject: [PATCH] update to current version --- Build.pm | 17 ++++++++++----- baselibs.conf | 23 +------------------- build | 37 +++++++++++++++++++++++++++++++-- build.1 | 4 ++++ configs/sl10.0.conf | 42 ++++++++++++++++++++----------------- configs/sl10.1.conf | 26 +++++++++++------------ configs/sl8.1.conf | 46 ++++++++++++++++++++-------------------- configs/sl8.2.conf | 50 ++++++++++++++++++++++---------------------- configs/sl9.0.conf | 50 ++++++++++++++++++++++---------------------- configs/sl9.1.conf | 50 ++++++++++++++++++++++++-------------------- configs/sl9.2.conf | 36 ++++++++++++++++---------------- configs/sl9.3.conf | 36 ++++++++++++++++---------------- configs/sles10.conf | 26 +++++++++++------------ configs/sles8.conf | 48 +++++++++++++++++++++--------------------- configs/sles9.conf | 50 ++++++++++++++++++++++++-------------------- configs/ul1.conf | 48 +++++++++++++++++++++--------------------- getoptflags | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++ init_buildsystem | 32 +++++++++++++++++++++++----- 18 files changed, 399 insertions(+), 282 deletions(-) create mode 100755 getoptflags diff --git a/Build.pm b/Build.pm index bc33e07..e397857 100644 --- a/Build.pm +++ b/Build.pm @@ -37,7 +37,9 @@ sub read_config { my $inmacro = 0; for my $l (@spec) { if ($inmacro) { - push @macros, ref($l) ? $l->[0] : $l; + my $m = ref($l) ? $l->[0] : $l; + $m =~ s/^%/%define /; + push @macros, $m; next; } $l = $l->[1] if ref $l; @@ -56,6 +58,10 @@ sub read_config { next unless @l; $ll = shift @l; push @{$config->{'substitute'}->{$ll}}, @l; + } elsif ($l0 eq 'optflags:') { + next unless @l; + $ll = shift @l; + $config->{'optflags'}->{$ll} = join(' ', @l); } elsif ($l0 !~ /^[#%]/) { warn("unknown keyword in config: $l0\n"); } @@ -115,7 +121,7 @@ sub do_subst { sub get_build { my ($config, $subpacks, @deps) = @_; my @ndeps = grep {/^-/} @deps; - my %keep = map {$_ => 1} $config->{'keep'}; + my %keep = map {$_ => 1} @{$config->{'keep'} || []}; for (@{$subpacks || []}) { push @ndeps, "-$_" unless $keep{$_}; } @@ -134,7 +140,7 @@ sub get_build { sub get_deps { my ($config, $subpacks, @deps) = @_; my @ndeps = grep {/^-/} @deps; - my %keep = map {$_ => 1} $config->{'keep'}; + my %keep = map {$_ => 1} @{$config->{'keep'} || []}; for (@{$subpacks || []}) { push @ndeps, "-$_" unless $keep{$_}; } @@ -146,7 +152,7 @@ sub get_deps { @deps = grep {!$ndeps{"-$_"}} @deps; my %bdeps = map {$_ => 1} (@{$config->{'preinstall'}}, @{$config->{'support'}}); delete $bdeps{$_} for @deps; - @deps = expand($config, @deps); + @deps = expand($config, @deps, @ndeps); if (@deps && $deps[0]) { my $r = shift @deps; @deps = grep {!$bdeps{$_}} @deps; @@ -508,6 +514,7 @@ sub read_spec { $expandedline .= $1; $line = $4; my $macname = defined($3) ? $3 : $2; + my $macorig = $2; my $mactest = 0; if ($macname =~ /^\!\?/ || $macname =~ /^\?\!/) { $mactest = -1; @@ -545,7 +552,7 @@ sub read_spec { $macalt = '' if !defined($macalt) || $mactest == 1; $line = "$macalt$line"; } else { - $expandedline .= "%$2"; + $expandedline .= "%$macorig"; } } } diff --git a/baselibs.conf b/baselibs.conf index 72dc7ce..02b87fa 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -101,18 +101,13 @@ bzip2 targettype x86 provides "baselibs-x86:/usr/lib/libbz2.so.1" db gdbm -# -# perl requirements: -# -bzip2 -db -gdbm gdbm-devel # # heimdal requirements # db42 + # # wine & wine-devel requirements: # @@ -163,7 +158,6 @@ openssl-devel # bison flex -gcc libsmbclient samba-libs @@ -227,19 +221,13 @@ openmotif-libs openmotif-devel requires -openmotif- requires "openmotif-libs- = " -xorg-x11-libs kdelibs3 kdelibs3-arts -glibc libart_lgpl qt3 qt3-devel -fontconfig -freetype2 -expat libpng libpng-devel -zlib fam cups-libs @@ -271,12 +259,6 @@ jack OpenEXR # -# lkcdutils-netdump-server requirements: -# -popt -glib - -# # only for SLES #laus # +/sbin/auditd -> /sbin/auditd @@ -500,9 +482,6 @@ mDNSResponder # used by DirectFB sysfsutils -# used by various -db42 - # used by xine-lib libcdio libcddb diff --git a/build b/build index cf40394..77f652c 100755 --- a/build +++ b/build @@ -16,6 +16,7 @@ test -z "$BUILD_ARCH" && { export BUILD_ARCH BUILD_ROOT BUILD_RPMS export BUILD_DIR=/usr/lib/build +#export BUILD_DIR=/suse/mls/xenbuild export PATH=$BUILD_DIR:$PATH # This is for insserv @@ -86,6 +87,10 @@ Known Parameters: --baselibs Create -32bit/-64bit/-x86 rpms for other architectures + --list-state + List rpms that would be used to create a fresh build root. + Does not create the build root or perform a build. + Remember to have fun! [*] Maximum RPM: http://www.rpm.org/max-rpm/ @@ -153,6 +158,7 @@ BUILD_JOBS= ABUILD_TARGET_ARCH= CREATE_BASELIBS= USEUSEDFORBUILD= +LIST_STATE= XENIMAGE= XENSWAP= XENMEMORY= @@ -284,6 +290,9 @@ while test -n "$1"; do *-useusedforbuild) USEUSEDFORBUILD="--useusedforbuild" ;; + *-list*state) + LIST_STATE=true + ;; ----noarg) echo "$ARG does not take an argument" cleanup_and_exit @@ -299,7 +308,7 @@ while test -n "$1"; do esac done -test $UID != 0 && { +test -z "$LIST_STATE" -a "$UID" != 0 && { echo You have to be root to use $0. Exit. cleanup_and_exit 1 } @@ -348,6 +357,26 @@ if test -z "$SRCDIR" -o ! -d "$SRCDIR" ; then cleanup_and_exit 1 fi +if test -n "$LIST_STATE" ; then + BUILD_ROOT=`mktemp -d /var/tmp/build-list-state-XXXXXX` + test -d "$BUILD_ROOT" || exit 1 + SPECFILE=$SRCDIR/$SPECFILES + if test "$SPECFILE" != "${SPECFILE%.src.rpm}" ; then + rm -rf $BUILD_ROOT/usr/src/packages + mkdir -p $BUILD_ROOT/usr/src/packages/SOURCES $BUILD_ROOT/usr/src/packages/SPECS + rpm -i --nodigest --nosignature --root $BUILD_ROOT $SPECFILE || { + echo "could not install $SPECFILE." 2>&1 + rm -rf $BUILD_ROOT + cleanup_and_exit 1 + } + for SPECFILE in $BUILD_ROOT/usr/src/packages/SPECS/*.spec ; do : ; done + fi + init_buildsystem --list-state $USEUSEDFORBUILD $SPECFILE $BUILD_EXTRA_PACKS + ERR=$? + rm -rf $BUILD_ROOT + cleanup_and_exit $ERR +fi + if test -d "$BUILD_ROOT" ; then # check if it is owned by root test -O "$BUILD_ROOT" || { @@ -493,7 +522,8 @@ for SPECFILE in $SPECFILES ; do mkdir -p $BUILD_ROOT$TOPDIR fi - ln -f -s ${TOPDIR#/} $BUILD_ROOT/.build.packages + rm -f $BUILD_ROOT/.build.packages + ln -s ${TOPDIR#/} $BUILD_ROOT/.build.packages # # fix rpmrc if we are compiling for i686 @@ -548,6 +578,9 @@ for SPECFILE in $SPECFILES ; do # extract macros from configuration getmacros --dist "$BUILD_DIST" --configdir "$BUILD_DIR/configs" > $BUILD_ROOT/root/.rpmmacros test $BUILD_USER = abuild && cp -p $BUILD_ROOT/root/.rpmmacros $BUILD_ROOT/home/abuild/.rpmmacros + # extract optflags from configuration + getoptflags --dist "$BUILD_DIST" --configdir "$BUILD_DIR/configs" --archpath "$BUILD_ARCH" > $BUILD_ROOT/root/.rpmrc + test $BUILD_USER = abuild && cp -p $BUILD_ROOT/root/.rpmrc $BUILD_ROOT/home/abuild/.rpmrc fi if test -f $BUILD_ROOT/.spec.new ; then if ! cmp -s $BUILD_ROOT$TOPDIR/SOURCES/$SPECFILE $BUILD_ROOT/.spec.new ; then diff --git a/build.1 b/build.1 index 5c69f97..7d12881 100644 --- a/build.1 +++ b/build.1 @@ -51,6 +51,10 @@ remove the build system and reinitialize it from scratch. .B --no-init skip the build system initialization and start with build immediately. .TP +.B --list-state +list rpms that would be used to create a fresh build root. +Does not create the build root or perform a build. +.TP .BI "\-\-rpms " path1 : path2 : path3\fR...\fP Where build can find the SuSE Linux RPMs needed to create the build system. This option overrides the BUILD_RPMS environment diff --git a/configs/sl10.0.conf b/configs/sl10.0.conf index 1c4835f..1dd4979 100644 --- a/configs/sl10.0.conf +++ b/configs/sl10.0.conf @@ -136,13 +136,17 @@ Ignore: nautilus:gnome-themes Ignore: gnome-panel:gnome-themes Ignore: gnome-panel:tomboy -%ifnarch s390 s390x ppc ia64 -Substitute: java2-devel-packages java-1_4_2-sun-devel +%ifnarch s390 s390x ia64 +Substitute: java2-devel-packages java-1_4_2-sun-devel jpackage-utils update-alternatives %else - %ifnarch s390x -Substitute: java2-devel-packages java-1_4_2-ibm-devel - %else -Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit + %ifarch ppc +Substitute: java2-devel-packages IBMJava2-JRE IBMJava2-SDK jpackage-utils update-alternatives + %endif + %ifarch s390 ia64 +Substitute: java2-devel-packages java-1_4_2-ibm-devel jpackage-utils update-alternatives + %endif + %ifarch s390x +Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit jpackage-utils update-alternatives %endif %endif @@ -159,33 +163,33 @@ Substitute: glibc-devel-32bit %endif %ifarch %ix86 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-debug kernel-um kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-um kernel-xen %endif %ifarch ia64 Substitute: kernel-binary-packages kernel-default kernel-debug %endif %ifarch x86_64 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp kernel-xen %endif %ifarch ppc -Substitute: kernel-binary-packages kernel-default kernel-kdump kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-default kernel-ppc64 kernel-iseries64 %endif %ifarch ppc64 Substitute: kernel-binary-packages kernel-ppc64 kernel-iseries64 %endif %ifarch s390 Substitute: kernel-binary-packages kernel-s390 -%enidf +%endif %ifarch s390x Substitute: kernel-binary-packages kernel-default -%enidf +%endif Macros: -%define insserv_prereq insserv sed -%define fillup_prereq fillup coreutils -%define suseconfig_fonts_prereq perl aaa_base -%define install_info_prereq info -%define suse_version 1000 -%define sles_version 0 -%define ul_version 0 -%define do_profiling 1 +%insserv_prereq insserv sed +%fillup_prereq fillup coreutils +%suseconfig_fonts_prereq perl aaa_base +%install_info_prereq info +%suse_version 1000 +%sles_version 0 +%ul_version 0 +%do_profiling 1 diff --git a/configs/sl10.1.conf b/configs/sl10.1.conf index cf9f375..14c5e7c 100644 --- a/configs/sl10.1.conf +++ b/configs/sl10.1.conf @@ -137,12 +137,12 @@ Ignore: gnome-panel:gnome-themes Ignore: gnome-panel:tomboy %ifnarch s390 s390x ppc ia64 -Substitute: java2-devel-packages java-1_4_2-sun-devel +Substitute: java2-devel-packages java-1_4_2-sun-devel update-alternatives %else %ifnarch s390x -Substitute: java2-devel-packages java-1_4_2-ibm-devel +Substitute: java2-devel-packages java-1_4_2-ibm-devel update-alternatives %else -Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit +Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit update-alternatives %endif %endif @@ -175,17 +175,17 @@ Substitute: kernel-binary-packages kernel-ppc64 kernel-iseries64 %endif %ifarch s390 Substitute: kernel-binary-packages kernel-s390 -%enidf +%endif %ifarch s390x Substitute: kernel-binary-packages kernel-default -%enidf +%endif Macros: -%define insserv_prereq insserv sed devs -%define fillup_prereq fillup coreutils -%define suseconfig_fonts_prereq perl aaa_base -%define install_info_prereq info -%define suse_version 1001 -%define sles_version 0 -%define ul_version 0 -%define do_profiling 1 +%insserv_prereq insserv sed devs +%fillup_prereq fillup coreutils +%suseconfig_fonts_prereq perl aaa_base +%install_info_prereq info +%suse_version 1001 +%sles_version 0 +%ul_version 0 +%do_profiling 1 diff --git a/configs/sl8.1.conf b/configs/sl8.1.conf index 0a48f3f..9e305c6 100644 --- a/configs/sl8.1.conf +++ b/configs/sl8.1.conf @@ -135,54 +135,54 @@ Ignore: nautilus:gnome-themes Ignore: gnome-panel:gnome-themes Ignore: gnome-panel:tomboy -%ifnarch s390 s390x ppc ia64 -Substitute: java2-devel-packages java-1_4_2-sun-devel +%ifnarch s390 s390x ia64 +Substitute: java2-devel-packages java2 java2-jre jpackage-utils %else - %ifnarch s390x -Substitute: java2-devel-packages java-1_4_2-ibm-devel - %else -Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit + %ifarch ia64 s390 +Substitute: java2-devel-packages IBMJava2-SDK jpackage-utils + %endif + %ifarch s390x +Substitute: java2-devel-packages IBMJava2-SDK jpackage-utils glibc-32bit baselibs-32bit %endif %endif Substitute: yast2-devel-packages docbook-xsl-stylesheets doxygen libxslt perl-XML-Writer popt-devel sgml-skel update-desktop-files yast2 yast2-devtools yast2-packagemanager-devel yast2-perl-bindings yast2-testsuite %ifarch x86_64 ppc64 s390x sparc64 -Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit +Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit baselibs-32bit %else %ifarch ppc -Substitute: glibc-devel-32bit glibc-devel-64bit +Substitute: glibc-devel-32bit glibc-devel-64bit glibc-64bit %else Substitute: glibc-devel-32bit %endif %endif %ifarch %ix86 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-debug kernel-um kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-um %endif %ifarch ia64 -Substitute: kernel-binary-packages kernel-default kernel-debug -%endif +Substitute: kernel-binary-packages kernel-default kernel-sn2 kernel-64k-pagesize%endif %ifarch x86_64 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp %endif %ifarch ppc -Substitute: kernel-binary-packages kernel-default kernel-kdump kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-default kernel-pmac64_32bit kernel-power3 kernel-smp kernel-iseries64 kernel-pseries64 kernel-pmac64 %endif %ifarch ppc64 -Substitute: kernel-binary-packages kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-iseries64 kernel-pseries64 kernel-pmac64 %endif %ifarch s390 Substitute: kernel-binary-packages kernel-s390 -%enidf +%endif %ifarch s390x -Substitute: kernel-binary-packages kernel-default -%enidf +Substitute: kernel-binary-packages kernel-s390x +%endif Macros: -%define insserv_prereq aaa_base -%define fillup_prereq fillup fileutils -%define install_info_prereq texinfo -%define suse_version 810 -%define sles_version 0 -%define ul_version 0 +%insserv_prereq aaa_base +%fillup_prereq fillup fileutils +%install_info_prereq texinfo +%suse_version 810 +%sles_version 0 +%ul_version 0 diff --git a/configs/sl8.2.conf b/configs/sl8.2.conf index 1e170bb..1ee8ac1 100644 --- a/configs/sl8.2.conf +++ b/configs/sl8.2.conf @@ -135,13 +135,14 @@ Ignore: nautilus:gnome-themes Ignore: gnome-panel:gnome-themes Ignore: gnome-panel:tomboy -%ifnarch s390 s390x ppc ia64 -Substitute: java2-devel-packages java-1_4_2-sun-devel +%ifnarch s390 s390x ia64 +Substitute: java2-devel-packages java2 java2-jre jpackage-utils %else - %ifnarch s390x -Substitute: java2-devel-packages java-1_4_2-ibm-devel - %else -Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit + %ifarch ia64 s390 +Substitute: java2-devel-packages IBMJava2-SDK jpackage-utils + %endif + %ifarch s390x +Substitute: java2-devel-packages IBMJava2-SDK jpackage-utils glibc-32bit baselibs-32bit %endif %endif @@ -151,41 +152,40 @@ Substitute: yast2-devel-packages docbook-xsl-stylesheets doxygen libxslt perl-XM Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit %else %ifarch ppc -Substitute: glibc-devel-32bit glibc-devel-64bit +Substitute: glibc-devel-32bit glibc-devel-64bit glibc-64bit %else Substitute: glibc-devel-32bit %endif %endif %ifarch %ix86 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-debug kernel-um kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-um %endif %ifarch ia64 -Substitute: kernel-binary-packages kernel-default kernel-debug -%endif +Substitute: kernel-binary-packages kernel-default kernel-sn2 kernel-64k-pagesize%endif %ifarch x86_64 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp %endif %ifarch ppc -Substitute: kernel-binary-packages kernel-default kernel-kdump kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-default kernel-pmac64_32bit kernel-power3 kernel-smp kernel-iseries64 kernel-pseries64 kernel-pmac64 %endif %ifarch ppc64 -Substitute: kernel-binary-packages kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-iseries64 kernel-pseries64 kernel-pmac64 %endif %ifarch s390 Substitute: kernel-binary-packages kernel-s390 -%enidf +%endif %ifarch s390x -Substitute: kernel-binary-packages kernel-default -%enidf +Substitute: kernel-binary-packages kernel-s390x +%endif Macros: -%define insserv_prereq insserv -%define fillup_prereq fillup fileutils -%define suseconfig_fonts_prereq perl aaa_base -%define install_info_prereq info -%define suse_version 820 -%define sles_version 0 -%define ul_version 0 -%define jds_version 0 -%define do_profiling 1 +%insserv_prereq insserv +%fillup_prereq fillup fileutils +%suseconfig_fonts_prereq perl aaa_base +%install_info_prereq info +%suse_version 820 +%sles_version 0 +%ul_version 0 +%jds_version 0 +%do_profiling 1 diff --git a/configs/sl9.0.conf b/configs/sl9.0.conf index 01739ec..31e928b 100644 --- a/configs/sl9.0.conf +++ b/configs/sl9.0.conf @@ -136,13 +136,14 @@ Ignore: nautilus:gnome-themes Ignore: gnome-panel:gnome-themes Ignore: gnome-panel:tomboy -%ifnarch s390 s390x ppc ia64 -Substitute: java2-devel-packages java-1_4_2-sun-devel +%ifnarch s390 s390x ia64 +Substitute: java2-devel-packages java2 java2-jre jpackage-utils %else - %ifnarch s390x -Substitute: java2-devel-packages java-1_4_2-ibm-devel - %else -Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit + %ifarch ia64 s390 +Substitute: java2-devel-packages IBMJava2-SDK jpackage-utils + %endif + %ifarch s390x +Substitute: java2-devel-packages IBMJava2-SDK jpackage-utils glibc-32bit baselibs-32bit %endif %endif @@ -152,41 +153,40 @@ Substitute: yast2-devel-packages docbook-xsl-stylesheets doxygen libxslt perl-XM Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit %else %ifarch ppc -Substitute: glibc-devel-32bit glibc-devel-64bit +Substitute: glibc-devel-32bit glibc-devel-64bit glibc-64bit %else Substitute: glibc-devel-32bit %endif %endif %ifarch %ix86 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-debug kernel-um kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-um %endif %ifarch ia64 -Substitute: kernel-binary-packages kernel-default kernel-debug -%endif +Substitute: kernel-binary-packages kernel-default kernel-sn2 kernel-64k-pagesize%endif %ifarch x86_64 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp %endif %ifarch ppc -Substitute: kernel-binary-packages kernel-default kernel-kdump kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-default kernel-pmac64_32bit kernel-power3 kernel-smp kernel-iseries64 kernel-pseries64 kernel-pmac64 %endif %ifarch ppc64 -Substitute: kernel-binary-packages kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-iseries64 kernel-pseries64 kernel-pmac64 %endif %ifarch s390 Substitute: kernel-binary-packages kernel-s390 -%enidf +%endif %ifarch s390x -Substitute: kernel-binary-packages kernel-default -%enidf +Substitute: kernel-binary-packages kernel-s390x +%endif Macros: -%define insserv_prereq insserv -%define fillup_prereq fillup fileutils -%define suseconfig_fonts_prereq perl aaa_base -%define install_info_prereq info -%define suse_version 900 -%define sles_version 0 -%define ul_version 0 -%define jds_version 0 -%define do_profiling 1 +%insserv_prereq insserv +%fillup_prereq fillup fileutils +%suseconfig_fonts_prereq perl aaa_base +%install_info_prereq info +%suse_version 900 +%sles_version 0 +%ul_version 0 +%jds_version 0 +%do_profiling 1 diff --git a/configs/sl9.1.conf b/configs/sl9.1.conf index 721df0b..7ceceba 100644 --- a/configs/sl9.1.conf +++ b/configs/sl9.1.conf @@ -137,12 +137,16 @@ Ignore: gnome-panel:gnome-themes Ignore: gnome-panel:tomboy %ifnarch s390 s390x ppc ia64 -Substitute: java2-devel-packages java-1_4_2-sun-devel +Substitute: java2-devel-packages java2 java2-jre jpackage-utils %else - %ifnarch s390x -Substitute: java2-devel-packages java-1_4_2-ibm-devel - %else -Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit + %ifarch ia64 +Substitute: java2-devel-packages IBMJava2-JRE BEAJava2-JRE BEAJava2-SDK jpackage-utils + %endif + %ifarch s390 ppc +Substitute: java2-devel-packages IBMJava2-JRE IBMJava2-SDK jpackage-utils + %endif + %ifarch s390x +Substitute: java2-devel-packages IBMJava2-JRE IBMJava2-SDK jpackage-utils XFree86-libs-32bit %endif %endif @@ -152,41 +156,41 @@ Substitute: yast2-devel-packages docbook-xsl-stylesheets doxygen libxslt perl-XM Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit %else %ifarch ppc -Substitute: glibc-devel-32bit glibc-devel-64bit +Substitute: glibc-devel-32bit glibc-devel-64bit glibc-64bit %else Substitute: glibc-devel-32bit %endif %endif %ifarch %ix86 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-debug kernel-um kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-um %endif %ifarch ia64 -Substitute: kernel-binary-packages kernel-default kernel-debug +Substitute: kernel-binary-packages kernel-default kernel-sn2 kernel-64k-pagesize %endif %ifarch x86_64 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp %endif %ifarch ppc -Substitute: kernel-binary-packages kernel-default kernel-kdump kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-default kernel-pmac64_32bit kernel-power3 kernel-smp kernel-iseries64 kernel-pseries64 kernel-pmac64 %endif %ifarch ppc64 -Substitute: kernel-binary-packages kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-iseries64 kernel-pseries64 kernel-pmac64 %endif %ifarch s390 Substitute: kernel-binary-packages kernel-s390 -%enidf +%endif %ifarch s390x -Substitute: kernel-binary-packages kernel-default -%enidf +Substitute: kernel-binary-packages kernel-s390x +%endif Macros: -%define insserv_prereq insserv -%define fillup_prereq fillup fileutils -%define suseconfig_fonts_prereq perl aaa_base -%define install_info_prereq info -%define suse_version 910 -%define sles_version 0 -%define ul_version 0 -%define jds_version 0 -%define do_profiling 1 +%insserv_prereq insserv +%fillup_prereq fillup fileutils +%suseconfig_fonts_prereq perl aaa_base +%install_info_prereq info +%suse_version 910 +%sles_version 0 +%ul_version 0 +%jds_version 0 +%do_profiling 1 diff --git a/configs/sl9.2.conf b/configs/sl9.2.conf index ca1390e..3b4d3b2 100644 --- a/configs/sl9.2.conf +++ b/configs/sl9.2.conf @@ -137,12 +137,12 @@ Ignore: gnome-panel:gnome-themes Ignore: gnome-panel:tomboy %ifnarch s390 s390x ppc ia64 -Substitute: java2-devel-packages java-1_4_2-sun-devel +Substitute: java2-devel-packages java-1_4_2-sun-devel jpackage-utils update-alternatives %else %ifnarch s390x -Substitute: java2-devel-packages java-1_4_2-ibm-devel +Substitute: java2-devel-packages java-1_4_2-ibm-devel jpackage-utils update-alternatives %else -Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit +Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit jpackage-utils update-alternatives %endif %endif @@ -159,33 +159,33 @@ Substitute: glibc-devel-32bit %endif %ifarch %ix86 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-debug kernel-um kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-um %endif %ifarch ia64 -Substitute: kernel-binary-packages kernel-default kernel-debug +Substitute: kernel-binary-packages kernel-default %endif %ifarch x86_64 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp %endif %ifarch ppc -Substitute: kernel-binary-packages kernel-default kernel-kdump kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-default kernel-ppc64 kernel-iseries64 %endif %ifarch ppc64 Substitute: kernel-binary-packages kernel-ppc64 kernel-iseries64 %endif %ifarch s390 Substitute: kernel-binary-packages kernel-s390 -%enidf +%endif %ifarch s390x -Substitute: kernel-binary-packages kernel-default -%enidf +Substitute: kernel-binary-packages kernel-s390x +%endif Macros: -%define insserv_prereq insserv sed devs -%define fillup_prereq fillup coreutils -%define suseconfig_fonts_prereq perl aaa_base -%define install_info_prereq info -%define suse_version 920 -%define sles_version 0 -%define ul_version 0 -%define do_profiling 1 +%insserv_prereq insserv sed devs +%fillup_prereq fillup coreutils +%suseconfig_fonts_prereq perl aaa_base +%install_info_prereq info +%suse_version 920 +%sles_version 0 +%ul_version 0 +%do_profiling 1 diff --git a/configs/sl9.3.conf b/configs/sl9.3.conf index 1aad683..b17bacd 100644 --- a/configs/sl9.3.conf +++ b/configs/sl9.3.conf @@ -137,12 +137,12 @@ Ignore: gnome-panel:gnome-themes Ignore: gnome-panel:tomboy %ifnarch s390 s390x ppc ia64 -Substitute: java2-devel-packages java-1_4_2-sun-devel +Substitute: java2-devel-packages java-1_4_2-sun-devel jpackage-utils update-alternatives %else %ifnarch s390x -Substitute: java2-devel-packages java-1_4_2-ibm-devel +Substitute: java2-devel-packages java-1_4_2-ibm-devel jpackage-utils update-alternatives %else -Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit +Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit jpackage-utils update-alternatives %endif %endif @@ -159,33 +159,33 @@ Substitute: glibc-devel-32bit %endif %ifarch %ix86 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-debug kernel-um kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-um %endif %ifarch ia64 -Substitute: kernel-binary-packages kernel-default kernel-debug +Substitute: kernel-binary-packages kernel-default %endif %ifarch x86_64 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp %endif %ifarch ppc -Substitute: kernel-binary-packages kernel-default kernel-kdump kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-default kernel-ppc64 kernel-iseries64 %endif %ifarch ppc64 Substitute: kernel-binary-packages kernel-ppc64 kernel-iseries64 %endif %ifarch s390 Substitute: kernel-binary-packages kernel-s390 -%enidf +%endif %ifarch s390x -Substitute: kernel-binary-packages kernel-default -%enidf +Substitute: kernel-binary-packages kernel-s390x +%endif Macros: -%define insserv_prereq insserv sed devs -%define fillup_prereq fillup coreutils -%define suseconfig_fonts_prereq perl aaa_base -%define install_info_prereq info -%define suse_version 930 -%define sles_version 0 -%define ul_version 0 -%define do_profiling 1 +%insserv_prereq insserv sed devs +%fillup_prereq fillup coreutils +%suseconfig_fonts_prereq perl aaa_base +%install_info_prereq info +%suse_version 930 +%sles_version 0 +%ul_version 0 +%do_profiling 1 diff --git a/configs/sles10.conf b/configs/sles10.conf index 8731f5d..b40d719 100644 --- a/configs/sles10.conf +++ b/configs/sles10.conf @@ -137,12 +137,12 @@ Ignore: gnome-panel:gnome-themes Ignore: gnome-panel:tomboy %ifnarch s390 s390x ppc ia64 -Substitute: java2-devel-packages java-1_4_2-sun-devel +Substitute: java2-devel-packages java-1_4_2-sun-devel update-alternatives %else %ifnarch s390x -Substitute: java2-devel-packages java-1_4_2-ibm-devel +Substitute: java2-devel-packages java-1_4_2-ibm-devel update-alternatives %else -Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit +Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit update-alternatives %endif %endif @@ -175,17 +175,17 @@ Substitute: kernel-binary-packages kernel-ppc64 kernel-iseries64 %endif %ifarch s390 Substitute: kernel-binary-packages kernel-s390 -%enidf +%endif %ifarch s390x Substitute: kernel-binary-packages kernel-default -%enidf +%endif Macros: -%define insserv_prereq insserv sed -%define fillup_prereq fillup coreutils -%define suseconfig_fonts_prereq perl aaa_base -%define install_info_prereq info -%define suse_version 1001 -%define sles_version 10 -%define ul_version 0 -%define do_profiling 1 +%insserv_prereq insserv sed +%fillup_prereq fillup coreutils +%suseconfig_fonts_prereq perl aaa_base +%install_info_prereq info +%suse_version 1001 +%sles_version 10 +%ul_version 0 +%do_profiling 1 diff --git a/configs/sles8.conf b/configs/sles8.conf index 1ccfcb7..be937b7 100644 --- a/configs/sles8.conf +++ b/configs/sles8.conf @@ -11,7 +11,7 @@ Support: findutils flex gawk gdbm-devel glibc-devel glibc-locale Support: gpm groff gzip kbd less libstdc++ make man mktemp modutils Support: ncurses-devel net-tools netcfg pam-devel pam-modules Support: patch ps rcs sendmail strace syslogd sysvinit texinfo -Support: timezone unitedlinux-release unzip util-linux vim zlib-devel +Support: timezone unzip util-linux vim zlib-devel Keep: binutils bzip2 cpp cracklib file findutils fpk gawk gcc Keep: gcc-c++ gdbm glibc-devel glibc-locale gnat gnat-runtime @@ -135,54 +135,54 @@ Ignore: nautilus:gnome-themes Ignore: gnome-panel:gnome-themes Ignore: gnome-panel:tomboy -%ifnarch s390 s390x ppc ia64 -Substitute: java2-devel-packages java-1_4_2-sun-devel +%ifnarch s390 s390x ia64 +Substitute: java2-devel-packages java2 java2-jre jpackage-utils %else - %ifnarch s390x -Substitute: java2-devel-packages java-1_4_2-ibm-devel - %else -Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit + %ifarch ia64 s390 +Substitute: java2-devel-packages IBMJava2-SDK jpackage-utils + %endif + %ifarch s390x +Substitute: java2-devel-packages IBMJava2-SDK jpackage-utils glibc-32bit baselibs-32bit %endif %endif Substitute: yast2-devel-packages docbook-xsl-stylesheets doxygen libxslt perl-XML-Writer popt-devel sgml-skel update-desktop-files yast2 yast2-devtools yast2-packagemanager-devel yast2-perl-bindings yast2-testsuite %ifarch x86_64 ppc64 s390x sparc64 -Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit +Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit baselibs-32bit %else %ifarch ppc -Substitute: glibc-devel-32bit glibc-devel-64bit +Substitute: glibc-devel-32bit glibc-devel-64bit glibc-64bit %else Substitute: glibc-devel-32bit %endif %endif %ifarch %ix86 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-debug kernel-um kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-um %endif %ifarch ia64 -Substitute: kernel-binary-packages kernel-default kernel-debug -%endif +Substitute: kernel-binary-packages kernel-default kernel-sn2 kernel-64k-pagesize%endif %ifarch x86_64 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp %endif %ifarch ppc -Substitute: kernel-binary-packages kernel-default kernel-kdump kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-default kernel-pmac64_32bit kernel-power3 kernel-smp kernel-iseries64 kernel-pseries64 kernel-pmac64 %endif %ifarch ppc64 -Substitute: kernel-binary-packages kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-iseries64 kernel-pseries64 kernel-pmac64 %endif %ifarch s390 Substitute: kernel-binary-packages kernel-s390 -%enidf +%endif %ifarch s390x -Substitute: kernel-binary-packages kernel-default -%enidf +Substitute: kernel-binary-packages kernel-s390x +%endif Macros: -%define insserv_prereq aaa_base -%define fillup_prereq fillup fileutils -%define install_info_prereq texinfo -%define suse_version 810 -%define sles_version 8 -%define ul_version 0 +%insserv_prereq aaa_base +%fillup_prereq fillup fileutils +%install_info_prereq texinfo +%suse_version 810 +%sles_version 8 +%ul_version 0 diff --git a/configs/sles9.conf b/configs/sles9.conf index 0680195..a98dc0e 100644 --- a/configs/sles9.conf +++ b/configs/sles9.conf @@ -137,12 +137,16 @@ Ignore: gnome-panel:gnome-themes Ignore: gnome-panel:tomboy %ifnarch s390 s390x ppc ia64 -Substitute: java2-devel-packages java-1_4_2-sun-devel +Substitute: java2-devel-packages java2 java2-jre jpackage-utils %else - %ifnarch s390x -Substitute: java2-devel-packages java-1_4_2-ibm-devel - %else -Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit + %ifarch ia64 +Substitute: java2-devel-packages IBMJava2-JRE BEAJava2-JRE BEAJava2-SDK jpackage-utils + %endif + %ifarch s390 ppc +Substitute: java2-devel-packages IBMJava2-JRE IBMJava2-SDK jpackage-utils + %endif + %ifarch s390x +Substitute: java2-devel-packages IBMJava2-JRE IBMJava2-SDK jpackage-utils XFree86-libs-32bit %endif %endif @@ -152,41 +156,41 @@ Substitute: yast2-devel-packages docbook-xsl-stylesheets doxygen libxslt perl-XM Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit %else %ifarch ppc -Substitute: glibc-devel-32bit glibc-devel-64bit +Substitute: glibc-devel-32bit glibc-devel-64bit glibc-64bit %else Substitute: glibc-devel-32bit %endif %endif %ifarch %ix86 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-debug kernel-um kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-um %endif %ifarch ia64 -Substitute: kernel-binary-packages kernel-default kernel-debug +Substitute: kernel-binary-packages kernel-default kernel-sn2 kernel-64k-pagesize %endif %ifarch x86_64 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp %endif %ifarch ppc -Substitute: kernel-binary-packages kernel-default kernel-kdump kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-default kernel-pmac64_32bit kernel-power3 kernel-smp kernel-iseries64 kernel-pseries64 kernel-pmac64 %endif %ifarch ppc64 -Substitute: kernel-binary-packages kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-iseries64 kernel-pseries64 kernel-pmac64 %endif %ifarch s390 Substitute: kernel-binary-packages kernel-s390 -%enidf +%endif %ifarch s390x -Substitute: kernel-binary-packages kernel-default -%enidf +Substitute: kernel-binary-packages kernel-s390x +%endif Macros: -%define insserv_prereq insserv -%define fillup_prereq fillup fileutils -%define suseconfig_fonts_prereq perl aaa_base -%define install_info_prereq info -%define suse_version 910 -%define sles_version 9 -%define ul_version 0 -%define jds_version 0 -%define do_profiling 1 +%insserv_prereq insserv +%fillup_prereq fillup fileutils +%suseconfig_fonts_prereq perl aaa_base +%install_info_prereq info +%suse_version 910 +%sles_version 9 +%ul_version 0 +%jds_version 0 +%do_profiling 1 diff --git a/configs/ul1.conf b/configs/ul1.conf index 4ede7f0..08df4bd 100644 --- a/configs/ul1.conf +++ b/configs/ul1.conf @@ -11,7 +11,7 @@ Support: findutils flex gawk gdbm-devel glibc-devel glibc-locale Support: gpm groff gzip kbd less libstdc++ make man mktemp modutils Support: ncurses-devel net-tools netcfg pam-devel pam-modules Support: patch ps rcs sendmail strace syslogd sysvinit texinfo -Support: timezone unitedlinux-release unzip util-linux vim zlib-devel +Support: timezone unzip util-linux vim zlib-devel Keep: binutils bzip2 cpp cracklib file findutils fpk gawk gcc Keep: gcc-c++ gdbm glibc-devel glibc-locale gnat gnat-runtime @@ -135,54 +135,54 @@ Ignore: nautilus:gnome-themes Ignore: gnome-panel:gnome-themes Ignore: gnome-panel:tomboy -%ifnarch s390 s390x ppc ia64 -Substitute: java2-devel-packages java-1_4_2-sun-devel +%ifnarch s390 s390x ia64 +Substitute: java2-devel-packages java2 java2-jre jpackage-utils %else - %ifnarch s390x -Substitute: java2-devel-packages java-1_4_2-ibm-devel - %else -Substitute: java2-devel-packages java-1_4_2-ibm-devel xorg-x11-libs-32bit + %ifarch ia64 s390 +Substitute: java2-devel-packages IBMJava2-SDK jpackage-utils + %endif + %ifarch s390x +Substitute: java2-devel-packages IBMJava2-SDK jpackage-utils glibc-32bit baselibs-32bit %endif %endif Substitute: yast2-devel-packages docbook-xsl-stylesheets doxygen libxslt perl-XML-Writer popt-devel sgml-skel update-desktop-files yast2 yast2-devtools yast2-packagemanager-devel yast2-perl-bindings yast2-testsuite %ifarch x86_64 ppc64 s390x sparc64 -Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit +Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit baselibs-32bit %else %ifarch ppc -Substitute: glibc-devel-32bit glibc-devel-64bit +Substitute: glibc-devel-32bit glibc-devel-64bit glibc-64bit %else Substitute: glibc-devel-32bit %endif %endif %ifarch %ix86 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-debug kernel-um kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp kernel-bigsmp kernel-um %endif %ifarch ia64 -Substitute: kernel-binary-packages kernel-default kernel-debug -%endif +Substitute: kernel-binary-packages kernel-default kernel-sn2 kernel-64k-pagesize%endif %ifarch x86_64 -Substitute: kernel-binary-packages kernel-default kernel-smp kernel-xen kernel-kdump +Substitute: kernel-binary-packages kernel-default kernel-smp %endif %ifarch ppc -Substitute: kernel-binary-packages kernel-default kernel-kdump kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-default kernel-pmac64_32bit kernel-power3 kernel-smp kernel-iseries64 kernel-pseries64 kernel-pmac64 %endif %ifarch ppc64 -Substitute: kernel-binary-packages kernel-ppc64 kernel-iseries64 +Substitute: kernel-binary-packages kernel-iseries64 kernel-pseries64 kernel-pmac64 %endif %ifarch s390 Substitute: kernel-binary-packages kernel-s390 -%enidf +%endif %ifarch s390x -Substitute: kernel-binary-packages kernel-default -%enidf +Substitute: kernel-binary-packages kernel-s390x +%endif Macros: -%define insserv_prereq aaa_base -%define fillup_prereq fillup fileutils -%define install_info_prereq texinfo -%define suse_version 810 -%define sles_version 0 -%define ul_version 1 +%insserv_prereq aaa_base +%fillup_prereq fillup fileutils +%install_info_prereq texinfo +%suse_version 810 +%sles_version 0 +%ul_version 1 diff --git a/getoptflags b/getoptflags new file mode 100755 index 0000000..abcc5a1 --- /dev/null +++ b/getoptflags @@ -0,0 +1,60 @@ +#!/usr/bin/perl -w + +BEGIN { + unshift @INC, ($::ENV{'BUILD_DIR'} || '/usr/lib/build'); +} + +use strict; + +use Build; + +my ($dist, $archs, $configdir); + +while (@ARGV) { + if ($ARGV[0] eq '--dist') { + shift @ARGV; + $dist = shift @ARGV; + next; + } + if ($ARGV[0] eq '--archpath') { + shift @ARGV; + $archs = shift @ARGV; + next; + } + if ($ARGV[0] eq '--configdir') { + shift @ARGV; + $configdir = shift @ARGV; + next; + } + last; +} +$configdir = '.' unless defined $configdir; +$archs = '' unless defined $archs; +$dist = '' unless defined $dist; + +die("Usage: getoptflags --dist --archpath [--configdir ]\n") if !defined($dist) || @ARGV; + +my @archs = split(':', $archs); +push @archs, 'noarch' unless grep {$_ eq 'noarch'} @archs; + +my $cf; +if ($dist =~ /\//) { + die("$dist: $!\n") unless -e $dist; + $cf = Build::read_config($archs[0], $dist); +} else { + $dist =~ s/-.*//; + $dist = "sl$dist" if $dist =~ /^\d/; + $cf = Build::read_config($archs[0], "$configdir/$dist.conf"); + if (!$cf) { + $cf = Build::read_config($archs[0], "$configdir/default.conf"); + } +} +die("config not found\n") unless $cf; + +exit 0 unless $cf->{'optflags'}; +my $all = $cf->{'optflags'}->{'*'}; +$all = defined($all) && $all ne '' ? " $all" : ''; +for (sort keys %{$cf->{'optflags'}}) { + next if $_ eq '*'; + print "optflags: $_ $cf->{'optflags'}->{$_}$all\n"; +} diff --git a/init_buildsystem b/init_buildsystem index fe53f06..7fa11a1 100755 --- a/init_buildsystem +++ b/init_buildsystem @@ -28,6 +28,7 @@ RPMIDFMT="%{NAME}-%{VERSION}-%{RELEASE} %{BUILDHOST}-%{BUILDTIME}\n" PREPARE_XEN= USEUSEDFORBUILD= +LIST_STATE= RPMLIST= while test -n "$1" ; do @@ -40,6 +41,10 @@ while test -n "$1" ; do shift USEUSEDFORBUILD=--useusedforbuild ;; + --list-state) + shift + LIST_STATE=true + ;; --rpmlist) shift RPMLIST=$1 @@ -207,7 +212,7 @@ function validate_cache_file { test $SRC -nt $CACHE_FILE && rm -f $CACHE_FILE.id done if ! test -f $CACHE_FILE.id ; then - echo initializing $CACHE_FILE with find command... + test -z "$LIST_STATE" && echo initializing $CACHE_FILE with find command... for SRC in ${BUILD_RPMS//:/ } ; do test -z "$SRC" && SRC=. find $SRC -type f -name packages -print -o -follow -type f \( -name "*.rpm" -o -name "*.deb" \) -a ! -name "*src.rpm" -printf '%T@/%s/%i %p\n' @@ -272,11 +277,24 @@ else # select and expand packages # RPMLIST=$BUILD_ROOT/.init_b_cache/rpmlist - echo "expanding package dependencies..." + test -z "$LIST_STATE" && echo "expanding package dependencies..." if ! expanddeps $USEUSEDFORBUILD --dist "$BUILD_DIST" --depfile "$CACHE_FILE" --archpath "$BUILD_ARCH" --configdir $BUILD_DIR/configs $PKGS > $RPMLIST ; then + rm -f $BUILD_IS_RUNNING cleanup_and_exit 1 fi fi + + if test -n "$LIST_STATE" ; then + rm -f $BUILD_IS_RUNNING + while read PKG SRC ; do + test "$PKG" = "preinstall:" && continue + test "$PKG" = "dist:" && continue + echo "${SRC##*/}" + done < $BUILD_ROOT/.init_b_cache/rpmlist + rm -rf $BUILD_ROOT/.init_b_cache + exit 0 + fi + PACKAGES_TO_INSTALL= GUESSED_DIST=unknown mkdir -p $BUILD_ROOT/.init_b_cache/rpms @@ -388,7 +406,7 @@ for PKG in $BUILD_ROOT/.init_b_cache/todelete/* ; do test "$PKG" = "*" && continue echo deleting `sed -e 's/ .*//' < $BUILD_ROOT/.init_b_cache/todelete/$PKG` chroot $BUILD_ROOT rpm --nodeps -e $PKG 2>&1 | \ - grep -v "^r.*failed: No such file or directory" + grep -v -e "^r.*failed: No such file or directory" -e "^error: failed to stat .*: No such file or directory" done rm -rf $BUILD_ROOT/.init_b_cache/todelete @@ -435,13 +453,13 @@ for PKG in $PACKAGES_TO_INSTALL_FIRST RUN_LDCONFIG $PACKAGES_TO_INSTALL ; do if test "$PKGID" != "`cat $BUILD_ROOT/.init_b_cache/alreadyinstalled/$PKG`" ; then echo deleting unwanted `sed -e 's/ .*//' < $BUILD_ROOT/.init_b_cache/alreadyinstalled/$PKG` chroot $BUILD_ROOT rpm --nodeps -e $PKG 2>&1 | \ - grep -v "^r.*failed: No such file or directory" + grep -v -e "^r.*failed: No such file or directory" -e "^error: failed to stat .*: No such file or directory" elif test "$VERIFY_BUILD_SYSTEM" = true ; then chroot $BUILD_ROOT rpm --verify $PKG 2>&1 | tee $TMPFILE if grep ^missing $TMPFILE > /dev/null ; then echo deleting incomplete ${PKGID%% *} chroot $BUILD_ROOT rpm --nodeps -e $PKG 2>&1 | \ - grep -v "^r.*failed: No such file or directory" + grep -v -e "^r.*failed: No such file or directory" -e "^error: failed to stat .*: No such file or directory" else echo "keeping ${PKGID%% *}" echo "$PKGID" > $BUILD_ROOT/installed-pkg/$PKG @@ -588,6 +606,10 @@ for PROG in /usr/bin/TeX/texhash /usr/bin/texhash ; do chroot $BUILD_ROOT bash -c ". /etc/profile ; $PROG" done +if test -e $BUILD_ROOT/usr/share/zoneinfo/UTC ; then + chroot $BUILD_ROOT zic -l UTC +fi + if test -x $BUILD_ROOT/bin/rpm -a ! -f $BUILD_ROOT/var/lib/rpm/packages.rpm -a ! -f $BUILD_ROOT/var/lib/rpm/Packages ; then echo "initializing rpm db..." chroot $BUILD_ROOT rpm --initdb || cleanup_and_exit 1 -- 2.7.4