mirror of
https://github.com/aphrody-labs/apt.git
synced 2026-10-14 06:09:01 +00:00
Building the library just so we can build the helpers against it is not only wasteful but as we are supposed to test the system we can use that as an additional simple smoke test before the real testing starts.
59 lines
1.6 KiB
Bash
Executable File
59 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
set +e # its okay to fail in these script, most of the time the apt* stuff will generate errors
|
|
|
|
if [ -z "$1" -o -z "$2" ]; then
|
|
echo "Usage: $0 file codename pkg…"
|
|
exit 1
|
|
fi
|
|
|
|
CHECK_ARGS='no'
|
|
TESTDIR="$(readlink -f "$(dirname "$0")")"
|
|
. "$TESTDIR/framework"
|
|
|
|
GENERATE="$1"
|
|
CODENAME="$2"
|
|
shift 2
|
|
|
|
WORKDIR="$(mktemp -d)"
|
|
cleanupworkdir() {
|
|
if [ -z "$WORKDIR" ]; then return; fi
|
|
rm -rf "$WORKDIR"
|
|
}
|
|
trap "cleanupworkdir;" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
|
|
touch "$WORKDIR/status"
|
|
TMPGEN="$WORKDIR/Packages"
|
|
export LANG=C.UTF-8
|
|
|
|
aptgetinstall() {
|
|
aptget install "$@" --no-install-recommends -t "$CODENAME" -s \
|
|
-o Dir::state::status="$WORKDIR/status" \
|
|
-o Dir::Cache="$WORKDIR" \
|
|
-o pkgCacheGen::Essential=none \
|
|
-o APT::Immediate-Configure=0
|
|
}
|
|
LISTOFPKGS="$(aptgetinstall "$@" 2> /dev/null | awk '/^Inst/ {print $2}' | sed -e "s#\$#/$CODENAME#")"
|
|
if [ -z "$LISTOFPKGS" ]; then
|
|
echo "List of packages is empty: run apt-get install command again for you now"
|
|
aptgetinstall
|
|
exit 1
|
|
fi
|
|
aptcache show $LISTOFPKGS --no-all-versions 2> "$WORKDIR/error.lst" | sed -e '/^ / d' \
|
|
-e '/^SHA1: / d' -e '/^SHA256: / d' \
|
|
-e '/^Homepage: / d' -e '/^Tag: / d' \
|
|
-e '/^Xul-Appid: / d' \
|
|
-e '/^Status: / d' \
|
|
-e 's/^Description-en:/Description:/' \
|
|
> "$TMPGEN"
|
|
|
|
if [ "$CODENAME" = "experimental" ]; then
|
|
aptcache show $(cut -d"'" -f 4 "$WORKDIR/error.lst" | sed -e 's#$#/sid#') --no-all-versions 2> /dev/null >> "$TMPGEN"
|
|
fi
|
|
|
|
if echo "$GENERATE" | grep '^status-' > /dev/null; then
|
|
sed -i "$TMPGEN" -e '/^Package: / a\
|
|
Status: install ok installed' \
|
|
-e '/^Filename: / d' -e '/^Size: / d' -e '/^MD5sum: / d'
|
|
fi
|
|
|
|
apt-sortpkgs "$TMPGEN" > "$GENERATE"
|