diff mbox series

[Unstable/Noble] UBUNTU: [Packaging] Remove update-dkms-versions and move dkms-versions

Message ID 20240206130012.1545656-1-juerg.haefliger@canonical.com
State New
Headers show
Series [Unstable/Noble] UBUNTU: [Packaging] Remove update-dkms-versions and move dkms-versions | expand

Commit Message

Juerg Haefliger Feb. 6, 2024, 1 p.m. UTC
Remove the update-dkms-versions script from the tree, it's replaced by
'cranky update-dkms-versions', move the dkms-versions file and fix all
references to the old location.

Signed-off-by: Juerg Haefliger <juerg.haefliger@canonical.com>
---
 {debian => debian.master}/dkms-versions |   0
 debian/rules.d/0-common-vars.mk         |   2 +-
 debian/scripts/control-create           |   2 +-
 update-dkms-versions                    | 195 ------------------------
 4 files changed, 2 insertions(+), 197 deletions(-)
 rename {debian => debian.master}/dkms-versions (100%)
 delete mode 100755 update-dkms-versions

Comments

Dimitri John Ledkov Feb. 7, 2024, 1:10 a.m. UTC | #1
Applied to unstable

On Tue, 6 Feb 2024 at 13:01, Juerg Haefliger
<juerg.haefliger@canonical.com> wrote:
>
> Remove the update-dkms-versions script from the tree, it's replaced by
> 'cranky update-dkms-versions', move the dkms-versions file and fix all
> references to the old location.
>
> Signed-off-by: Juerg Haefliger <juerg.haefliger@canonical.com>
> ---
>  {debian => debian.master}/dkms-versions |   0
>  debian/rules.d/0-common-vars.mk         |   2 +-
>  debian/scripts/control-create           |   2 +-
>  update-dkms-versions                    | 195 ------------------------
>  4 files changed, 2 insertions(+), 197 deletions(-)
>  rename {debian => debian.master}/dkms-versions (100%)
>  delete mode 100755 update-dkms-versions
>
> diff --git a/debian/dkms-versions b/debian.master/dkms-versions
> similarity index 100%
> rename from debian/dkms-versions
> rename to debian.master/dkms-versions
> diff --git a/debian/rules.d/0-common-vars.mk b/debian/rules.d/0-common-vars.mk
> index 0f6108d7ca05..8f57611ad971 100644
> --- a/debian/rules.d/0-common-vars.mk
> +++ b/debian/rules.d/0-common-vars.mk
> @@ -233,7 +233,7 @@ all_dkms_modules =
>  subst_paired = $(subst $(firstword $(subst =, ,$(1))),$(lastword $(subst =, ,$(1))),$(2))
>  recursive_call = $(if $(2),$(call recursive_call,$(1),$(wordlist 2,$(words $(2)),$(2)),$(call $(1),$(firstword $(2)),$(3))),$(3))
>
> -$(foreach _line,$(shell gawk '{ OFS = "!"; $$1 = $$1; print }' $(DROOT)/dkms-versions), \
> +$(foreach _line,$(shell gawk '{ OFS = "!"; $$1 = $$1; print }' $(DEBIAN)/dkms-versions), \
>    $(eval _params = $(subst !, ,$(_line))) \
>    $(eval _deb_pkgname = $(firstword $(_params))) \
>    $(eval _deb_version = $(word 2,$(_params))) \
> diff --git a/debian/scripts/control-create b/debian/scripts/control-create
> index 32ef0f2df536..f2af8b9bb2f4 100755
> --- a/debian/scripts/control-create
> +++ b/debian/scripts/control-create
> @@ -59,4 +59,4 @@ do
>                 -e "s#ARCH#$arch#g"             \
>                 -e "s#MODULE#$module#g"         \
>                 -e "s#FLAVOUR#$flavour#g"
> -done <"debian/dkms-versions"
> +done <"${DEBIAN}/dkms-versions"
> diff --git a/update-dkms-versions b/update-dkms-versions
> deleted file mode 100755
> index e0ab5898ac36..000000000000
> --- a/update-dkms-versions
> +++ /dev/null
> @@ -1,195 +0,0 @@
> -#!/bin/bash
> -
> -remote_repo=''
> -remote_branch='main'
> -sru_cycle=
> -while :
> -do
> -       if [ "$1" = "--remote-repo" ]; then
> -               remote_repo="$2"
> -               shift 2
> -
> -       elif [ "$1" = "--remote-branch" ]; then
> -               remote_branch="$2"
> -               shift 2
> -
> -       elif [ "$1" = "--sru-cycle" ]; then
> -               sru_cycle="$2"
> -               shift 2
> -
> -       else
> -               break
> -       fi
> -done
> -if [ "$#" -ne 0 ]; then
> -       {
> -               echo "Usage: $0 [<options>]"
> -               echo "       --remote-repo <url>"
> -               echo "       --sru-cycle <cycle>"
> -       } 1>&2
> -       exit 1
> -fi
> -
> -default_sru_cycle()
> -{
> -       local tracking_bug
> -       local version
> -
> -       # Pick out the cycle from the tracking bug file.
> -       if [ -f "$DEBIAN/tracking-bug" ]; then
> -               read tracking_bug sru_cycle X <"$DEBIAN/tracking-bug"
> -       fi
> -
> -       if [ -z "$sru_cycle" ]; then
> -               echo "$0: sru-cycle not found via debian/tracking-bug; specify --sru-cycle" 1>&2
> -               exit 1
> -       fi
> -
> -       sru_cycle=$(echo "$sru_cycle" | sed -e 's/-[0-9][0-9]*$//' -e 's/^kernel-sru-cycle-//')
> -
> -       #echo "default_sru_cycle: version<$version> sru_cycle<$sru_cycle>"
> -}
> -
> -# Determine where our changelog is.
> -DEBIAN=debian
> -[ -f 'debian/debian.env' ] && . 'debian/debian.env'
> -
> -[ -z "$sru_cycle" ] && default_sru_cycle
> -if [ -z "$remote_repo" ]; then
> -       case "$sru_cycle" in
> -       c[0-9][0-9][0-9][0-9].[0-9][0-9].[0-9][0-9])
> -               remote_repo='security' ;;
> -       *)
> -               remote_repo='main' ;;
> -       esac
> -fi
> -case "$remote_repo" in
> -security)
> -       remote_repo='ssh+git://git.launchpad.net/~canonical-kernel-security-team/canonical-kernel-private/+git/kernel-versions'
> -       remote_name='security'
> -       ;;
> -main)
> -       remote_repo='git://git.launchpad.net/~canonical-kernel/+git/kernel-versions'
> -       remote_name='main'
> -       ;;
> -*)
> -       remote_name='adhoc'
> -       ;;
> -esac
> -
> -#
> -# kernel-versoins repository dkms-version mapping see below for details:
> -#  https://git.launchpad.net/~canonical-kernel/+git/kernel-versions/plain/README
> -#
> -kv_repo="$HOME/.cache/kernel-versions-bare"
> -
> -# Now we know where our repo is and what it called update it.
> -# We maintain "persistent" remotes for main and security, but assume
> -# any manually supplied entries are transient.
> -(
> -       [ ! -d "$kv_repo" ] && mkdir -p "$kv_repo"
> -       cd "$kv_repo" || exit 1
> -       [ ! -f config ] && git init -q --bare
> -       current_url=$(git config "remote.$remote_name.url")
> -       if [ -z "$current_url" ]; then
> -               git remote add "$remote_name" "$remote_repo"
> -       elif [ "$current_url" != "$remote_repo" ]; then
> -               git config "remote.$remote_name.url" "$remote_repo"
> -       fi
> -       git fetch -q -p "$remote_name"
> -) || exit 1
> -
> -cat_file()
> -{
> -       (cd "$kv_repo" && git cat-file "$@") || exit 1
> -}
> -
> -present=$(cat_file -t "$remote_name/$remote_branch:devel/" 2>/dev/null)
> -if [ "$present" ]; then
> -       git_base_devel="$remote_name/$remote_branch:devel/"
> -else
> -       git_base_devel="$remote_name/$remote_branch:tip/"
> -fi
> -git_base="$remote_name/$remote_branch:$sru_cycle/"
> -git_human="$remote_name/$sru_cycle"
> -
> -# Determine if we have this cycle.
> -present=$(cat_file -t "$git_base" 2>/dev/null)
> -if [ "$present" = "" ]; then
> -       # If we don't have the cycle in the development cycle then
> -       # fall back to master.
> -       case "$sru_cycle" in
> -       d*)     git_base="$git_base_devel" ;;
> -       *)      echo "$sru_cycle: cycle not found in $remote_repo" 2>&1
> -               exit 1
> -               ;;
> -       esac
> -fi
> -
> -# Determine our series and mainline version from our own changelog.
> -our_series=$(LC_ALL=C dpkg-parsechangelog -l"$DEBIAN/changelog" -SDistribution)
> -if [ "$our_series" = "UNRELEASED" ]; then
> -       our_series=$(LC_ALL=C dpkg-parsechangelog -l"$DEBIAN/changelog" -o1 -c1 -SDistribution)
> -fi
> -our_mainline=$(LC_ALL=C dpkg-parsechangelog -l"$DEBIAN/changelog" -SVersion | sed -e 's/-.*//')
> -our_package=$(LC_ALL=C dpkg-parsechangelog -l"$DEBIAN/changelog" -SSource)
> -our_source=$(echo "$our_package" | sed -e 's/-restricted-modules//')
> -case "$our_package" in
> -linux-restricted-modules*)     our_type="lrm" ;;
> -*)                             our_type="main" ;;
> -esac
> -
> -# Update rules are complex.  We update development series kernels to the
> -# versions in development.  For stable series we update versions against
> -# the series in which our prime kernel was built.  This is expressed
> -# via the map/dkms-versions namespace.  Attempt to map via our series
> -# and then our mainline-version.
> -
> -# Try and find a package specific dkms-versions fragment.  Try:
> -#  handle+type
> -#  series+type
> -#  mainline+type
> -#  series                      - backwards compatibility
> -#  mainline                    - backwards compatibility
> -for versions_path_tail in \
> -       "$our_series:$our_source:$our_type" \
> -       "$our_series:$our_mainline:$our_type" \
> -       "$our_series:$our_type" \
> -       "$our_mainline:$our_type" \
> -       "$our_series" \
> -       "$our_mainline"
> -do
> -       echo "II: trying $versions_path_tail ..."
> -       versions_paths=$(echo $(cat_file -p "${git_base}map/dkms-versions/$versions_path_tail" 2>/dev/null))
> -       [ -n "$versions_paths" ] && break
> -done
> -
> -if [ -z "$versions_paths" ]; then
> -       echo "$0: unable to identify dkms-versions mapping" 1>&2
> -       exit 1
> -fi
> -
> -echo "git_base<$git_base> versions_paths<$versions_paths>"
> -echo "II: grabbing dkms-versions from $sru_cycle $versions_paths"
> -
> -: ">debian/dkms-versions.new"
> -for versions_path in $versions_paths
> -do
> -       cat_file -p "$git_base$versions_path" >>"debian/dkms-versions.new"
> -       if [ "$?" -ne 0 ]; then
> -               echo "$0: unable to download an updated dkms-versions file" 1>&2
> -               exit 1
> -       fi
> -done
> -mv "debian/dkms-versions.new" "debian/dkms-versions"
> -
> -thing="debian/dkms-versions"
> -if ! git diff --exit-code -- "$thing" >/dev/null; then
> -       git commit -m "UBUNTU: $thing -- update from kernel-versions ($git_human)" \
> -               -m "BugLink: https://bugs.launchpad.net/bugs/1786013" \
> -               -s -- "$thing"
> -else
> -       echo "$thing: no changes from kernel-versions"
> -fi
> -
> -exit 0
> --
> 2.40.1
>
>
> --
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
diff mbox series

Patch

diff --git a/debian/dkms-versions b/debian.master/dkms-versions
similarity index 100%
rename from debian/dkms-versions
rename to debian.master/dkms-versions
diff --git a/debian/rules.d/0-common-vars.mk b/debian/rules.d/0-common-vars.mk
index 0f6108d7ca05..8f57611ad971 100644
--- a/debian/rules.d/0-common-vars.mk
+++ b/debian/rules.d/0-common-vars.mk
@@ -233,7 +233,7 @@  all_dkms_modules =
 subst_paired = $(subst $(firstword $(subst =, ,$(1))),$(lastword $(subst =, ,$(1))),$(2))
 recursive_call = $(if $(2),$(call recursive_call,$(1),$(wordlist 2,$(words $(2)),$(2)),$(call $(1),$(firstword $(2)),$(3))),$(3))
 
-$(foreach _line,$(shell gawk '{ OFS = "!"; $$1 = $$1; print }' $(DROOT)/dkms-versions), \
+$(foreach _line,$(shell gawk '{ OFS = "!"; $$1 = $$1; print }' $(DEBIAN)/dkms-versions), \
   $(eval _params = $(subst !, ,$(_line))) \
   $(eval _deb_pkgname = $(firstword $(_params))) \
   $(eval _deb_version = $(word 2,$(_params))) \
diff --git a/debian/scripts/control-create b/debian/scripts/control-create
index 32ef0f2df536..f2af8b9bb2f4 100755
--- a/debian/scripts/control-create
+++ b/debian/scripts/control-create
@@ -59,4 +59,4 @@  do
 		-e "s#ARCH#$arch#g"		\
 		-e "s#MODULE#$module#g"		\
 		-e "s#FLAVOUR#$flavour#g"
-done <"debian/dkms-versions"
+done <"${DEBIAN}/dkms-versions"
diff --git a/update-dkms-versions b/update-dkms-versions
deleted file mode 100755
index e0ab5898ac36..000000000000
--- a/update-dkms-versions
+++ /dev/null
@@ -1,195 +0,0 @@ 
-#!/bin/bash
-
-remote_repo=''
-remote_branch='main'
-sru_cycle=
-while :
-do
-	if [ "$1" = "--remote-repo" ]; then
-		remote_repo="$2"
-		shift 2
-
-	elif [ "$1" = "--remote-branch" ]; then
-		remote_branch="$2"
-		shift 2
-
-	elif [ "$1" = "--sru-cycle" ]; then
-		sru_cycle="$2"
-		shift 2
-
-	else
-		break
-	fi
-done
-if [ "$#" -ne 0 ]; then
-	{
-		echo "Usage: $0 [<options>]"
-		echo "       --remote-repo <url>"
-		echo "       --sru-cycle <cycle>"
-	} 1>&2
-	exit 1
-fi
-
-default_sru_cycle()
-{
-	local tracking_bug
-	local version
-
-	# Pick out the cycle from the tracking bug file.
-	if [ -f "$DEBIAN/tracking-bug" ]; then
-		read tracking_bug sru_cycle X <"$DEBIAN/tracking-bug"
-	fi
-
-	if [ -z "$sru_cycle" ]; then
-		echo "$0: sru-cycle not found via debian/tracking-bug; specify --sru-cycle" 1>&2
-		exit 1
-	fi
-
-	sru_cycle=$(echo "$sru_cycle" | sed -e 's/-[0-9][0-9]*$//' -e 's/^kernel-sru-cycle-//')
-
-	#echo "default_sru_cycle: version<$version> sru_cycle<$sru_cycle>"
-}
-
-# Determine where our changelog is.
-DEBIAN=debian
-[ -f 'debian/debian.env' ] && . 'debian/debian.env'
-
-[ -z "$sru_cycle" ] && default_sru_cycle
-if [ -z "$remote_repo" ]; then
-	case "$sru_cycle" in
-	c[0-9][0-9][0-9][0-9].[0-9][0-9].[0-9][0-9])
-		remote_repo='security' ;;
-	*)
-		remote_repo='main' ;;
-	esac
-fi
-case "$remote_repo" in
-security)
-	remote_repo='ssh+git://git.launchpad.net/~canonical-kernel-security-team/canonical-kernel-private/+git/kernel-versions'
-	remote_name='security'
-	;;
-main)
-	remote_repo='git://git.launchpad.net/~canonical-kernel/+git/kernel-versions'
-	remote_name='main'
-	;;
-*)
-	remote_name='adhoc'
-	;;
-esac
-
-#
-# kernel-versoins repository dkms-version mapping see below for details:
-#  https://git.launchpad.net/~canonical-kernel/+git/kernel-versions/plain/README
-#
-kv_repo="$HOME/.cache/kernel-versions-bare"
-
-# Now we know where our repo is and what it called update it.
-# We maintain "persistent" remotes for main and security, but assume
-# any manually supplied entries are transient.
-(
-	[ ! -d "$kv_repo" ] && mkdir -p "$kv_repo"
-	cd "$kv_repo" || exit 1
-	[ ! -f config ] && git init -q --bare
-	current_url=$(git config "remote.$remote_name.url")
-	if [ -z "$current_url" ]; then
-		git remote add "$remote_name" "$remote_repo"
-	elif [ "$current_url" != "$remote_repo" ]; then
-		git config "remote.$remote_name.url" "$remote_repo"
-	fi
-	git fetch -q -p "$remote_name"
-) || exit 1
-
-cat_file()
-{
-	(cd "$kv_repo" && git cat-file "$@") || exit 1
-}
-
-present=$(cat_file -t "$remote_name/$remote_branch:devel/" 2>/dev/null)
-if [ "$present" ]; then
-	git_base_devel="$remote_name/$remote_branch:devel/"
-else
-	git_base_devel="$remote_name/$remote_branch:tip/"
-fi
-git_base="$remote_name/$remote_branch:$sru_cycle/"
-git_human="$remote_name/$sru_cycle"
-
-# Determine if we have this cycle.
-present=$(cat_file -t "$git_base" 2>/dev/null)
-if [ "$present" = "" ]; then
-	# If we don't have the cycle in the development cycle then
-	# fall back to master.
-	case "$sru_cycle" in
-	d*)	git_base="$git_base_devel" ;;
-	*)	echo "$sru_cycle: cycle not found in $remote_repo" 2>&1
-		exit 1
-		;;
-	esac
-fi
-
-# Determine our series and mainline version from our own changelog.
-our_series=$(LC_ALL=C dpkg-parsechangelog -l"$DEBIAN/changelog" -SDistribution)
-if [ "$our_series" = "UNRELEASED" ]; then
-	our_series=$(LC_ALL=C dpkg-parsechangelog -l"$DEBIAN/changelog" -o1 -c1 -SDistribution)
-fi
-our_mainline=$(LC_ALL=C dpkg-parsechangelog -l"$DEBIAN/changelog" -SVersion | sed -e 's/-.*//')
-our_package=$(LC_ALL=C dpkg-parsechangelog -l"$DEBIAN/changelog" -SSource)
-our_source=$(echo "$our_package" | sed -e 's/-restricted-modules//')
-case "$our_package" in
-linux-restricted-modules*)	our_type="lrm" ;;
-*)				our_type="main" ;;
-esac
-
-# Update rules are complex.  We update development series kernels to the
-# versions in development.  For stable series we update versions against
-# the series in which our prime kernel was built.  This is expressed
-# via the map/dkms-versions namespace.  Attempt to map via our series
-# and then our mainline-version.
-
-# Try and find a package specific dkms-versions fragment.  Try:
-#  handle+type
-#  series+type
-#  mainline+type
-#  series			- backwards compatibility
-#  mainline			- backwards compatibility
-for versions_path_tail in \
-	"$our_series:$our_source:$our_type" \
-	"$our_series:$our_mainline:$our_type" \
-	"$our_series:$our_type" \
-	"$our_mainline:$our_type" \
-	"$our_series" \
-	"$our_mainline"
-do
-	echo "II: trying $versions_path_tail ..."
-	versions_paths=$(echo $(cat_file -p "${git_base}map/dkms-versions/$versions_path_tail" 2>/dev/null))
-	[ -n "$versions_paths" ] && break
-done
-
-if [ -z "$versions_paths" ]; then
-	echo "$0: unable to identify dkms-versions mapping" 1>&2
-	exit 1
-fi
-
-echo "git_base<$git_base> versions_paths<$versions_paths>"
-echo "II: grabbing dkms-versions from $sru_cycle $versions_paths"
-
-: ">debian/dkms-versions.new"
-for versions_path in $versions_paths
-do
-	cat_file -p "$git_base$versions_path" >>"debian/dkms-versions.new"
-	if [ "$?" -ne 0 ]; then
-		echo "$0: unable to download an updated dkms-versions file" 1>&2
-		exit 1
-	fi
-done
-mv "debian/dkms-versions.new" "debian/dkms-versions"
-
-thing="debian/dkms-versions"
-if ! git diff --exit-code -- "$thing" >/dev/null; then
-	git commit -m "UBUNTU: $thing -- update from kernel-versions ($git_human)" \
-		-m "BugLink: https://bugs.launchpad.net/bugs/1786013" \
-		-s -- "$thing"
-else
-	echo "$thing: no changes from kernel-versions"
-fi
-
-exit 0