Re: [PATCH] builddeb: add make fastdeb-pkg target
On 13 January 2017 at 08:54, Andrew Donnellan
<andrew.donnellan@au1.ibm.com> wrote:
> On 29/11/16 13:45, Andrew Donnellan wrote:
>>
>> On 26/11/16 01:15, riku.voipio@linaro.org wrote:
>>>
>>> From: Riku Voipio <riku.voipio@linaro.org>
>>>
>>> Currently, the deb-pkg and bindeb-pkg targets create multiple packages
>>> for the kernel binaries, headers, userspace headers and firmware.
>>>
>>> For developers who generate Debian packages as part of their development
>>> workflows, it's often not necessary to generate all these packages.
>>>
>>> Introduce new target, fastdeb-pkg, which only generates kernel packages.
>>> Re-order package build order so that kernel binary package is created
>>> first and we can exit cleanly unless generating rest packages with the
>>> old bindeb-pkg and deb-pkg targets.
>>>
>>> Cc: Jim Davis <jim.epost@gmail.com>
>>> Cc: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
>>> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
>>
>>
>> Some comments below. With those addressed:
>>
>> Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
> It looks like this still hasn't been merged?
Well it adds a new Makefile target, so I'd like to hear from Michael
and others if that's ok.
Less controversial, also missed 4.10: [PATCH v2] builddeb: Update a
few outdated and hardcoded strings. Which I guess could be updated for
2017 now...
Riku
>
> Andrew
>
>
>
>>
>>> ---
>>> scripts/package/Makefile | 7 ++++++-
>>> scripts/package/builddeb | 49
>>> +++++++++++++++++++++++++-----------------------
>>> 2 files changed, 32 insertions(+), 24 deletions(-)
>>>
>>> diff --git a/scripts/package/Makefile b/scripts/package/Makefile
>>> index 71b4a8a..c858366 100644
>>> --- a/scripts/package/Makefile
>>> +++ b/scripts/package/Makefile
>>> @@ -97,6 +97,10 @@ bindeb-pkg: FORCE
>>> $(MAKE) KBUILD_SRC=
>>> +$(call cmd,builddeb)
>>>
>>> +fastdeb-pkg: FORCE
>>> + $(MAKE) KBUILD_SRC=
>>> + +$(call cmd,builddeb)
>>> +
>>> clean-dirs += $(objtree)/debian/
>>>
>>>
>>> @@ -142,7 +146,8 @@ help: FORCE
>>> @echo ' rpm-pkg - Build both source and binary RPM
>>> kernel packages'
>>> @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 ' bindeb-pkg - Build all binary kernel deb packages'
>>> + @echo ' fastdeb-pkg - Build only the binary kernel deb
>>> package'
>>
>>
>> Perhaps "kernel image deb package" to be more specific?
>>
>>> @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 8ea9fd2..5035f57 100755
>>> --- a/scripts/package/builddeb
>>> +++ b/scripts/package/builddeb
>>> @@ -185,11 +185,6 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ;
>>> then
>>> fi
>>> fi
>>>
>>> -if [ "$ARCH" != "um" ]; then
>>> - $MAKE headers_check KBUILD_SRC=
>>> - $MAKE headers_install KBUILD_SRC=
>>> INSTALL_HDR_PATH="$libc_headers_dir/usr"
>>> -fi
>>> -
>>> # Install the maintainer scripts
>>> # Note: hook scripts under /etc/kernel are also executed by official
>>> Debian
>>> # kernel packages, as well as kernel packages built using make-kpkg.
>>> @@ -323,6 +318,32 @@ EOF
>>>
>>> fi
>>>
>>> +# Do we have firmware? Move it out of the way and build it into a
>>> package.
>>
>>
>> This comment is no longer accurate as we split the move and the build.
>>
>>> +if [ -e "$tmpdir/lib/firmware" ]; then
>>> + mv "$tmpdir/lib/firmware"/* "$fwdir/lib/firmware/$version/"
>>> + rmdir "$tmpdir/lib/firmware"
>>> +fi
>>> +
>>> +create_package "$packagename" "$tmpdir"
>>> +[ "x$1" = "xfastdeb-pkg" ] && exit 0
>>
>>
>> How idiomatic is [ condition ] && command vs if [ condition ]; then
>> command; fi? Perhaps it's just my lack of bash-fu but this took me a
>> moment to parse.
>>
>>> +
>>> +if [ -e "$fwdir/lib/firmware/$version" ]; then
>>> + cat <<EOF >> debian/control
>>> +
>>> +Package: $fwpackagename
>>> +Architecture: all
>>> +Description: Linux kernel firmware, version $version
>>> + This package contains firmware from the Linux kernel, version $version.
>>> +EOF
>>> +
>>> + create_package "$fwpackagename" "$fwdir"
>>> +fi
>>> +
>>> +if [ "$ARCH" != "um" ]; then
>>> + $MAKE headers_check KBUILD_SRC=
>>> + $MAKE headers_install KBUILD_SRC=
>>> INSTALL_HDR_PATH="$libc_headers_dir/usr"
>>> +fi
>>> +
>>> # Build kernel header package
>>> (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name
>>> \*.pl) > "$objtree/debian/hdrsrcfiles"
>>> (cd $srctree; find arch/*/include include scripts -type f) >>
>>> "$objtree/debian/hdrsrcfiles"
>>> @@ -354,22 +375,6 @@ Description: Linux kernel headers for
>>> $KERNELRELEASE on \${kernel:debarch}
>>> This is useful for people who need to build external modules
>>> EOF
>>>
>>> -# Do we have firmware? Move it out of the way and build it into a
>>> package.
>>> -if [ -e "$tmpdir/lib/firmware" ]; then
>>> - mv "$tmpdir/lib/firmware"/* "$fwdir/lib/firmware/$version/"
>>> - rmdir "$tmpdir/lib/firmware"
>>> -
>>> - cat <<EOF >> debian/control
>>> -
>>> -Package: $fwpackagename
>>> -Architecture: all
>>> -Description: Linux kernel firmware, version $version
>>> - This package contains firmware from the Linux kernel, version $version.
>>> -EOF
>>> -
>>> - create_package "$fwpackagename" "$fwdir"
>>> -fi
>>> -
>>> cat <<EOF >> debian/control
>>>
>>> Package: $libc_headers_packagename
>>> @@ -386,8 +391,6 @@ if [ "$ARCH" != "um" ]; then
>>> create_package "$libc_headers_packagename" "$libc_headers_dir"
>>> fi
>>>
>>> -create_package "$packagename" "$tmpdir"
>>> -
>>> if [ -n "$BUILD_DEBUG" ] ; then
>>> # Build debug package
>>> # Different tools want the image in different locations
>>>
>>
>
> --
> Andrew Donnellan OzLabs, ADL Canberra
> andrew.donnellan@au1.ibm.com IBM Australia Limited
>
Reply to: