On Dec 31, Marco d'Itri <md@linux.it> wrote: > a) submit a patch which rips out of debootstrap all the devices.tar.gz > stuff, or And here it is. -- ciao, Marco
diff --git a/Makefile b/Makefile
index 1020cbc..0bbb2c0 100644
--- a/Makefile
+++ b/Makefile
@@ -2,17 +2,9 @@
VERSION := $(shell sed 's/.*(\(.*\)).*/\1/; q' debian/changelog)
DATE := $(shell sed -n '/^ -- /{s/.*> \(.*\)/\1/p;q;}' debian/changelog)
-MAKEDEV ?= /sbin/MAKEDEV
-
-ifeq ($(shell uname),Linux)
-all: devices.tar.gz
-else
all:
-endif
clean:
- rm -f devices.tar.gz
- rm -rf dev
DSDIR=$(DESTDIR)/usr/share/debootstrap
install:
@@ -26,19 +18,3 @@ install:
chown root:root $(DESTDIR)/usr/sbin/debootstrap
chmod 0755 $(DESTDIR)/usr/sbin/debootstrap
-ifeq ($(shell uname),Linux)
- install -o root -g root -m 0644 devices.tar.gz $(DSDIR)/
-endif
-
-devices.tar.gz:
- rm -rf dev
- mkdir -p dev
- chown 0:0 dev
- chmod 755 dev
- (cd dev && $(MAKEDEV) std ptmx fd consoleonly)
- tar --mtime="$(DATE)" -cf - dev | gzip -9n >devices.tar.gz
- @if [ "$$(tar tvf devices.tar.gz | wc -l)" -lt 2 ]; then \
- echo " ** devices.tar.gz is empty!" >&2; \
- exit 1; \
- fi
- rm -rf dev
diff --git a/README b/README
index 5c08e15..b416140 100644
--- a/README
+++ b/README
@@ -20,7 +20,6 @@ First, get the source.
Then as root, in the debootstrap source directory:
-make devices.tar.gz
export DEBOOTSTRAP_DIR=`pwd`
debootstrap sid sid
diff --git a/TODO b/TODO
index e5fde0e..3a86214 100644
--- a/TODO
+++ b/TODO
@@ -7,5 +7,3 @@ Features:
-- versus command line
-- support for sources (vs mirrors)
-- faux-pinning for packages
-
- ++ makedev in second stage
diff --git a/debian/changelog b/debian/changelog
index 8a938a3..3a05192 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+debootstrap (1.0.75+nmu1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Stop creating useless device nodes. This allows removing devices.tar.gz,
+ and the dependency on makedev. (Closes: #571136)
+
+ -- Marco d'Itri <md@linux.it> Fri, 08 Jan 2016 02:02:21 +0100
+
debootstrap (1.0.75) unstable; urgency=medium
* Stop cleaning KEEP_DEBOOTSTRAP_DIR twice, as spotted by Chris Lamb
diff --git a/debian/control b/debian/control
index 334236b..1f52d1c 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@ Section: admin
Priority: extra
Maintainer: Debian Install System Team <debian-boot@lists.debian.org>
Uploaders: Junichi Uekawa <dancer@debian.org>, Colin Watson <cjwatson@debian.org>, Christian Perrier <bubulle@debian.org>
-Build-Depends: debhelper (>= 9), makedev (>= 2.3.1-69) [linux-any]
+Build-Depends: debhelper (>= 9)
Standards-Version: 3.9.6
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=d-i/debootstrap.git
Vcs-Git: git://anonscm.debian.org/d-i/debootstrap.git
diff --git a/debian/rules b/debian/rules
index 2e44367..b395ba6 100755
--- a/debian/rules
+++ b/debian/rules
@@ -11,12 +11,7 @@ endif
%:
dh $@
-# need to be root to make devices, so build is done in install target
-override_dh_auto_build:
-
override_dh_auto_install:
- dh_auto_build
-
$(MAKE) install DESTDIR=$(CURDIR)/debian/debootstrap
$(MAKE) install DESTDIR=$(CURDIR)/debian/debootstrap-udeb
diff --git a/debootstrap b/debootstrap
index 2a959bb..4cea268 100755
--- a/debootstrap
+++ b/debootstrap
@@ -18,8 +18,6 @@ if [ -z "$DEBOOTSTRAP_DIR" ]; then
fi
fi
-DEVICES_TARGZ=$DEBOOTSTRAP_DIR/devices.tar.gz
-
. $DEBOOTSTRAP_DIR/functions
exec 4>&1
@@ -635,7 +633,6 @@ if am_doing_phase first_stage; then
if ! am_doing_phase second_stage; then
cp "$0" "$TARGET/debootstrap/debootstrap"
cp $DEBOOTSTRAP_DIR/functions "$TARGET/debootstrap/functions"
- cp $DEBOOTSTRAP_DIR/devices.tar.gz "$TARGET/debootstrap/devices.tar.gz"
cp $SCRIPT "$TARGET/debootstrap/suite-script"
echo "$ARCH" >"$TARGET/debootstrap/arch"
echo "$SUITE" >"$TARGET/debootstrap/suite"
diff --git a/functions b/functions
index 8bef5e6..c882b3a 100644
--- a/functions
+++ b/functions
@@ -1060,19 +1060,27 @@ setup_devices () {
hurd*)
setup_devices_hurd ;;
*)
- if [ -e "$DEVICES_TARGZ" ]; then
- zcat "$DEVICES_TARGZ" | (cd "$TARGET"; tar -xf -)
- else
- if [ -e /dev/.devfsd ] ; then
- in_target mount -t devfs devfs /dev
- else
- error 1 NODEVTGZ "no %s. cannot create devices" "$DEVICES_TARGZ"
- fi
- fi
- ;;
+ setup_devices_simple ;;
esac
}
+setup_devices_simple () {
+ # The list of devices that can be created in a container comes from
+ # src/core/cgroup.c in the systemd source tree.
+ mknod $TARGET/dev/null c 1 3
+ mknod $TARGET/dev/zero c 1 5
+ mknod $TARGET/dev/full c 1 7
+ mknod $TARGET/dev/random c 1 8
+ mknod $TARGET/dev/urandom c 1 9
+ mknod $TARGET/dev/tty c 5 0
+ mkdir $TARGET/dev/pts/ $TARGET/dev/shm/
+ ln -s pts/ptmx $TARGET/dev/ptmx
+ ln -s /proc/self/fd $TARGET/dev/fd
+ ln -s /proc/self/fd/0 $TARGET/dev/stdin
+ ln -s /proc/self/fd/1 $TARGET/dev/stdout
+ ln -s /proc/self/fd/2 $TARGET/dev/stderr
+}
+
setup_devices_hurd () {
# Use the setup-translators of the hurd package, and firmlink
# $TARGET/{dev,servers} to the system ones.
Attachment:
signature.asc
Description: PGP signature