Browse Source

Add kernels with "+" in the package name to APT::NeverAutoRemove

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
tags/debian/1.3_pre2
Andrew Patterson David Kalnischkies 5 years ago
parent
commit
130176bcb6
2 changed files with 10 additions and 4 deletions
  1. +1
    -1
      debian/apt.auto-removal.sh
  2. +9
    -3
      test/integration/test-kernel-helper-autoremove

+ 1
- 1
debian/apt.auto-removal.sh View 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


+ 9
- 3
test/integration/test-kernel-helper-autoremove View File

@@ -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



Loading…
Cancel
Save