X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=util-vserver-pld.patch;h=643b4a0c875036eede3e2f5046e1c2ca2ee01773;hb=21a3b8baa72ebbd841961399722189336984442a;hp=1444e8550a561b34f9c153068e33d23fb87b5301;hpb=d7090917c4c7e2c567c1d1525511d9232216f3a0;p=packages%2Futil-vserver.git diff --git a/util-vserver-pld.patch b/util-vserver-pld.patch index 1444e85..643b4a0 100644 --- a/util-vserver-pld.patch +++ b/util-vserver-pld.patch @@ -1,55 +1,327 @@ -diff -urN util-vserver-0.30.207/distrib/Makefile.am util-vserver-0.30.207-pld/distrib/Makefile.am ---- util-vserver-0.30.207/distrib/Makefile.am 2005-04-08 21:12:09.000000000 +0200 -+++ util-vserver-0.30.207-pld/distrib/Makefile.am 2005-05-17 15:27:16.884625000 +0200 -@@ -43,7 +43,8 @@ - fc3/yum/yum.conf $(wildcard fc3/yum.repos.d/fedora*.repo) \ - $(wildcard fc3/rpmlist.d/*.lst) $(wildcard fc3/rpmlist.d/*.opt) \ +--- util-vserver-0.30.216-r2837.orig/distrib/defaults/poldek/poldek.conf 1970-01-01 01:00:00.000000000 +0100 ++++ util-vserver-0.30.216-r2837/distrib/defaults/poldek/poldek.conf 2009-06-22 17:48:26.000000000 +0200 +@@ -0,0 +1,11 @@ ++# poldek configuration file. ++ ++%includedir repos.d ++ ++[global] ++particle install = no ++choose equivalents manually = yes ++unique package names = yes ++ ++#hold = ++ignore = kernel* udev devfs +--- util-vserver-0.30.216-r2837.orig/distrib/Makefile.am 2009-06-22 17:36:52.000000000 +0200 ++++ util-vserver-0.30.216-r2837/distrib/Makefile.am 2009-06-22 17:49:36.000000000 +0200 +@@ -45,6 +45,7 @@ + defaults/apt.conf \ + defaults/rpm/macros \ + defaults/apt/apt.conf \ ++ defaults/poldek/poldek.conf \ + template/initpost template/initpre \ + rh9/apt/rpmpriorities rh9/pkgs/01 rh9/pkgs/02 \ + fc1/apt/rpmpriorities fc1/pkgs/01 fc1/pkgs/02 \ +@@ -85,7 +86,10 @@ suse91/apt/rpmpriorities suse91/pkgs/01 suse91/pkgs/02 \ -- suse91/rpm/macros -+ suse91/rpm/macros \ -+ pld2.0/pkgs/01 pld2.0/rpm/macros pld2.0/rpmlist.d/00.lst + suse91/rpm/macros \ + gentoo/init-vserver.sh gentoo/net.vserver \ +- gentoo/reboot.sh gentoo/shutdown.sh ++ gentoo/reboot.sh gentoo/shutdown.sh\ ++ pld-ac/pkgs/01 pld-ac/rpm/macros \ ++ pld-th/pkgs/01 pld-th/rpm/macros \ ++ pld-ti/pkgs/01 pld-ti/rpm/macros nobase_confdistrib_DATA = rh9/apt/sources.list \ fc1/apt/sources.list \ -@@ -67,6 +68,7 @@ - ln -sf ../redhat/initpost $(DESTDIR)$(distribdir)/$$i/ && \ - ln -sf ../redhat/initpre $(DESTDIR)$(distribdir)/$$i/; \ - done -+ ln -sf pld2.0 $(DESTDIR)$(distribdir)/pld1.99 - $(mkinstalldirs) $(DESTDIR)$(confdir) \ - $(DESTDIR)$(confdistribdir)/.common/pubkeys \ - $(DESTDIR)$(confdefaultsdir) \ -diff -urN util-vserver-0.30.207/distrib/pld2.0/pkgs/01 util-vserver-0.30.207-pld/distrib/pld2.0/pkgs/01 ---- util-vserver-0.30.207/distrib/pld2.0/pkgs/01 1970-01-01 01:00:00.000000000 +0100 -+++ util-vserver-0.30.207-pld/distrib/pld2.0/pkgs/01 2005-05-16 19:09:20.000000000 +0200 -@@ -0,0 +1,3 @@ -+vserver-basesystem -+glibc +@@ -95,7 +99,10 @@ + fc5/apt/sources.list \ + fc6/apt/sources.list \ + f7/apt/sources.list \ +- suse91/apt/sources.list ++ suse91/apt/sources.list \ ++ pld-ac/poldek/repos.d/pld.conf \ ++ pld-th/poldek/repos.d/pld.conf \ ++ pld-ti/poldek/repos.d/pld.conf + + AM_INSTALLCHECK_STD_OPTIONS_EXEMPT \ + = $(nobase_distrib_SCRIPTS) +--- util-vserver-0.30.216-r2837.orig/distrib/pld-ac/pkgs/01 1970-01-01 01:00:00.000000000 +0100 ++++ util-vserver-0.30.216-r2837/distrib/pld-ac/pkgs/01 2009-06-22 17:48:26.000000000 +0200 +@@ -0,0 +1,6 @@ ++basesystem ++filesystem ++glibc-misc +issue -diff -urN util-vserver-0.30.207/distrib/pld2.0/rpm/macros util-vserver-0.30.207-pld/distrib/pld2.0/rpm/macros ---- util-vserver-0.30.207/distrib/pld2.0/rpm/macros 1970-01-01 01:00:00.000000000 +0100 -+++ util-vserver-0.30.207-pld/distrib/pld2.0/rpm/macros 2005-05-17 15:23:04.279026888 +0200 -@@ -0,0 +1,4 @@ ++rpm-base ++vserver-packages +--- util-vserver-0.30.216-r2837.orig/distrib/pld-ac/poldek/repos.d/pld.conf 1970-01-01 01:00:00.000000000 +0100 ++++ util-vserver-0.30.216-r2837/distrib/pld-ac/poldek/repos.d/pld.conf 2009-06-22 17:48:26.000000000 +0200 +@@ -0,0 +1,64 @@ ++# $Id$ ++# PLD Linux Distribution . ++# ++# Main sources for PLD Linux 2.0 (Ac) ++ ++# specify our packages architecture ++_arch = %ARCH% ++ ++# main PLD-site for often changed things: ++_pld_main_prefix = ftp://ftp.ac.pld-linux.org/dists/ac ++ ++## Some mirrors ++## You can use them if you have better connection there ++# CI TASK: ++#_prefix = ftp://ftp.task.pld-linux.org/dists/ac ++_prefix = %{_pld_main_prefix} ++ ++_type = pndir ++ ++# PLD Linux 2.0 (Ac) ++[source] ++type = %{_type} ++name = ac-main ++path = %{_prefix}/PLD/%{_arch}/PLD/RPMS/ ++signed = yes ++pri = 1 ++# msmtp-sendmail is broken, yum noarch is older than in updates ++ignore = msmtp-sendmail* yum* ++ ++[source] ++type = %{_type} ++name = ac-updates ++path = %{_prefix}/updates/%{_arch}/ ++signed = yes ++pri = 1 ++ ++[source] ++type = %{_type} ++name = ac-supported ++path = %{_prefix}/supported/%{_arch}/ ++signed = yes ++auto = no ++autoup = no ++ ++[source] ++type = %{_type} ++name = ac-ready ++path = %{_pld_main_prefix}/ready/%{_arch}/ ++#signed = yes ++auto = no ++autoup = no ++ ++[source] ++type = %{_type} ++name = ac-test ++path = %{_pld_main_prefix}/test/%{_arch}/ ++auto = no ++autoup = no ++ ++# ac-main + ac-updates ++[source] ++type = group ++name = ac ++sources = ac-main ac-updates +--- util-vserver-0.30.216-r2837.orig/distrib/pld-ac/rpm/macros 1970-01-01 01:00:00.000000000 +0100 ++++ util-vserver-0.30.216-r2837/distrib/pld-ac/rpm/macros 2009-06-22 17:48:26.000000000 +0200 +@@ -0,0 +1,6 @@ +# Because of https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=52725 +# you have to use at least one language beside 'C' +%_install_langs C:en:pl -+%_netsharedpath /dev -diff -urN util-vserver-0.30.207/distrib/pld2.0/rpmlist.d/00.lst util-vserver-0.30.207-pld/distrib/pld2.0/rpmlist.d/00.lst ---- util-vserver-0.30.207/distrib/pld2.0/rpmlist.d/00.lst 1970-01-01 01:00:00.000000000 +0100 -+++ util-vserver-0.30.207-pld/distrib/pld2.0/rpmlist.d/00.lst 2005-05-17 15:15:56.643037440 +0200 -@@ -0,0 +1,8 @@ -+vserver-basesystem-*.rpm -+vserver-dev-*.rpm -+FHS-*.rpm -+glibc-misc-*.rpm -+glibc-[0-9]*.rpm -+libgcc-[0-9]*.rpm -+setup-*.rpm -+issue-[0-9]*.rpm -diff -ur -x '*~' -x .libs -x .deps util-vserver-0.30.207/scripts/functions util-vserver-0.30.207-poldek/scripts/functions ---- util-vserver-0.30.207/scripts/functions 2005-05-20 18:33:27.361745984 +0200 -+++ util-vserver-0.30.207-poldek/scripts/functions 2005-05-20 18:33:06.191964280 +0200 -@@ -674,6 +674,8 @@ ++%_netsharedpath /dev:/proc ++%_tmppath /tmp ++%_host_os %_os +--- util-vserver-0.30.216-r2837.orig/distrib/pld-th/pkgs/01 1970-01-01 01:00:00.000000000 +0100 ++++ util-vserver-0.30.216-r2837/distrib/pld-th/pkgs/01 2009-06-22 17:48:26.000000000 +0200 +@@ -0,0 +1,6 @@ ++basesystem ++filesystem ++glibc-misc ++issue ++rpm-base ++vserver-packages +--- util-vserver-0.30.216-r2837.orig/distrib/pld-th/poldek/repos.d/pld.conf 1970-01-01 01:00:00.000000000 +0100 ++++ util-vserver-0.30.216-r2837/distrib/pld-th/poldek/repos.d/pld.conf 2009-06-22 17:48:26.000000000 +0200 +@@ -0,0 +1,71 @@ ++# PLD Linux Distribution . ++# ++# Main sources for PLD Linux 3.0 (Th) ++ ++# specify our packages architecture ++_arch = %ARCH% ++ ++# main PLD-site for often changed things (test, ready): ++_pld_main_prefix = ftp://ftp.th.pld-linux.org/dists/th ++ ++## Some mirrors ++## You can use them if you have better connection there ++# CI TASK: ++#_prefix = ftp://ftp.task.pld-linux.org/dists/th ++_prefix = %{_pld_main_prefix} ++ ++# PLD Linux 3.0 (Th): main sources ++[source] ++type = pndir ++name = th ++path = %{_prefix}/PLD/%{_arch}/RPMS/ ++ ++[source] ++type = pndir ++name = th ++path = %{_prefix}/PLD/noarch/RPMS/ ++ ++# PLD Linux 3.0 (Th): obsolete sources (kde3, ...) ++[source] ++type = pndir ++name = th-obsolete ++path = %{_prefix}/obsolete/%{_arch}/RPMS/ ++auto = no ++autoup = no ++ ++[source] ++type = pndir ++name = th-obsolete ++path = %{_prefix}/obsolete/noarch/RPMS/ ++auto = no ++autoup = no ++ ++# PLD Linux 3.0 (Th): ready sources (testing stage before moved to main) ++[source] ++type = pndir ++name = th-ready ++path = %{_pld_main_prefix}/ready/%{_arch}/RPMS/ ++auto = no ++autoup = no ++ ++[source] ++type = pndir ++name = th-ready ++path = %{_pld_main_prefix}/ready/noarch/RPMS/ ++auto = no ++autoup = no ++ ++# PLD Linux 3.0 (Th): test sources (built packages to be moved to ready) ++[source] ++type = pndir ++name = th-test ++path = %{_pld_main_prefix}/test/%{_arch}/RPMS/ ++auto = no ++autoup = no ++ ++[source] ++type = pndir ++name = th-test ++path = %{_pld_main_prefix}/test/noarch/RPMS/ ++auto = no ++autoup = no +--- util-vserver-0.30.216-r2837.orig/distrib/pld-th/rpm/macros 1970-01-01 01:00:00.000000000 +0100 ++++ util-vserver-0.30.216-r2837/distrib/pld-th/rpm/macros 2009-06-22 17:48:26.000000000 +0200 +@@ -0,0 +1,6 @@ ++# Because of https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=52725 ++# you have to use at least one language beside 'C' ++%_install_langs C:en:pl ++%_netsharedpath /dev:/proc ++%_tmppath /tmp ++%_host_os %_os +--- util-vserver-0.30.216-r2837.orig/distrib/pld-ti/pkgs/01 1970-01-01 01:00:00.000000000 +0100 ++++ util-vserver-0.30.216-r2837/distrib/pld-ti/pkgs/01 2009-06-22 17:48:26.000000000 +0200 +@@ -0,0 +1,6 @@ ++basesystem ++filesystem ++glibc-misc ++issue ++rpm-base ++vserver-packages +--- util-vserver-0.30.216-r2837.orig/distrib/pld-ti/poldek/repos.d/pld.conf 1970-01-01 01:00:00.000000000 +0100 ++++ util-vserver-0.30.216-r2837/distrib/pld-ti/poldek/repos.d/pld.conf 2009-06-22 17:48:26.000000000 +0200 +@@ -0,0 +1,46 @@ ++# PLD Titanium ++# Unofficial version of PLD Linux Distribution ++# http://www.pld-linux.org/Titanium ++ ++_arch = %ARCH% ++_prefix = ftp://ftp.titanium.pld-linux.org/branches/titanium ++ ++_type = pndir ++ ++[source] ++type = %{_type} ++name = titanium ++path = %{_prefix}/PLD/%{_arch}/RPMS/ ++ ++[source] ++type = %{_type} ++name = titanium ++path = %{_prefix}/PLD/noarch/RPMS/ ++ ++[source] ++type = %{_type} ++name = titanium-ready ++path = %{_prefix}/ready/%{_arch}/RPMS/ ++auto = no ++autoup = no ++ ++[source] ++type = %{_type} ++name = titanium-ready ++path = %{_prefix}/ready/noarch/RPMS/ ++auto = no ++autoup = no ++ ++[source] ++type = %{_type} ++name = titanium-test ++path = %{_prefix}/test/%{_arch}/RPMS/ ++auto = no ++autoup = no ++ ++[source] ++type = %{_type} ++name = titanium-test ++path = %{_prefix}/test/noarch/RPMS/ ++auto = no ++autoup = no +--- util-vserver-0.30.216-r2837.orig/distrib/pld-ti/rpm/macros 1970-01-01 01:00:00.000000000 +0100 ++++ util-vserver-0.30.216-r2837/distrib/pld-ti/rpm/macros 2009-06-22 17:48:26.000000000 +0200 +@@ -0,0 +1,6 @@ ++# Because of https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=52725 ++# you have to use at least one language beside 'C' ++%_install_langs C:en:pl ++%_netsharedpath /dev:/proc ++%_tmppath /tmp ++%_host_os %_os +--- util-vserver-0.30.216-r2837.orig/scripts/functions 2009-06-22 17:36:35.000000000 +0200 ++++ util-vserver-0.30.216-r2837/scripts/functions 2009-06-22 17:48:26.000000000 +0200 +@@ -403,6 +403,20 @@ + fi + } + ++function _pkgSetVarsPoldek ++{ ++ if test -n "$PKGDIR"; then ++ findDir POLDEKETCDIR $PKGDIR/poldeketc $PKGDIR/base/poldek/etc /etc/poldek ++ findDir POLDEKCACHEDIR $PKGDIR/poldek-cache $PKGDIR/base/poldek/cache ++ else ++ findDir POLDEKETCDIR "$VDIR"/etc/poldek /etc/poldek ++ findDir POLDEKCACHEDIR "$VDIR"/var/tmp/poldek-cache ++ fi ++ ++ findFile POLDEK_CONFIG "$POLDEKETCDIR"/poldek.conf "" ++ test -z "$POLDEK_CONFIG" || export POLDEK_CONFIG ++} ++ + + function _pkgMountBase + { +@@ -476,6 +490,7 @@ + rpm) _pkgSetVarsRPM;; + apt) _pkgSetVarsApt;; + yum) _pkgSetVarsYum;; ++ poldek) _pkgSetVarsPoldek;; + *) echo "Unknown packaging flavor" >&2; exit 1;; + esac + done +@@ -770,6 +785,8 @@ style=redhat elif test -e "$_pgs_vdir"/etc/mandrake-release; then style=mandrake @@ -58,22 +330,258 @@ diff -ur -x '*~' -x .libs -x .deps util-vserver-0.30.207/scripts/functions util- elif test -e "$_pgs_vdir"/etc/debian_version; then style=debian elif test -e "$_pgs_vdir"/etc/SuSE-release; then -diff -urN util-vserver-0.30.207/scripts/vserver-build.functions util-vserver-0.30.207-pld/scripts/vserver-build.functions ---- util-vserver-0.30.207/scripts/vserver-build.functions 2005-04-16 23:20:45.000000000 +0200 -+++ util-vserver-0.30.207-pld/scripts/vserver-build.functions 2005-05-17 15:13:49.646343872 +0200 -@@ -133,6 +133,9 @@ - elif test -e /etc/slackware-release; then - set -- $(cat /etc/slackware-release) - DISTRIBUTION=slackware$2 -+ elif test -e /etc/pld-release; then -+ set -- $(cat /etc/pld-release) -+ DISTRIBUTION=pld$1 - elif test -n "$1"; then - DISTRIBUTION=$1 - else -diff -ur -x '*~' -x .libs -x .deps util-vserver-0.30.207/scripts/vpkg util-vserver-0.30.207-poldek/scripts/vpkg ---- util-vserver-0.30.207/scripts/vpkg 2005-03-21 21:03:30.000000000 +0100 -+++ util-vserver-0.30.207-poldek/scripts/vpkg 2005-05-20 18:22:18.745391120 +0200 +@@ -837,6 +854,27 @@ + test -n "$have_yum" && return 0 || return 1 + } + ++## Usage: pkgmgmt.isPoldekAvailable [] ++function pkgmgmt.isPoldekAvailable ++{ ++ local cfgdir="$1" ++ local vdir="$2" ++ local is_internal="$3" ++ ++ local have_poldek i ++ if test -n "$is_internal"; then ++ have_poldek=1 ++ test -d "$cfgdir"/base/poldek -o -d "$cfgdir"/poldeketc || have_poldek= ++ else ++ have_poldek= ++ for i in /bin /usr/bin /usr/local/bin; do ++ test ! -x "$vdir$i"/poldek || { have_poldek=1; break; } ++ done ++ fi ++ ++ test -n "$have_poldek" && return 0 || return 1 ++} ++ + + function vshelper.doSanityCheck + { +--- util-vserver-0.30.216-r2837.orig/scripts/Makefile-files 2009-06-22 17:36:35.000000000 +0200 ++++ util-vserver-0.30.216-r2837/scripts/Makefile-files 2009-06-22 17:48:26.000000000 +0200 +@@ -21,6 +21,7 @@ + scripts/vapt-get-worker \ + scripts/vrpm-worker \ + scripts/vyum-worker \ ++ scripts/vpoldek-worker \ + scripts/vrpm-preload \ + scripts/save_s_context \ + scripts/vservers.grabinfo.sh \ +@@ -48,11 +49,13 @@ + scripts/vserver-build.template \ + scripts/vserver-build.rsync \ + scripts/vserver-build.clone \ ++ scripts/vserver-build.poldek \ + scripts/vserver-build.functions \ + scripts/vserver-build.functions.apt \ + scripts/vserver-build.functions.rpm \ + scripts/vserver-build.functions.pkgmgmt \ + scripts/vserver-build.functions.yum \ ++ scripts/vserver-build.functions.poldek \ + scripts/vserver-setup.functions \ + scripts/vserver.functions \ + scripts/vserver.start \ +@@ -66,6 +69,7 @@ + scripts_pkglib_src_SCRPTS = scripts/pkgmgmt \ + scripts/vapt-get-worker \ + scripts/vpkg \ ++ scripts/vpoldek-worker \ + scripts/vrpm-worker \ + scripts/vrpm-preload \ + scripts/start-vservers \ +@@ -89,6 +93,7 @@ + scripts_sbin_src_PRGS = scripts/chbind \ + scripts/chcontext \ + scripts/vapt-get \ ++ scripts/vpoldek \ + scripts/vdispatch-conf \ + scripts/vemerge \ + scripts/vesync \ +--- util-vserver-0.30.216-r2837.orig/scripts/pkgmgmt 2009-06-22 17:36:34.000000000 +0200 ++++ util-vserver-0.30.216-r2837/scripts/pkgmgmt 2009-06-22 17:48:26.000000000 +0200 +@@ -195,7 +195,7 @@ + " + + case $2 in +- (RH) pkgs=$(vrpm "$1" -- -q --qf '---%{NAME}---\n' rpm apt yum "${YUM_RELEASEPKGS[@]}") ++ (RH) pkgs=$(vrpm "$1" -- -q --qf '---%{NAME}---\n' rpm apt yum poldek "${YUM_RELEASEPKGS[@]}") + hasSubstring "$pkgs" ---rpm--- || { + warning "$ERR + * The vserver does not seem to have the 'rpm' package which is required +@@ -205,9 +205,9 @@ + ERR= + } + +- hasSubstring "$pkgs" ---apt--- ---yum--- || { ++ hasSubstring "$pkgs" ---apt--- ---yum--- ---poldek--- || { + warning "$ERR +-* The vserver does not seem to have a depsolver like 'apt' or 'yum' ++* The vserver does not seem to have a depsolver like 'apt', 'yum' or 'poldek' + installed. It is suggested to install such a program before setting + up internal package management." + res=1 +@@ -368,6 +368,131 @@ + fi + } + ++function processVserver_PLD() ++{ ++ local vserver=$1 ++ local is_internalize=$2 ++ local cfgdir ++ local i ++ ++ cfgdir=$($_VSERVER_INFO "$vserver" APPDIR pkgmgmt) || \ ++ cfgdir=$($_VSERVER_INFO "$vserver" APPDIR)/pkgmgmt ++ ++ ## Figure out the environment.... ++ pkgmgmt.isPoldekAvailable "$cfgdir" "$vdir" "$is_internalize" || have_poldek= ++ ++ local POLDEKETCDIR= ++ local POLDEKCACHEDIR= ++ local RPMETCDIR= ++ local RPMSTATEDIR= ++ ++ ## Create directories and assign variables where configuration ++ ## can/will be found on the host ++ if test -n "$is_internalize"; then ++ verifyInternalPackages "$vserver" RH || test -n "$IS_FORCE" || ++ panic " ++Can not continue; use '--force' to override this check" ++ ++ pushd "$vdir" >/dev/null ++ ++ test ! -L var/lib/rpm || { ++ $_EXEC_CD /var/lib $_RM rpm && ++ $_EXEC_CD /var/lib $_MKDIR -m755 rpm && ++ $_EXEC_CD /var/lib $_CHOWN rpm:rpm rpm || ++ : ++ } /dev/null ++ ++ for i in var/tmp/poldek-cache etc/rpm etc/poldek; do ++ test -d "$i" || ++ $_EXEC_CD /$(dirname "$i") $_MKDIR -m755 $(basename "$i") || : ++ done #2>/dev/null ++ ++ popd >/dev/null ++ ++ if test -n "$have_poldek"; then ++ findDir POLDEKETCDIR "$cfgdir"/poldeketc "$cfgdir"/base/poldek/etc /etc/poldek ++ fi ++ ++ findDir RPMETCDIR "$cfgdir"/rpmetc "$cfgdir"/base/rpm/etc /etc/rpm / ++ findDir RPMSTATEDIR "$cfgdir"/rpmstate "$cfgdir"/base/rpm/state ++ else ++ mkdir -m755 -p "$cfgdir" ++ local need_base= ++ ++ if test -n "$have_poldek"; then ++ findDir POLDEKETCDIR "$cfgdir"/poldeketc "$cfgdir"/base/poldek/etc / ++ findDir POLDEKCACHEDIR "$cfgdir"/poldek-cache "$cfgdir"/base/poldek/cache / ++ ++ test "$POLDEKETCDIR" != / || POLDEKETCDIR=$cfgdir/base/poldek/etc ++ test "$POLDEKCACHEDIR" != / || POLDEKCACHEDIR=$cfgdir/base/poldek/cache ++ ++ test -d "$cfgdir"/poldeketc -a -d "$cfgdir"/poldek-cache || need_base=1 ++ fi ++ ++ findDir RPMETCDIR "$cfgdir"/rpmetc "$cfgdir"/base/rpm/etc / ++ findDir RPMSTATEDIR "$cfgdir"/rpmstate "$cfgdir"/base/rpm/state / ++ ++ test "$RPMETCDIR" != / || RPMETCDIR=$cfgdir/base/rpm/etc ++ test "$RPMSTATEDIR" != / || RPMSTATEDIR=$cfgdir/base/rpm/state ++ ++ test -d "$cfgdir"/rpmetc -a -d "$cfgdir"/rpmstate || need_base=1 ++ test ! -e "$cfgdir"/base || need_base= ++ ++ test -z "$need_base" || ln -s "$PKGCFGDIR" "$cfgdir"/base ++ ++ mkdir -m755 -p "$PKGCFGDIR" ++ _createDirs "$POLDEKETCDIR" "$POLDEKCACHEDIR" \ ++ "$RPMETCDIR" "$RPMSTATEDIR" ++ fi ++ ++ ## Copy the files... ++ if test -n "$is_internalize"; then ++ if test -n "$have_poldek"; then ++ _copySecure "$vdir" "$POLDEKETCDIR" /etc/poldek ++ pushd "$vdir" >/dev/null ++ _hashAuto /etc/poldek.conf '/' ++ popd >/dev/null ++ fi ++ ++ _copySecure "$vdir" "$RPMETCDIR" /etc/rpm ++ _copySecure "$vdir" "$RPMSTATEDIR" /var/lib/rpm ++ ++ pushd "$vdir" >/dev/null ++ ## remove %_dbpath settings ++ _substFile /etc/rpm/macros '/^%_dbpath[ \t].*/D' ++ popd >/dev/null ++ else ++ if test -n "$have_poldek"; then ++ _copySecureRev "$vdir" /etc/poldek "$POLDEKETCDIR" ++ _unhashAuto "$POLDEKETCDIR"/poldek.conf '/' ++ fi ++ ++ _copySecureRev "$vdir" /etc/rpm "$RPMETCDIR" ++ _copySecureRev "$vdir" /var/lib/rpm "$RPMSTATEDIR" ++ ++ echo -e "%_dbpath\t\t$rpmdb_mntpoint" >>$RPMETCDIR/macros ++ fi ++ ++ ## Cleanups... ++ if test -n "$is_internalize"; then ++ : ++ else ++ tmpdir=$($_MKTEMPDIR -p /var/tmp pgmgmt.XXXXXX) ++ trap "$_RM -rf $tmpdir" EXIT ++ pushd "$vdir" >/dev/null ++ $_EXEC_CD /var/lib $_MV rpm $tmpdir/ ++ $_EXEC_CD /var/lib $_LN_S "$rpmdb_mntpoint" rpm ++ $_RM -rf $tmpdir ++ fi ++ ++ ## Finish it... ++ if test -n "$is_internalize"; then ++ $_TOUCH "$cfgdir"/internal ++ else ++ $_RM -f "$cfgdir"/internal ++ fi ++} ++ + function processVserver_Debian() + { + local vserver=$1 +@@ -422,6 +547,7 @@ + + case "$style" in + (redhat|mandrake) processVserver_RH "$vserver" "$IS_INTERNALIZE";; ++ (pld) processVserver_PLD "$vserver" "$IS_INTERNALIZE";; + (debian) processVserver_Debian "$vserver" "$IS_INTERNALIZE";; + (*) + echo $"Vserver style '$style' is not supported for packagemanagment" >&2 +--- util-vserver-0.30.216-r2837.orig/scripts/util-vserver-vars.pathsubst 2009-06-22 17:36:34.000000000 +0200 ++++ util-vserver-0.30.216-r2837/scripts/util-vserver-vars.pathsubst 2009-06-22 17:48:26.000000000 +0200 +@@ -54,6 +54,7 @@ + _LIB_VSERVER_BUILD_FUNCTIONS_RPM="$__PKGLIBDIR/vserver-build.functions.rpm" + _LIB_VSERVER_BUILD_FUNCTIONS_YUM="$__PKGLIBDIR/vserver-build.functions.yum" + _LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT="$__PKGLIBDIR/vserver-build.functions.pkgmgmt" ++_LIB_VSERVER_BUILD_FUNCTIONS_POLDEK="$__PKGLIBDIR/vserver-build.functions.poldek" + _LISTDEVIP="$__LEGACYDIR/listdevip" + _LOCKFILE="$__PKGLIBDIR/lockfile" + _MASK2PREFIX="$__PKGLIBDIR/mask2prefix" +@@ -109,6 +110,8 @@ + _VUNIFY="$__PKGLIBDIR/vunify" + _VYUM="$__SBINDIR/vyum" + _VYUM_WORKER="$__PKGLIBDIR/vyum-worker" ++_VPOLDEK="$__SBINDIR/vpoldek" ++_VPOLDEK_WORKER="$__PKGLIBDIR/vpoldek-worker" + + _AWK="@AWK@" + _BZIP2="@BZIP2@" +--- util-vserver-0.30.216-r2837.orig/scripts/vpkg 2009-06-22 17:36:34.000000000 +0200 ++++ util-vserver-0.30.216-r2837/scripts/vpkg 2009-06-22 17:48:26.000000000 +0200 @@ -115,6 +115,44 @@ fi fi @@ -119,3 +627,316 @@ diff -ur -x '*~' -x .libs -x .deps util-vserver-0.30.207/scripts/vpkg util-vserv (debian) case "$tag" in (get-conffiles) +--- util-vserver-0.30.216-r2837.orig/scripts/vpoldek 1970-01-01 01:00:00.000000000 +0100 ++++ util-vserver-0.30.216-r2837/scripts/vpoldek 2009-06-22 17:48:26.000000000 +0200 +@@ -0,0 +1,74 @@ ++#! /bin/bash ++# $Id$ ++ ++# Copyright (C) 2007 Enrico Scholz ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; version 2 of the License. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ ++: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars} ++test -e "$UTIL_VSERVER_VARS" || { ++ echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2 ++ exit 1 ++} ++. "$UTIL_VSERVER_VARS" ++. "$_LIB_FUNCTIONS" ++ ++ ++function showHelp() ++{ ++ echo \ ++$"Usage: $0 * [--all] -- + ++ ++Report bugs to <$PACKAGE_BUGREPORT>." ++ exit 0 ++} ++ ++function showVersion() ++{ ++ echo \ ++$"vpoldek $PACKAGE_VERSION -- poldek for vservers ++This program is part of $PACKAGE_STRING ++ ++Copyright (C) 2007 Enrico Scholz ++This program is free software; you may redistribute it under the terms of ++the GNU General Public License. This program has absolutely no warranty." ++ exit 0 ++} ++ ++tmp=$(getopt -o +q --long help,version,debug,quiet,all -n "$0" -- "$@") || exit 1 ++eval set -- "$tmp" ++ ++declare -a send_through poldek_opts ++ ++while true; do ++ case "$1" in ++ (--help) showHelp $0 ;; ++ (--version) showVersion ;; ++ (--debug) send_through=( "${send_through[@]}" "$1" ); set -x;; ++ (--quiet|-q) send_through=( "${send_through[@]}" "$1" );; ++ (--all) poldek_opts=( "${poldek_opts[@]}" "$1" );; ++ (--) shift; break;; ++ (*) echo $"vpoldek: internal error; arg=='$1'" >&2; exit 1;; ++ esac ++ shift ++done ++ ++VSOMETHING_TITLE=vpoldek ++VSOMETHING_WORKER=$_VPOLDEK_WORKER ++VSOMETHING_PKGMGMT=1 ++ ++export VSOMETHING_TITLE VSOMETHING_WORKER VSOMETHING_PKGMGMT ++ ++test ${#poldek_opts[@]} -eq 0 || poldek_opts=( "${poldek_opts[@]}" -- ) ++exec $_VSOMETHING "${send_through[@]}" poldek "${poldek_opts[@]}" "$@" +--- util-vserver-0.30.216-r2837.orig/scripts/vpoldek-worker 1970-01-01 01:00:00.000000000 +0100 ++++ util-vserver-0.30.216-r2837/scripts/vpoldek-worker 2009-06-22 17:48:26.000000000 +0200 +@@ -0,0 +1,45 @@ ++#! /bin/bash ++# $Id$ ++ ++# Copyright (C) 2003 Enrico Scholz ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; version 2 of the License. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ ++set -e ++ ++: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars} ++test -e "$UTIL_VSERVER_VARS" || { ++ echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2 ++ exit 1 ++} ++. "$UTIL_VSERVER_VARS" ++. "$_LIB_FUNCTIONS" ++ ++ ++vserver="$1" ++shift ++ ++pkgInit "$vserver" rpm poldek ++ ++test -z "$_POLDEK" || { ++ warning $"The environment variable \$_POLDEK is not supported anymore; please use \$POLDEK instead of" ++ ${POLDEK:=$_POLDEK} ++} ++ ++exec ${_POLDEK:-poldek} \ ++ -v --root=$VDIR \ ++ --cachedir=$POLDEKCACHEDIR \ ++ --conf=$POLDEK_CONFIG \ ++ --pmcmd=$RPM_BINARY \ ++ "$@" +--- util-vserver-0.30.216-r2837.orig/scripts/vserver-build 2009-06-22 17:36:34.000000000 +0200 ++++ util-vserver-0.30.216-r2837/scripts/vserver-build 2009-06-22 17:48:26.000000000 +0200 +@@ -57,6 +57,9 @@ + yum ... -- -d + ... installs the base-packages of the given distribution with + help of 'vyum' ++ poldek ... -- -d ++ ... installs the base-packages of the given distribution with ++ help of 'vpoldek' + rpm ... -- [-d ] --empty|([--force] [--nodeps] )+ + ... installs lists of rpm-packages + skeleton ... -- [ *] +@@ -136,7 +139,7 @@ + + case x"$method" in + (xlegacy) exec $_VSERVER_LEGACY "$VSERVER_NAME" build "$@" ;; +- (xapt-rpm|xcopy|xskeleton|xdebootstrap|xyum|xrpm|xtemplate|xfai|xrsync|xclone) ++ (xapt-rpm|xcopy|xskeleton|xdebootstrap|xyum|xrpm|xtemplate|xfai|xrsync|xclone|xpoldek) + . $__PKGLIBDIR/vserver-build.$method + ;; + (x) panic $"No build-method specified";; +--- util-vserver-0.30.216-r2837.orig/scripts/vserver-build.functions 2009-06-22 17:36:35.000000000 +0200 ++++ util-vserver-0.30.216-r2837/scripts/vserver-build.functions 2009-06-22 17:48:26.000000000 +0200 +@@ -170,6 +170,12 @@ + elif test -e /etc/slackware-version; then + set -- $(cat /etc/slackware-version) + DISTRIBUTION=slackware$2 ++ elif test -e /etc/pld-release; then ++ old_IFS=$IFS ++ IFS='()' ++ set -- $(cat /etc/pld-release) ++ DISTRIBUTION=pld-$(echo $2 | tr A-Z a-z) ++ IFS=$old_IFS + elif test -n "$1"; then + DISTRIBUTION=$1 + else +--- util-vserver-0.30.216-r2837.orig/scripts/vserver-build.functions.poldek 1970-01-01 01:00:00.000000000 +0100 ++++ util-vserver-0.30.216-r2837/scripts/vserver-build.functions.poldek 2009-06-22 17:48:26.000000000 +0200 +@@ -0,0 +1,81 @@ ++# $Id$ --*- sh -*-- ++ ++# Copyright (C) 2003 Enrico Scholz ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; version 2 of the License. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ ++function poldek.installBasePackages ++{ ++ local name="$1" ++ local dir="$2" ++ ++ test "$dir" != / || return 0 ++ for filelist in "$dir"/*; do ++ isRegularFile "$filelist" || continue ++ local idx=0 ++ local can_fail=false ++ local flags='--install' ++ ++ set -- $(<$filelist) ++ while test "$#" -gt 0; do ++ case "$1" in ++ --reinstall) flags='--reinstall';; ++ --can-fail) can_fail=true;; ++ *) break;; ++ esac ++ shift ++ done ++ "$_VPOLDEK" "$name" -- $flags $* || $can_fail ++ done ++} ++ ++function poldek.initVariables ++{ ++ findFile POLDEKCONFDEFAULT \ ++ "$__CONFDIR/.distributions/$DISTRIBUTION/poldek/poldek.conf" \ ++ "$__CONFDIR/.defaults/apps/pkgmgmt/poldek/poldek.conf" \ ++ "$__DISTRIBDIR/$DISTRIBUTION/poldek/poldek.conf" \ ++ "$__DISTRIBDIR/defaults/poldek/poldek.conf" \ ++ '' ++} ++ ++function poldek.initFilesystem ++{ ++ mkdir -p "$PKGCFGDIR"/poldek/etc/repos.d ++ ++ $_LN_S "$__CONFDIR"/.defaults/cachebase/poldek "$PKGCFGDIR"/poldek/cache ++ ++ populateDirectory "$PKGCFGDIR/poldek/etc" \ ++ "$__DISTRIBDIR/defaults/poldek" \ ++ "$__DISTRIBDIR/$DISTRIBUTION/poldek" \ ++ "$__CONFDIR/.distributions/$DISTRIBUTION/poldek" ++ ++ populateDirectory "$PKGCFGDIR/poldek/etc/repos.d" \ ++ "$__DISTRIBDIR/defaults/poldek/repos.d" \ ++ "$__DISTRIBDIR/$DISTRIBUTION/poldek/repos.d" \ ++ "$__CONFDIR/.distributions/$DISTRIBUTION/poldek/repos.d" ++ ++ if [ -n "$SETUP_MACHINE" ]; then ++ say "Using $SETUP_MACHINE as machine" ++ sed -i -e "s#^\(_arch\s*\)=.*#\1= $SETUP_MACHINE#" "$PKGCFGDIR"/poldek/etc/repos.d/*.conf ++ fi ++ ++ if [ -n "$MIRROR" ]; then ++ say "Using $MIRROR as mirror URL" ++ sed -i -e "s#^\(_prefix\s*\)=.*#\1= $MIRROR#" "$PKGCFGDIR"/poldek/etc/repos.d/*.conf ++ fi ++ ++# test -z "$POLDEKCONFDEFAULT" || \ ++# $_LN_S "$POLDEKCONFDEFAULT" "$PKGCFGDIR"/poldek/etc/ ++} +--- util-vserver-0.30.216-r2837.orig/scripts/vserver-build.poldek 1970-01-01 01:00:00.000000000 +0100 ++++ util-vserver-0.30.216-r2837/scripts/vserver-build.poldek 2009-06-22 17:48:26.000000000 +0200 +@@ -0,0 +1,65 @@ ++# $Id$ --*- sh -*-- ++ ++# Copyright (C) 2003 Enrico Scholz ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; version 2 of the License. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ ++tmp=$(getopt -o +d:,m: --long debug -n "$0" -- "$@") || exit 1 ++eval set -- "$tmp" ++ ++. "$_LIB_VSERVER_BUILD_FUNCTIONS_RPM" ++. "$_LIB_VSERVER_BUILD_FUNCTIONS_POLDEK" ++. "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT" ++ ++while true; do ++ case "$1" in ++ (-d) DISTRIBUTION=$2; shift;; ++ (-m) MIRROR=$2; shift;; ++ (--debug) set -x;; ++ (--) shift; break ;; ++ (*) echo "vserver-build.poldek: internal error: unrecognized option '$1'" >&2 ++ exit 1 ++ ;; ++ esac ++ shift ++done ++ ++getDistribution ++ ++base.init ++ ++pkgmgmt.initVariables ++rpm.initVariables ++poldek.initVariables ++ ++base.initFilesystem "$OPTION_FORCE" ++pkgmgmt.initFilesystem "$OPTION_FORCE" ++rpm.initFilesystem ++poldek.initFilesystem ++ ++setup_writeOption "$VSERVER_NAME" ++setup_writeInitialFstab ++ ++test -z "$BUILD_INITPRE" || "$BUILD_INITPRE" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS" ++rpm.initDB "$SETUP_CONFDIR" ++rpm.importGPGPubKeys "$SETUP_CONFDIR" \ ++ "$__CONFDIR/.distributions/$DISTRIBUTION/pubkeys" \ ++ "$__CONFDIR/.distributions/.common/pubkeys" \ ++ "$__DISTRIBDIR/$DISTRIBUTION/pubkeys" ++ ++$_VPOLDEK "$SETUP_CONFDIR" -- --update-whole ++poldek.installBasePackages "$SETUP_CONFDIR" "$PKGINSTALLDIR" ++test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS" ++ ++base.setSuccess