Hi Lists,
I've revised the guidelines once again to cover the issues brought up
when I brought them before the packaging committee. As follows is a
list of the issues I've heard, and how they are fixed.
* %buildsubdir is not a common way of doing things
** we need this macro in the install phase to get at the working dir
we used to compile the package. This was only needed by the rather
scary looking file seeking code, so I put it into a macro that is
called by another macro, and hid it from public view. The user should
not need this in the spec file anymore.
* this looks scary, use macros
** done, the guidelines include them
* how do runtime requirements work, vis a vis build time, etc...
** GHC apparently uses static linking for haskell libraries and
dynamic for C libraries.
*** This is quite similar to OCaml
** all the dynamic links to C libraries can be automagically detected
by RPM's wonderful automagic.
** the -devel packages still need to be put in by hand in the BuildRequires
** most packages only need their dependency libraries at build time.
** Some packages, notably xmonad, do code generation and require the
dependencies at run time.
*** the packager is responsible for tracking this bit
* this file detection stuff is scary
** I've put it into a series of macros and documented it
* this register stuff looks kinky
** for starters, it's needed so the compiler knows where to look for
certain packages
** it's been converted to a bunch of macros
I also think that if we can make this any more simple, then the only
thing that cabal-rpm really really needs to do is detect if a package
is a library, binary, or both, and then fill in some of the
dependencies automatically, whcih it's not clever enough yet to do
properly anyways. We may just need to create a few rpm templates, and
be done with it.
Anyways, I present the guidelines once more for review. I will try to
comandeer the help of the people in the SIG to start putting together
a repo of packages using these macros. The deadeline for the F10
feature is coming up soon, and I want to have it in a relatively
stable shape, even though we have time to fine tune the details later.
-Yaakov