I've started a page for updating the packaging guidelines.
https://fedoraproject.org/wiki/PackagingDrafts/OCaml
At the moment it's a straight copy of the packaging guidelines except that I've updated 'ocaml-foolib.spec' from my private copy of that file.
Some ideas:
- how useful is the whole '%opt' stuff now that we have native compilation on every Fedora architecture?
- use of chrpath and strip
- should we finally distribute ocaml-find-requires/provides with upstream RPM? They haven't changed in a long time.
- note about some common rpmlint errors: https://bugzilla.redhat.com/show_bug.cgi?id=433783
- ISO-8859-1 - should we ban it from *.ml & *.mli files? https://bugzilla.redhat.com/show_bug.cgi?id=434694
- camlp4/camlp5 syntax extensions are a bit different from a distribution point of view. They usually don't need a -devel package, and they require *.cmo files to be distributed. And sometimes they should be noarch. https://bugzilla.redhat.com/show_bug.cgi?id=435431 https://bugzilla.redhat.com/show_bug.cgi?id=435299 https://bugzilla.redhat.com/show_bug.cgi?id=435293
Rich.
On Sat, Mar 01, 2008 at 03:05:48PM +0000, Richard W.M. Jones wrote:
I've started a page for updating the packaging guidelines.
https://fedoraproject.org/wiki/PackagingDrafts/OCaml
At the moment it's a straight copy of the packaging guidelines except that I've updated 'ocaml-foolib.spec' from my private copy of that file.
Some ideas:
how useful is the whole '%opt' stuff now that we have native compilation on every Fedora architecture?
use of chrpath and strip
should we finally distribute ocaml-find-requires/provides with upstream RPM? They haven't changed in a long time.
note about some common rpmlint errors: https://bugzilla.redhat.com/show_bug.cgi?id=433783
ISO-8859-1 - should we ban it from *.ml & *.mli files? https://bugzilla.redhat.com/show_bug.cgi?id=434694
camlp4/camlp5 syntax extensions are a bit different from a distribution point of view. They usually don't need a -devel package, and they require *.cmo files to be distributed. And sometimes they should be noarch. https://bugzilla.redhat.com/show_bug.cgi?id=435431 https://bugzilla.redhat.com/show_bug.cgi?id=435299 https://bugzilla.redhat.com/show_bug.cgi?id=435293
And while I remember:
- ocaml-pcre-devel pulls in ocaml-pcre and pcre. However it doesn't pull in pcre-devel, so you cannot actually 'devel'op software with this package: programs will fail to link because of missing -lpcre. This may be a general problem with all our packages which use C libs, although for some reason I've only hit it with this one.
Rich.
On Sat, Mar 01, 2008 at 03:38:11PM +0000, Richard W.M. Jones wrote:
On Sat, Mar 01, 2008 at 03:05:48PM +0000, Richard W.M. Jones wrote:
I've started a page for updating the packaging guidelines.
https://fedoraproject.org/wiki/PackagingDrafts/OCaml
At the moment it's a straight copy of the packaging guidelines except that I've updated 'ocaml-foolib.spec' from my private copy of that file.
Some ideas:
how useful is the whole '%opt' stuff now that we have native compilation on every Fedora architecture?
use of chrpath and strip
should we finally distribute ocaml-find-requires/provides with upstream RPM? They haven't changed in a long time.
note about some common rpmlint errors: https://bugzilla.redhat.com/show_bug.cgi?id=433783
ISO-8859-1 - should we ban it from *.ml & *.mli files? https://bugzilla.redhat.com/show_bug.cgi?id=434694
camlp4/camlp5 syntax extensions are a bit different from a distribution point of view. They usually don't need a -devel package, and they require *.cmo files to be distributed. And sometimes they should be noarch. https://bugzilla.redhat.com/show_bug.cgi?id=435431 https://bugzilla.redhat.com/show_bug.cgi?id=435299 https://bugzilla.redhat.com/show_bug.cgi?id=435293
And while I remember:
- ocaml-pcre-devel pulls in ocaml-pcre and pcre. However it doesn't pull in pcre-devel, so you cannot actually 'devel'op software with this package: programs will fail to link because of missing -lpcre. This may be a general problem with all our packages which use C libs, although for some reason I've only hit it with this one.
And:
- certain binaries should not be stripped https://bugzilla.redhat.com/show_bug.cgi?id=435559
Rich.
On Sat, 2008-03-01 at 17:01 +0000, Richard W.M. Jones wrote:
And:
- certain binaries should not be stripped https://bugzilla.redhat.com/show_bug.cgi?id=435559
That's a bad way to phrase the problem, surely? It's OCaml doing something 'strange' which make stripping break, almost certainly -- we should fix that instead.
On Sat, Mar 01, 2008 at 05:01:08PM +0000, Richard W.M. Jones wrote:
On Sat, Mar 01, 2008 at 03:38:11PM +0000, Richard W.M. Jones wrote:
On Sat, Mar 01, 2008 at 03:05:48PM +0000, Richard W.M. Jones wrote:
I've started a page for updating the packaging guidelines.
https://fedoraproject.org/wiki/PackagingDrafts/OCaml
At the moment it's a straight copy of the packaging guidelines except that I've updated 'ocaml-foolib.spec' from my private copy of that file.
Some ideas:
how useful is the whole '%opt' stuff now that we have native compilation on every Fedora architecture?
use of chrpath and strip
should we finally distribute ocaml-find-requires/provides with upstream RPM? They haven't changed in a long time.
note about some common rpmlint errors: https://bugzilla.redhat.com/show_bug.cgi?id=433783
ISO-8859-1 - should we ban it from *.ml & *.mli files? https://bugzilla.redhat.com/show_bug.cgi?id=434694
camlp4/camlp5 syntax extensions are a bit different from a distribution point of view. They usually don't need a -devel package, and they require *.cmo files to be distributed. And sometimes they should be noarch. https://bugzilla.redhat.com/show_bug.cgi?id=435431 https://bugzilla.redhat.com/show_bug.cgi?id=435299 https://bugzilla.redhat.com/show_bug.cgi?id=435293
And while I remember:
- ocaml-pcre-devel pulls in ocaml-pcre and pcre. However it doesn't pull in pcre-devel, so you cannot actually 'devel'op software with this package: programs will fail to link because of missing -lpcre. This may be a general problem with all our packages which use C libs, although for some reason I've only hit it with this one.
And:
- certain binaries should not be stripped https://bugzilla.redhat.com/show_bug.cgi?id=435559
And:
- Clarify where documentation should go. Currently my practice has been to put just the license file (if any) in the main package's %doc, and the license file plus all other documentation & examples in the devel subpackage. This duplicates (only) the license file, but that seems acceptable since we shouldn't distribute software without its license.
Rich.
On Mon, 2008-03-03 at 16:53 +0000, Richard W.M. Jones wrote:
- Clarify where documentation should go. Currently my practice has been to put just the license file (if any) in the main package's %doc, and the license file plus all other documentation & examples in the devel subpackage. This duplicates (only) the license file, but that seems acceptable since we shouldn't distribute software without its license.
-devel packages should Require the main package, thus, there really isn't any need for the duplicate license copy.
~spot
Richard W.M. Jones wrote:
I've started a page for updating the packaging guidelines.
https://fedoraproject.org/wiki/PackagingDrafts/OCaml
At the moment it's a straight copy of the packaging guidelines except that I've updated 'ocaml-foolib.spec' from my private copy of that file.
Some ideas:
- how useful is the whole '%opt' stuff now that we have native compilation on every Fedora architecture?
Keep in mind that people are working hard to get secondary arches of the ground, so I vote to keep it in.
- use of chrpath and strip
I don't see this anywhere in: https://fedoraproject.org/wiki/PackagingDrafts/OCaml
Explain?
- should we finally distribute ocaml-find-requires/provides with upstream RPM? They haven't changed in a long time.
+1
- note about some common rpmlint errors: https://bugzilla.redhat.com/show_bug.cgi?id=433783
Good work on trying to get rpmlint ocaml aware, but how is this relevant for the guidelines, other then maybe adding a section about which warnings may be ignored
- ISO-8859-1 - should we ban it from *.ml & *.mli files? https://bugzilla.redhat.com/show_bug.cgi?id=434694
I wouldn't do that if the language explicitly allows using non ascii codes in identifiers, and also dictates use of a certain codepage for this, then we should respect this.
- camlp4/camlp5 syntax extensions are a bit different from a distribution point of view. They usually don't need a -devel package, and they require *.cmo files to be distributed. And sometimes they should be noarch. https://bugzilla.redhat.com/show_bug.cgi?id=435431
Erm I don't see any .cmo files in the filelist for this one?
Regards,
Hans
On Sat, Mar 01, 2008 at 04:48:02PM +0100, Hans de Goede wrote:
I don't see this anywhere in: https://fedoraproject.org/wiki/PackagingDrafts/OCaml
Explain?
Sorry, I should have been clearer: these are problems I've identified. I haven't edited the page yet :-)
Rich.
https://fedoraproject.org/wiki/PackagingDrafts/OCaml
Diff from the previous version: https://fedoraproject.org/wiki/PackagingDrafts/OCaml?action=diff&rev2=2&...
Comments etc. welcome.
Rich.
Richard W.M. Jones wrote:
https://fedoraproject.org/wiki/PackagingDrafts/OCaml
Diff from the previous version: https://fedoraproject.org/wiki/PackagingDrafts/OCaml?action=diff&rev2=2&...
Comments etc. welcome.
Looks very good,
FPC, I would like to suggest we discuss (and maybe approve) this on our next meeting.
Regards,
Hans
Richard W.M. Jones wrote:
https://fedoraproject.org/wiki/PackagingDrafts/OCaml
Diff from the previous version: https://fedoraproject.org/wiki/PackagingDrafts/OCaml?action=diff&rev2=2&...
Comments etc. welcome.
Rich.
p.s.
Rich, in my last mail I sortof assumed that this is ready for FPC discussion, is it?
Hello All!
2008/3/5, Richard W.M. Jones rjones@redhat.com:
https://fedoraproject.org/wiki/PackagingDrafts/OCaml
Diff from the previous version: https://fedoraproject.org/wiki/PackagingDrafts/OCaml?action=diff&rev2=2&...
Comments etc. welcome.
Looks sane.
On Wed, 2008-03-05 at 18:14 +0000, Richard W.M. Jones wrote:
https://fedoraproject.org/wiki/PackagingDrafts/OCaml
Diff from the previous version: https://fedoraproject.org/wiki/PackagingDrafts/OCaml?action=diff&rev2=2&...
It doesn't address multilib. For example, the -devel packages should require ocaml of the _same_ architecture, not just "ocaml".
In particular, the example that "ocaml-pcre-devel needs an explicit 'Requires: pcre-devel'" is wrong, because an i386 pcre-devel package would satisfy that, while not being particularly useful for an x86_64 ocaml-pcre-devel.
Because of bug #235755 you may need to use virtual provides or file-based dependencies to express the dependencies correctly. Unless we put 235755 on the F9Blocker... :)
On Fri, Mar 14, 2008 at 08:49:51AM +0100, David Woodhouse wrote:
It doesn't address multilib. For example, the -devel packages should require ocaml of the _same_ architecture, not just "ocaml".
In particular, the example that "ocaml-pcre-devel needs an explicit 'Requires: pcre-devel'" is wrong, because an i386 pcre-devel package would satisfy that, while not being particularly useful for an x86_64 ocaml-pcre-devel.
Right -- I now understand the problem. See for example my email here:
https://www.redhat.com/archives/fedora-packaging/2008-March/msg00105.html
What I _don't_ understand is how to fix this ... Obviously bug 235755 ("rpm doesn't allow 'Requires: foo.%{ARCH}'") would be an ideal fix. In the absence of that can someone suggest a workable scheme?
I can add file deps, I think, to solve this:
In ocaml-pcre-devel: Requires: %{_libdir}/ocaml/pcre/ (get the right ocaml-pcre) Requires: %{_libdir}/libpcre.a (instead of pcre-devel)
would seem to fix this, at the cost of downloading the filelists.
Because of bug #235755 you may need to use virtual provides or file-based dependencies to express the dependencies correctly. Unless we put 235755 on the F9Blocker... :)
For reference:
https://bugzilla.redhat.com/show_bug.cgi?id=235755
Rich.
ocaml-devel@lists.fedoraproject.org