diff options
author | dancer <dancer> | 2003-04-06 22:16:35 +0000 |
---|---|---|
committer | dancer <dancer> | 2003-04-06 22:16:35 +0000 |
commit | 75a5c6348610d497096f32289abeeaa46083545a (patch) | |
tree | 6c7cadd7b3d73e32760eec124957b3b90393a7e0 | |
parent | 16355a6841056fa7fe623d79001daf369d8a3d3e (diff) | |
download | pbuilder-75a5c6348610d497096f32289abeeaa46083545a.tar pbuilder-75a5c6348610d497096f32289abeeaa46083545a.tar.gz |
0.70
-rw-r--r-- | AUTHORS | 2 | ||||
-rw-r--r-- | ChangeLog | 36 | ||||
-rw-r--r-- | Documentation/pbuilder-doc.xml | 8 | ||||
-rw-r--r-- | debian/TODO | 6 | ||||
-rw-r--r-- | debian/changelog | 8 | ||||
-rwxr-xr-x | pbuilder | 1 | ||||
-rwxr-xr-x | pbuilder-checkparams | 4 | ||||
-rw-r--r-- | pbuilder-modules | 13 | ||||
-rwxr-xr-x | pbuilder-user-mode-linux | 2 | ||||
-rw-r--r-- | pbuilder-user-mode-linux.1 | 4 | ||||
-rw-r--r-- | pbuilder.8 | 3 | ||||
-rwxr-xr-x | pbuilderrc | 6 | ||||
-rw-r--r-- | pbuilderrc.5 | 10 |
13 files changed, 92 insertions, 11 deletions
@@ -7,6 +7,6 @@ Daniel Kobras -- Patches and bugfixes for non-interactive building, and Dagfinn Ilmari Manns?er <ilmari@ping.uio.no> -- devfs support. Henrique de Moraes Holschuh <hmh@debian.org> -- portion of pbuilder-satisfydepends (version dependency check) Daniel Schepler <schepler@math.berkeley.edu> -- many patches, --preserve-buildplace - +Sam Hartman <hartmans@debian.org> -- bind-mount patch $Id$
\ No newline at end of file @@ -1,3 +1,39 @@ +2003-04-06 Junichi Uekawa <dancer@debian.org> + + * Documentation/pbuilder-doc.xml (EXTRAPACKAGES): document + bindmounts option. + + * pbuilderrc: add reference to the manual page in the example + configuration file. + + * pbuilder-user-mode-linux (UML_DEBUGMODE): --bindmounts option. + + * debian/TODO: remove bind-mount from TODO. + + * pbuilder.8: document --bindmounts. + + * pbuilder-modules (pbuilder-options): add --bindmounts option + + * pbuilder-checkparams (PRESERVE_BUILDPLACE): add --bindmounts option + + * AUTHORS: update + + * pbuilderrc.5: document BINDMOUNTS option + +2003-04-05 Sam Hartman <hartmans@debian.org> + + * pbuilder: Remove warning about bind filesystems as it is no + longer true. + + * pbuilder-modules : Support Bind mounts + + * pbuilderrc (BINDMOUNTS): New option + +2003-04-05 Sam Hartman <hartmans@debian.org> + + * pbuilder-modules (cleanbuildplace): Use find not rm -rf to + clean up; avoid crossing out of the chroot on bind mounts. + 2003-03-30 Junichi Uekawa <dancer@debian.org> * Documentation/pbuilder-doc.xml (PBUILDER_UML_IMAGE): spell-checked diff --git a/Documentation/pbuilder-doc.xml b/Documentation/pbuilder-doc.xml index e4680e5..a5680f3 100644 --- a/Documentation/pbuilder-doc.xml +++ b/Documentation/pbuilder-doc.xml @@ -401,7 +401,7 @@ export DEBIAN_BUILDGCCVER=3.2 </para> </sect1> <sect1> - <title>Specialized requirement on apt sources list</title> + <title>Using special apt sources list other than the default</title> <para> If you have some very specialized requirements on your apt setup inside pbuilder, @@ -411,6 +411,12 @@ export DEBIAN_BUILDGCCVER=3.2 Try something like: <command><option>--othermirror "deb http://local/mirror stable main|deb-src http://local/source/repository ./"</option></command> </para> + <para> + To use the local filesystem instead of http, it is necessary to do + bind-mounting. + <command><option>--bindmounts</option></command> + is a command-line option useful for such cases. + </para> </sect1> <sect1> <title>How to get pbuilder to run apt-get update before trying to satisfy build-dependency</title> diff --git a/debian/TODO b/debian/TODO index 2c1ea04..07126a9 100644 --- a/debian/TODO +++ b/debian/TODO @@ -22,16 +22,10 @@ TODO and possible bugs: - using policy-rc.d ? Get people to use invoke-rc.d? - Killing any processes that are left over ? -* Supporting arbitrary mount --bind for inside chroot. - - some critical checking. - - how to clean up afterwards safely. - * Do not install Build-*-Indep: targets for binary-arch building. * $HOME, $TMP, $TMPDIR, etc. environment vars are set to bogus values -* Lock-filing of $BASETGZ between processes. - * check cross-compile support, maybe adding support for dpkg-cross into build-depends checker? * potato su does not like dpkg-source, executes as a bash script. diff --git a/debian/changelog b/debian/changelog index e572bff..b0e5d24 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +pbuilder (0.70) unstable; urgency=low + + * Support bind-mount, patch from Sam Hartman, thanks. + To allow file:/// apt lines, and other things. + (closes: #178589, 131210, 178408) + + -- Junichi Uekawa <dancer@debian.org> Sun, 6 Apr 2003 19:11:29 +0900 + pbuilder (0.69) unstable; urgency=low * fix hand-applying mistakes in --preserve-buildplace patch @@ -43,7 +43,6 @@ case "$1" in echo " -> entering the shell" else echo " -> entering the shell -DO NOT bind mount file system inside, they will be cleaned. File extracted to: $BUILDPLACE " fi diff --git a/pbuilder-checkparams b/pbuilder-checkparams index c96b2a8..57617f2 100755 --- a/pbuilder-checkparams +++ b/pbuilder-checkparams @@ -125,6 +125,10 @@ while [ -n "$1" ]; do PRESERVE_BUILDPLACE="yes" shift; ;; + --bindmounts) + BINDMOUNTS="$2" + shift; shift; + ;; ## pdebuild option --auto-debsign) AUTO_DEBSIGN="yes" diff --git a/pbuilder-modules b/pbuilder-modules index 315e069..ad833d9 100644 --- a/pbuilder-modules +++ b/pbuilder-modules @@ -65,6 +65,7 @@ pbuilder-options: --override-config --binary-arch --preserve-buildplace + --bindmounts [bind-mount-point] pdebuild-specific pbuilder-options --pbuilderroot [command to obtain root privilege for pbuilder] @@ -102,6 +103,9 @@ function umountproc () { if [ "$USEDEVFS" = "yes" ]; then umount_one "dev" fi + for mnt in $BINDMOUNTS; do + umount_one "$mnt" + done } function mountproc () { @@ -120,6 +124,11 @@ function mountproc () { mkdir -p $BUILDPLACE/dev || true mount -t devfs /dev "$BUILDPLACE/dev" fi + for mnt in $BINDMOUNTS; do + echo "-> Mounting $mnt" + mkdir -p "$BUILDPLACE/$mnt" + mount -obind "$mnt" "$BUILDPLACE/$mnt" + done } function cleanbuildplace () { @@ -129,7 +138,9 @@ function cleanbuildplace () { if [ "${INTERNAL_BUILD_UML}" != "yes" ]; then if [ -d "$BUILDPLACE" ]; then echo " -> cleaning the build env " - rm -rf "$BUILDPLACE" + find "$BUILDPLACE" \( \! -type d \) -a -xdev -print0 |xargs -0 rm -f + find "$BUILDPLACE" -type d -xdev -depth -print0 |(xargs -0 \ + rmdir || true) fi; fi } diff --git a/pbuilder-user-mode-linux b/pbuilder-user-mode-linux index 0d1432a..66b23fe 100755 --- a/pbuilder-user-mode-linux +++ b/pbuilder-user-mode-linux @@ -194,7 +194,7 @@ while [ -n "$1" ] ; do UML_EXTRAOPT="${UML_EXTRAOPT} $1" shift;; #things that can be passed through with options - --timeout|--http-proxy|--configfile|--hookdir|--aptconfdir) + --timeout|--http-proxy|--configfile|--hookdir|--aptconfdir|--bindmounts) UML_EXTRAOPT="${UML_EXTRAOPT} $1 $2" shift; shift;; --buildresult) diff --git a/pbuilder-user-mode-linux.1 b/pbuilder-user-mode-linux.1 index 0508018..b461cf5 100644 --- a/pbuilder-user-mode-linux.1 +++ b/pbuilder-user-mode-linux.1 @@ -134,6 +134,10 @@ The directory where build result is placed to .BI "--uml-debugmode" Enable tracing of shell scripts used by pbuilder-user-mode-linux. +.TP +.BI "--bindmounts " "/dir/to/bind-mount" +Bind-mount the directory inside the chroot inside the user-mode-linux. + .SH "NOTES" This software is in early stage of development. Reading the source may help you in case this software doesn't work for you. @@ -375,6 +375,9 @@ This is useful if you want to attempt to build a large number of packages successively, but you expect that many of them cannot have their build dependencies satisfied. +.TP +.BI "--bindmounts " "bind-mount-points" +Bind-mount the specified directories to inside the chroot. .SH "FILES" @@ -1,6 +1,8 @@ # this is your configuration file for pbuilder. # the file in /usr/share/pbuilder/pbuilderrc is the default template. # /etc/pbuilderrc is the one meant for editing. +# +# read pbuilderrc.5 document for notes on specific options. BASETGZ=/var/cache/pbuilder/base.tgz #EXTRAPACKAGES=gcc3.0-athlon-builder @@ -43,3 +45,7 @@ APTCONFDIR="" # the username and ID used by pbuilder, inside chroot. Needs fakeroot, really BUILDUSERID=1234 #BUILDUSERNAME=pbuilder + +# BINDMOUNTS is a space separated list of things to mount +# inside the chroot. +BINDMOUNTS="" diff --git a/pbuilderrc.5 b/pbuilderrc.5 index b99c81c..f161689 100644 --- a/pbuilderrc.5 +++ b/pbuilderrc.5 @@ -255,6 +255,16 @@ When this value is set to yes, will invoke debsign command after building. +.TP +.BI "BINDMOUNTS=" "directories-to-bind-mount" +When this value is set, pbuilder will mount these directories using +bind-mount. + +.B "BINDMOUNTS=""/home /mnt/test """ + +Do not bind-mount +.B "/" + .SH "AUTHOR" Initial coding, and main maintenance is done by Junichi Uekawa <dancer@debian.org>. |