[ITP] man-db

Yaakov (Cygwin/X) yselkowitz@users.sourceforge.net
Sun Jun 1 23:57:00 GMT 2014


On 2014-05-30 12:32, Yaakov (Cygwin/X) wrote:
> I started reviewing this, see inline.

My modifications can be found here:

https://sourceforge.net/p/cygwin-ports/man-db/

> On 2014-05-30 09:22, Chris J. Breisch wrote:
>> Still, I've put up a new set of files, now. I eliminated the library
>> package for a few reasons.
>>      1) The libraries can't be compiled into DLL's without some effort.
>> They appear to have unresolved references.
>
> I'm looking into this.

There are two issues here:

1) The "undefined symbols not allowed in $host shared libraries" warning 
just means that you need to add -no-undefined to *_la_LDFLAGS.  In fact, 
that's the only issue with making libman shared.  (See my 
2.6.7-shared-libman.patch)

2) OTOH, libmandb also depends on two global variables which are meant 
to be defined by executables.  In order to make this shared, the global 
declarations need to be moved to libmandb itself, while the executables 
still define their values, making for a somewhat larger patch.  (See my 
2.6.7-shared-libmandb.patch)

This latter patch may be harder to carry from one version to the next, 
and if another executable is added which depends on libmandb and you 
forget to adapt it accordingly, it will crash.  So I'm actually going to 
suggest that you NOT use the latter, and leave libmandb static (which is 
the smaller of the two anyway).

>>      2) There's no simple set of include files related to just the
>> libraries. I could put out all of the includes, but it looks to me as if
>> that would get messy rather quickly.
>
> These libraries are private, that's why no headers are installed.  The
> libraries are shared just to save space by not duplicating the same
> objects in all the binaries.

This stands; there should be neither a -libs nor -devel subpackage.

>> I also updated the postinstall and preremove scripts to handle creation
>> and removal of the database.

I made some changes to these, but I'm wondering if we need a special 
_update-mandb package (similar to _update-info-dir) to manage this 
instead.  Thoughts?

>> This being my first attempt, I'm sure I've done something wrong. :) Just
>> let me know what it is and I'll fix it promptly (and it actually should
>> be promptly this time as my crisis is now under control).

Other changes I made:

* Use explicit --with-browser and --with-pager flags to not be affected 
by builder's environment (e.g., on my system BROWSER=epiphany :-), and 
added these to REQUIRES.

* po4a is a build requirement for localized manpages of man itself; I 
just added this to the 64-bit distribution, and will attempt to do so 
soon for the 32-bit distribution as well.

Please review the changes I made in my .cygport, let me know if you have 
any questions.


Yaakov



More information about the Cygwin-apps mailing list