Re: linux-2.6 - subarch and patches
On Wed, 3 Aug 2005, Bastian Blank wrote:
Hi folks
linux-2.6 currently "supports" something called subarch. It should be
used for incompatible patches. This is needed for m68k and I think mips.
Problems with this
- mostly unimplemented,
I can't say that I have extensively tested the subarch cases, but I
definitely had it in mind, and I'd rather describe its state as "very
poorly tested" than "mostly unimplemented" :-)
- namingschema differs from anything else: linux-image-$subarch-2.6-$flavour.
Proposal:
Replace with patch definitions.
- Each arch may specify an architectury specific patch, each image
package may specify another patch, it may shared between more than one
image.
There is actually code for that in $(kdir) target in debian/Makefile:
patches := $(wildcard patches-arch/$(subarch).*)
patches += $(wildcard patches-arch/$(subarch)_*)
patches += $(wildcard patches-arch/$(karch).*)
patches += $(wildcard patches-arch/$(karch)_*)
patches := $(strip $(patches))
[...]
$(kdir): post-install-$(subarch) $(wildcard templates/control.*.in)
[...]
if [ -n '$(patches)' ]; then \
cd $(tkdir); \
cat $(addprefix ../,$(patches)) | patch -p1; \
fi
Definitely there is room for improvement, but your proposal is (at least
partially) implemented.
- Generated packages:
- Patches:
- linux-patch-debian-$version (the same than now)
- linux-patch-debian-$version-$arch
- linux-patch-debian-$version-$arch-$name
With the common source package I see absolutely no reason to split the
patches up. And the code which will collect all the arch/subarch specific
patches and put it into a single linux-patch-debian package is already
there.
- Header:
Any of the package contains the same, just with the patches applied.
That is also taken into account already: the subarch-specific header
packages are built (or rather, would be built) from the patched tree, so
all the header files are correct.
If we have want to code something more, we may produce packages
which just links most of the files to the more generic version.
- linux-headers-$version-$abiname (as known)
- linux-headers-$version-$abiname-$arch
- linux-headers-$version-$abiname-$arch-$name
I don't have any objections to this naming scheme (generally, I don't care
about naming so much :-). The only thing which in my opinion _must_ be
guaranteed, is that running
apt-get install linux-headers-$(uname -r)
will install the full set of packages for the currently running kernel. If
you have a clear picture on how to do that in your naming scheme, just go
ahead and make the necessary changes.
- linux-header-$version-$abiname-$flavour depends against the main
header package which the correct patches.
Bastian
It turns out that I will not be available on Saturday to discuss these
things, sorry about that. Hopefully we can talk on Sunday.
Best regards,
Jurij Smakov jurij@wooyd.org
Key: http://www.wooyd.org/pgpkey/ KeyID: C99E03CC
Reply to: