aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordancer <dancer>2006-09-16 08:01:38 +0000
committerdancer <dancer>2006-09-16 08:01:38 +0000
commit9e7c2b816ae4fc622cd34c1632727dd8a5780046 (patch)
tree3e3a72eece84bf42d9a4e915b8962525ae4079bf
parent73f1054d01da1074fcd7580c4fe7568bf59d69c6 (diff)
downloadpbuilder-9e7c2b816ae4fc622cd34c1632727dd8a5780046.tar
pbuilder-9e7c2b816ae4fc622cd34c1632727dd8a5780046.tar.gz
user-mode-linux support
-rw-r--r--AUTHORS1
-rw-r--r--ChangeLog12
-rw-r--r--debian/changelog3
-rw-r--r--debian/control19
-rwxr-xr-xdebian/rules16
-rwxr-xr-xpbuilder-checkparams2
-rw-r--r--pbuilder-uml-checkparams2
-rwxr-xr-xpbuilder-user-mode-linux20
-rw-r--r--pdebuild-uml-checkparams2
-rw-r--r--pdebuild-user-mode-linux2
10 files changed, 67 insertions, 12 deletions
diff --git a/AUTHORS b/AUTHORS
index 9ffe334..1b7649b 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -8,5 +8,6 @@ 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
+Mattia Dongili <malattia@linux.it> -- user-mode-linux support
$Id$ \ No newline at end of file
diff --git a/ChangeLog b/ChangeLog
index 936a67b..c475faf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2006-09-16 Junichi Uekawa <dancer@debian.org>
+
+ * added patch from Mattia Dongili <malattia@linux.it> for pbuilder-uml.
+ diffstat /tmp/pbuilder-uml.diff
+ debian/rules | 16 ++++++++++++++--
+ pbuilder-checkparams | 2 +-
+ pbuilder-uml-checkparams | 2 +-
+ pbuilder-user-mode-linux | 20 +++++++++++++++-----
+ pdebuild-uml-checkparams | 2 +-
+ pdebuild-user-mode-linux | 2 +-
+ 6 files changed, 33 insertions(+), 11 deletions(-)
+
2006-09-03 Junichi Uekawa <dancer@debian.org>
* examples/B90linda, etc.: add notice that it's usable for hookdir.
diff --git a/debian/changelog b/debian/changelog
index d417477..d0e6609 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,8 +5,9 @@ pbuilder (0.159) UNRELEASED; urgency=low
dr@jones.dk (Closes: #385351).
* add notes in the comment that files in examples are useful for
--hookdir option.
+ * add patch from Mattia Dongili <malattia@linux.it> to revive pbuilder-uml.
- -- Junichi Uekawa <dancer@debian.org> Sun, 3 Sep 2006 18:12:21 +0900
+ -- Junichi Uekawa <dancer@debian.org> Sat, 16 Sep 2006 16:59:02 +0900
pbuilder (0.158) unstable; urgency=low
diff --git a/debian/control b/debian/control
index f17c2dc..05e5270 100644
--- a/debian/control
+++ b/debian/control
@@ -29,3 +29,22 @@ Description: personal package builder for Debian packages
.
pdebuild is a wrapper for Debian Developers, to allow running
pbuilder just like "debuild", as a normal user.
+
+Package: pbuilder-uml
+Architecture: i386
+Depends: rootstrap (>= 0.3.9-1), user-mode-linux, pbuilder (= ${Source-Version})
+Description: user-mode-linux version of pbuilder
+ pbuilder-uml uses a User-mode-linux system, and builds Debian packages
+ inside the UML image. It is an ideal system to use to check
+ that a package has correct build-dependencies.
+ It uses apt extensively, and a local mirror, or a fast connection
+ to a Debian mirror is ideal, but not necessary.
+ .
+ Requires user-mode-linux to function correctly
+ .
+ "pbuilder-user-mode-linux create" uses rootstrap to create UML image
+ .
+ "pbuilder-user-mode-linux update" updates the image to the current state of
+ testing/unstable/whatever
+ .
+ "pbuilder-user-mode-linux build" takes a *.dsc file and builds a binary in the UML
diff --git a/debian/rules b/debian/rules
index 64323c5..7c032ab 100755
--- a/debian/rules
+++ b/debian/rules
@@ -30,7 +30,6 @@ clean:
# Add here commands to clean up after the build process.
-$(MAKE) clean
- rm -rf debian/pbuilder-uml/
dh_clean
install: build
@@ -61,7 +60,20 @@ binary-indep: build install
# Build architecture-dependent files here.
binary-arch: build install
- echo NOTE: pbuilder-uml is not built see changelog for version 0.117
+ifeq (${ARCH},i386)
+ dh_testdir -a
+ dh_testroot -a
+ dh_installdocs -a
+ dh_installman -ppbuilder-uml pbuilder-user-mode-linux.1 pbuilder-uml.conf.5 pdebuild-user-mode-linux.1
+ dh_installchangelogs -a
+ dh_link -a
+ dh_compress -a
+ dh_fixperms -a
+ dh_installdeb -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+endif
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/pbuilder-checkparams b/pbuilder-checkparams
index 27a836d..66a99d5 100755
--- a/pbuilder-checkparams
+++ b/pbuilder-checkparams
@@ -209,7 +209,7 @@ while [ -n "$1" ]; do
# specify this option if I am running inside UML.
echo " -> Running in pbuilder-user-mode-linux mode"
INTERNAL_BUILD_UML="yes"
- IGNORE_UMOUNT="yes"
+ IGNORE_UMOUNT="no"
shift;
;;
--) # end of processing for this
diff --git a/pbuilder-uml-checkparams b/pbuilder-uml-checkparams
index 4a333d3..05e98b4 100644
--- a/pbuilder-uml-checkparams
+++ b/pbuilder-uml-checkparams
@@ -21,7 +21,7 @@
# requires
# . /usr/lib/pbuilder/pbuilder-loadconfig
-for SYSTEM_CONFIG in /usr/share/pbuilder/pbuilder-uml.conf /etc/pbuilder/pbuilder-uml.conf ${HOME}/.pbuilderrc; do
+for SYSTEM_CONFIG in /usr/share/pbuilder/pbuilder-uml.conf /etc/pbuilder/pbuilder-uml.conf ${HOME}/.pbuilderrc ${HOME}/.pbuilder-umlrc; do
if [ -f ${SYSTEM_CONFIG} ]; then
. ${SYSTEM_CONFIG}
fi
diff --git a/pbuilder-user-mode-linux b/pbuilder-user-mode-linux
index caa74be..1085b02 100755
--- a/pbuilder-user-mode-linux
+++ b/pbuilder-user-mode-linux
@@ -62,13 +62,20 @@ ${UML_DEBUGMODE}
mount -t proc /proc /proc
mount -t tmpfs /tmp /tmp
-#if ! fsck -p /dev/ubd/1; then
-# echo "W: Failed to fsck /dev/ubd/1"
+
+# create devices
+mount -t tmpfs tmpfs /dev
+mknod /dev/ubdb b 98 16
+#if ! fsck -p /dev/ubdb; then
+# echo "W: Failed to fsck /dev/ubdb"
#fi
-if ! mount -t ext2 /dev/ubd/1 ${UML_CHROOT_MOUNTPOINT}; then
- echo "E: Cannot mount /dev/ubd/1, is UML root image accessible as current user?"
+if ! mount -t ext2 /dev/ubdb ${UML_CHROOT_MOUNTPOINT}; then
+ echo "E: Cannot mount /dev/ubdb, is UML root image accessible as current user?"
exit 1
fi
+mount --bind ${UML_CHROOT_MOUNTPOINT}/dev /dev
+
+
export LOGNAME="${LOGNAME}"
export HOME="${HOME}"
hostname "${UML_HOSTNAME}"
@@ -125,6 +132,9 @@ else
fi
pbuilder "$1" ${UML_EXTRAOPT} \${EXTRAOPT[@]} --buildresult "\${BUILDRESULT}" --buildplace "${UML_CHROOT_MOUNTPOINT}" --internal-build-uml ${UML_DEBUGMODE:+--debug} ${BUILDING_DSC_FILE} ${UML_EXECUTE_EXTRAOPT}
echo \$? > /proc/exitcode
+
+umount /dev
+umount ${UML_CHROOT_MOUNTPOINT}
/sbin/halt -d -f
EOF
@@ -134,7 +144,7 @@ EOF
echo "W: You are uid=0. Don't run UML as uid=0, it's not supported."
fi
- echo Invoking: "linux mem=${UML_MEM} eth0=${MY_ETH0} con0=fd:0,fd:1 con=pty root=/dev/root rootflags=/ rootfstype=hostfs ubd1=${PBUILDER_COW}${PBUILDER_UML_IMAGE} devfs=mount init=${INSIDE_PBUILDER} rw"
+ echo Invoking: "linux mem=${UML_MEM} eth0=${MY_ETH0} con0=fd:0,fd:1 con=pty root=/dev/root rootflags=/ rootfstype=hostfs ubd1=${PBUILDER_COW}${PBUILDER_UML_IMAGE} init=${INSIDE_PBUILDER} rw"
if linux mem=${UML_MEM} eth0=${MY_ETH0} con0=fd:0,fd:1 con=pty root=/dev/root rootflags=/ rootfstype=hostfs ubd1="${PBUILDER_COW}${PBUILDER_UML_IMAGE}" devfs=mount init=${INSIDE_PBUILDER} rw ; then
UML_EXITCODE=$?
echo " -> Successful exit from user-mode linux"
diff --git a/pdebuild-uml-checkparams b/pdebuild-uml-checkparams
index 15accb7..0b03803 100644
--- a/pdebuild-uml-checkparams
+++ b/pdebuild-uml-checkparams
@@ -20,7 +20,7 @@
# requires
# . /usr/lib/pbuilder/pbuilder-loadconfig
-for SYSTEM_CONFIG in /usr/share/pbuilder/pbuilder-uml.conf /etc/pbuilder/pbuilder-uml.conf ${HOME}/.pbuilderrc; do
+for SYSTEM_CONFIG in /usr/share/pbuilder/pbuilder-uml.conf /etc/pbuilder/pbuilder-uml.conf ${HOME}/.pbuilderrc ${HOME}/.pbuilder-umlrc; do
if [ -f ${SYSTEM_CONFIG} ]; then
. ${SYSTEM_CONFIG}
fi
diff --git a/pdebuild-user-mode-linux b/pdebuild-user-mode-linux
index 525da02..709a0ea 100644
--- a/pdebuild-user-mode-linux
+++ b/pdebuild-user-mode-linux
@@ -47,7 +47,7 @@ else
echo "W: Unmet build-dependency in source"
fi
echo "dpkg-buildpackage -S -us -uc -r${BUILDSOURCEROOTCMD} $DEBBUILDOPTS" | /bin/bash
- pbuilder-user-mode-linux build "$@" --buildresult "${UML_BUILDRESULT}" --debbuildopts "${DEBBUILDOPTS}" ../"${PKG_SOURCENAME}_${PKG_VERSION}".dsc
+ pbuilder-user-mode-linux build "$@" --buildresult "${UML_BUILDRESULT}" ../"${PKG_SOURCENAME}_${PKG_VERSION}".dsc
fi
# do signing with optional key specifier