Re: .spec file for multiple target distros

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Nicholas,

I'm with you on the frowning on this practise. But until a segfault in gfortran.so.1 (gcc 4.1.x) is fixed, I can't build an important package that I need on Fedora Core 5. Just not possible.

To add a little more background: the troublesome code here is an optional closed source (but nevertheless very desirable) plugin from an outside developer. I've got limited permission to compile and distribute binaries for the plugin (to licensed users of the plugin) with our main (open source) application. I'm not about to debug/rewrite the code in question, and I don't care too much about portability and finesse with this plugin: if I can kludge together an RPM that works for FC5 users, then I'm happy. I don't necessarily need it to *build* on FC5, just to run.

The alternative is to package up the FC4 libfortran.so.0 file in a new libgfortran package (eg libgfortran0-4.0.2-0.i386.rpm) that is named differently such that updates to the official libgfortran don't conflict/replace the special FC4 libgfortran package. That would be cleaner but then our binary RPM would need to be distributed along with that additional file.

Given that as soon a fixed gfortran 4.1.x comes along the whole problem goes away (and the stray libgfortran quietly disappears), it seemed to me that bundling libgfortran.so.0 with the plugin binary was a bearable kludge. Maintenancewise, this seems tidier than leaving libgfortran0 floating around on people's systems.

Regarding legal issues, I'm thinking that distributing compiler runtime libraries alongside code generated by said compiler must surely be allowed and not a problem.

Cheers
JP

Nicolas Mailhot wrote:
Le dimanche 30 juillet 2006 à 12:03 +1000, John Pye a écrit :

I could either
create a new (separate) RPM that just contains the older libgfortran, or
I could just include the file inside my package (and add a "Provides:
libgfortran" tag of some sort, perhaps). I was thinking that I would use
an %if statement inside my .spec file that would test which distro I was
building for (either using the 'dist' variable, or perhaps using "--with
bundled_gfortran") and depending on which one it was, either include
libgfortran in the RPM or not.

Do that and a lot of people won't ever touch your packages with a
10-foot pole. Bundling unrelated libs in a package, especially because
you can't figure how to build with the new distro-supplied version, is
strongly frowned upon. (also the legal and maintenance side-effects are
interesting)

------------------------------------------------------------------------

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

--
John Pye
Department of Mechanical and Manufacturing Engineering
University of New South Wales, Sydney, Australia
http://pye.dyndns.org/

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux