[PATCH 5/5][linux-signed][Unstable][Eoan] UBUNTU: Rename variables to distinguish signed vs. unsigned metadata

dann frazier dann.frazier at canonical.com
Wed May 29 17:16:04 UTC 2019


On Wed, May 29, 2019 at 10:33 AM Seth Forshee
<seth.forshee at canonical.com> wrote:
>
> On Mon, Apr 29, 2019 at 10:54:13AM -0600, dann frazier wrote:
> > The difference between $(src_fullversion) and $(src_version) is not
> > self-evident. Use short names for metadata vars about this package,
> > and prefix those describing the unsigned counterpart with "unsigned_".
> >
> > Signed-off-by: dann frazier <dann.frazier at canonical.com>
>
> So generally I think this is ok and makes things clearer. However I
> found a couple of things, one which looks like it will break things, and
> it makes me wonder how well it's been tested.

Thanks Seth. Yes - this does highlight an issue with my testing, which
was limited to verifying that the control file was being generated
identically before & after in both hwe & non-hwe cases. I'll address
both issues you identified and verify binary package contents as well
before submitting a v2.

  -dann

>
> > ---
> >  debian/rules | 46 ++++++++++++++++++++++++----------------------
> >  1 file changed, 24 insertions(+), 22 deletions(-)
> >
> > diff --git a/debian/rules b/debian/rules
> > index 395eedd..b5a64c7 100755
> > --- a/debian/rules
> > +++ b/debian/rules
> > @@ -4,22 +4,24 @@
> >
> >  DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH)
> >
> > -# Work out the source package name and version.  We assume the source package
> > -# is the name of this package with -signed stripped.  The version is identical
> > -# to this package less any rebuild suffic (+signedN).
> > -src_package = $(shell dpkg-parsechangelog -S Source | sed -e 's/-signed//')
> > -src_fullversion = $(shell dpkg-parsechangelog -S Version)
> > -src_version = $(shell echo $(src_fullversion) | sed -e 's/+signed[0-9]*.*//')
> > -src_abi = $(shell echo "$(src_version)" | sed -ne 's/\([0-9]*\.[0-9]*\.[0-9]*\-[0-9]*\)\..*/\1/p')
> > +src = $(shell LC_ALL=C dpkg-parsechangelog -S Source)
> > +ver = $(shell LC_ALL=C dpkg-parsechangelog -S Version)
>
> You add back LC_ALL=C after removing them in a previous patch.
>
> > +abi = $(shell echo "$(ver)" | sed -ne 's/\([0-9]*\.[0-9]*\.[0-9]*\-[0-9]*\)\..*/\1/p')
> > +
> > +# Work out the source package name and version of the unsigned package
> > +# By convention, it is the name of this package with -signed stripped.
> > +# The version is identical to this package less any rebuild suffix (+signedN).
> > +unsigned_src = $(shell echo $(src) | sed -e 's/-signed//')
> > +unsigned_ver = $(shell echo $(ver) | sed -e 's/+signed[0-9]*.*//')
> >
> >  # We build our control file.  This has to be done before dh runs otherwise
> >  # we have no binary files and we will not run the appropriate targets.
> >  pre-clean:
> >       sed <debian/control.stub >debian/control                        \
> > -             -e "s/ABI/$(src_abi)/g"                                 \
> > -             -e "s/UNSIGNED_SRC_PACKAGE/$(src_package)/g"            \
> > -             -e "s/UNSIGNED_SRC_VERSION/$(src_version)/g"
> > -     rm -rf ./$(src_version) UNSIGNED SIGNED
> > +             -e "s/ABI/$(abi)/g"                                     \
> > +             -e "s/UNSIGNED_SRC_PACKAGE/$(unsigned_src)/g"           \
> > +             -e "s/UNSIGNED_SRC_VERSION/$(unsigned_ver)/g"
> > +     rm -rf ./$(unsigned_ver) UNSIGNED SIGNED
> >       rm -f   debian/linux-image-*.install                            \
> >               debian/linux-image-*.preinst                            \
> >               debian/linux-image-*.prerm                              \
> > @@ -35,11 +37,11 @@ clean:: pre-clean
> >       dh $@
> >
> >  override_dh_auto_build:
> > -     ./download-signed "linux-libc-dev" "$(src_version)" "$(src_package)"
> > -     #./download-unsigned "$(DEB_HOST_ARCH)" "$(src_version)"
> > +     ./download-signed "linux-libc-dev" "$(unsigned_ver)" "$(unsigned_package)"
>
> I think you mean unsigned_src here, not unsigned_package.
>
> > +     #./download-unsigned "$(DEB_HOST_ARCH)" "$(unsigned_ver)"
> >       mkdir SIGNED
> >       (                                                                       \
> > -             cd "$(src_version)" || exit 1;                                  \
> > +             cd "$(unsigned_ver)" || exit 1;                                 \
> >               for s in *.efi.signed; do                                       \
> >                       [ ! -f "$$s" ] && continue;                             \
> >                       base=$$(echo "$$s" | sed -e 's/.efi.signed//');         \
> > @@ -64,10 +66,10 @@ override_dh_auto_build:
> >
> >  override_dh_auto_install:
> >       for signed in "SIGNED"/*; do                                            \
> > -             flavour=$$(echo "$$signed" | sed -e "s at .*-$(src_abi)-@@");      \
> > +             flavour=$$(echo "$$signed" | sed -e "s at .*-$(abi)-@@");          \
> >               instfile=$$(echo "$$signed" | sed -e "s@[^/]*/@@"               \
> > -                     -e "s at -$(src_abi)-.*@@");                               \
> > -             verflav="$(src_abi)-$$flavour";                                 \
> > +                     -e "s at -$(abi)-.*@@");                                   \
> > +             verflav="$(abi)-$$flavour";                                     \
> >                                                                               \
> >               package="kernel-signed-image-$$verflav-di";                     \
> >               echo "$$package: adding $$signed";                              \
> > @@ -77,19 +79,19 @@ override_dh_auto_install:
> >               echo "$$package: adding $$signed";                              \
> >               echo "$$signed boot" >>"debian/$$package.install";              \
> >                                                                               \
> > -             ./generate-depends linux-image-unsigned-$$verflav $(src_version)        \
> > +             ./generate-depends linux-image-unsigned-$$verflav $(unsigned_ver)       \
> >                       linux-image-$$verflav                                   \
> >                       >>"debian/linux-image-$$verflav.substvars";     \
> >                                                                               \
> >               for which in postinst postrm preinst prerm; do                  \
> >                       template="debian/templates/image.$$which.in";           \
> >                       script="debian/$$package.$$which";                      \
> > -                     sed -e "s/@abiname@/$(src_abi)/g"                       \
> > +                     sed -e "s/@abiname@/$(abi)/g"                           \
> >                           -e "s/@localversion@/-$$flavour/g"                  \
> >                           -e "s/@image-stem@/$$instfile/g"                    \
> >                               <"$$template" >"$$script";                      \
> >               done;                                                           \
> > -             echo "interest linux-update-$(src_abi)-$$flavour"               \
> > +             echo "interest linux-update-$(abi)-$$flavour"                   \
> >                       >"debian/$$package.triggers";                           \
> >       done
> >       dh_install
> > @@ -98,8 +100,8 @@ override_dh_builddeb:
> >       dh_builddeb
> >       for pkg in $$(dh_listpackages); do \
> >               case $$pkg in *dbgsym) ;; *) continue ;; esac; \
> > -             mv ../$${pkg}_$(src_fullversion)_$(DEB_HOST_ARCH).deb \
> > -                ../$${pkg}_$(src_fullversion)_$(DEB_HOST_ARCH).ddeb; \
> > +             mv ../$${pkg}_$(ver)_$(DEB_HOST_ARCH).deb \
> > +                ../$${pkg}_$(ver)_$(DEB_HOST_ARCH).ddeb; \
> >               sed -i "/^$${pkg}_/s/\.deb /.ddeb /" debian/files; \
> >       done
> >
> > --
> > 2.20.1
> >
> >
> > --
> > kernel-team mailing list
> > kernel-team at lists.ubuntu.com
> > https://lists.ubuntu.com/mailman/listinfo/kernel-team



More information about the kernel-team mailing list