diff mbox series

[v3,1/1] UBUNTU: [Packaging] Add a new migrate autogenerate option

Message ID 20230511105415.2037049-2-tjaalton@ubuntu.com
State New
Headers show
Series Add lrm autogenerated transitional independent of variants | expand

Commit Message

Timo Aaltonen May 11, 2023, 10:54 a.m. UTC
From: Kleber Sacilotto de Souza <kleber.souza@canonical.com>

BugLink: https://bugs.launchpad.net/bugs/1991130

Add a new "migrate" command to be used by 'debian/package.config' which
contrary to "transitional" doesn't have the autogenerated contents
filtered out by 'debian/rules.in' depending on the source's variants.

Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Signed-off-by: Timo Aaltonen <timo.aaltonen@canonical.com>
---
 debian/scripts/generate-rules | 34 ++++++++++++++++++++++++----------
 1 file changed, 24 insertions(+), 10 deletions(-)

v2: rebased, and added Provides which is needed to replace the old driver
v3: pull the version separate so there's less duplication, also NNN-server and -open
    now get handled correctly, and use the same loop as for hwe transitionals
diff mbox series

Patch

diff --git a/debian/scripts/generate-rules b/debian/scripts/generate-rules
index d9a2a10..f88ea43 100755
--- a/debian/scripts/generate-rules
+++ b/debian/scripts/generate-rules
@@ -38,6 +38,7 @@  mkdir -p "debian/control.d"
 : >"debian/control.d/nvidia"
 : >"debian/control.d/migrate-nvidia"
 : >"debian/control.d/transitionals-local"
+: >"debian/control.d/migrate-local"
 : >"debian/control.d/signatures"
 
 cat - "debian/rules.in" >"debian/rules.gen" <<EOL
@@ -260,22 +261,35 @@  EOL
 	done <"debian/dkms-versions"
 done <"debian/package.config"
 
-while read command from to archs
+while read command version from to archs
 do
 	case "$command" in
-	transitional)	;;
-	*)		continue ;;
-	esac
+	transitional)
+	    # debian/control.d/transitionals-local
+	    echo "II: manual transition linux-modules-nvidia-$version-$from -> linux-modules-nvidia-$version-$to $archs"
+	    cat - >>"debian/control.d/transitionals-local" <<EOL
 
-	# debian/control.d/transitionals-local
-	echo "II: manual transition linux-modules-nvidia-$from -> linux-modules-nvidia-$to $archs"
-	cat - >>"debian/control.d/transitionals-local" <<EOL
+Package: linux-modules-nvidia-${version}-${from}
+Architecture: ${archs}
+Section: oldlibs
+Depends: linux-modules-nvidia-${version}-${to}
+Description: Extra drivers for nvidia-${version}-${from} (dummy transitional package)
+ Transitional package for upgrades of ${from} to ${to}.
+EOL
+	;;
+	migrate)
+	    # debian/control.d/migrate-local
+	    echo "II: manual migration linux-modules-nvidia-$version-$from -> linux-modules-nvidia-$version-$to"
+	    cat - >>"debian/control.d/migrate-local" <<EOL
 
-Package: linux-modules-nvidia-${from}
+Package: linux-modules-nvidia-${version}-${from}
 Architecture: ${archs}
 Section: oldlibs
-Depends: linux-modules-nvidia-${to}
-Description: Extra drivers for nvidia-${from} (dummy transitional package)
+Provides: \${dkms:nvidia-${version}-modules}, nvidia-prebuilt-kernel
+Depends: linux-modules-nvidia-${version}-${to}
+Description: Extra drivers for nvidia-${version}-${from} (dummy transitional package)
  Transitional package for upgrades of ${from} to ${to}.
 EOL
+	;;
+	esac
 done <"debian/package.config"