* [PATCH] scripts: package: KDEB_SOURCENAME in .deb names
@ 2017-03-13 22:21 Joe Konno
2017-03-14 8:49 ` Riku Voipio
0 siblings, 1 reply; 5+ messages in thread
From: Joe Konno @ 2017-03-13 22:21 UTC (permalink / raw)
To: linux-kbuild
From: Joe Konno <joe.konno@intel.com>
Currently, the KDEB_SOURCENAME make variable only controls the name of the
packaged source tarball, and does not impact the .deb package names output
by bindeb-pkg and deb-pkg. Presently, these files are more rigidly named,
as the user may only control the names of .deb outputs by setting
KDEB_PKGVERSION in their environment.
This patch modifies the builddeb script to use KDEB_SOURCENAME when naming
the image, firmware-image, headers, and libc-dev .deb output files. This
would allow folks who build-- for instance-- mainline, stable, and next
kernel packages more control over how their .deb outputs are named.
This patch also changes the default value of KDEB_SOURCENAME so as not to
change default .deb output file names. However, this does have the side
effect of renaming the source tarball generated for .deb source packages.
For example:
$ KDEB_SOURCENAME="linux-mainline" make bindeb-pkg
Would output .deb files that begin with
../linux-mainline-{image,firmware-image,headers,libc-dev}
Signed-off-by: Joe Konno <joe.konno@intel.com>
---
scripts/package/Makefile | 2 +-
scripts/package/builddeb | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/scripts/package/Makefile b/scripts/package/Makefile
index 71b4a8af9d4d..e4280da03991 100644
--- a/scripts/package/Makefile
+++ b/scripts/package/Makefile
@@ -23,7 +23,7 @@
# Remove hyphens since they have special meaning in RPM filenames
KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE))
-KDEB_SOURCENAME ?= linux-$(KERNELRELEASE)
+KDEB_SOURCENAME ?= linux
export KDEB_SOURCENAME
# Include only those top-level files that are needed by make, plus the GPL copy
TAR_CONTENT := $(KBUILD_ALLDIRS) .config .scmversion Makefile \
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index 3c575cd07888..50caa143fb13 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -96,10 +96,10 @@ fwdir="$objtree/debian/fwtmp"
kernel_headers_dir="$objtree/debian/hdrtmp"
libc_headers_dir="$objtree/debian/headertmp"
dbg_dir="$objtree/debian/dbgtmp"
-packagename=linux-image-$version
-fwpackagename=linux-firmware-image-$version
-kernel_headers_packagename=linux-headers-$version
-libc_headers_packagename=linux-libc-dev
+packagename=${sourcename}-image-$version
+fwpackagename=${sourcename}-firmware-image-$version
+kernel_headers_packagename=${sourcename}-headers-$version
+libc_headers_packagename=${sourcename}-libc-dev
dbg_packagename=$packagename-dbg
debarch=
forcearch=
--
2.7.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] scripts: package: KDEB_SOURCENAME in .deb names
2017-03-13 22:21 [PATCH] scripts: package: KDEB_SOURCENAME in .deb names Joe Konno
@ 2017-03-14 8:49 ` Riku Voipio
2017-03-14 15:47 ` Joe Konno
0 siblings, 1 reply; 5+ messages in thread
From: Riku Voipio @ 2017-03-14 8:49 UTC (permalink / raw)
To: Joe Konno; +Cc: linux-kbuild
On 14 March 2017 at 00:21, Joe Konno <joe.konno@linux.intel.com> wrote:
> From: Joe Konno <joe.konno@intel.com>
>
> Currently, the KDEB_SOURCENAME make variable only controls the name of the
> packaged source tarball, and does not impact the .deb package names output
> by bindeb-pkg and deb-pkg. Presently, these files are more rigidly named,
> as the user may only control the names of .deb outputs by setting
> KDEB_PKGVERSION in their environment.
>
> This patch modifies the builddeb script to use KDEB_SOURCENAME when naming
> the image, firmware-image, headers, and libc-dev .deb output files. This
> would allow folks who build-- for instance-- mainline, stable, and next
> kernel packages more control over how their .deb outputs are named.
>
> This patch also changes the default value of KDEB_SOURCENAME so as not to
> change default .deb output file names. However, this does have the side
> effect of renaming the source tarball generated for .deb source packages.
>
> For example:
> $ KDEB_SOURCENAME="linux-mainline" make bindeb-pkg
>
> Would output .deb files that begin with
> ../linux-mainline-{image,firmware-image,headers,libc-dev}
I'm not sure this a really useful. Next, mainline, stable etc are all
different versions of linux, so version seems the correct place to
describe them?
> Signed-off-by: Joe Konno <joe.konno@intel.com>
> ---
> scripts/package/Makefile | 2 +-
> scripts/package/builddeb | 8 ++++----
> 2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/scripts/package/Makefile b/scripts/package/Makefile
> index 71b4a8af9d4d..e4280da03991 100644
> --- a/scripts/package/Makefile
> +++ b/scripts/package/Makefile
> @@ -23,7 +23,7 @@
>
> # Remove hyphens since they have special meaning in RPM filenames
> KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE))
> -KDEB_SOURCENAME ?= linux-$(KERNELRELEASE)
> +KDEB_SOURCENAME ?= linux
> export KDEB_SOURCENAME
> # Include only those top-level files that are needed by make, plus the GPL copy
> TAR_CONTENT := $(KBUILD_ALLDIRS) .config .scmversion Makefile \
> diff --git a/scripts/package/builddeb b/scripts/package/builddeb
> index 3c575cd07888..50caa143fb13 100755
> --- a/scripts/package/builddeb
> +++ b/scripts/package/builddeb
> @@ -96,10 +96,10 @@ fwdir="$objtree/debian/fwtmp"
> kernel_headers_dir="$objtree/debian/hdrtmp"
> libc_headers_dir="$objtree/debian/headertmp"
> dbg_dir="$objtree/debian/dbgtmp"
> -packagename=linux-image-$version
> -fwpackagename=linux-firmware-image-$version
> -kernel_headers_packagename=linux-headers-$version
> -libc_headers_packagename=linux-libc-dev
> +packagename=${sourcename}-image-$version
> +fwpackagename=${sourcename}-firmware-image-$version
> +kernel_headers_packagename=${sourcename}-headers-$version
> +libc_headers_packagename=${sourcename}-libc-dev
The style here is to use variables without curly braces unless really needed.
> dbg_packagename=$packagename-dbg
> debarch=
> forcearch=
> --
> 2.7.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] scripts: package: KDEB_SOURCENAME in .deb names
2017-03-14 8:49 ` Riku Voipio
@ 2017-03-14 15:47 ` Joe Konno
2017-03-21 8:34 ` Riku Voipio
0 siblings, 1 reply; 5+ messages in thread
From: Joe Konno @ 2017-03-14 15:47 UTC (permalink / raw)
To: Riku Voipio; +Cc: linux-kbuild
[-- Attachment #1: Type: text/plain, Size: 4831 bytes --]
On Tue, 14 Mar 2017 10:49:55 +0200
Riku Voipio <riku.voipio@linaro.org> wrote:
> On 14 March 2017 at 00:21, Joe Konno <joe.konno@linux.intel.com>
> wrote:
> > From: Joe Konno <joe.konno@intel.com>
> >
> > Currently, the KDEB_SOURCENAME make variable only controls the name
> > of the packaged source tarball, and does not impact the .deb
> > package names output by bindeb-pkg and deb-pkg. Presently, these
> > files are more rigidly named, as the user may only control the
> > names of .deb outputs by setting KDEB_PKGVERSION in their
> > environment.
> >
> > This patch modifies the builddeb script to use KDEB_SOURCENAME when
> > naming the image, firmware-image, headers, and libc-dev .deb output
> > files. This would allow folks who build-- for instance-- mainline,
> > stable, and next kernel packages more control over how their .deb
> > outputs are named.
> >
> > This patch also changes the default value of KDEB_SOURCENAME so as
> > not to change default .deb output file names. However, this does
> > have the side effect of renaming the source tarball generated
> > for .deb source packages.
> >
> > For example:
> > $ KDEB_SOURCENAME="linux-mainline" make bindeb-pkg
> >
> > Would output .deb files that begin with
> > ../linux-mainline-{image,firmware-image,headers,libc-dev}
>
> I'm not sure this a really useful. Next, mainline, stable etc are all
> different versions of linux, so version seems the correct place to
> describe them?
Thanks for the feedback. You make a good point.
I took this approach for the following problem as well (which I did
not mention in my initial submission, silly me):
- Build and package the same kernel commit, but with different kernel
configurations
If I were building and packaging different kernel commits on the same
tree, I could live without my patch. The bulleted edge case, and my
original commit message's case, do something interesting for target
installations. With some KDEB_PKGVERSION finesse, I could make multiple
versions of 'linux-configA-image' and 'linux-configB-image' available
to the target. At least for my usage, this patch can be useful.
Granted, LOCALVERSION hacking could accomplish the same thing. Maybe
it's the pedant in me, but "4.11.0-rc2$LOCALVERSION" seems ideal for
describing a named package, be it 'linux-image', 'linux-configA-image',
or '$KDEB_SOURCENAME-image'.
>
> > Signed-off-by: Joe Konno <joe.konno@intel.com>
> > ---
> > scripts/package/Makefile | 2 +-
> > scripts/package/builddeb | 8 ++++----
> > 2 files changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/scripts/package/Makefile b/scripts/package/Makefile
> > index 71b4a8af9d4d..e4280da03991 100644
> > --- a/scripts/package/Makefile
> > +++ b/scripts/package/Makefile
> > @@ -23,7 +23,7 @@
> >
> > # Remove hyphens since they have special meaning in RPM filenames
> > KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE))
> > -KDEB_SOURCENAME ?= linux-$(KERNELRELEASE)
> > +KDEB_SOURCENAME ?= linux
> > export KDEB_SOURCENAME
> > # Include only those top-level files that are needed by make, plus
> > the GPL copy TAR_CONTENT := $(KBUILD_ALLDIRS) .config .scmversion
> > Makefile \ diff --git a/scripts/package/builddeb
> > b/scripts/package/builddeb index 3c575cd07888..50caa143fb13 100755
> > --- a/scripts/package/builddeb
> > +++ b/scripts/package/builddeb
> > @@ -96,10 +96,10 @@ fwdir="$objtree/debian/fwtmp"
> > kernel_headers_dir="$objtree/debian/hdrtmp"
> > libc_headers_dir="$objtree/debian/headertmp"
> > dbg_dir="$objtree/debian/dbgtmp"
> > -packagename=linux-image-$version
> > -fwpackagename=linux-firmware-image-$version
> > -kernel_headers_packagename=linux-headers-$version
> > -libc_headers_packagename=linux-libc-dev
> > +packagename=${sourcename}-image-$version
> > +fwpackagename=${sourcename}-firmware-image-$version
> > +kernel_headers_packagename=${sourcename}-headers-$version
> > +libc_headers_packagename=${sourcename}-libc-dev
>
> The style here is to use variables without curly braces unless really
> needed.
I noted the prevailing style initially, but I took the (overly)
cautious route for submission. Thanks for the note-- no more curly
braces when expanding shell variables.
>
> > dbg_packagename=$packagename-dbg
> > debarch=
> > forcearch=
> > --
> > 2.7.4
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe
> > linux-kbuild" in the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-kbuild" in the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] scripts: package: KDEB_SOURCENAME in .deb names
2017-03-14 15:47 ` Joe Konno
@ 2017-03-21 8:34 ` Riku Voipio
2017-03-21 17:01 ` Joe Konno
0 siblings, 1 reply; 5+ messages in thread
From: Riku Voipio @ 2017-03-21 8:34 UTC (permalink / raw)
To: Joe Konno; +Cc: linux-kbuild
On 14 March 2017 at 17:47, Joe Konno <joe.konno@linux.intel.com> wrote:
> I took this approach for the following problem as well (which I did
> not mention in my initial submission, silly me):
>
> - Build and package the same kernel commit, but with different kernel
> configurations
Semi-related - you probably want to use bindeb-pkg (or my proposed fastdeb-pkg)
as with deb-pkg target you will generate many huge source tarballs with
identical content.
> If I were building and packaging different kernel commits on the same
> tree, I could live without my patch. The bulleted edge case, and my
> original commit message's case, do something interesting for target
> installations. With some KDEB_PKGVERSION finesse, I could make multiple
> versions of 'linux-configA-image' and 'linux-configB-image' available
> to the target. At least for my usage, this patch can be useful.
> Granted, LOCALVERSION hacking could accomplish the same thing. Maybe
> it's the pedant in me, but "4.11.0-rc2$LOCALVERSION" seems ideal for
> describing a named package, be it 'linux-image', 'linux-configA-image',
> or '$KDEB_SOURCENAME-image'.
It is idiomatic for Debian to have the configuration also in the version string:
$ apt-cache search ^linux-image
linux-image-4.9.0-2-686-pae-unsigned - Linux 4.9 for modern PCs
linux-image-4.9.0-2-686-unsigned - Linux 4.9 for older PCs
linux-image-4.9.0-2-amd64-unsigned - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-2-rt-686-pae-unsigned - Linux 4.9 for modern PCs,
PREEMPT_RT
linux-image-4.9.0-2-rt-amd64-unsigned - Linux 4.9 for 64-bit PCs, PREEMPT_RT
It is a bit of bikeshedding matter, but your users might be expecting the above
command to tell what kernels are available and "dpkg -l linux-image*" to
tell what kernels are installed.
Also I wouldn't be surprised if various scripts (dkms?) expected the
kernel packages to
start with "linux-image-".
Riku
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] scripts: package: KDEB_SOURCENAME in .deb names
2017-03-21 8:34 ` Riku Voipio
@ 2017-03-21 17:01 ` Joe Konno
0 siblings, 0 replies; 5+ messages in thread
From: Joe Konno @ 2017-03-21 17:01 UTC (permalink / raw)
To: Riku Voipio; +Cc: linux-kbuild
[-- Attachment #1: Type: text/plain, Size: 2849 bytes --]
On Tue, 21 Mar 2017 10:34:36 +0200
Riku Voipio <riku.voipio@linaro.org> wrote:
> On 14 March 2017 at 17:47, Joe Konno <joe.konno@linux.intel.com>
> wrote:
> > I took this approach for the following problem as well (which I did
> > not mention in my initial submission, silly me):
> >
> > - Build and package the same kernel commit, but with different
> > kernel configurations
>
> Semi-related - you probably want to use bindeb-pkg (or my proposed
> fastdeb-pkg) as with deb-pkg target you will generate many huge
> source tarballs with identical content.
>
> > If I were building and packaging different kernel commits on the
> > same tree, I could live without my patch. The bulleted edge case,
> > and my original commit message's case, do something interesting for
> > target installations. With some KDEB_PKGVERSION finesse, I could
> > make multiple versions of 'linux-configA-image' and
> > 'linux-configB-image' available to the target. At least for my
> > usage, this patch can be useful.
>
> > Granted, LOCALVERSION hacking could accomplish the same thing. Maybe
> > it's the pedant in me, but "4.11.0-rc2$LOCALVERSION" seems ideal for
> > describing a named package, be it 'linux-image',
> > 'linux-configA-image', or '$KDEB_SOURCENAME-image'.
>
> It is idiomatic for Debian to have the configuration also in the
> version string:
>
> $ apt-cache search ^linux-image
> linux-image-4.9.0-2-686-pae-unsigned - Linux 4.9 for modern PCs
> linux-image-4.9.0-2-686-unsigned - Linux 4.9 for older PCs
> linux-image-4.9.0-2-amd64-unsigned - Linux 4.9 for 64-bit PCs
> linux-image-4.9.0-2-rt-686-pae-unsigned - Linux 4.9 for modern PCs,
> PREEMPT_RT
> linux-image-4.9.0-2-rt-amd64-unsigned - Linux 4.9 for 64-bit PCs,
> PREEMPT_RT
>
> It is a bit of bikeshedding matter, but your users might be expecting
> the above command to tell what kernels are available and "dpkg -l
> linux-image*" to tell what kernels are installed.
Feedback appreciated as always. It's hard to argue for changing
builddeb when it already follows Debian's long-standing kernel
naming/versioning scheme.
I haven't any further arguments for my patch at this point. It seems
I'm up against long-standing Debian packaging norms, so I would need to
start a discussion within that community. So, I'll orphan my patch (and
current approach) here. I'll be sure to share any future
enhancements/fixes here.
Thanks again, Riku, for the review and feedback.
>
> Also I wouldn't be surprised if various scripts (dkms?) expected the
> kernel packages to
> start with "linux-image-".
>
> Riku
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-kbuild" in the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-03-21 17:02 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-13 22:21 [PATCH] scripts: package: KDEB_SOURCENAME in .deb names Joe Konno
2017-03-14 8:49 ` Riku Voipio
2017-03-14 15:47 ` Joe Konno
2017-03-21 8:34 ` Riku Voipio
2017-03-21 17:01 ` Joe Konno
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.