pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/pkgtools/pkg_comp Update to version 1.24.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/7eed5d067b42
branches:  trunk
changeset: 503202:7eed5d067b42
user:      seb <seb%pkgsrc.org@localhost>
date:      Wed Nov 16 01:31:35 2005 +0000

description:
Update to version 1.24.

When installing libkver, as required when NETBSD_RELEASE is set
in a pkg_comp configuration, do so in a special purpose prefix and use
it from there.
This is useful when running a bulk build in the chroot or simply
removing all installed packages in it: the libkver package won't
be removed hence the chroot will still be usable.

Approved by MAINTAINER.

diffstat:

 pkgtools/pkg_comp/Makefile          |   4 +-
 pkgtools/pkg_comp/files/pkg_comp.8  |  25 +++++++++++++++++------
 pkgtools/pkg_comp/files/pkg_comp.sh |  39 +++++++++++++++++++++++++++++++-----
 3 files changed, 53 insertions(+), 15 deletions(-)

diffs (115 lines):

diff -r 97bcd22b60aa -r 7eed5d067b42 pkgtools/pkg_comp/Makefile
--- a/pkgtools/pkg_comp/Makefile        Tue Nov 15 23:28:02 2005 +0000
+++ b/pkgtools/pkg_comp/Makefile        Wed Nov 16 01:31:35 2005 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.31 2005/10/02 09:38:39 jmmv Exp $
+# $NetBSD: Makefile,v 1.32 2005/11/16 01:31:35 seb Exp $
 
-DISTNAME=      pkg_comp-1.23
+DISTNAME=      pkg_comp-1.24
 CATEGORIES=    pkgtools
 MASTER_SITES=  # empty
 DISTFILES=     # empty
diff -r 97bcd22b60aa -r 7eed5d067b42 pkgtools/pkg_comp/files/pkg_comp.8
--- a/pkgtools/pkg_comp/files/pkg_comp.8        Tue Nov 15 23:28:02 2005 +0000
+++ b/pkgtools/pkg_comp/files/pkg_comp.8        Wed Nov 16 01:31:35 2005 +0000
@@ -1,4 +1,4 @@
-.\" $NetBSD: pkg_comp.8,v 1.27 2005/10/02 09:38:39 jmmv Exp $
+.\" $NetBSD: pkg_comp.8,v 1.28 2005/11/16 01:31:35 seb Exp $
 .\"
 .\" pkg_comp - Build packages inside a clean chroot environment
 .\" Copyright (c) 2002, 2003, 2004, 2005 Julio M. Merino Vidal <jmmv%NetBSD.org@localhost>
@@ -231,12 +231,23 @@
 .Ql no ,
 no special action is taken (this is useful if the system version inside
 the chroot matches the outside one).
-Otherwise, the file
-.Pa /libkver_osrelease
-inside the chroot will hold this variable's value.
-The pkgsrc system will pick up this file and fake the
-.Xr uname 1
-command's output.
+Otherwise, the package
+.Pa pkgtools/libkver
+will be installed inside the chroot, in a special purpose
+prefix which value can be set in
+.Pa $DESTDIR/etc/mk.conf
+with
+.Va LIBKVER_STANDALONE_PREFIX .
+The libkver library will be configured inside the chroot, with the symbolic link
+.Pa $DESTDIR/libkver_osrelease
+and
+.Va LD_PRELOAD
+in default shells environments,
+so that the NetBSD version specified in
+.Va NETBSD_RELEASE
+overrides the host system version. See
+.Xr kver 3
+for more information.
 Defaults to
 .Ql no .
 .It PKG_SYSCONFBASE
diff -r 97bcd22b60aa -r 7eed5d067b42 pkgtools/pkg_comp/files/pkg_comp.sh
--- a/pkgtools/pkg_comp/files/pkg_comp.sh       Tue Nov 15 23:28:02 2005 +0000
+++ b/pkgtools/pkg_comp/files/pkg_comp.sh       Wed Nov 16 01:31:35 2005 +0000
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $NetBSD: pkg_comp.sh,v 1.25 2005/10/02 09:38:39 jmmv Exp $
+# $NetBSD: pkg_comp.sh,v 1.26 2005/11/16 01:31:35 seb Exp $
 #
 # pkg_comp - Build packages inside a clean chroot environment
 # Copyright (c) 2002, 2003, 2004, 2005 Julio M. Merino Vidal <jmmv%NetBSD.org@localhost>
@@ -202,8 +202,8 @@
 #!/bin/sh
 # Generated by pkg_comp on `date`
 
-if [ -f ${LOCALBASE}/lib/libkver.so ]; then
-    LD_PRELOAD=${LOCALBASE}/lib/libkver.so; export LD_PRELOAD
+if [ -f ${LIBKVER_STANDALONE_PREFIX}/lib/libkver.so ]; then
+    LD_PRELOAD=${LIBKVER_STANDALONE_PREFIX}/lib/libkver.so; export LD_PRELOAD
 fi
 
 EOF
@@ -606,11 +606,38 @@
 #
 makeroot_libkver()
 {
+    local prefix script statfile
+
     if [ "$NETBSD_RELEASE" != "no" ]; then
+        _BUILD_TARGET="$BUILD_TARGET"
+        BUILD_TARGET="standalone-install"
         pkg_build pkgtools/libkver
-        echo "LD_PRELOAD=${LOCALBASE}/lib/libkver.so; export LD_PRELOAD" >> $DESTDIR/etc/shrc
-        echo "setenv LD_PRELOAD ${LOCALBASE}/lib/libkver.so" >> $DESTDIR/etc/csh.login
-        echo "setenv LD_PRELOAD ${LOCALBASE}/lib/libkver.so" >> $DESTDIR/etc/csh.cshrc
+        BUILD_TARGET="$_BUILD_TARGET"
+        prefix=`mktemp $DESTDIR/pkg_comp/tmp/pkg_comp-XXXX`
+        rm $prefix
+        script="$prefix.sh"
+        statfile="$prefix.stat"
+        init_script $script
+        cat >> $script <<EOF
+cd /usr/pkgsrc/pkgtools/libkver
+make show-var VARNAME=LIBKVER_STANDALONE_PREFIX
+if [ \$? != 0 ]; then
+    touch /pkg_comp/tmp/`basename $statfile`
+fi
+EOF
+        chmod +x $script
+        fsmount
+        LIBKVER_STANDALONE_PREFIX=$(chroot $DESTDIR /pkg_comp/tmp/`basename $script`)
+        fsumount
+        rm $script
+        if [ -f $statfile ]; then
+            rm $statfile
+            err "Failed to get libkver standalone prefix"
+        fi
+        rm $script
+        echo "LD_PRELOAD=${LIBKVER_STANDALONE_PREFIX}/lib/libkver.so; export LD_PRELOAD" >> $DESTDIR/etc/shrc
+        echo "setenv LD_PRELOAD ${LIBKVER_STANDALONE_PREFIX}/lib/libkver.so" >> $DESTDIR/etc/csh.login
+        echo "setenv LD_PRELOAD ${LIBKVER_STANDALONE_PREFIX}/lib/libkver.so" >> $DESTDIR/etc/csh.cshrc
         ln -s "$NETBSD_RELEASE" $DESTDIR/libkver_osrelease
     fi
 }



Home | Main Index | Thread Index | Old Index