* [PATCH] Fixup deb-pkg target to generate separate firmware deb.
@ 2008-09-12 11:20 Jonathan McDowell
2008-09-13 8:35 ` Frans Pop
0 siblings, 1 reply; 5+ messages in thread
From: Jonathan McDowell @ 2008-09-12 11:20 UTC (permalink / raw)
To: Frans Pop, linux-kernel
The below is a simplistic fix for "make deb-pkg"; it splits the firmware
out to a linux-firmware-image package and adds an (unversioned) Suggests
to the linux package for this firmware.
Frans, does this solve your problem in an acceptable manner?
Signed-Off-By: Jonathan McDowell <noodles@earth.li>
-----
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index ba6bf5d..d152b38 100644
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -15,15 +15,18 @@ set -e
version=$KERNELRELEASE
revision=`cat .version`
tmpdir="$objtree/debian/tmp"
+fwdir="$objtree/debian/fwtmp"
packagename=linux-$version
+fwpackagename=linux-firmware-image
if [ "$ARCH" == "um" ] ; then
packagename=user-mode-linux-$version
fi
# Setup the directory structure
-rm -rf "$tmpdir"
+rm -rf "$tmpdir" "$fwdir"
mkdir -p "$tmpdir/DEBIAN" "$tmpdir/lib" "$tmpdir/boot"
+mkdir -p "$fwdir/DEBIAN" "$fwdir/lib"
if [ "$ARCH" == "um" ] ; then
mkdir -p "$tmpdir/usr/lib/uml/modules/$version" "$tmpdir/usr/share/doc/$packagename" "$tmpdir/usr/bin"
fi
@@ -107,6 +110,7 @@ Standards-Version: 3.6.1
Package: $packagename
Provides: kernel-image-$version, linux-image-$version
+Suggests: $fwpackagename
Architecture: any
Description: Linux kernel, version $version
This package contains the Linux kernel, modules and corresponding other
@@ -118,8 +122,24 @@ fi
chown -R root:root "$tmpdir"
chmod -R go-w "$tmpdir"
+# 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/"
+
+cat <<EOF >> debian/control
+
+Package: $fwpackagename
+Architecture: any
+Description: Linux kernel firmware, version $version
+ This package contains firmware from the Linux kernel, version $version
+EOF
+
+dpkg-gencontrol -isp -p$fwpackagename -P"$fwdir"
+dpkg --build "$fwdir" ..
+fi
+
# Perform the final magic
-dpkg-gencontrol -isp
+dpkg-gencontrol -isp -p$packagename
dpkg --build "$tmpdir" ..
exit 0
-----
J.
--
If I save time, when do I get it back?
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] Fixup deb-pkg target to generate separate firmware deb.
2008-09-12 11:20 [PATCH] Fixup deb-pkg target to generate separate firmware deb Jonathan McDowell
@ 2008-09-13 8:35 ` Frans Pop
2008-09-13 16:08 ` Jonathan McDowell
0 siblings, 1 reply; 5+ messages in thread
From: Frans Pop @ 2008-09-13 8:35 UTC (permalink / raw)
To: Jonathan McDowell; +Cc: linux-kernel
On Friday 12 September 2008, Jonathan McDowell wrote:
> The below is a simplistic fix for "make deb-pkg"; it splits the
> firmware out to a linux-firmware-image package and adds an
> (unversioned) Suggests to the linux package for this firmware.
>
> Frans, does this solve your problem in an acceptable manner?
Yes it does. Thanks for the patch Jonathan.
Tested both with kernel configs that result in firmware and that do not
result in firmware.
A few minor nitpicks below.
> Signed-Off-By: Jonathan McDowell <noodles@earth.li>
Acked-by: Frans Pop <elendil@planet.nl>
> @@ -118,8 +122,24 @@ fi
> chown -R root:root "$tmpdir"
> chmod -R go-w "$tmpdir"
>
> +# 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/"
> +
> +cat <<EOF >> debian/control
This line should be indented one level.
> +
> +Package: $fwpackagename
> +Architecture: any
> +Description: Linux kernel firmware, version $version
> + This package contains firmware from the Linux kernel, version
> $version
> +EOF
> +
> +dpkg-gencontrol -isp -p$fwpackagename -P"$fwdir"
> +dpkg --build "$fwdir" ..
Same for these two lines.
> +fi
> +
> # Perform the final magic
> -dpkg-gencontrol -isp
> +dpkg-gencontrol -isp -p$packagename
> dpkg --build "$tmpdir" ..
>
> exit 0
> -----
>
> J.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Fixup deb-pkg target to generate separate firmware deb.
2008-09-13 8:35 ` Frans Pop
@ 2008-09-13 16:08 ` Jonathan McDowell
2008-09-13 16:28 ` Frans Pop
0 siblings, 1 reply; 5+ messages in thread
From: Jonathan McDowell @ 2008-09-13 16:08 UTC (permalink / raw)
To: Frans Pop; +Cc: linux-kernel, linux-kbuild
[Adding linux-kbuild as that seems to be the closest to a maintainer for
scripts/package/]
On Sat, Sep 13, 2008 at 10:35:18AM +0200, Frans Pop wrote:
> On Friday 12 September 2008, Jonathan McDowell wrote:
> > The below is a simplistic fix for "make deb-pkg"; it splits the
> > firmware out to a linux-firmware-image package and adds an
> > (unversioned) Suggests to the linux package for this firmware.
> >
> > Frans, does this solve your problem in an acceptable manner?
>
> Yes it does. Thanks for the patch Jonathan.
> Tested both with kernel configs that result in firmware and that do not
> result in firmware.
>
> A few minor nitpicks below.
Ta, I've fixed both the indents. I've also changed the firmware package
to be arch: all.
> > Signed-Off-By: Jonathan McDowell <noodles@earth.li>
> Acked-by: Frans Pop <elendil@planet.nl>
-----
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index ba6bf5d..1264b8e 100644
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -15,15 +15,18 @@ set -e
version=$KERNELRELEASE
revision=`cat .version`
tmpdir="$objtree/debian/tmp"
+fwdir="$objtree/debian/fwtmp"
packagename=linux-$version
+fwpackagename=linux-firmware-image
if [ "$ARCH" == "um" ] ; then
packagename=user-mode-linux-$version
fi
# Setup the directory structure
-rm -rf "$tmpdir"
+rm -rf "$tmpdir" "$fwdir"
mkdir -p "$tmpdir/DEBIAN" "$tmpdir/lib" "$tmpdir/boot"
+mkdir -p "$fwdir/DEBIAN" "$fwdir/lib"
if [ "$ARCH" == "um" ] ; then
mkdir -p "$tmpdir/usr/lib/uml/modules/$version" "$tmpdir/usr/share/doc/$packagename" "$tmpdir/usr/bin"
fi
@@ -107,6 +110,7 @@ Standards-Version: 3.6.1
Package: $packagename
Provides: kernel-image-$version, linux-image-$version
+Suggests: $fwpackagename
Architecture: any
Description: Linux kernel, version $version
This package contains the Linux kernel, modules and corresponding other
@@ -118,8 +122,24 @@ fi
chown -R root:root "$tmpdir"
chmod -R go-w "$tmpdir"
+# 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/"
+
+ 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
+
+ dpkg-gencontrol -isp -p$fwpackagename -P"$fwdir"
+ dpkg --build "$fwdir" ..
+fi
+
# Perform the final magic
-dpkg-gencontrol -isp
+dpkg-gencontrol -isp -p$packagename
dpkg --build "$tmpdir" ..
exit 0
-----
J.
--
"Just because I'll spend 4 hours automating a task that takes 4 minutes
by hand doesn't mean I'm not lazy." -- Mike Sphar, asr
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] Fixup deb-pkg target to generate separate firmware deb.
2008-09-13 16:08 ` Jonathan McDowell
@ 2008-09-13 16:28 ` Frans Pop
2008-09-15 13:30 ` Jonathan McDowell
0 siblings, 1 reply; 5+ messages in thread
From: Frans Pop @ 2008-09-13 16:28 UTC (permalink / raw)
To: Jonathan McDowell; +Cc: linux-kernel, linux-kbuild
On Saturday 13 September 2008, Jonathan McDowell wrote:
> Ta, I've fixed both the indents. I've also changed the firmware package
> to be arch: all.
Although I agree that arch all is technically not incorrect, I wonder if
it is the smart thing to do it here.
The pkg-deb target is probably mostly, or even exclusively - used to build
custom kernels, and people might be crossbuilding kernels with different
configs and thus resulting in different firmware files from the same
source (thus same version) on the same system.
I build amd64, i386 and armel that way on my main desktop system, all with
different configs (tuned mainly to keep the build time down).
Keeping the firmware package arch-specific would ensure that a firmware
package built with the config for one arch does not get overwritten by
one built for another arch with a different config.
Cheers,
FJP
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] Fixup deb-pkg target to generate separate firmware deb.
2008-09-13 16:28 ` Frans Pop
@ 2008-09-15 13:30 ` Jonathan McDowell
0 siblings, 0 replies; 5+ messages in thread
From: Jonathan McDowell @ 2008-09-15 13:30 UTC (permalink / raw)
To: Frans Pop; +Cc: linux-kernel, linux-kbuild
On Sat, Sep 13, 2008 at 06:28:53PM +0200, Frans Pop wrote:
> On Saturday 13 September 2008, Jonathan McDowell wrote:
> > Ta, I've fixed both the indents. I've also changed the firmware package
> > to be arch: all.
>
> Although I agree that arch all is technically not incorrect, I wonder if
> it is the smart thing to do it here.
>
> The pkg-deb target is probably mostly, or even exclusively - used to build
> custom kernels, and people might be crossbuilding kernels with different
> configs and thus resulting in different firmware files from the same
> source (thus same version) on the same system.
> I build amd64, i386 and armel that way on my main desktop system, all with
> different configs (tuned mainly to keep the build time down).
>
> Keeping the firmware package arch-specific would ensure that a firmware
> package built with the config for one arch does not get overwritten by
> one built for another arch with a different config.
There's nothing stopping you having several different configs for the
same arch that don't produce all the required firmware either. I think
the right answer if you're building lots of different kernels for
different machines in testing is probably to build a
linux-firmware-image that has everything in it, so that you don't have
to worry about upgrading it most of the time.
(Technically you could make the firmware image indicate which firmware
it provides, but I think that gets overly granular for not huge gain.)
J.
--
Web [ Make friends. ]
site: http:// [ ] Made by
www.earth.li/~noodles/ [ ] HuggieTag 0.0.23
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-09-15 14:01 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-12 11:20 [PATCH] Fixup deb-pkg target to generate separate firmware deb Jonathan McDowell
2008-09-13 8:35 ` Frans Pop
2008-09-13 16:08 ` Jonathan McDowell
2008-09-13 16:28 ` Frans Pop
2008-09-15 13:30 ` Jonathan McDowell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox