Pierre Rudloff
8 years ago
committed by
Fredrik Fornwall
5 changed files with 161 additions and 0 deletions
@ -0,0 +1,23 @@ |
|||
diff --git a/Makefile b/Makefile
|
|||
index 8516803..0c61852 100644
|
|||
--- a/Makefile
|
|||
+++ b/Makefile
|
|||
@@ -5,14 +5,12 @@ all:
|
|||
|
|||
clean: |
|||
|
|||
-DSDIR=$(DESTDIR)/usr/share/debootstrap
|
|||
+DSDIR=$(DESTDIR)$(PREFIX)/share/debootstrap
|
|||
install: |
|||
mkdir -p $(DSDIR)/scripts |
|||
- mkdir -p $(DESTDIR)/usr/sbin
|
|||
|
|||
cp -a scripts/* $(DSDIR)/scripts/ |
|||
- install -o root -g root -m 0644 functions $(DSDIR)/
|
|||
+ install -m 0644 functions $(DSDIR)/
|
|||
|
|||
- sed 's/@VERSION@/$(VERSION)/g' debootstrap >$(DESTDIR)/usr/sbin/debootstrap
|
|||
- chown root:root $(DESTDIR)/usr/sbin/debootstrap
|
|||
- chmod 0755 $(DESTDIR)/usr/sbin/debootstrap
|
|||
+ sed 's/@VERSION@/$(VERSION)/g' debootstrap >$(DESTDIR)$(PREFIX)/bin/debootstrap
|
|||
+ chmod 0755 $(DESTDIR)$(PREFIX)/bin/debootstrap
|
@ -0,0 +1,13 @@ |
|||
TERMUX_PKG_HOMEPAGE=https://wiki.debian.org/Debootstrap |
|||
TERMUX_PKG_DESCRIPTION="Bootstrap a basic Debian system" |
|||
TERMUX_PKG_VERSION=1.0.90 |
|||
TERMUX_PKG_SRCURL=http://http.debian.net/debian/pool/main/d/debootstrap/debootstrap_${TERMUX_PKG_VERSION}.tar.gz |
|||
TERMUX_PKG_SHA256=4d1f434b093051a27fe9482063e2b09aa88cdcc51877228b04729e302ba9145e |
|||
TERMUX_PKG_BUILD_IN_SRC=yes |
|||
TERMUX_PKG_DEPENDS="wget, proot" |
|||
TERMUX_PKG_MAINTAINER="Pierre Rudloff @Rudloff" |
|||
|
|||
termux_step_post_make_install() { |
|||
mkdir -p ${TERMUX_PREFIX}/share/man/man8/ |
|||
install ${TERMUX_PKG_SRCDIR}/debootstrap.8 ${TERMUX_PREFIX}/share/man/man8/ |
|||
} |
@ -0,0 +1,53 @@ |
|||
diff --git a/debootstrap b/debootstrap
|
|||
index 4658e0f..1672990 100755
|
|||
--- a/debootstrap
|
|||
+++ b/debootstrap
|
|||
@@ -14,7 +14,7 @@ if [ -z "$DEBOOTSTRAP_DIR" ]; then
|
|||
if [ -x /debootstrap/debootstrap ]; then |
|||
DEBOOTSTRAP_DIR=/debootstrap |
|||
else |
|||
- DEBOOTSTRAP_DIR=/usr/share/debootstrap
|
|||
+ DEBOOTSTRAP_DIR=$PREFIX/share/debootstrap
|
|||
fi |
|||
fi |
|||
|
|||
@@ -421,10 +421,10 @@ fi
|
|||
|
|||
if in_path dpkg && \ |
|||
dpkg --print-architecture >/dev/null 2>&1; then |
|||
- HOST_ARCH=`/usr/bin/dpkg --print-architecture`
|
|||
+ HOST_ARCH=`$PREFIX/bin/dpkg --print-architecture`
|
|||
elif in_path udpkg && \ |
|||
udpkg --print-architecture >/dev/null 2>&1; then |
|||
- HOST_ARCH=`/usr/bin/udpkg --print-architecture`
|
|||
+ HOST_ARCH=`$PREFIX/bin/udpkg --print-architecture`
|
|||
elif [ -e $DEBOOTSTRAP_DIR/arch ]; then |
|||
HOST_ARCH=`cat $DEBOOTSTRAP_DIR/arch` |
|||
fi |
|||
@@ -465,7 +465,8 @@ fi
|
|||
if [ "$TARGET" = "/" ]; then |
|||
CHROOT_CMD="" |
|||
else |
|||
- CHROOT_CMD="chroot $TARGET"
|
|||
+ PATH=$PATH:/usr/bin:/bin:/usr/sbin:/sbin
|
|||
+ CHROOT_CMD="proot -w /home -b /dev -b /proc --link2symlink -0 -r $TARGET"
|
|||
fi |
|||
|
|||
if [ -z "$SHA_SIZE" ]; then |
|||
@@ -478,16 +479,6 @@ DEBOOTSTRAP_CHECKSUM_FIELD="SHA$SHA_SIZE"
|
|||
|
|||
export ARCH SUITE TARGET CHROOT_CMD SHA_SIZE DEBOOTSTRAP_CHECKSUM_FIELD |
|||
|
|||
-if am_doing_phase first_stage second_stage; then
|
|||
- if in_path id && [ `id -u` -ne 0 ]; then
|
|||
- error 1 NEEDROOT "debootstrap can only run as root"
|
|||
- fi
|
|||
- # Ensure that we can create working devices and executables on the target.
|
|||
- if ! check_sane_mount "$TARGET"; then
|
|||
- error 1 NOEXEC "Cannot install into target '$TARGET' mounted with noexec or nodev"
|
|||
- fi
|
|||
-fi
|
|||
-
|
|||
if [ ! -e "$SCRIPT" ]; then |
|||
error 1 NOSCRIPT "No such script: %s" "$SCRIPT" |
|||
fi |
@ -0,0 +1,30 @@ |
|||
diff --git a/functions b/functions
|
|||
index e22d4a0..ce731b6 100644
|
|||
--- a/functions
|
|||
+++ b/functions
|
|||
@@ -883,7 +883,7 @@ extract_dpkg_deb_field () {
|
|||
extract_dpkg_deb_data () { |
|||
local pkg="$1" |
|||
|
|||
- dpkg-deb --fsys-tarfile "$pkg" | tar $EXTRACT_DEB_TAR_OPTIONS -xf -
|
|||
+ dpkg-deb --fsys-tarfile "$pkg" | proot --link2symlink tar $EXTRACT_DEB_TAR_OPTIONS -xf -
|
|||
} |
|||
|
|||
# Raw .deb extractors |
|||
@@ -921,7 +921,7 @@ extract_ar_deb_data () {
|
|||
esac |
|||
|
|||
if type $cat_cmd >/dev/null 2>&1; then |
|||
- ar -p "$pkg" "$tarball" | $cat_cmd | tar $EXTRACT_DEB_TAR_OPTIONS -xf -
|
|||
+ ar -p "$pkg" "$tarball" | $cat_cmd | proot --link2symlink tar $EXTRACT_DEB_TAR_OPTIONS -xf -
|
|||
else |
|||
error 1 UNPACKCMDUNVL "Extracting %s requires the %s command, which is not available" "$pkg" "$cat_cmd" |
|||
fi |
|||
@@ -1139,7 +1139,6 @@ setup_devices () {
|
|||
hurd*) |
|||
;; |
|||
*) |
|||
- setup_devices_simple
|
|||
;; |
|||
esac |
|||
} |
@ -0,0 +1,42 @@ |
|||
diff --git a/scripts/sid b/scripts/sid
|
|||
index 1d96477..e899d42 100644
|
|||
--- a/scripts/sid
|
|||
+++ b/scripts/sid
|
|||
@@ -58,7 +58,7 @@ first_stage_install () {
|
|||
setup_etc |
|||
if [ ! -e "$TARGET/etc/fstab" ]; then |
|||
echo '# UNCONFIGURED FSTAB FOR BASE SYSTEM' > "$TARGET/etc/fstab" |
|||
- chown 0:0 "$TARGET/etc/fstab"; chmod 644 "$TARGET/etc/fstab"
|
|||
+ chmod 644 "$TARGET/etc/fstab"
|
|||
fi |
|||
|
|||
setup_devices |
|||
@@ -96,7 +96,6 @@ Status: install ok installed" >> "$TARGET/var/lib/dpkg/status"
|
|||
if doing_variant fakechroot; then |
|||
setup_proc_fakechroot |
|||
else |
|||
- setup_proc
|
|||
in_target /sbin/ldconfig |
|||
fi |
|||
|
|||
@@ -166,6 +165,20 @@ echo
|
|||
echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/start-stop-daemon" |
|||
chmod 755 "$TARGET/sbin/start-stop-daemon" |
|||
|
|||
+ # Replace problematic binaries with a stub
|
|||
+ echo "" > "$TARGET/bin/chown"
|
|||
+ echo "" > "$TARGET/usr/sbin/groupadd"
|
|||
+ echo "" > "$TARGET/usr/sbin/groupdel"
|
|||
+ echo "" > "$TARGET/usr/sbin/groupmod"
|
|||
+ echo "" > "$TARGET/usr/sbin/useradd"
|
|||
+ echo "" > "$TARGET/usr/sbin/userdel"
|
|||
+ echo "" > "$TARGET/usr/sbin/usermod"
|
|||
+ echo "" > "$TARGET/usr/bin/chage"
|
|||
+ echo "" > "$TARGET/usr/bin/chfn"
|
|||
+ echo "" > "$TARGET/usr/bin/dpkg-statoverride"
|
|||
+
|
|||
+ echo "nameserver 8.8.8.8\nnameserver 8.8.4.4" > "$TARGET/etc/resolv.conf"
|
|||
+
|
|||
setup_dselect_method apt |
|||
|
|||
smallyes '' | |
Loading…
Reference in new issue