diff options
Diffstat (limited to 'test/integration/framework')
-rw-r--r-- | test/integration/framework | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/test/integration/framework b/test/integration/framework index 322c74a21..c830d852b 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -368,6 +368,7 @@ EOF echo "Acquire::https::CaInfo \"${TMPWORKINGDIRECTORY}/rootdir/etc/webserver.pem\";" > rootdir/etc/apt/apt.conf.d/99https echo "Apt::Cmd::Disable-Script-Warning \"1\";" > rootdir/etc/apt/apt.conf.d/apt-binary configcompression '.' 'gz' #'bz2' 'lzma' 'xz' + confighashes 'SHA1' # these are tests, not security best-practices # create some files in /tmp and look at user/group to get what this means TEST_DEFAULT_USER="$USER" @@ -513,7 +514,22 @@ configcompression() { shift done > ${TMPWORKINGDIRECTORY}/rootdir/etc/testcase-compressor.conf } - +confighashes() { + { + echo 'APT::FTPArchive {' + { + while [ -n "$1" ]; do + printf "$1" | tr 'a-z' 'A-Z' + printf "\t\"true\";\n" + shift + done + for h in 'MD5' 'SHA1' 'SHA256' 'SHA512'; do + printf "$h\t\"false\";\n" + done + } | awk '!x[$1]++' + echo '};' + } >> "${TMPWORKINGDIRECTORY}/rootdir/etc/apt/apt.conf.d/ftparchive-hashes.conf" +} forcecompressor() { COMPRESSOR="$1" COMPRESSOR_CMD="$1" @@ -734,41 +750,24 @@ createaptftparchiveconfig() { local COMPRESSORS="$(cut -d' ' -f 1 ${TMPWORKINGDIRECTORY}/rootdir/etc/testcase-compressor.conf | tr '\n' ' ')" local COMPRESSORS="${COMPRESSORS%* }" local ARCHS="$(getarchitectures)" - echo -n 'Dir { - ArchiveDir "' >> ftparchive.conf - echo -n $(readlink -f .) >> ftparchive.conf - echo -n '"; - CacheDir "' >> ftparchive.conf - echo -n $(readlink -f ..) >> ftparchive.conf - echo -n '"; - FileListDir "' >> ftparchive.conf - echo -n $(readlink -f pool/) >> ftparchive.conf - echo -n '"; + cat > ftparchive.conf <<EOF +Dir { + ArchiveDir "$(readlink -f .)"; + CacheDir "$(readlink -f ..)"; + FileListDir "$(readlink -f pool/)"; }; Default { - Packages::Compress "'"$COMPRESSORS"'"; - Sources::Compress "'"$COMPRESSORS"'"; - Contents::Compress "'"$COMPRESSORS"'"; - Translation::Compress "'"$COMPRESSORS"'"; + Packages::Compress "$COMPRESSORS"; + Sources::Compress "$COMPRESSORS"; + Contents::Compress "$COMPRESSORS"; + Translation::Compress "$COMPRESSORS"; LongDescription "false"; }; TreeDefault { Directory "pool/"; SrcDirectory "pool/"; }; -APT { - FTPArchive { - Release { - Origin "joesixpack"; - Label "apttestcases"; - Suite "unstable"; - Description "repository with dummy packages"; - Architectures "' >> ftparchive.conf - echo -n "$ARCHS" >> ftparchive.conf - echo 'source"; - }; - }; -};' >> ftparchive.conf +EOF for DIST in $(find ./pool/ -maxdepth 1 -name '*.pkglist' -type f | cut -d'/' -f 3 | cut -d'.' -f 1 | sort | uniq); do echo -n 'tree "dists/' >> ftparchive.conf echo -n "$DIST" >> ftparchive.conf @@ -968,6 +967,9 @@ getreleaseversionfromsuite() { true; } getlabelfromsuite() { true; } getoriginfromsuite() { true; } +aptftparchiverelease() { + aptftparchive -qq release "$@" | sed -e '/0 Release$/ d' # remove the self reference +} generatereleasefiles() { # $1 is the Date header and $2 is the ValidUntil header to be set # both should be given in notation date/touch can understand @@ -988,33 +990,31 @@ generatereleasefiles() { if [ -n "$ORIGIN" ]; then ORIGIN="-o APT::FTPArchive::Release::Origin=${ORIGIN}" fi - aptftparchive -qq release $dir \ + aptftparchiverelease $dir \ -o APT::FTPArchive::Release::Suite="${SUITE}" \ -o APT::FTPArchive::Release::Codename="${CODENAME}" \ ${LABEL} \ ${ORIGIN} \ ${VERSION} \ - | sed -e '/0 Release$/ d' > $dir/Release # remove the self reference + > $dir/Release if [ "$SUITE" = "experimental" -o "$SUITE" = "experimental2" ]; then sed -i '/^Date: / a\ NotAutomatic: yes' $dir/Release fi - if [ -n "$1" -a "$1" != "now" ]; then - sed -i "s/^Date: .*$/Date: $(date -d "$1" '+%a, %d %b %Y %H:%M:%S %Z')/" $dir/Release - fi - if [ -n "$2" ]; then - sed -i "/^Date: / a\ -Valid-Until: $(date -d "$2" '+%a, %d %b %Y %H:%M:%S %Z')" $dir/Release - fi done else - aptftparchive -qq release ./aptarchive | sed -e '/0 Release$/ d' > aptarchive/Release # remove the self reference + aptftparchiverelease ./aptarchive > aptarchive/Release fi if [ -n "$1" -a "$1" != "now" ]; then for release in $(find ./aptarchive -name 'Release'); do + sed -i "s/^Date: .*$/Date: $(date -d "$1" '+%a, %d %b %Y %H:%M:%S %Z')/" $release touch -d "$1" $release done fi + if [ -n "$2" ]; then + sed -i "/^Date: / a\ +Valid-Until: $(date -d "$2" '+%a, %d %b %Y %H:%M:%S %Z')" $(find ./aptarchive -name 'Release') + fi msgdone "info" } |