avoiding build dependency on docbook, etc. in new port

Greg Larkin glarkin at FreeBSD.org
Thu Jun 18 00:31:30 UTC 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Charlie Kester wrote:
> On Wed 17 Jun 2009 at 13:24:32 PDT Greg Larkin wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Charlie Kester wrote:
>>> I'm porting some software that has a build dependency on docbook2man in
>>> order to generate its manpages from .docbook files.
>>>
>>> Testing the port in tinderbox takes a long time, most of it because of
>>> the need to build the docbook infrastructure.  It seems a shame to use
>>> all that CPU time and install all those packages just to get ready to
>>> convert some manpages.
>>> What's the preferred approach in cases like this?  Should I keep the
>>> build dependency on docbook2man et al, or should I put pregenerated
>>> copies of the manpages in the files directory of the port?
>>
>> Hi Charlie,
>>
>> I feel your pain! I don't think there's any problem pre-generating the
>> man page and keeping it in the port's files/ directory.
> 
> Actually, this is a suite of tools and there are eleven manpages.
> 
>>
>> On the other hand, I recently went through this experience and went a
>> different route.  YMMV!
>>
>> I took over maintainership for security/logcheck a while back, and it
>> used docbook2man to create its one (!) man page.  After a while, I got
>> some requests to strip out that dependency.  A user was kind enough to
>> point me to docbook2X: http://docbook2x.sourceforge.net/
>>
>> This is a much lighter-weight tool for converting docbook to manual
>> pages, among other functions.  I eventually added it to the ports tree
>> and updated the logcheck port to use it.
> 
> Now I'm confused.  When I used pkg_info to find out what package had
> installed docbook2man on my system, it said it was part of
> docbook2X-0.8.8_2.  It was after I added textproc/docbook2X as a build
> dependency that I started seeing a bunch of docbook stuff getting
> installed in my tinderbox. 
> 

Hi Charlie,

My apologies - when you said that TB had to build a lot of packages to
support docbook2man, I assumed that you were talking about the
textproc/docbook-to-man port, not the actual docbook2man executable
provided by textproc/docbook2X.

Originally, textproc/docbook-to-man required 100+ dependencies to build.
 It's a much smaller number now, due to some recent changes in the xorg
infrastructure:
http://www.freebsd.org/cgi/cvsweb.cgi/ports/textproc/docbook-to-man/Makefile#rev1.15

You can see the difference here:

fbsd70# cd /usr/ports/textproc/docbook-to-man && make USE_XLIB=yes
all-depends-list | wc -l
     114
fbsd70# cd /usr/ports/textproc/docbook-to-man && make all-depends-list |
wc -l
      28
fbsd70#

USE_XLIB=yes used to be implied by USE_IMAKE=yes, but not any longer.

Anyway, docbook2X has even fewer deps:

fbsd70# cd /usr/ports/textproc/docbook2X && make all-depends-list | wc -l
      20
fbsd70#

To me, that doesn't seem like a lot compared to the 100+ I was dealing
with before.  But if it's still too many to deal with, Gabor's
suggestion might be better.

Cheers,
Greg
- --
Greg Larkin

http://www.FreeBSD.org/       - The Power To Serve
http://www.sourcehosting.net/ - Ready. Set. Code.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFKOYrY0sRouByUApARAlAUAKCY3JcCYDLnBeQAqtp9EbqVBmwf6gCgiiqH
/SYoQjGRUr8fqrruW+incQg=
=nPVF
-----END PGP SIGNATURE-----



More information about the freebsd-ports mailing list