This website requires JavaScript.
84b0b5061b
start sanitizing the environment with chroot() and don't pass on TMPDIR
Johannes 'josch' Schauer
2019-01-20 10:40:51 +0100
6f8bb8c977
since copy() is using syswrite(), we must flush the filehandle before calling it
Johannes 'josch' Schauer
2019-01-20 10:39:45 +0100
982f8e982c
add --quiet and --debug switches and debug/verbose/info/warning/error functions
Johannes 'josch' Schauer
2019-01-20 10:39:01 +0100
58a3069495
add mmdebstrap prefix to temporary directory name
Johannes 'josch' Schauer
2019-01-14 22:24:33 +0100
765f5b91e9
call apt with Dpkg::Use-Pty=false to enable immediate termination upon SIGINT and prevent it from messing up the terminal with tcsetattr()
Johannes 'josch' Schauer
2019-01-14 22:23:02 +0100
be1af15489
use common function for run_dpkg_progress and run_apt_progress
Johannes 'josch' Schauer
2019-01-13 22:04:25 +0100
9453c7e2a9
coverage.sh: add test for --customize
Johannes 'josch' Schauer
2019-01-13 13:36:42 +0100
7f58c4596a
handle INT, HUB, PIPE and TERM signals, wait for child processes and clean up mounts
Johannes 'josch' Schauer
2019-01-13 10:17:46 +0100
1c7e0c86f0
coverage.sh: mmdebstrap now creates /var/lib/dpkg/available
Johannes 'josch' Schauer
2019-01-13 10:14:25 +0100
80aea48fa7
coverage.sh: testing is now also affected by #917386 and #917407
Johannes 'josch' Schauer
2019-01-13 10:13:41 +0100
0345d30ae6
run_*_progress: fix error message when exec() failed
Johannes 'josch' Schauer
2019-01-12 00:48:40 +0100
a3f69f8874
add undocumented --customize option
Johannes 'josch' Schauer
2019-01-08 11:28:27 +0100
d66a5a7d74
Several formatting improvements to POD
Johannes 'josch' Schauer
2019-01-08 11:27:56 +0100
e0ea1e6d65
add FIXME option to also support Debian derivatives
Johannes 'josch' Schauer
2019-01-08 11:26:24 +0100
fa836c01f7
refer to #898446 when warning about unprivileged_userns_clone
Johannes 'josch' Schauer
2019-01-08 11:23:39 +0100
e0b107453d
add another example --aptopt to man page
Johannes 'josch' Schauer
2019-01-07 13:19:38 +0100
25bec4d5e1
add --merged-usr and --no-merged-usr no-op options for debootstrap compatibility
Johannes 'josch' Schauer
2019-01-07 13:18:59 +0100
418b42746e
create an empty /var/lib/dpkg/available as otherwise dpkg fails on package removal
Johannes 'josch' Schauer
2019-01-07 13:16:51 +0100
1e0b4cb3b0
now that fakechroot and proot are fixed, add support for for variants beyond essential and apt
Johannes 'josch' Schauer
2019-01-01 14:28:56 +0100
e5564a0dad
make_mirror.sh: setup root password for possible debugging of qemu sessions
Johannes 'josch' Schauer
2018-12-30 17:19:47 +0100
5ac613983c
make_mirror.sh: use $mirror when calling mmdebstrap instead of its default mirror
Johannes 'josch' Schauer
2018-12-30 17:19:26 +0100
29550acb88
add --interactive=never to rm call to avoid prompts for removal of write protected files in proot mode
Johannes 'josch' Schauer
2018-12-30 17:18:27 +0100
903b318ccc
make_mirror.sh: instead of rm -r, remove temporary files explicitly to avoid desaster
Johannes 'josch' Schauer
2018-12-30 17:16:57 +0100
4ffa7bb69b
make_mirror.sh: create temporary directory inside the cache and use hardlinks to avoid unnecessary I/O
Johannes 'josch' Schauer
2018-12-30 17:16:16 +0100
643152ec16
run_qemu.sh: add comment with an example of how to connect to qemu serial unix socket
Johannes 'josch' Schauer
2018-12-30 17:14:15 +0100
c670f51826
run_qemu.sh: if the run is aborted, then the last line is likely not an integer, thus compare strings instead of numbers
Johannes 'josch' Schauer
2018-12-30 17:13:46 +0100
b3269c8809
run_null.sh: remove unused variable
Johannes 'josch' Schauer
2018-12-30 17:13:13 +0100
b113771a81
make_mirror.sh: never leave the cache in an inconsistent state by atomically switching symlinks
Johannes 'josch' Schauer
2018-12-28 07:44:54 +0100
8d92412380
make_mirror.sh: put double quotes around string
Johannes 'josch' Schauer
2018-12-28 07:28:55 +0100
b6e8c9dbb7
coverage.sh: skip comparison with debootstrap unstable because of #917386 and #917407
Johannes 'josch' Schauer
2018-12-28 07:26:24 +0100
1aec25f043
make_mirror.sh: don't run debootstrap for untested scenario
Johannes 'josch' Schauer
2018-12-28 07:16:59 +0100
e6ce901be4
run several binfmt checks before using qemu-user mode
Johannes 'josch' Schauer
2018-12-28 05:39:14 +0100
4a2bf62931
add --resolve-deps no-op option for sbuild-createchroot compatibility
Johannes 'josch' Schauer
2018-12-28 05:09:39 +0100
3f29fa461a
don't die if output cannot be written to tarball and instead check error condition early
Johannes 'josch' Schauer
2018-12-28 05:09:08 +0100
f4263ebd74
add --verbose option that prints apt and dpkg output instead of progress bars
Johannes 'josch' Schauer
2018-12-27 21:08:53 +0100
61ad8a8e45
update --help output for --aptopt using single quotes to avoid escaping of double quotes
Johannes 'josch' Schauer
2018-12-27 14:42:29 +0100
131a39d633
make_mirror.sh: export SOURCE_DATE_EPOCH for debootstrap
Johannes 'josch' Schauer
2018-12-27 14:39:29 +0100
076d035f65
coverage.sh: check requirement for disk image and debootstrap tarballs before running
Johannes 'josch' Schauer
2018-12-27 14:38:00 +0100
ef576ab389
use LC_ALL=C.UTF-8 instead of LC_ALL=C
Johannes 'josch' Schauer
2018-12-27 14:16:23 +0100
fa3719eaeb
run_qemu.sh: use an exit trap for reporting the result and cleanup
Johannes 'josch' Schauer
2018-12-27 14:14:01 +0100
97d273aaf6
disable merged usr
Johannes 'josch' Schauer
2018-12-07 00:17:10 +0100
c8dbe5bd15
coverage.sh: account for differently ordered /etc/shells
Johannes 'josch' Schauer
2018-12-07 00:13:51 +0100
f101057e1b
add qemu TODO item
Johannes 'josch' Schauer
2018-12-06 17:15:56 +0100
94862ef03e
coverage.sh: make regex more precise and relax it for version numbers
Johannes 'josch' Schauer
2018-12-05 12:01:58 +0100
b57b8de3a0
make_mirror.sh: add procps for /sbin/sysctl
Johannes 'josch' Schauer
2018-12-05 10:36:21 +0100
2618a587a0
coverage.sh: allow running without qemu
Johannes 'josch' Schauer
2018-12-05 10:33:03 +0100
6634f4f49f
coverage.sh: fix status line
Johannes 'josch' Schauer
2018-12-05 08:27:57 +0100
504e6765c8
make_mirror.sh: fix status line
Johannes 'josch' Schauer
2018-12-05 08:08:12 +0100
b0979d1d6b
add verbose mode to test_unshare() so that it can report what went wrong
Johannes 'josch' Schauer
2018-12-05 08:06:26 +0100
3ffc8ea35f
add FIXME comment about binfmt_misc support
Johannes 'josch' Schauer
2018-12-05 08:05:32 +0100
f25dc399c2
run_qemu.sh: only add -enable-kvm if /dev/kvm exists
Johannes 'josch' Schauer
2018-12-04 09:05:00 +0100
0cc9e3b44a
make_mirror.sh,run_qemu.sh: use temporary directory for temporary files instead of the current working directory
Johannes 'josch' Schauer
2018-11-23 17:44:59 +0100
8cbc9e9a00
make_mirror.sh: add two comments for guestfish debugging
Johannes 'josch' Schauer
2018-11-23 17:44:06 +0100
eaaa0b109d
run_qemu.sh: pass absolute path to qemu-img because otherwise the backing image will be searched relative to the overlay
Johannes 'josch' Schauer
2018-11-23 17:41:29 +0100
ff3e66e37c
run_qemu.sh: run with set -eu
Johannes 'josch' Schauer
2018-11-23 17:40:17 +0100
96c01a67e4
make_mirror.sh: use redirection to write tarfile
Johannes 'josch' Schauer
2018-11-23 17:36:20 +0100
f4f6200f36
make_mirror.sh: only (u)mount cover_db.img if it exists
Johannes 'josch' Schauer
2018-11-23 17:35:24 +0100
4ef1eda200
append to $PATH instead of replacing its content
Johannes 'josch' Schauer
2018-11-23 17:30:32 +0100
40e25ef653
coverage.sh: only run cover if coverage data exists
Johannes 'josch' Schauer
2018-11-23 17:28:34 +0100
13358fc039
coverage.sh: conditionally copy mmdebstrap to ./shared
Johannes 'josch' Schauer
2018-11-23 17:27:36 +0100
6b1a5a04ad
README.md: update section about tests
Johannes 'josch' Schauer
2018-11-23 17:26:50 +0100
a5348c970d
release 0.3.0
0.3.0
Johannes 'josch' Schauer
2018-11-21 08:24:22 +0100
972b207508
implement 'extract' variant
Johannes 'josch' Schauer
2018-11-21 00:13:10 +0100
16d2a4a8d9
allow empty lost+found directory in target directory
Johannes 'josch' Schauer
2018-11-20 08:34:13 +0100
1730a17286
add two code comments
Johannes 'josch' Schauer
2018-11-04 20:40:04 +0100
2949691591
When packaging the tarball with proot, exclude /host-rootfs
Johannes 'josch' Schauer
2018-11-04 20:39:11 +0100
1890e22b14
do not make the default mirror for the native arch only. The sane expectation is, that the default mirror is for any architecture.
Johannes 'josch' Schauer
2018-11-04 20:38:55 +0100
cc7dddb1b3
re-installing packages with dpkg also requires --force-depends because dpkg doesn't consider Pre-Depends
Johannes 'josch' Schauer
2018-11-04 20:38:16 +0100
a9765a3ad2
fix Apt::Architectures architecture list
Johannes 'josch' Schauer
2018-11-04 20:37:36 +0100
935f5b7a66
Instead of requiring root, use qemu
Johannes 'josch' Schauer
2018-11-04 20:34:40 +0100
bcb6b65b72
coverage.sh: add more tests
Johannes 'josch' Schauer
2018-11-02 17:24:46 +0100
7948894159
dereference array foreignarchs before iterating
Johannes 'josch' Schauer
2018-11-02 17:24:28 +0100
cb44551009
make_mirror.sh: do not retrieve translations
Johannes 'josch' Schauer
2018-11-02 17:23:53 +0100
4c9d2bd3d7
add sanity check for fakechroot/proot renameat2 bug
Johannes 'josch' Schauer
2018-10-24 02:41:43 +0200
3c411012be
coverage.sh: print script progress
Johannes 'josch' Schauer
2018-10-24 02:37:45 +0200
88c0d40b8f
test.sh: now dpkg in testing also creates lock-frontend
Johannes 'josch' Schauer
2018-10-23 19:03:13 +0200
f3d227ae5f
add coverage.sh
Johannes 'josch' Schauer
2018-10-22 20:37:31 +0200
b8c63f8797
check the mode earlier so that we can re-exec under fakechroot earlier
Johannes 'josch' Schauer
2018-10-23 18:04:05 +0200
70c1468453
in fakechroot mode, do not create symlinks to non-existing /proc
Johannes 'josch' Schauer
2018-10-23 16:03:32 +0200
a5866a347c
add --qemu option to proot when creating tar of foreign arch chroot
Johannes 'josch' Schauer
2018-10-23 15:36:58 +0200
174d54f933
for simplicity, always use our own /dev tar entries
Johannes 'josch' Schauer
2018-10-23 15:19:01 +0200
7534a7607f
Add chrootless mode and extract and custom variants
Johannes 'josch' Schauer
2018-10-22 17:05:56 +0200
07f0e53081
Add POD section for environment variables
Johannes 'josch' Schauer
2018-10-22 17:04:35 +0200
a6d6ad4d0d
Add more markup to POD
Johannes 'josch' Schauer
2018-10-22 17:03:39 +0200
bdf878894f
add commented out stub for using fmtree to compare directories
Johannes 'josch' Schauer
2018-10-22 16:58:27 +0200
69ee374719
test.sh: fix small typo
Johannes 'josch' Schauer
2018-10-22 16:58:11 +0200
35d45c8504
use [ A ] && [ B ] instead of [ A -a B ] as recommended by shellcheck
Johannes 'josch' Schauer
2018-10-22 16:57:52 +0200
2d6703add0
fix tar call in proot mode (avoid extra entry for /dev and error message about non-existant working directory)
Johannes 'josch' Schauer
2018-10-22 15:06:20 +0200
5498f61ce5
apt does not support double quotes in paths
Johannes 'josch' Schauer
2018-10-22 15:05:19 +0200
27f10e2300
fix error string (apt is part of the required variant)
Johannes 'josch' Schauer
2018-10-22 15:04:25 +0200
1409405af7
always clean apt from the outside in case there is no apt inside the chroot
Johannes 'josch' Schauer
2018-10-22 15:03:36 +0200
61ff05566a
as a defensive measure, in conditionals for variant and mode, always check for unknown variant/mode
Johannes 'josch' Schauer
2018-10-22 14:44:45 +0200
12fc63385b
skip /dev in directory creation
Johannes 'josch' Schauer
2018-10-22 11:39:31 +0200
145bfe5233
symlinks must also be created with havemknod
Johannes 'josch' Schauer
2018-10-22 11:38:47 +0200
b0efc9aa86
also conditionally only act on symlinks if havemknod is false
Johannes 'josch' Schauer
2018-10-22 11:36:02 +0200
3c48bce2b2
don't set /usr/bin/env in FAKECHROOT_CMD_SUBST
Johannes 'josch' Schauer
2018-10-22 11:32:59 +0200
7a25de31db
Don't rely on Architecture field in indextargets output because it's only filled for non-flat mirrors
Johannes 'josch' Schauer
2018-10-22 11:29:56 +0200
bdbe12fec8
don't set Apt::Get::Download-Only in the default apt config but do it explicitly in each apt call
Johannes 'josch' Schauer
2018-10-22 11:24:47 +0200
191bc47f2c
make sure that apt puts its logs into the chroot
Johannes 'josch' Schauer
2018-10-22 11:12:11 +0200
11633c7278
don't clean auxfiles anymore
Johannes 'josch' Schauer
2018-10-22 11:06:36 +0200