[meego-packaging] MeeGo and compatibility with other distros
Felipe Contreras
felipe.contreras at nokia.com
Thu Jul 8 12:00:31 PDT 2010
jsmoeller at linuxfoundation.org wrote:
> On Thursday 08 July 2010 16:50:08 Felipe Contreras wrote:
> [...]
> > > > 2) No %changelog, .changes file instead
> > >
> > > MeeGo spec files have %changelog
> >
> > My last spec file was rejected because it had a %changelog and that's
> > not MeeGo.
> >
> > So can MeeGo spec files have a %changelog or you have different
> > definition of what a "MeeGo spec file" is?
>
> Ok, lets sort this out a bit. Please differ what we use as workflow in
> combination with the builder/OBS and whats rpm/spec.
>
> The standard specfile has a %changelog with subsequent lines about the
> changes. In the end, we have this, too - as in the src.rpm. But our
> workflow/builder supports also the use of a separate .changes file. This is
> combined with the .spec and used then by rpmbuild.
> So in the end its all same - we just use a convenient feature of the builder.
> (e.g. openSUSE uses this for a long time now )
I don't have a problem supporting packages with a .changes file *in
addition* to conventional spec files.
The convention is that RPM spec files have a %changelog. Either we
allow conventional spec files, or we don't. Period.
My understanding is that we don't accept them, and that's what I'm
trying to challenge. If we do, then everything's fine.
> > > > 3) No disttag
> > >
> > > This is not needed, since we do not support this. If fedora does it,
> > > it does not mean we have to
> > >
> > > > 4) pkgconfig(pcname)
> > >
> > > So going back to your statement above, innovation is not allowed?
> > > Fedora started using that, maybe slowly, but we try to use that
> > > where-ever we can, since this is "cool" :)
> >
> > I'm not complaining about 4) I think it's a good thing. It's a deviation
> > nonetheless, but a good one that will hopefully be adopted by others,
> > eventually it will cease to be a deviation.
> >
> > 1) 2) and 3) are a different story; they will *always* mark MeeGo as a
> > different beast.
>
> Take a src.rpm from fc12 and recompile on openSUSE or Mandriva - will it work
> out of the box ???
> [...]
Not all of them, but some. It greately depends whether the autor is
commited to make the spec file as much distro-agnostic as possible.
There are many packages (not in RPM context) that distribute a .spec
file in their releases, like git. It's clearly not specific to Fedora or
openSUSE; it's meant to be distro-agnostic.
A distribution might decide to make some modifications on top, as Fedora
does, but you can clearly see that Fedora's spec file is basically the
upstream spec file plus some changes.
Just like with code; the changes can flow from distributions to
upstream. And the ultimate goal would be that there are no changes made
by the distributions.
But if the distribution chooses to use spectacle instead, then the chain
is broken.
> > Different:
> >
> > a) use spectacle to generate a spec file; make public the spec file
> > b) use spectacle to generate a spec file; make public the spectacle
> > file
> >
> > a) is fine because it's up to you to use whatever tools you need
> > generate your spec file; but the lingua franca is the spec file, and
> > that's what should be public.
> >
> > But you want to force everyone to do b)
> ?? Thats wrong - we even do c)
> c) use spectacle to generate a specfile ; make spec _and_ spectacle file
> public.
>
> Where's the issue ?
Nothing. As long as people can push distro-agnostic spec files to MeeGo
(without any spectacle crap).
IOW: make spectacle a choice.
> [...]
> > > What incompatibility? Again, we build rpms, using spec files that are
> > > being used by other distros to integrate meego ux and other components
> > > in those distros.
> >
> > On Fedora:
> > % rpmbuild -ba dsp-tools.spec
> >
> > Works fine, conforms to Fedora guidelines.
> >
> > For MeeGo:
> > % osc submitrequest home:fcontrer dsp-tools Trunk
> >
> > Denied.
> >
> > That is *incompatible*.
> Sri - but you mix 2 things: packaging and the workflow around OBS.
Am I?
So I have coocked some distro-agnostic spec files. How do I get them
into MeeGo?
My understanding is that I need to push them for review with 'osc
submitrequest'. The comments I got were: don't use %changelog, don't
use %{?dist}.
> > I don't think you get the concept of distro-agnostic:
> >
> > % wget -c http://kernel.org/pub/software/scm/git/git-1.7.1.1.tar.gz -P
> > ~/rpmbuild/SOURCES/ % tar -xf ~/rpmbuild/SOURCES/git-1.7.1.1.tar.gz -O
> > git-1.7.1.1/git.spec > ~/rpmbuild/SPECS/git.spec % rpmbuild -ba --without
> > docs ~/rpmbuild/SPECS/git.spec
> >
> > Surprise! It works!
> >
> > You push such disto-agnostic spec file to Fedora, and it will be
> > accepted. You push it to MeeGo, and it will be denied (in part because
> > of the disttag).
>
> Ok - fair point. We need to discuss.
Ok, glad I made my point accross :)
> > And you didn't provide any *public* documentation about the guidelines
> > that talk about %changelog, spectacle, and disttag.
>
> http://wiki.meego.com/Packaging
> http://wiki.meego.com/Packaging/Guidelines
The guidelines say:
---
There is no need for the %{dist} macro in the release field. This is
also handled directly by the build system.
---
It doesn't say the version MUST not have %{?dist}, so it _can_ have it.
I see no mention of %changelog there. So I guess it can be there.
Also, it says that spectacle is not mandatory. My understanding on this
thread is that it kind of is for simple packages.
Cheers.
--
Felipe Contreras
More information about the MeeGo-packaging
mailing list