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