Message ID | 20231002182020.102342-2-john.cabaj@canonical.com |
---|---|
State | New |
Headers | show |
Series | Remove wireguard DKMS packaging from debian/rules | expand |
On Mon, 2 Oct 2023 at 19:21, John Cabaj <john.cabaj@canonical.com> wrote: > > Commit ed294cea82a6 in the main kernel package dropped > Wireguard DKMS support. Reflecting that in the meta > package to avoid error message during package building > ("modinfo: ERROR: Module /lib/modules/<abi>/kernel/drivers/net/wireguard/wireguard.ko not found") This is an error in your packaging, since you are probably disabling module compression, this check too should be adjusted to look for uncompressed module. This provides is not to do with DKMS at all, but with the fact that we have userspace packages in the archive that depend on wirebuard-modules, if a kernel doesn't provide such provides, it will cause wireguard package installation to pull in a random kernel flavour. Usually linux-oracle. Separately we can change this to a static provides at this point, since wireguard module version is unchanging. Also userspace packages dropped depends on such a module too, thus this can be finally removed completely in 24.10, after we stop backporting kernels to Jammy which still must have wireguard-modules provides. > > > Signed-off-by: John Cabaj <john.cabaj@canonical.com> > --- > debian/rules | 6 ------ > 1 file changed, 6 deletions(-) > > diff --git a/debian/rules b/debian/rules > index e20511f..c39adca 100755 > --- a/debian/rules > +++ b/debian/rules > @@ -72,11 +72,6 @@ $(foreach _line,$(shell gawk '{ OFS = "!"; $$1 = $$1; print }' debian/dkms-versi > ) \ > ) > dkms_virtualbox_version=$(KERNEL_ABI_VERSION) > -ifeq ($(wildcard /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko.zst),) > - dkms_wireguard_version := $(shell /sbin/modinfo -F version /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko) > -else > - dkms_wireguard_version := $(shell /sbin/modinfo -F version /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko.zst) > -endif > > debian/control.d/dkms-%: module = $(patsubst debian/control.d/dkms-%,%,$@) > debian/control.d/dkms-%: module_archs = $(dkms_$(patsubst debian/control.d/dkms-%,%,$@)_archs) > @@ -141,7 +136,6 @@ gencontrol_flags += \ > ) \ > ) > gencontrol_flags += -Vdkms:virtualbox-guest-modules="virtualbox-guest-modules (= $(dkms_virtualbox_version))," > -gencontrol_flags += -Vdkms:wireguard-linux-compat-modules="wireguard-modules (= $(dkms_wireguard_version))," > > build-%: > : > -- > 2.34.1 > > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team
On 10/2/23 6:11 PM, Dimitri John Ledkov wrote: > On Mon, 2 Oct 2023 at 19:21, John Cabaj <john.cabaj@canonical.com> wrote: >> >> Commit ed294cea82a6 in the main kernel package dropped >> Wireguard DKMS support. Reflecting that in the meta >> package to avoid error message during package building >> ("modinfo: ERROR: Module /lib/modules/<abi>/kernel/drivers/net/wireguard/wireguard.ko not found") > > > This is an error in your packaging, since you are probably disabling > module compression, this check too should be adjusted to look for > uncompressed module. While I did notice this on a package I was creating, this error occurred while attempting a normal mantic:linux crank as well (open, close, pull-source, build-source), which had module compression enabled. John > > This provides is not to do with DKMS at all, but with the fact that we > have userspace packages in the archive that depend on > wirebuard-modules, if a kernel doesn't provide such provides, it will > cause wireguard package installation to pull in a random kernel > flavour. Usually linux-oracle. > > Separately we can change this to a static provides at this point, > since wireguard module version is unchanging. Also userspace packages > dropped depends on such a module too, thus this can be finally removed > completely in 24.10, after we stop backporting kernels to Jammy which > still must have wireguard-modules provides. > >> >> >> Signed-off-by: John Cabaj <john.cabaj@canonical.com> >> --- >> debian/rules | 6 ------ >> 1 file changed, 6 deletions(-) >> >> diff --git a/debian/rules b/debian/rules >> index e20511f..c39adca 100755 >> --- a/debian/rules >> +++ b/debian/rules >> @@ -72,11 +72,6 @@ $(foreach _line,$(shell gawk '{ OFS = "!"; $$1 = $$1; print }' debian/dkms-versi >> ) \ >> ) >> dkms_virtualbox_version=$(KERNEL_ABI_VERSION) >> -ifeq ($(wildcard /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko.zst),) >> - dkms_wireguard_version := $(shell /sbin/modinfo -F version /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko) >> -else >> - dkms_wireguard_version := $(shell /sbin/modinfo -F version /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko.zst) >> -endif >> >> debian/control.d/dkms-%: module = $(patsubst debian/control.d/dkms-%,%,$@) >> debian/control.d/dkms-%: module_archs = $(dkms_$(patsubst debian/control.d/dkms-%,%,$@)_archs) >> @@ -141,7 +136,6 @@ gencontrol_flags += \ >> ) \ >> ) >> gencontrol_flags += -Vdkms:virtualbox-guest-modules="virtualbox-guest-modules (= $(dkms_virtualbox_version))," >> -gencontrol_flags += -Vdkms:wireguard-linux-compat-modules="wireguard-modules (= $(dkms_wireguard_version))," >> >> build-%: >> : >> -- >> 2.34.1 >> >> >> -- >> kernel-team mailing list >> kernel-team@lists.ubuntu.com >> https://lists.ubuntu.com/mailman/listinfo/kernel-team > > >
On Tue, Oct 03, 2023 at 03:46:25PM -0500, John Cabaj wrote: > On 10/2/23 6:11 PM, Dimitri John Ledkov wrote: > > On Mon, 2 Oct 2023 at 19:21, John Cabaj <john.cabaj@canonical.com> wrote: > >> > >> Commit ed294cea82a6 in the main kernel package dropped > >> Wireguard DKMS support. Reflecting that in the meta > >> package to avoid error message during package building > >> ("modinfo: ERROR: Module /lib/modules/<abi>/kernel/drivers/net/wireguard/wireguard.ko not found") > > > > > > This is an error in your packaging, since you are probably disabling > > module compression, this check too should be adjusted to look for > > uncompressed module. > > While I did notice this on a package I was creating, this error occurred while attempting a > normal mantic:linux crank as well (open, close, pull-source, build-source), which had module > compression enabled. IIUC we get this error when creating the source package, because neither wireguard.ko.zst nor wireguard.ko is available, but at build time this should be resolved correctly. This is ugly and we should definitely get rid of this confusing logic. Since there are still userspace components that may require the wireguard-modules we can't completely get rid of it, but maybe we can simply provide an unversioned wireguard-modules dependency, so user-space should be happy and we can get rid of the logic that extracts the version from wireguard.ko[.zst]. -Andrea > > > John > > > > > This provides is not to do with DKMS at all, but with the fact that we > > have userspace packages in the archive that depend on > > wirebuard-modules, if a kernel doesn't provide such provides, it will > > cause wireguard package installation to pull in a random kernel > > flavour. Usually linux-oracle. > > > > Separately we can change this to a static provides at this point, > > since wireguard module version is unchanging. Also userspace packages > > dropped depends on such a module too, thus this can be finally removed > > completely in 24.10, after we stop backporting kernels to Jammy which > > still must have wireguard-modules provides. > > > >> > >> > >> Signed-off-by: John Cabaj <john.cabaj@canonical.com> > >> --- > >> debian/rules | 6 ------ > >> 1 file changed, 6 deletions(-) > >> > >> diff --git a/debian/rules b/debian/rules > >> index e20511f..c39adca 100755 > >> --- a/debian/rules > >> +++ b/debian/rules > >> @@ -72,11 +72,6 @@ $(foreach _line,$(shell gawk '{ OFS = "!"; $$1 = $$1; print }' debian/dkms-versi > >> ) \ > >> ) > >> dkms_virtualbox_version=$(KERNEL_ABI_VERSION) > >> -ifeq ($(wildcard /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko.zst),) > >> - dkms_wireguard_version := $(shell /sbin/modinfo -F version /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko) > >> -else > >> - dkms_wireguard_version := $(shell /sbin/modinfo -F version /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko.zst) > >> -endif > >> > >> debian/control.d/dkms-%: module = $(patsubst debian/control.d/dkms-%,%,$@) > >> debian/control.d/dkms-%: module_archs = $(dkms_$(patsubst debian/control.d/dkms-%,%,$@)_archs) > >> @@ -141,7 +136,6 @@ gencontrol_flags += \ > >> ) \ > >> ) > >> gencontrol_flags += -Vdkms:virtualbox-guest-modules="virtualbox-guest-modules (= $(dkms_virtualbox_version))," > >> -gencontrol_flags += -Vdkms:wireguard-linux-compat-modules="wireguard-modules (= $(dkms_wireguard_version))," > >> > >> build-%: > >> : > >> -- > >> 2.34.1 > >> > >> > >> -- > >> kernel-team mailing list > >> kernel-team@lists.ubuntu.com > >> https://lists.ubuntu.com/mailman/listinfo/kernel-team > > > > > > > > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team
On Wed, 4 Oct 2023 07:51:36 +0200 Andrea Righi <andrea.righi@canonical.com> wrote: > On Tue, Oct 03, 2023 at 03:46:25PM -0500, John Cabaj wrote: > > On 10/2/23 6:11 PM, Dimitri John Ledkov wrote: > > > On Mon, 2 Oct 2023 at 19:21, John Cabaj <john.cabaj@canonical.com> wrote: > > >> > > >> Commit ed294cea82a6 in the main kernel package dropped > > >> Wireguard DKMS support. Reflecting that in the meta > > >> package to avoid error message during package building > > >> ("modinfo: ERROR: Module /lib/modules/<abi>/kernel/drivers/net/wireguard/wireguard.ko not found") > > > > > > > > > This is an error in your packaging, since you are probably disabling > > > module compression, this check too should be adjusted to look for > > > uncompressed module. > > > > While I did notice this on a package I was creating, this error occurred while attempting a > > normal mantic:linux crank as well (open, close, pull-source, build-source), which had module > > compression enabled. > > IIUC we get this error when creating the source package, because > neither wireguard.ko.zst nor wireguard.ko is available, but at build > time this should be resolved correctly. > > This is ugly and we should definitely get rid of this confusing logic. > Since there are still userspace components that may require the > wireguard-modules we can't completely get rid of it, but maybe we can > simply provide an unversioned wireguard-modules dependency, so > user-space should be happy and we can get rid of the logic that extracts > the version from wireguard.ko[.zst]. Why not hard-code it to 1.0.0 since that's what the module advertises and it's likely to never change. ...Juerg > -Andrea > > > > > > > John > > > > > > > > This provides is not to do with DKMS at all, but with the fact that we > > > have userspace packages in the archive that depend on > > > wirebuard-modules, if a kernel doesn't provide such provides, it will > > > cause wireguard package installation to pull in a random kernel > > > flavour. Usually linux-oracle. > > > > > > Separately we can change this to a static provides at this point, > > > since wireguard module version is unchanging. Also userspace packages > > > dropped depends on such a module too, thus this can be finally removed > > > completely in 24.10, after we stop backporting kernels to Jammy which > > > still must have wireguard-modules provides. > > > > > >> > > >> > > >> Signed-off-by: John Cabaj <john.cabaj@canonical.com> > > >> --- > > >> debian/rules | 6 ------ > > >> 1 file changed, 6 deletions(-) > > >> > > >> diff --git a/debian/rules b/debian/rules > > >> index e20511f..c39adca 100755 > > >> --- a/debian/rules > > >> +++ b/debian/rules > > >> @@ -72,11 +72,6 @@ $(foreach _line,$(shell gawk '{ OFS = "!"; $$1 = $$1; print }' debian/dkms-versi > > >> ) \ > > >> ) > > >> dkms_virtualbox_version=$(KERNEL_ABI_VERSION) > > >> -ifeq ($(wildcard /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko.zst),) > > >> - dkms_wireguard_version := $(shell /sbin/modinfo -F version /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko) > > >> -else > > >> - dkms_wireguard_version := $(shell /sbin/modinfo -F version /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko.zst) > > >> -endif > > >> > > >> debian/control.d/dkms-%: module = $(patsubst debian/control.d/dkms-%,%,$@) > > >> debian/control.d/dkms-%: module_archs = $(dkms_$(patsubst debian/control.d/dkms-%,%,$@)_archs) > > >> @@ -141,7 +136,6 @@ gencontrol_flags += \ > > >> ) \ > > >> ) > > >> gencontrol_flags += -Vdkms:virtualbox-guest-modules="virtualbox-guest-modules (= $(dkms_virtualbox_version))," > > >> -gencontrol_flags += -Vdkms:wireguard-linux-compat-modules="wireguard-modules (= $(dkms_wireguard_version))," > > >> > > >> build-%: > > >> : > > >> -- > > >> 2.34.1 > > >> > > >> > > >> -- > > >> kernel-team mailing list > > >> kernel-team@lists.ubuntu.com > > >> https://lists.ubuntu.com/mailman/listinfo/kernel-team > > > > > > > > > > > > > > > -- > > kernel-team mailing list > > kernel-team@lists.ubuntu.com > > https://lists.ubuntu.com/mailman/listinfo/kernel-team >
On Wed, 4 Oct 2023 at 09:57, Juerg Haefliger <juerg.haefliger@canonical.com> wrote: > > On Wed, 4 Oct 2023 07:51:36 +0200 > Andrea Righi <andrea.righi@canonical.com> wrote: > > > On Tue, Oct 03, 2023 at 03:46:25PM -0500, John Cabaj wrote: > > > On 10/2/23 6:11 PM, Dimitri John Ledkov wrote: > > > > On Mon, 2 Oct 2023 at 19:21, John Cabaj <john.cabaj@canonical.com> wrote: > > > >> > > > >> Commit ed294cea82a6 in the main kernel package dropped > > > >> Wireguard DKMS support. Reflecting that in the meta > > > >> package to avoid error message during package building > > > >> ("modinfo: ERROR: Module /lib/modules/<abi>/kernel/drivers/net/wireguard/wireguard.ko not found") > > > > > > > > > > > > This is an error in your packaging, since you are probably disabling > > > > module compression, this check too should be adjusted to look for > > > > uncompressed module. > > > > > > While I did notice this on a package I was creating, this error occurred while attempting a > > > normal mantic:linux crank as well (open, close, pull-source, build-source), which had module > > > compression enabled. > > > > IIUC we get this error when creating the source package, because > > neither wireguard.ko.zst nor wireguard.ko is available, but at build > > time this should be resolved correctly. > > > > This is ugly and we should definitely get rid of this confusing logic. > > Since there are still userspace components that may require the > > wireguard-modules we can't completely get rid of it, but maybe we can > > simply provide an unversioned wireguard-modules dependency, so > > user-space should be happy and we can get rid of the logic that extracts > > the version from wireguard.ko[.zst]. > > Why not hard-code it to 1.0.0 since that's what the module advertises and > it's likely to never change. > Yes we can do that, but also I don't know why some of these provides are done in the main package; and some are done in meta; and some are dynamic. But indeed, I would accept hardcoding it, even in all the stable series at this point. Because right now it is one more thing to replace flavour name in, every single time. Probably should go into the top levels. > ...Juerg > > > > -Andrea > > > > > > > > > > > John > > > > > > > > > > > This provides is not to do with DKMS at all, but with the fact that we > > > > have userspace packages in the archive that depend on > > > > wirebuard-modules, if a kernel doesn't provide such provides, it will > > > > cause wireguard package installation to pull in a random kernel > > > > flavour. Usually linux-oracle. > > > > > > > > Separately we can change this to a static provides at this point, > > > > since wireguard module version is unchanging. Also userspace packages > > > > dropped depends on such a module too, thus this can be finally removed > > > > completely in 24.10, after we stop backporting kernels to Jammy which > > > > still must have wireguard-modules provides. > > > > > > > >> > > > >> > > > >> Signed-off-by: John Cabaj <john.cabaj@canonical.com> > > > >> --- > > > >> debian/rules | 6 ------ > > > >> 1 file changed, 6 deletions(-) > > > >> > > > >> diff --git a/debian/rules b/debian/rules > > > >> index e20511f..c39adca 100755 > > > >> --- a/debian/rules > > > >> +++ b/debian/rules > > > >> @@ -72,11 +72,6 @@ $(foreach _line,$(shell gawk '{ OFS = "!"; $$1 = $$1; print }' debian/dkms-versi > > > >> ) \ > > > >> ) > > > >> dkms_virtualbox_version=$(KERNEL_ABI_VERSION) > > > >> -ifeq ($(wildcard /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko.zst),) > > > >> - dkms_wireguard_version := $(shell /sbin/modinfo -F version /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko) > > > >> -else > > > >> - dkms_wireguard_version := $(shell /sbin/modinfo -F version /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko.zst) > > > >> -endif > > > >> > > > >> debian/control.d/dkms-%: module = $(patsubst debian/control.d/dkms-%,%,$@) > > > >> debian/control.d/dkms-%: module_archs = $(dkms_$(patsubst debian/control.d/dkms-%,%,$@)_archs) > > > >> @@ -141,7 +136,6 @@ gencontrol_flags += \ > > > >> ) \ > > > >> ) > > > >> gencontrol_flags += -Vdkms:virtualbox-guest-modules="virtualbox-guest-modules (= $(dkms_virtualbox_version))," > > > >> -gencontrol_flags += -Vdkms:wireguard-linux-compat-modules="wireguard-modules (= $(dkms_wireguard_version))," > > > >> > > > >> build-%: > > > >> : > > > >> -- > > > >> 2.34.1 > > > >> > > > >> > > > >> -- > > > >> kernel-team mailing list > > > >> kernel-team@lists.ubuntu.com > > > >> https://lists.ubuntu.com/mailman/listinfo/kernel-team > > > > > > > > > > > > > > > > > > > > > -- > > > kernel-team mailing list > > > kernel-team@lists.ubuntu.com > > > https://lists.ubuntu.com/mailman/listinfo/kernel-team > > > > -- > kernel-team mailing list > kernel-team@lists.ubuntu.com > https://lists.ubuntu.com/mailman/listinfo/kernel-team
On Wed, Oct 04, 2023 at 10:55:57AM +0200, Juerg Haefliger wrote: > On Wed, 4 Oct 2023 07:51:36 +0200 > Andrea Righi <andrea.righi@canonical.com> wrote: > > > On Tue, Oct 03, 2023 at 03:46:25PM -0500, John Cabaj wrote: > > > On 10/2/23 6:11 PM, Dimitri John Ledkov wrote: > > > > On Mon, 2 Oct 2023 at 19:21, John Cabaj <john.cabaj@canonical.com> wrote: > > > >> > > > >> Commit ed294cea82a6 in the main kernel package dropped > > > >> Wireguard DKMS support. Reflecting that in the meta > > > >> package to avoid error message during package building > > > >> ("modinfo: ERROR: Module /lib/modules/<abi>/kernel/drivers/net/wireguard/wireguard.ko not found") > > > > > > > > > > > > This is an error in your packaging, since you are probably disabling > > > > module compression, this check too should be adjusted to look for > > > > uncompressed module. > > > > > > While I did notice this on a package I was creating, this error occurred while attempting a > > > normal mantic:linux crank as well (open, close, pull-source, build-source), which had module > > > compression enabled. > > > > IIUC we get this error when creating the source package, because > > neither wireguard.ko.zst nor wireguard.ko is available, but at build > > time this should be resolved correctly. > > > > This is ugly and we should definitely get rid of this confusing logic. > > Since there are still userspace components that may require the > > wireguard-modules we can't completely get rid of it, but maybe we can > > simply provide an unversioned wireguard-modules dependency, so > > user-space should be happy and we can get rid of the logic that extracts > > the version from wireguard.ko[.zst]. > > Why not hard-code it to 1.0.0 since that's what the module advertises and > it's likely to never change. This should work as well and it's very easy to do. -Andrea
diff --git a/debian/rules b/debian/rules index e20511f..c39adca 100755 --- a/debian/rules +++ b/debian/rules @@ -72,11 +72,6 @@ $(foreach _line,$(shell gawk '{ OFS = "!"; $$1 = $$1; print }' debian/dkms-versi ) \ ) dkms_virtualbox_version=$(KERNEL_ABI_VERSION) -ifeq ($(wildcard /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko.zst),) - dkms_wireguard_version := $(shell /sbin/modinfo -F version /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko) -else - dkms_wireguard_version := $(shell /sbin/modinfo -F version /lib/modules/$(KERNEL_ABI_VERSION)-generic/kernel/drivers/net/wireguard/wireguard.ko.zst) -endif debian/control.d/dkms-%: module = $(patsubst debian/control.d/dkms-%,%,$@) debian/control.d/dkms-%: module_archs = $(dkms_$(patsubst debian/control.d/dkms-%,%,$@)_archs) @@ -141,7 +136,6 @@ gencontrol_flags += \ ) \ ) gencontrol_flags += -Vdkms:virtualbox-guest-modules="virtualbox-guest-modules (= $(dkms_virtualbox_version))," -gencontrol_flags += -Vdkms:wireguard-linux-compat-modules="wireguard-modules (= $(dkms_wireguard_version))," build-%: :
Commit ed294cea82a6 in the main kernel package dropped Wireguard DKMS support. Reflecting that in the meta package to avoid error message during package building ("modinfo: ERROR: Module /lib/modules/<abi>/kernel/drivers/net/wireguard/wireguard.ko not found") Signed-off-by: John Cabaj <john.cabaj@canonical.com> --- debian/rules | 6 ------ 1 file changed, 6 deletions(-)