diff options
-rw-r--r-- | cmdline/apt-helper.cc | 20 | ||||
-rw-r--r-- | test/integration/framework | 24 |
2 files changed, 22 insertions, 22 deletions
diff --git a/cmdline/apt-helper.cc b/cmdline/apt-helper.cc index 001b5e5f7..b92055ab7 100644 --- a/cmdline/apt-helper.cc +++ b/cmdline/apt-helper.cc @@ -145,14 +145,28 @@ static bool DoCatFile(CommandLine &CmdL) /*{{{*/ } if (CmdL.FileSize() <= 1) - return _error->Error("Must specify at least one file name"); + { + if (fd.OpenDescriptor(STDIN_FILENO, FileFd::ReadOnly) == false) + return false; + if (CopyFile(fd, out) == false) + return false; + return true; + } for(size_t i = 1; CmdL.FileList[i] != NULL; ++i) { std::string const name = CmdL.FileList[i]; - if (fd.Open(name, FileFd::ReadOnly, FileFd::Extension) == false) - return false; + if (name != "-") + { + if (fd.Open(name, FileFd::ReadOnly, FileFd::Extension) == false) + return false; + } + else + { + if (fd.OpenDescriptor(STDIN_FILENO, FileFd::ReadOnly) == false) + return false; + } if (CopyFile(fd, out) == false) return false; diff --git a/test/integration/framework b/test/integration/framework index c97500ffd..430ee552d 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -520,13 +520,13 @@ EOF testsuccess --nomsg gcc -Wall -fPIC -shared -o noopchroot.so noopchroot.c -ldl } configcompression() { + local CMD='apthelper cat-file -C' while [ -n "$1" ]; do case "$1" in '.') printf ".\t.\tcat\n";; - 'gz') printf "gzip\tgz\tgzip\n";; - 'bz2') printf "bzip2\tbz2\tbzip2\n";; - 'lzma') printf "lzma\tlzma\txz --format=lzma\n";; - *) printf "$1\t$1\t$1\n";; + 'gz') printf "gzip\tgz\t$CMD $1\n";; + 'bz2') printf "bzip2\tbz2\t$CMD $1\n";; + *) printf "$1\t$1\t$CMD $1\n";; esac shift done > "${TMPWORKINGDIRECTORY}/rootdir/etc/testcase-compressor.conf" @@ -550,7 +550,7 @@ confighashes() { forcecompressor() { COMPRESSOR="$1" COMPRESS="$1" - COMPRESSOR_CMD="$1" + COMPRESSOR_CMD="apthelper cat-file -C $1" case $COMPRESSOR in gzip) COMPRESS='gz';; bzip2) COMPRESS='bz2';; @@ -558,20 +558,6 @@ forcecompressor() { local CONFFILE="${TMPWORKINGDIRECTORY}/rootdir/etc/apt/apt.conf.d/00force-compressor" echo "Acquire::CompressionTypes::Order { \"${COMPRESS}\"; }; Dir::Bin::uncompressed \"/does/not/exist\";" > "$CONFFILE" - for COMP in $(aptconfig dump APT::Compressor --format '%t %v%n' | sed -n 's#^Name \([^.].\+\)$#\1#p'); do - echo "Dir::Bin::${COMP} \"/does/not/exist\";" - done >> "$CONFFILE" - if [ -e "/bin/${COMPRESSOR}" ]; then - echo "Dir::Bin::${COMPRESSOR} \"/bin/${COMPRESSOR}\";" >> "$CONFFILE" - elif [ -e "/usr/bin/${COMPRESSOR}" ]; then - echo "Dir::Bin::${COMPRESSOR} \"/usr/bin/${COMPRESSOR}\";" >> "$CONFFILE" - elif [ "${COMPRESSOR}" = 'lzma' ]; then - echo 'Dir::Bin::xz "/usr/bin/xz";' >> "$CONFFILE" - COMPRESSOR_CMD='xz --format=lzma' - else - msgtest 'Test for availability of compressor' "${COMPRESSOR}" - msgfail "${COMPRESSOR} not available" - fi } setupsimplenativepackage() { |