On Mon, 31 Jul 2006 21:43:34 +0200, Axel Liljencrantz wrote: > > How about signing up as a Fedora Extras Contributor? > > I could do that. I have a bugzilla account, (liljencrantz@xxxxxxxxx), > and I belive I have performed all steps outlined on > http://fedoraproject.org/wiki/Extras/Contributors up until 'Get > Sponsored' except 'Make review request', but that should be > superflous, since the package I want to become a contributor for is > already in extras, was originally created by me, put through a review > process, etc. Anyone willing to sponsor me? Yes, go ahead, and I'll sponsor you. > That said, the package has a kludge in it that didn't exist at the > time of the original review. A utility shipped with fish needs various > X headers to compile, and the name of the package providing X headers > has changed from fc3 to fc4, and the file location has changed from > fc4 to fc5, to work around that and make a single package that builds > on all fedoras, I had to do a semi-ugly hack using a %define in the > spec: > > %define xinclude %( if test -d /usr/X11R6/include; then echo > /usr/X11R6/include; else echo /usr/include; fi ) > > I asked on the main rpm mailing list how to do this and used the > pointers I got, but if anyone has a better suggestion, I'd be happy to > listen. Since the X11 header package names have changed, you need a hack also for the BuildRequires. And in that area it becomes dangerous, since run-time detected "BuildRequires" package names become "Requires" of the src.rpm, and you cannot rely on that the src.rpm is built on the target platform. The least painful way is to create distribution specific spec files which work only for one distribution until package names change. In Fedora Extras CVS you have a separate branch directory for every distribution release. Another way is to evaluate the Fedora specific %fedora macro, which is set inside the build system, and set it in the spec file to a good default _if_ it is not defined: %{!?fedora: %define fedora 6} Your src.rpm then defaults to Fedora Core 6, and you can use conditionals like this: %if "%fedora" >= "5" BuildRequires: libXfoo-devel %define something /usr/include %else BuildRequires: foo-devel %define something /usr/X11R6/include %endif %if "%fedora" = "3" rm -f $RPM_BUILD_ROOT%{_bindir}/dont-want-that-file %endif and so on. More about this and the %{?dist} tag can be found here: http://fedoraproject.org/wiki/Packaging/DistTag -- fedora-extras-list mailing list fedora-extras-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-extras-list