This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: [BUG] cygport-0.2.7 fails to build multiple binary packages
- From: Charles Wilson <cygwin at cwilson dot fastmail dot fm>
- To: Mailing List: CygWin-Apps <cygwin-apps at cygwin dot com>
- Date: Tue, 09 Jan 2007 23:51:12 -0500
- Subject: Re: [BUG] cygport-0.2.7 fails to build multiple binary packages
- References: <17828.3448.563695.587679@Psilocybe.Update.UU.SE>
Stefan Björnelund wrote:
While tying to rebuild the gettext-0.15-1 package, (with the intent
with the po-mode emacs mode), I noticed that it did not build
correctly any more.
The gettext .cygport requires additional features not implemented by the
stock çygport-0.2.7 framework. In particular, the relocatable package
patch here:
http://sourceware.org/ml/cygwin/2006-11/msg00719.html
It's #3 on the list, but see also
http://cygwin.com/ml/cygwin/2007-01/msg00115.html
where I have withdrawn that patch (as it is now out of date and I'll
update it when I release the next version of gettext/libiconv).
FWIW, the gettext .cygport ALSO requires the following patch:
http://cygwin.com/ml/cygwin/2007-01/msg00115.html
And it *might* also require this patch:
http://cygwin.com/ml/cygwin/2007-01/msg00114.html
In any case, you won't have much luck until those patches are approved
by the cygport maintainer, and a new version of cygport is released.
However, that might be a while:
http://cygwin.com/ml/cygwin-talk/2006-q4/msg00159.html
Most of what your patch implemented already exists in
http://cygwin.com/ml/cygwin/2007-01/msg00115.html -- and THAT patch has
the advantage of NOT breaking other .cygports:
Unfortunately this change will probably break the
postinstall/preremove scripts in the existing multiple binary
packages. Coincidentally this also removes the need for the
handcrafted postinstall/preremove scripts in the gettext package,
so this change seems to be in line with the intent of the cygport
goals.
I think the added complexity -- and brittleness -- of "check which
binary package a given info file belongs to, and add the install-info
command to a matching .postinstall/.preremove script" is too high a
price for the minimal improvement in usability for a few oddball
packages like the gettext family.
The solution pursued in msg00115.html above is "When necessary, allow
the maintainer to turn off install-info automation, and provide explicit
postinstall/preremove files specific to each subpackage." This provides
the maintainer with the most flexibility, without over-complicating the
cygport package's internal logic.
--
Chuck
cygwin gettext maintainer
P.S. I just noticed something: since Í withdrew the relocatable patch,
even if Yaakov integrates all 7 of the patches I posted on January 6 (so
far: 2 down, 5 to go), the gettext .cygport STILL will not work, even if
you do not attempt to enable the relocation part (that is, you leave the
following commented-out):
### Uncomment the following line to enable relocation support
#inherit relocatable.cygclass
This is because gettext.cygport's src_compile(), gettext_check*(),
src_test(), and src_install() functions all call the non-existant
__maybe_relocate()
function. Quick fix (assuming my other 5 patches are integrated into
the cygport framework) is to add the following to gettext's .cygport
file somewhere near the top:
__maybe_relocate() {
:
}