summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt2
-rw-r--r--apt-private/private-source.cc2
-rw-r--r--debian/apt.dirs1
-rw-r--r--debian/changelog23
-rw-r--r--doc/apt-key.8.xml28
-rw-r--r--doc/apt-verbatim.ent2
-rw-r--r--doc/apt.ent4
-rw-r--r--doc/po/apt-doc.pot4
-rw-r--r--po/apt-all.pot4
-rw-r--r--po/zh_CN.po19
-rwxr-xr-xtest/integration/run-tests2
-rwxr-xr-xtest/integration/test-apt-get-satisfy89
-rwxr-xr-xtest/integration/test-github-111-invalid-armember6
-rwxr-xr-xtest/integration/test-policy-pinning23
14 files changed, 150 insertions, 59 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 55469d8d4..b8836763d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -200,7 +200,7 @@ endif()
# Configure some variables like package, version and architecture.
set(PACKAGE ${PROJECT_NAME})
set(PACKAGE_MAIL "APT Development Team <deity@lists.debian.org>")
-set(PACKAGE_VERSION "2.3.14")
+set(PACKAGE_VERSION "2.3.15")
string(REGEX MATCH "^[0-9.]+" PROJECT_VERSION ${PACKAGE_VERSION})
if (NOT DEFINED DPKG_DATADIR)
diff --git a/apt-private/private-source.cc b/apt-private/private-source.cc
index e007c542f..14bc5b43e 100644
--- a/apt-private/private-source.cc
+++ b/apt-private/private-source.cc
@@ -740,7 +740,7 @@ bool DoBuildDep(CommandLine &CmdL)
break;
}
}
- std::string const pseudo = "command line argument";
+ std::string const pseudo = "satisfy:command-line";
WriteBuildDependencyPackage(buildDepsPkgFile, pseudo, pseudoArch, BuildDeps);
pseudoPkgs.emplace_back(pseudo, pseudoArch, "");
}
diff --git a/debian/apt.dirs b/debian/apt.dirs
index 54adcaa05..3e1f9e1d3 100644
--- a/debian/apt.dirs
+++ b/debian/apt.dirs
@@ -1,2 +1,3 @@
etc/kernel/postinst.d
usr/share/bug/apt
+etc/apt/keyrings
diff --git a/debian/changelog b/debian/changelog
index f4525287c..3de4149a5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,26 @@
+apt (2.3.15) unstable; urgency=medium
+
+ [ Arnaud Rebillout ]
+ * Fix incorrect type when parsing Size (int to unsigned long long)
+ (Closes: #1004064)
+
+ [ Julian Andres Klode ]
+ * Add a --full mode to apt show
+
+ [ Ville Skyttä ]
+ * Fix "was already not hold" message grammar
+
+ [ Jörn-Thorben Hinz ]
+ * Also bash-complete .deb filenames after `apt install` for paths starting with ~
+ * Bash-complete either package name or .deb filename for `apt install`
+ * Start bash-completing .deb file paths after the first . passed in an argument to `apt install`
+ * Provide bash-completion of .dsc filenames for `apt build-dep`
+ (Closes: #985899)
+ * Don’t fail bash-completion for `apt` when the nounset option is set
+ * bash-completion: Don’t misidentify short options as commands to `apt`
+
+ -- Julian Andres Klode <jak@debian.org> Tue, 01 Feb 2022 18:04:58 +0100
+
apt (2.3.14) unstable; urgency=medium
[ Helge Kreutzmann ]
diff --git a/doc/apt-key.8.xml b/doc/apt-key.8.xml
index eace6a02e..6167a7826 100644
--- a/doc/apt-key.8.xml
+++ b/doc/apt-key.8.xml
@@ -196,6 +196,34 @@
</variablelist>
</refsect1>
+ <refsect1><title>Deprecation</title>
+
+ <para>Except for using <command>apt-key del</command> in maintainer scripts, the use of <command>apt-key</command> is deprecated. This section shows how to replace existing use of <command>apt-key</command>.</para>
+
+<para>If your existing use of <command>apt-key add</command> looks like this:</para>
+<para><literal>wget -qO- https://myrepo.example/myrepo.asc | sudo apt-key add -</literal></para>
+<para>Then you can directly replace this with:</para>
+<para><literal>wget -qO- https://myrepo.example/myrepo.asc | sudo tee /etc/apt/trusted.gpg.d/myrepo.asc</literal></para>
+<para>Make sure to use the "<literal>asc</literal>" extension for ASCII armored
+keys and the "<literal>gpg</literal>" extension for the binary OpenPGP
+format (also known as "GPG key public ring"). The binary OpenPGP format works
+for all apt versions, while the ASCII armored format works for apt version >=
+1.4.</para>
+<para>Instead of placing keys into the <filename>/etc/apt/trusted.gpg.d</filename>
+directory, you can place them anywhere on your filesystem by using the
+<literal>Signed-By</literal> option in your <literal>sources.list</literal> and
+pointing to the filename of the key. See &sources-list; for details.
+Since APT 2.4, <filename>/etc/apt/keyrings</filename> is provided as the recommended
+location for keys not managed by packages.
+When using a deb822-style sources.list, and with apt version >= 2.4, the
+<literal>Signed-By</literal> option can also be used to include the full ASCII
+armored keyring directly in the <literal>sources.list</literal> without an
+additional file.
+</para>
+
+ </refsect1>
+
+
<refsect1><title>Files</title>
<variablelist>
diff --git a/doc/apt-verbatim.ent b/doc/apt-verbatim.ent
index 9d11593a3..f8217839d 100644
--- a/doc/apt-verbatim.ent
+++ b/doc/apt-verbatim.ent
@@ -274,7 +274,7 @@
">
<!-- this will be updated by 'prepare-release' -->
-<!ENTITY apt-product-version "2.3.14">
+<!ENTITY apt-product-version "2.3.15">
<!-- (Code)names for various things used all over the place -->
<!ENTITY debian-oldstable-codename "buster">
diff --git a/doc/apt.ent b/doc/apt.ent
index 6a3837b95..db4cb6f38 100644
--- a/doc/apt.ent
+++ b/doc/apt.ent
@@ -159,6 +159,10 @@
be stored here (by other packages or the administrator).
Configuration Item <literal>Dir::Etc::TrustedParts</literal>.</para></listitem>
</varlistentry>
+ <varlistentry><term><filename>/etc/apt/keyrings/</filename></term>
+ <listitem><para>Place to store additional keyrings to be used with <literal>Signed-By</literal>.
+ </para></listitem>
+ </varlistentry>
">
<!ENTITY file-extended_states "
diff --git a/doc/po/apt-doc.pot b/doc/po/apt-doc.pot
index d481cc219..7262ce2f9 100644
--- a/doc/po/apt-doc.pot
+++ b/doc/po/apt-doc.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: apt-doc 2.3.14\n"
+"Project-Id-Version: apt-doc 2.3.15\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2022-01-06 20:58+0100\n"
+"POT-Creation-Date: 2022-02-01 18:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/po/apt-all.pot b/po/apt-all.pot
index 2df553d33..095d5490b 100644
--- a/po/apt-all.pot
+++ b/po/apt-all.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: apt 2.3.14\n"
+"Project-Id-Version: apt 2.3.15\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
-"POT-Creation-Date: 2022-01-06 20:58+0100\n"
+"POT-Creation-Date: 2022-02-01 18:06+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index c387f87fd..e44dddff5 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -5,14 +5,14 @@
# Carlos Z.F. Liu <carlosliu@users.sourceforge.net>, 2004, 2006.
# Aron Xu <happyaron.xu@gmail.com>, 2009, 2010.
# Mo Zhou <cdluminate@gmail.com>, 2014, 2015, 2016, 2017, 2019.
-# Boyuan Yang <073plan@gmail.com>, 2018, 2020.
+# Boyuan Yang <073plan@gmail.com>, 2018, 2020, 2022.
#
msgid ""
msgstr ""
-"Project-Id-Version: apt 2.0.1\n"
+"Project-Id-Version: apt 2.3.15\n"
"Report-Msgid-Bugs-To: APT Development Team <deity@lists.debian.org>\n"
"POT-Creation-Date: 2021-11-17 18:30+0100\n"
-"PO-Revision-Date: 2020-03-26 17:38-0400\n"
+"PO-Revision-Date: 2022-02-03 13:55-0500\n"
"Last-Translator: Boyuan Yang <073plan@gmail.com>\n"
"Language-Team: Chinese (simplified) <debian-l10n-chinese@lists.debian.org>\n"
"Language: zh_CN\n"
@@ -20,7 +20,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 2.3\n"
+"X-Generator: Poedit 3.0.1\n"
#: apt-pkg/acquire-item.cc
msgid ""
@@ -650,10 +650,9 @@ msgid "Tar checksum failed, archive corrupted"
msgstr "Tar 的校验和不符,文件已损坏"
#: apt-pkg/contrib/extracttar.cc
-#, fuzzy, c-format
-#| msgid "Unknown TAR header type %u, member %s"
+#, c-format
msgid "Unknown TAR header type %u"
-msgstr "未知的 TAR 数据头类型 %u,成员 %s"
+msgstr "未知的 TAR 数据头类型 %u"
#: apt-pkg/contrib/fileutl.cc
#, c-format
@@ -1880,7 +1879,7 @@ msgstr "虽然您指定了仅执行常规操作,但这并不是常规操作。
msgid ""
"Removing essential system-critical packages is not permitted. This might "
"break the system."
-msgstr ""
+msgstr "不允许移除系统必需的关键软件包。这么做可能损坏系统。"
#: apt-private/private-install.cc cmdline/apt-mark.cc
msgid "Do you want to continue?"
@@ -2015,7 +2014,7 @@ msgstr "正在列表"
msgid "There is %i additional version. Please use the '-a' switch to see it"
msgid_plural ""
"There are %i additional versions. Please use the '-a' switch to see them."
-msgstr[0] "还有 %i 个版本。请使用 -a 选项来查看它(他们)。"
+msgstr[0] "还有 %i 个版本。请使用 -a 选项来查看它(它们)。"
#. TRANSLATORS: placeholder is a binary name like apt or apt-get
#: apt-private/private-main.cc
@@ -2243,7 +2242,7 @@ msgstr " 版本列表:"
#: apt-private/private-show.cc
msgid "phased"
-msgstr ""
+msgstr "阶段更新"
#: apt-private/private-source.cc
#, c-format
diff --git a/test/integration/run-tests b/test/integration/run-tests
index 80f1fc61d..f5a39f244 100755
--- a/test/integration/run-tests
+++ b/test/integration/run-tests
@@ -104,6 +104,8 @@ if [ -n "$APT_TEST_JOBS" ]; then
parallel=parallel
if command -v moreutils-parallel >/dev/null 2>&1; then
parallel=moreutils-parallel
+ elif command -v parallel.moreutils >/dev/null 2>&1; then
+ parallel=parallel.moreutils
fi
exec $parallel -j "$APT_TEST_JOBS" "./$(basename "$0")" -- $(echo "$TESTLIST")
fi
diff --git a/test/integration/test-apt-get-satisfy b/test/integration/test-apt-get-satisfy
index 23daf069a..267760ffd 100755
--- a/test/integration/test-apt-get-satisfy
+++ b/test/integration/test-apt-get-satisfy
@@ -13,9 +13,12 @@ insertinstalledpackage 'conflicts' 'i386' '1' 'Multi-Arch: same'
insertinstalledpackage 'conflicts' 'amd64' '1' 'Multi-Arch: same'
setupaptarchive
-
-testsuccessequal "Reading package lists...
-Building dependency tree...
+testrun() {
+ local TYPE="$1"
+ local HEADER="$2"
+ shift 2
+ msgmsg "$TYPE: Normal"
+ testsuccessequal "$HEADER
The following packages will be REMOVED:
conflicts
The following NEW packages will be installed:
@@ -23,10 +26,9 @@ The following NEW packages will be installed:
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
Remv conflicts [1]
Inst depends (1 stable [i386])
-Conf depends (1 stable [i386])" aptget satisfy --simulate "depends (>= 1)" "Conflicts: conflicts:i386 (>= 1) [i386], conflicts:amd64 (>= 1) [amd64]"
+Conf depends (1 stable [i386])" aptget satisfy --simulate "depends (>= 1)" "Conflicts: conflicts:i386 (>= 1) [i386], conflicts:amd64 (>= 1) [amd64]" "$@"
-testsuccessequal "Reading package lists...
-Building dependency tree...
+ testsuccessequal "$HEADER
The following packages will be REMOVED:
conflicts:amd64
The following NEW packages will be installed:
@@ -34,43 +36,76 @@ The following NEW packages will be installed:
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
Remv conflicts:amd64 [1]
Inst depends:amd64 (1 stable [amd64])
-Conf depends:amd64 (1 stable [amd64])" aptget satisfy --simulate "depends (>= 1)" "Conflicts: conflicts:i386 (>= 1) [i386], conflicts:amd64 (>= 1) [amd64]" --host-architecture amd64
+Conf depends:amd64 (1 stable [amd64])" aptget satisfy --simulate "depends (>= 1)" "Conflicts: conflicts:i386 (>= 1) [i386], conflicts:amd64 (>= 1) [amd64]" --host-architecture amd64 "$@"
-msgmsg "Build profile"
+ msgmsg "$TYPE: Build profile"
-testsuccessequal "Reading package lists...
-Building dependency tree...
-0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget satisfy --simulate "depends:amd64 <a>, depends:i386 <i>"
+ testsuccessequal "$HEADER
+0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget satisfy --simulate "depends:amd64 <a>, depends:i386 <i>" "$@"
-testsuccessequal "Reading package lists...
-Building dependency tree...
+ testsuccessequal "$HEADER
The following NEW packages will be installed:
depends:amd64
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Inst depends:amd64 (1 stable [amd64])
-Conf depends:amd64 (1 stable [amd64])" aptget satisfy --simulate "depends:amd64 <a>, depends:i386 <i>" -P a
+Conf depends:amd64 (1 stable [amd64])" aptget satisfy --simulate "depends:amd64 <a>, depends:i386 <i>" -P a "$@"
-testsuccessequal "Reading package lists...
-Building dependency tree...
+ testsuccessequal "$HEADER
The following NEW packages will be installed:
depends
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Inst depends (1 stable [i386])
-Conf depends (1 stable [i386])" aptget satisfy --simulate "depends:amd64 <a>, depends:i386 <i>" -P i
+Conf depends (1 stable [i386])" aptget satisfy --simulate "depends:amd64 <a>, depends:i386 <i>" -P i "$@"
+ msgmsg "$TYPE: Broken syntax"
+ testfailureequal "E: Problem parsing dependency: apt (>= 2" aptget satisfy 'foo' 'apt (>= 2' -s "$@"
+ testfailureequal "E: Problem parsing dependency: Conflicts: apt (>= 2" aptget satisfy 'foo' 'Conflicts: apt (>= 2' -s "$@"
-msgmsg "Broken syntax"
-testfailureequal "E: Problem parsing dependency: apt (>= 2" aptget satisfy 'foo' 'apt (>= 2' -s
-testfailureequal "E: Problem parsing dependency: Conflicts: apt (>= 2" aptget satisfy 'foo' 'Conflicts: apt (>= 2' -s
+ msgmsg "$TYPE: Legacy operators"
+ testfailureequal "E: Invalid operator '<' at offset 5, did you mean '<<' or '<='? - in: foo (< 1)" aptget satisfy 'foo (< 1)' -s "$@"
+ testfailureequal "E: Invalid operator '>' at offset 5, did you mean '>>' or '>='? - in: foo (> 1)" aptget satisfy 'foo (> 1)' -s "$@"
+ msgmsg "$TYPE: Unsupported dependency type"
+ testfailureequal "E: Problem parsing dependency: Recommends: foo" aptget satisfy 'Recommends: foo' -s "$@"
-msgmsg "Legacy operators"
-testfailureequal "E: Invalid operator '<' at offset 5, did you mean '<<' or '<='? - in: foo (< 1)" aptget satisfy 'foo (< 1)' -s
-testfailureequal "E: Invalid operator '>' at offset 5, did you mean '>>' or '>='? - in: foo (> 1)" aptget satisfy 'foo (> 1)' -s
+ msgmsg "$TYPE: Empty dependency"
+ testfailureequal "E: Problem parsing dependency: " aptget satisfy '' -s "$@"
+}
-msgmsg "Unsupported dependency type"
-testfailureequal "E: Problem parsing dependency: Recommends: foo" aptget satisfy 'Recommends: foo' -s
+testrun 'Internal' 'Reading package lists...
+Building dependency tree...'
+testrun 'External' 'Reading package lists...
+Building dependency tree...
+Execute external solver...' --solver apt
+
+testfailureequal "Reading package lists...
+Building dependency tree...
+Some packages could not be installed. This may mean that you have
+requested an impossible situation or if you are using the unstable
+distribution that some required packages have not yet been created
+or been moved out of Incoming.
+The following information may help to resolve the situation:
-msgmsg "Empty dependency"
-testfailureequal "E: Problem parsing dependency: " aptget satisfy '' -s
+The following packages have unmet dependencies:
+ satisfy:command-line : Depends: depends (>= 2) but it is not going to be installed
+E: Unable to correct problems, you have held broken packages." aptget satisfy --simulate "depends (>= 2)" "Conflicts: conflicts:i386 (>= 1) [i386], conflicts:amd64 (>= 1) [amd64]"
+
+testfailureequal "Reading package lists...
+Building dependency tree...
+Execute external solver...
+The solver encountered an error of type: ERR_UNSOLVABLE
+The following information might help you to understand what is wrong:
+The following packages have unmet dependencies:
+ satisfy:command-line : Depends: depends (>= 2) but it is not going to be installed
+
+Some packages could not be installed. This may mean that you have
+requested an impossible situation or if you are using the unstable
+distribution that some required packages have not yet been created
+or been moved out of Incoming.
+The following information may help to resolve the situation:
+
+The following packages have unmet dependencies:
+ satisfy:command-line : Depends: depends (>= 2) but it is not going to be installed
+ Conflicts: conflicts:i386 (>= 1)
+E: External solver failed with: The following packages have unmet dependencies:" aptget satisfy --simulate "depends (>= 2)" "Conflicts: conflicts:i386 (>= 1) [i386], conflicts:amd64 (>= 1) [amd64]" --solver apt
diff --git a/test/integration/test-github-111-invalid-armember b/test/integration/test-github-111-invalid-armember
index e4b897ec3..2340321ce 100755
--- a/test/integration/test-github-111-invalid-armember
+++ b/test/integration/test-github-111-invalid-armember
@@ -9,13 +9,13 @@ setupaptarchive
# this used to crash, but it should treat it as an invalid member header
touch ' '
-ar -q test.deb ' '
+testsuccess ar -q test.deb ' '
testsuccessequal "E: Invalid archive member header" ${APTTESTHELPERSBINDIR}/testdeb test.deb
rm test.deb
touch 'x'
-ar -q test.deb 'x'
+testsuccess ar -q test.deb 'x'
testsuccessequal "E: This is not a valid DEB archive, missing 'debian-binary' member" ${APTTESTHELPERSBINDIR}/testdeb test.deb
@@ -30,5 +30,5 @@ gzip control.tar
cp control.tar.gz data.tar.gz
touch debian-binary
rm test.deb
-ar -q test.deb debian-binary control.tar.gz data.tar.gz
+testsuccess ar -q test.deb debian-binary control.tar.gz data.tar.gz
testsuccessequal "W: Unknown TAR header type 88" ${APTTESTHELPERSBINDIR}/testdeb test.deb
diff --git a/test/integration/test-policy-pinning b/test/integration/test-policy-pinning
index 23e90bab6..fccef6da3 100755
--- a/test/integration/test-policy-pinning
+++ b/test/integration/test-policy-pinning
@@ -18,9 +18,9 @@ testequalpolicy() {
local AP="$2"
shift 2
testsuccessequal "Package files:
- $(echo "$SP" | awk '{ printf("%3s\n",$0) }') ${STATUS}
+ $(printf '%3s' "$SP") ${STATUS}
release a=now
- $(echo "$AP" | awk '{ printf("%3s\n",$0) }') file:${APTARCHIVE} Packages
+ $(printf '%3s' "$AP") file:${APTARCHIVE} Packages
release c=
Pinned packages:" aptcache policy "$@"
}
@@ -110,11 +110,11 @@ testequalpolicycoolstuff() {
local BPO2ARCHIVE=""
if [ ! "$7" = "2.0~bpo2" ]; then
BPO1PIN="$AB"
- BPO1ARCHIVE=" $(echo "$AB" | awk '{ printf("%3s\n",$0) }') file:${APTARCHIVE} backports/main all Packages"
+ BPO1ARCHIVE=" $(printf '%3s' "$AB") file:${APTARCHIVE} backports/main all Packages"
else
BPO2ARCHIVE="
2.0~bpo2 $AB
- $(echo "$AB" | awk '{ printf("%3s\n",$0) }') file:${APTARCHIVE} backports/main all Packages"
+ $(printf '%3s' "$AB") file:${APTARCHIVE} backports/main all Packages"
SB="$(echo "$SB" | tail -n 1)"
shift
fi
@@ -126,7 +126,7 @@ testequalpolicycoolstuff() {
$IB 2.0~bpo1 $PB
${BPO1ARCHIVE}$SB
$IS 1.0 $AS
- $(echo "$AS" | awk '{ printf("%3s\n",$0) }') file:${APTARCHIVE} stable/main all Packages$SS" \
+ $(printf '%3s' "$AS") file:${APTARCHIVE} stable/main all Packages$SS" \
aptcache policy coolstuff -o Policy=${INSTALLED}-${CANDIDATE}-${AB}-${AS}-${PB} $*
}
@@ -157,9 +157,8 @@ testequalpolicycoolstuff "" "1.0" 500 990 600 "" -o Test=RegexPin -t stable
echo "Package: coolstuff
Pin: release n=backports
Pin-Priority: 200" > rootdir/etc/apt/preferences
-#FIXME: policy can't differentiate between two sources where one has a package specific pin in place
-# testequalpolicycoolstuff "" "1.0" 500 500 200 "2.0~bpo1" -o Test=PackagePin
-# testequalpolicycoolstuff "" "1.0" 990 500 200 "2.0~bpo1" -o Test=PackagePin -t backports
+testequalpolicycoolstuff "" "1.0" 500 500 200 "2.0~bpo1" -o Test=PackagePin
+testequalpolicycoolstuff "" "1.0" 990 500 200 "2.0~bpo1" -o Test=PackagePin -t backports
testequalpolicycoolstuff "" "1.0" 500 990 200 "2.0~bpo1" -o Test=PackagePin -t stable
echo "Package: coolstuff
Pin: release n=backports
@@ -171,9 +170,9 @@ testequalpolicycoolstuff "" "2.0~bpo1" 990 500 600 "2.0~bpo1" -o Test=PackagePin
echo "Package: coolstuff
Pin: release n=backports
Pin-Priority: -1" > rootdir/etc/apt/preferences
-# testequalpolicycoolstuff "" "1.0" 500 500 -1 "2.0~bpo1" -o Test=PackagePin
-# testequalpolicycoolstuff "" "1.0" 990 500 -1 "2.0~bpo1" -o Test=PackagePin -t backports
-# testequalpolicycoolstuff "" "1.0" 500 990 -1 "2.0~bpo1" -o Test=PackagePin -t stable
+testequalpolicycoolstuff "" "1.0" 500 500 -1 "2.0~bpo1" -o Test=PackagePin
+testequalpolicycoolstuff "" "1.0" 990 500 -1 "2.0~bpo1" -o Test=PackagePin -t backports
+testequalpolicycoolstuff "" "1.0" 500 990 -1 "2.0~bpo1" -o Test=PackagePin -t stable
rm rootdir/etc/apt/preferences
sed -i aptarchive/dists/backports/Release -e 1i"NotAutomatic: yes"
@@ -268,7 +267,7 @@ testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo2" 100 990 100 "" "2.0~bpo2" -o Test
testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo2" 990 500 100 "" "2.0~bpo2" -o Test=ButAutomaticUpgrades -t backports
-tmppath=$(readlink -f .)
+tmppath="$(readlink -f .)"
# Check 16-bit integers
echo "Package: coolstuff