Kernel rpm versioning changes
Jarod Wilson
jwilson at redhat.com
Tue Jul 3 19:01:16 UTC 2007
Dave Jones wrote:
> On Tue, Jul 03, 2007 at 11:47:18AM -0500, Tom spot Callaway wrote:
>
> > This is why Fedora adopted the pre-release versioning scheme that we
> > did:
> >
> > http://fedoraproject.org/wiki/Packaging/NamingGuidelines#PreReleasePackages
> >
> > In the Fedora scheme, this would be
> >
> > 0.%{X}.%{alphatag}
> >
> > Or, in your specific example:
> >
> > kernel-2.6.22-0.2.rc7.git1.fc8 vs kernel-2.6.22-0.1.rc7.fc8
>
> Ok, that looks fixable by doing this..
Damn, I looked at that particular case and everything was just fine with
it in my head... Stupid head.
> Jarod, want to give this a quick once-over?
Yup.
> Index: kernel-2.6.spec
> ===================================================================
> RCS file: /cvs/pkgs/rpms/kernel/devel/kernel-2.6.spec,v
> retrieving revision 1.3257
> diff -u -p -r1.3257 kernel-2.6.spec
> --- kernel-2.6.spec 3 Jul 2007 16:45:36 -0000 1.3257
> +++ kernel-2.6.spec 3 Jul 2007 18:45:22 -0000
> @@ -15,7 +15,7 @@ Summary: The Linux kernel (the core of t
>
> # fedora_build defines which build revision of this kernel version we're building. In the
> # non-kernel world, this is analogous to the Release: field, and is formatted similarly.
> -%define fedora_build 2%{?dist}
> +%define fedora_build 2
I might change the comment here slightly, since w/o %{?dist} right
there, its not quite the same as Release: anymore, but that's neither
here nor there for actually fixing the problem... :)
> # base_sublevel is the kernel version we're starting with and patching
> # on top of -- for example, 2.6.22-rc7-git1 starts with a 2.6.21 base,
> @@ -107,7 +107,7 @@ Summary: The Linux kernel (the core of t
>
> # pkg_release is what we'll fill in for the rpm Release: field
> %if %{released_kernel}
> -%define pkg_release %{fedora_build}%{?buildid}
> +%define pkg_release %{fedora_build}%{?dist}%{?buildid}
> %else
> %if 0%{?rcrev}
> %define rctag .rc%rcrev
> @@ -118,7 +118,7 @@ Summary: The Linux kernel (the core of t
> %define rctag .rc0
> %endif
> %endif
> -%define pkg_release 0%{?rctag}%{?gittag}.%{fedora_build}%{?buildid}
> +%define pkg_release 0.%{fedora_build}%{?buildid}%{?rctag}%{?gittag}%{?dist}
> %endif
>
> # The kernel tarball/base version
>
> > Note that for this to work, you need to increment %{X} upon every new
> > package.
>
> It's non-obvious to me what %{?buildid} is, but it seems to
> auto-increment.
The %buildid is for one-off builds, there's a blurb at the top of the
spec where we request people to set it for their own custom builds for
identifying non-official kernels. Never set in official fedora builds.
The order of it in pkg_release probably doesn't matter too much, though
I personally like it at the very end. Otherwise, the changes look fine
to me.
The other crazy idea I had was to call 2.6.22-rc7
2.6.22-0.rc7.git0.1.fc8. Making fedora_build auto-increment is probably
cleaner, though it'd be nice to also have it reset on a kernel major
version rebase (either manually or automagically).
--
Jarod Wilson
jwilson at redhat.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 251 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/fedora-kernel-list/attachments/20070703/c1cafb3c/attachment.sig>
More information about the Fedora-kernel-list
mailing list