* [PATCH 2/2] deb-pkg: add source package
@ 2015-05-28 9:11 riku.voipio
2015-05-31 1:14 ` Ben Hutchings
2015-06-09 7:26 ` [2/2] " Yves-Alexis Perez
0 siblings, 2 replies; 6+ messages in thread
From: riku.voipio @ 2015-05-28 9:11 UTC (permalink / raw)
To: linux-kbuild, mmarek, debian-kernel; +Cc: Riku Voipio, maximilian attems
From: Riku Voipio <riku.voipio@linaro.org>
By passing BUILD_SOURCE=y variable, make deb-pkg builds a debian source
package. It will generate a minimal debian/rules file that calls back
to make deb-pkg. Generated source package will build the same kernel
.config than what was available for make deb-pkg.
The source package is useful for gpl compliance, or for feeding to a
automated debian package builder.
v2, address Maximilians comments
- Isolate from my other patches, so it can be merged easier
- Separate bindeb-pkg target for building just binary debs
- Build source package in deb-pkg target to match rpm-pkg target
Cc: maximilian attems <maks@stro.at>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
---
scripts/package/Makefile | 11 ++++++++---
scripts/package/builddeb | 33 +++++++++++++++++++++++++++++++++
2 files changed, 41 insertions(+), 3 deletions(-)
diff --git a/scripts/package/Makefile b/scripts/package/Makefile
index 99ca6e7..7ec4dcc 100644
--- a/scripts/package/Makefile
+++ b/scripts/package/Makefile
@@ -84,12 +84,16 @@ quiet_cmd_builddeb = BUILDDEB
} && \
\
$$KBUILD_PKG_ROOTCMD $(CONFIG_SHELL) \
- $(srctree)/scripts/package/builddeb
+ $(srctree)/scripts/package/builddeb $@
deb-pkg: FORCE
$(MAKE) KBUILD_SRC=
$(call cmd,builddeb)
+bindeb-pkg: FORCE
+ $(MAKE) KBUILD_SRC=
+ $(call cmd,builddeb)
+
clean-dirs += $(objtree)/debian/
@@ -133,8 +137,9 @@ perf-%pkg: FORCE
# ---------------------------------------------------------------------------
help: FORCE
@echo ' rpm-pkg - Build both source and binary RPM kernel packages'
- @echo ' binrpm-pkg - Build only the binary kernel package'
- @echo ' deb-pkg - Build the kernel as a deb package'
+ @echo ' binrpm-pkg - Build only the binary kernel RPM package'
+ @echo ' deb-pkg - Build both source and binary deb kernel packages'
+ @echo ' bindeb-pkg - Build only the binary kernel deb package'
@echo ' tar-pkg - Build the kernel as an uncompressed tarball'
@echo ' targz-pkg - Build the kernel as a gzip compressed tarball'
@echo ' tarbz2-pkg - Build the kernel as a bzip2 compressed tarball'
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index 0ccd7ee..1872d03 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -265,12 +265,16 @@ On Debian GNU/Linux systems, the complete text of the GNU General Public
License version 2 can be found in \`/usr/share/common-licenses/GPL-2'.
EOF
+
+build_depends="bc, kmod, cpio, python "
+
# Generate a control file
cat <<EOF > debian/control
Source: linux-upstream
Section: kernel
Priority: optional
Maintainer: $maintainer
+Build-Depends: $build_depends
Standards-Version: 3.8.4
Homepage: http://www.kernel.org/
EOF
@@ -391,4 +395,33 @@ EOF
create_package "$dbg_packagename" "$dbg_dir"
fi
+if [ "x$1" = "xdeb-pkg" ]
+then
+ cat <<EOF > debian/rules
+#!/usr/bin/make -f
+
+build:
+ cp debian/config .config
+ \$(MAKE) oldconfig
+
+binary-arch:
+ \$(MAKE) KDEB_PKGVERSION=${packageversion} deb-pkg
+
+clean:
+ \$(MAKE) clean
+
+binary: binary-arch
+EOF
+
+ (cd $KBUILD_SRC; git archive --prefix=linux-upstream-${version}/ HEAD)|gzip -9 > ../linux-upstream_${version}.orig.tar.gz
+ cp $KCONFIG_CONFIG debian/config
+ tar caf ../linux-upstream_${packageversion}.debian.tar.gz debian/{config,copyright,rules,changelog,control}
+ dpkg-source -cdebian/control -ldebian/changelog --format="3.0 (custom)" --target-format="3.0 (quilt)" \
+ -b / ../linux-upstream_${version}.orig.tar.gz ../linux-upstream_${packageversion}.debian.tar.gz
+ mv linux-upstream_${packageversion}*dsc ..
+ dpkg-genchanges > ../linux-upstream_${packageversion}_${debarch}.changes
+else
+ dpkg-genchanges -b > ../linux-upstream_${packageversion}_${debarch}.changes
+fi
+
exit 0
--
2.1.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] deb-pkg: add source package
2015-05-28 9:11 [PATCH 2/2] deb-pkg: add source package riku.voipio
@ 2015-05-31 1:14 ` Ben Hutchings
2015-06-01 8:35 ` Riku Voipio
2015-06-09 7:26 ` [2/2] " Yves-Alexis Perez
1 sibling, 1 reply; 6+ messages in thread
From: Ben Hutchings @ 2015-05-31 1:14 UTC (permalink / raw)
To: riku.voipio; +Cc: linux-kbuild, mmarek, debian-kernel, maximilian attems
[-- Attachment #1: Type: text/plain, Size: 2679 bytes --]
On Thu, 2015-05-28 at 12:11 +0300, riku.voipio@linaro.org wrote:
> From: Riku Voipio <riku.voipio@linaro.org>
>
> By passing BUILD_SOURCE=y variable, make deb-pkg builds a debian source
> package. It will generate a minimal debian/rules file that calls back
> to make deb-pkg. Generated source package will build the same kernel
> .config than what was available for make deb-pkg.
>
> The source package is useful for gpl compliance, or for feeding to a
> automated debian package builder.
>
> v2, address Maximilians comments
>
> - Isolate from my other patches, so it can be merged easier
> - Separate bindeb-pkg target for building just binary debs
> - Build source package in deb-pkg target to match rpm-pkg target
[...]
> --- a/scripts/package/builddeb
> +++ b/scripts/package/builddeb
> @@ -265,12 +265,16 @@ On Debian GNU/Linux systems, the complete text of the GNU General Public
> License version 2 can be found in \`/usr/share/common-licenses/GPL-2'.
> EOF
>
> +
> +build_depends="bc, kmod, cpio, python "
Why python?
> # Generate a control file
> cat <<EOF > debian/control
> Source: linux-upstream
> Section: kernel
> Priority: optional
> Maintainer: $maintainer
> +Build-Depends: $build_depends
> Standards-Version: 3.8.4
> Homepage: http://www.kernel.org/
> EOF
> @@ -391,4 +395,33 @@ EOF
> create_package "$dbg_packagename" "$dbg_dir"
> fi
>
> +if [ "x$1" = "xdeb-pkg" ]
> +then
> + cat <<EOF > debian/rules
> +#!/usr/bin/make -f
> +
> +build:
> + cp debian/config .config
> + \$(MAKE) oldconfig
> +
> +binary-arch:
> + \$(MAKE) KDEB_PKGVERSION=${packageversion} deb-pkg
This should invoke the bindeb-pkg target.
> +clean:
> + \$(MAKE) clean
> +
> +binary: binary-arch
> +EOF
> +
> + (cd $KBUILD_SRC; git archive --prefix=linux-upstream-${version}/ HEAD)|gzip -9 > ../linux-upstream_${version}.orig.tar.gz
Not xz? (Which would add a build-dependency, of course.)
Ben.
> + cp $KCONFIG_CONFIG debian/config
> + tar caf ../linux-upstream_${packageversion}.debian.tar.gz debian/{config,copyright,rules,changelog,control}
> + dpkg-source -cdebian/control -ldebian/changelog --format="3.0 (custom)" --target-format="3.0 (quilt)" \
> + -b / ../linux-upstream_${version}.orig.tar.gz ../linux-upstream_${packageversion}.debian.tar.gz
> + mv linux-upstream_${packageversion}*dsc ..
> + dpkg-genchanges > ../linux-upstream_${packageversion}_${debarch}.changes
> +else
> + dpkg-genchanges -b > ../linux-upstream_${packageversion}_${debarch}.changes
> +fi
> +
> exit 0
--
Ben Hutchings
Reality is just a crutch for people who can't handle science fiction.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 811 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] deb-pkg: add source package
2015-05-31 1:14 ` Ben Hutchings
@ 2015-06-01 8:35 ` Riku Voipio
2015-06-01 12:03 ` Ben Hutchings
0 siblings, 1 reply; 6+ messages in thread
From: Riku Voipio @ 2015-06-01 8:35 UTC (permalink / raw)
To: Ben Hutchings; +Cc: linux-kbuild, mmarek, debian-kernel, maximilian attems
On 31 May 2015 at 04:14, Ben Hutchings <ben@decadent.org.uk> wrote:
> On Thu, 2015-05-28 at 12:11 +0300, riku.voipio@linaro.org wrote:
>> From: Riku Voipio <riku.voipio@linaro.org>
>>
>> By passing BUILD_SOURCE=y variable, make deb-pkg builds a debian source
>> package. It will generate a minimal debian/rules file that calls back
>> to make deb-pkg. Generated source package will build the same kernel
>> .config than what was available for make deb-pkg.
>>
>> The source package is useful for gpl compliance, or for feeding to a
>> automated debian package builder.
>>
>> v2, address Maximilians comments
>>
>> - Isolate from my other patches, so it can be merged easier
>> - Separate bindeb-pkg target for building just binary debs
>> - Build source package in deb-pkg target to match rpm-pkg target
> [...]
>> --- a/scripts/package/builddeb
>> +++ b/scripts/package/builddeb
>> @@ -265,12 +265,16 @@ On Debian GNU/Linux systems, the complete text of the GNU General Public
>> License version 2 can be found in \`/usr/share/common-licenses/GPL-2'.
>> EOF
>>
>> +
>> +build_depends="bc, kmod, cpio, python "
> Why python?
I recall seeing python called sometimes in kernel build, and it's
alsoin debian kernel build-depends. However, a quick git grep suggests
this would be ia64 only.
>> # Generate a control file
>> cat <<EOF > debian/control
>> Source: linux-upstream
>> Section: kernel
>> Priority: optional
>> Maintainer: $maintainer
>> +Build-Depends: $build_depends
>> Standards-Version: 3.8.4
>> Homepage: http://www.kernel.org/
>> EOF
>> @@ -391,4 +395,33 @@ EOF
>> create_package "$dbg_packagename" "$dbg_dir"
>> fi
>>
>> +if [ "x$1" = "xdeb-pkg" ]
>> +then
>> + cat <<EOF > debian/rules
>> +#!/usr/bin/make -f
>> +
>> +build:
>> + cp debian/config .config
>> + \$(MAKE) oldconfig
>> +
>> +binary-arch:
>> + \$(MAKE) KDEB_PKGVERSION=${packageversion} deb-pkg
>
> This should invoke the bindeb-pkg target.
good catch, will fix.
>> +clean:
>> + \$(MAKE) clean
>> +
>> +binary: binary-arch
>> +EOF
>> +
>> + (cd $KBUILD_SRC; git archive --prefix=linux-upstream-${version}/ HEAD)|gzip -9 > ../linux-upstream_${version}.orig.tar.gz
> Not xz? (Which would add a build-dependency, of course.)
I tried to keep this as universally usable as possible. Can we assume
xz installed these days? In debian/ubuntu yes, but do we want to cater
users of other distributions as well?
> Ben.
>
>> + cp $KCONFIG_CONFIG debian/config
>> + tar caf ../linux-upstream_${packageversion}.debian.tar.gz debian/{config,copyright,rules,changelog,control}
>> + dpkg-source -cdebian/control -ldebian/changelog --format="3.0 (custom)" --target-format="3.0 (quilt)" \
>> + -b / ../linux-upstream_${version}.orig.tar.gz ../linux-upstream_${packageversion}.debian.tar.gz
>> + mv linux-upstream_${packageversion}*dsc ..
>> + dpkg-genchanges > ../linux-upstream_${packageversion}_${debarch}.changes
>> +else
>> + dpkg-genchanges -b > ../linux-upstream_${packageversion}_${debarch}.changes
>> +fi
>> +
>> exit 0
>
> --
> Ben Hutchings
> Reality is just a crutch for people who can't handle science fiction.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] deb-pkg: add source package
2015-06-01 8:35 ` Riku Voipio
@ 2015-06-01 12:03 ` Ben Hutchings
0 siblings, 0 replies; 6+ messages in thread
From: Ben Hutchings @ 2015-06-01 12:03 UTC (permalink / raw)
To: Riku Voipio; +Cc: linux-kbuild, mmarek, debian-kernel, maximilian attems
[-- Attachment #1: Type: text/plain, Size: 2372 bytes --]
On Mon, 2015-06-01 at 11:35 +0300, Riku Voipio wrote:
> On 31 May 2015 at 04:14, Ben Hutchings <ben@decadent.org.uk> wrote:
> > On Thu, 2015-05-28 at 12:11 +0300, riku.voipio@linaro.org wrote:
> >> From: Riku Voipio <riku.voipio@linaro.org>
> >>
> >> By passing BUILD_SOURCE=y variable, make deb-pkg builds a debian source
> >> package. It will generate a minimal debian/rules file that calls back
> >> to make deb-pkg. Generated source package will build the same kernel
> >> .config than what was available for make deb-pkg.
> >>
> >> The source package is useful for gpl compliance, or for feeding to a
> >> automated debian package builder.
> >>
> >> v2, address Maximilians comments
> >>
> >> - Isolate from my other patches, so it can be merged easier
> >> - Separate bindeb-pkg target for building just binary debs
> >> - Build source package in deb-pkg target to match rpm-pkg target
> > [...]
> >> --- a/scripts/package/builddeb
> >> +++ b/scripts/package/builddeb
> >> @@ -265,12 +265,16 @@ On Debian GNU/Linux systems, the complete text of the GNU General Public
> >> License version 2 can be found in \`/usr/share/common-licenses/GPL-2'.
> >> EOF
> >>
> >> +
> >> +build_depends="bc, kmod, cpio, python "
>
> > Why python?
>
> I recall seeing python called sometimes in kernel build, and it's
> alsoin debian kernel build-depends. However, a quick git grep suggests
> this would be ia64 only.
Yes, the Debian source package has a bunch of Python scripts but not
upstream.
[...]
> >> +clean:
> >> + \$(MAKE) clean
> >> +
> >> +binary: binary-arch
> >> +EOF
> >> +
> >> + (cd $KBUILD_SRC; git archive --prefix=linux-upstream-${version}/ HEAD)|gzip -9 > ../linux-upstream_${version}.orig.tar.gz
>
> > Not xz? (Which would add a build-dependency, of course.)
>
> I tried to keep this as universally usable as possible. Can we assume
> xz installed these days? In debian/ubuntu yes, but do we want to cater
> users of other distributions as well?
It would be surprising to have dpkg and not xz. dpkg doesn't depend on
the xz command any more but it does use liblzma.
Still, I accept that gzip may make this slightly more portable.
Ben.
--
Ben Hutchings
Power corrupts. Absolute power is kind of neat.
- John Lehman, Secretary of the US Navy 1981-1987
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 811 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [2/2] deb-pkg: add source package
2015-05-28 9:11 [PATCH 2/2] deb-pkg: add source package riku.voipio
2015-05-31 1:14 ` Ben Hutchings
@ 2015-06-09 7:26 ` Yves-Alexis Perez
2015-06-10 10:04 ` Riku Voipio
1 sibling, 1 reply; 6+ messages in thread
From: Yves-Alexis Perez @ 2015-06-09 7:26 UTC (permalink / raw)
To: Riku Voipio; +Cc: linux-kbuild, mmarek, debian-kernel, maximilian attems
[-- Attachment #1: Type: text/plain, Size: 410 bytes --]
On jeu., 2015-05-28 at 12:11 +0300, Riku Voipio wrote:
> + dpkg-genchanges > ../linux-upstream_${packageversion}_
> ${debarch}.changes
> +else
> + dpkg-genchanges -b > ../linux-upstream_${packageversion}_
> ${debarch}.changes
${debarch} seems empty here when using make deb-pkg, not too sure why
(I'm building using KBUILD_OUTPUT, not sure if it's related).
Regards,
--
Yves-Alexis
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [2/2] deb-pkg: add source package
2015-06-09 7:26 ` [2/2] " Yves-Alexis Perez
@ 2015-06-10 10:04 ` Riku Voipio
0 siblings, 0 replies; 6+ messages in thread
From: Riku Voipio @ 2015-06-10 10:04 UTC (permalink / raw)
To: Yves-Alexis Perez; +Cc: linux-kbuild, mmarek, debian-kernel, maximilian attems
On 9 June 2015 at 10:26, Yves-Alexis Perez <corsac@debian.org> wrote:
> On jeu., 2015-05-28 at 12:11 +0300, Riku Voipio wrote:
>> + dpkg-genchanges > ../linux-upstream_${packageversion}_
>> ${debarch}.changes
>> +else
>> + dpkg-genchanges -b > ../linux-upstream_${packageversion}_
>> ${debarch}.changes
>
> ${debarch} seems empty here when using make deb-pkg, not too sure why
> (I'm building using KBUILD_OUTPUT, not sure if it's related).
Hi Yves,
You are missing the patch already qued that is sets the debarch variable:
https://kernel.googlesource.com/pub/scm/linux/kernel/git/mmarek/kbuild/+/dca0c0246fb739bccdd19ff2bfd0f02ccffdb07c
Riku
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-06-10 10:04 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-28 9:11 [PATCH 2/2] deb-pkg: add source package riku.voipio
2015-05-31 1:14 ` Ben Hutchings
2015-06-01 8:35 ` Riku Voipio
2015-06-01 12:03 ` Ben Hutchings
2015-06-09 7:26 ` [2/2] " Yves-Alexis Perez
2015-06-10 10:04 ` Riku Voipio
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.