since copy() is using syswrite(), we must flush the filehandle before calling it
This commit is contained in:
parent
982f8e982c
commit
6f8bb8c977
2 changed files with 12 additions and 4 deletions
10
coverage.sh
10
coverage.sh
|
@ -419,8 +419,9 @@ cat << END > shared/test.sh
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -eu
|
set -eu
|
||||||
export LC_ALL=C.UTF-8
|
export LC_ALL=C.UTF-8
|
||||||
$CMD --mode=root --variant=apt --aptopt="Acquire::Check-Valid-Until false" unstable /tmp/debian-unstable $mirror
|
echo 'Acquire::Languages "none";' > config
|
||||||
echo "Acquire::Check-Valid-Until false;" | cmp /tmp/debian-unstable/etc/apt/apt.conf.d/99mmdebstrap -
|
$CMD --mode=root --variant=apt --aptopt='Acquire::Check-Valid-Until "false"' --aptopt=config unstable /tmp/debian-unstable $mirror
|
||||||
|
printf 'Acquire::Check-Valid-Until "false";\nAcquire::Languages "none";\n' | cmp /tmp/debian-unstable/etc/apt/apt.conf.d/99mmdebstrap -
|
||||||
rm /tmp/debian-unstable/etc/apt/apt.conf.d/99mmdebstrap
|
rm /tmp/debian-unstable/etc/apt/apt.conf.d/99mmdebstrap
|
||||||
tar -C /tmp/debian-unstable --one-file-system -c . | tar -t | sort > tar2.txt
|
tar -C /tmp/debian-unstable --one-file-system -c . | tar -t | sort > tar2.txt
|
||||||
diff -u tar1.txt tar2.txt
|
diff -u tar1.txt tar2.txt
|
||||||
|
@ -437,8 +438,9 @@ cat << END > shared/test.sh
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -eu
|
set -eu
|
||||||
export LC_ALL=C.UTF-8
|
export LC_ALL=C.UTF-8
|
||||||
$CMD --mode=root --variant=apt --dpkgopt="path-exclude=/usr/share/doc/*" unstable /tmp/debian-unstable $mirror
|
echo no-pager > config
|
||||||
echo "path-exclude=/usr/share/doc/*" | cmp /tmp/debian-unstable/etc/dpkg/dpkg.cfg.d/99mmdebstrap -
|
$CMD --mode=root --variant=apt --dpkgopt="path-exclude=/usr/share/doc/*" --dpkgopt=config unstable /tmp/debian-unstable $mirror
|
||||||
|
printf 'path-exclude=/usr/share/doc/*\nno-pager\n' | cmp /tmp/debian-unstable/etc/dpkg/dpkg.cfg.d/99mmdebstrap -
|
||||||
rm /tmp/debian-unstable/etc/dpkg/dpkg.cfg.d/99mmdebstrap
|
rm /tmp/debian-unstable/etc/dpkg/dpkg.cfg.d/99mmdebstrap
|
||||||
tar -C /tmp/debian-unstable --one-file-system -c . | tar -t | sort > tar2.txt
|
tar -C /tmp/debian-unstable --one-file-system -c . | tar -t | sort > tar2.txt
|
||||||
grep -v '^./usr/share/doc/.' tar1.txt | diff -u - tar2.txt
|
grep -v '^./usr/share/doc/.' tar1.txt | diff -u - tar2.txt
|
||||||
|
|
|
@ -963,6 +963,9 @@ sub setup {
|
||||||
open my $fh, '>', "$options->{root}/etc/apt/apt.conf.d/99mmdebstrap" or error "cannot open /etc/apt/apt.conf.d/99mmdebstrap: $!";
|
open my $fh, '>', "$options->{root}/etc/apt/apt.conf.d/99mmdebstrap" or error "cannot open /etc/apt/apt.conf.d/99mmdebstrap: $!";
|
||||||
foreach my $opt (@{$options->{aptopts}}) {
|
foreach my $opt (@{$options->{aptopts}}) {
|
||||||
if (-r $opt) {
|
if (-r $opt) {
|
||||||
|
# flush handle because copy() uses syswrite() which bypasses
|
||||||
|
# buffered IO
|
||||||
|
$fh->flush();
|
||||||
copy $opt, $fh or error "cannot copy $opt: $!";
|
copy $opt, $fh or error "cannot copy $opt: $!";
|
||||||
} else {
|
} else {
|
||||||
print $fh $opt;
|
print $fh $opt;
|
||||||
|
@ -983,6 +986,9 @@ sub setup {
|
||||||
open my $fh, '>', "$options->{root}/etc/dpkg/dpkg.cfg.d/99mmdebstrap" or error "cannot open /etc/dpkg/dpkg.cfg.d/99mmdebstrap: $!";
|
open my $fh, '>', "$options->{root}/etc/dpkg/dpkg.cfg.d/99mmdebstrap" or error "cannot open /etc/dpkg/dpkg.cfg.d/99mmdebstrap: $!";
|
||||||
foreach my $opt (@{$options->{dpkgopts}}) {
|
foreach my $opt (@{$options->{dpkgopts}}) {
|
||||||
if (-r $opt) {
|
if (-r $opt) {
|
||||||
|
# flush handle because copy() uses syswrite() which bypasses
|
||||||
|
# buffered IO
|
||||||
|
$fh->flush();
|
||||||
copy $opt, $fh or error "cannot copy $opt: $!";
|
copy $opt, $fh or error "cannot copy $opt: $!";
|
||||||
} else {
|
} else {
|
||||||
print $fh $opt;
|
print $fh $opt;
|
||||||
|
|
Loading…
Reference in a new issue