]> git.saurik.com Git - apt.git/commitdiff
Add kernels with "+" in the package name to APT::NeverAutoRemove
authorAndrew Patterson <andrew.patterson@hpe.com>
Wed, 6 Jul 2016 19:40:16 +0000 (13:40 -0600)
committerDavid Kalnischkies <david@kalnischkies.de>
Fri, 8 Jul 2016 06:44:05 +0000 (08:44 +0200)
Escape "+" in kernel package names when generating APT::NeverAutoRemove
list so it is not treated as a regular expression meta-character.

[Changed by David Kalnischkies: let test actually test the change]

Closes: #830159
debian/apt.auto-removal.sh
test/integration/test-kernel-helper-autoremove

index e7e2ca025b038f732ea8575c33f6fceb3fdf6054..608d950b5d2fd779097352bd2e1ec907718222ef 100644 (file)
@@ -38,7 +38,7 @@ $running_version
 $previous_version" | sort -u | sed -e '/^$/ d')"
 kernels="$( (echo "$1
 $unamer"; for deb in $debkernels; do echo "$list" | awk "\$2 == \"$deb\" { print \$1; }"; done; ) \
-   | sed -e 's#\.#\\.#g' -e '/^$/ d' | sort -u)"
+   | sed -e 's#\([\.\+]\)#\\\1#g' -e '/^$/ d' | sort -u)"
 
 generateconfig() {
        cat <<EOF
index 2e8da1c1e241e1a90421cec677f21d3455f7abb7..417dafd650d9ec06a67072614d0cf6c692c4922f 100755 (executable)
@@ -21,9 +21,11 @@ insertinstalledpackage 'linux-image-amd64' 'amd64' '200-1'
 insertinstalledpackage 'linux-image-686-pae' 'i386' '300-1'
 # ensure that the '.' is really a dot and not a wildcard
 insertinstalledpackage 'linux-headers-1000000-1-generic' 'amd64' '100.0.0-1'
+# ensure that the '+' is really a plus and not a regexp quantifier
+insertinstalledpackage "${CURRENTKERNEL}+variant" 'amd64' '5-1'
 
 testsuccess aptmark auto "$CURRENTKERNEL" "${CURRENTKERNEL}-dbg" "${CURRENTKERNEL}-686-pae:i386" "${CURRENTKERNEL}-rt" \
-       'linux-image-1.0.0-2-generic' 'linux-image-100.0.0-1-generic' 'linux-headers-1000000-1-generic'
+       'linux-image-1.0.0-2-generic' 'linux-image-100.0.0-1-generic' 'linux-headers-1000000-1-generic' "${CURRENTKERNEL}+variant"
 testsuccess aptmark hold "${CURRENTKERNEL}-rt"
 
 testprotected() {
@@ -65,6 +67,7 @@ The following packages were automatically installed and are no longer required:
    linux-image-1.0.0-2-generic (1.0.0-2)
    linux-image-100.0.0-1-generic (100.0.0-1)
    $CURRENTKERNEL (5-1)
+   ${CURRENTKERNEL}+variant (5-1)
    ${CURRENTKERNEL}-686-pae:i386 (5-1)
    ${CURRENTKERNEL}-dbg (5-1)
 Use '$AUTOREMOVE' to remove them.
@@ -77,6 +80,7 @@ The following packages were automatically installed and are no longer required:
    linux-image-1.0.0-2-generic (1.0.0-2)
    linux-image-100.0.0-1-generic (100.0.0-1)
    $CURRENTKERNEL (5-1)
+   ${CURRENTKERNEL}+variant (5-1)
    ${CURRENTKERNEL}-686-pae:i386 (5-1)
    ${CURRENTKERNEL}-dbg (5-1)
    ${CURRENTKERNEL}-rt (5-1)
@@ -85,7 +89,7 @@ Use '$AUTOREMOVE' to remove them.
 testequal "Reading package lists...
 Building dependency tree...
 Reading state information...
-6 packages were automatically installed and are no longer required.
+7 packages were automatically installed and are no longer required.
 Use '$AUTOREMOVE' to remove them.
 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget install -s -o APT::Get::HideAutoRemove=small
 testequal "Reading package lists...
@@ -96,13 +100,15 @@ The following packages will be REMOVED:
    linux-image-1.0.0-2-generic (1.0.0-2)
    linux-image-100.0.0-1-generic (100.0.0-1)
    $CURRENTKERNEL (5-1)
+   ${CURRENTKERNEL}+variant (5-1)
    ${CURRENTKERNEL}-686-pae:i386 (5-1)
    ${CURRENTKERNEL}-dbg (5-1)
-0 upgraded, 0 newly installed, 6 to remove and 0 not upgraded.
+0 upgraded, 0 newly installed, 7 to remove and 0 not upgraded.
 Remv linux-headers-1000000-1-generic [100.0.0-1]
 Remv linux-image-1.0.0-2-generic [1.0.0-2]
 Remv linux-image-100.0.0-1-generic [100.0.0-1]
 Remv $CURRENTKERNEL [5-1]
+Remv ${CURRENTKERNEL}+variant [5-1]
 Remv ${CURRENTKERNEL}-686-pae:i386 [5-1]
 Remv ${CURRENTKERNEL}-dbg [5-1]" aptget autoremove -sV