installing partially translated man pages
Nick Barkas
snb at threerings.net
Fri Nov 17 01:32:09 PST 2006
I've been working on an update to the archivers/dpkg port (see PR
105560) and am having some trouble with installing translated man
pages. The latest version of dpkg includes and installs translations
of *some* manual pages to several languages, but not all of the pages
are translated. Using MANLANG and MAN<section> in the port's Makefile
doesn't work so well for the partially translated languages, as make
will try to compress or remove the man pages that are still
untranslated, and hence didn't ever get installed.
Currently my updated port uses the default MANLANG of "" to only
track the English versions of the man pages using various MAN
variables, and simply notes the translated man pages in the pkg-plist
file. This is less than optimal since the non-English man pages do
not get compressed. Portlint -A will complain, too.
I looked through the list archives and saw that this sort of problem
has been brought up a couple of times before. One potential solution
was presented here: http://lists.freebsd.org/mailman/htdig/freebsd-
ports/2005-May/023688.html. I decided to go ahead and implement
something like that, and it seems to have worked out ok. In addition
to using MANLANG and MAN<section> to specify a group of man pages
installed for all languages, I added a MAN_PARTIAL_TRANSLATIONS
variable which can be used to list languages for which you have some
man pages, but not all those listed in MAN<section>. Also, I added
support for using MAN<section>_<language variables to list the man
pages the port does install for a given language. Here's an example:
if you have English man pages foo.1 and bar.1, and only foo.1 in
German, you could do this:
MANLANG= ""
MAN1= foo.1 bar.1
MAN_PARTIAL_TRANSLATIONS= de
MAN1_DE= foo.1
I've tested this change with the partially translated man pages
provided with dpkg, and it seems to work. Attached is a patch to
bsd.port.mk that makes this work. It should be completely backwards
compatible. I have not (yet) added any support for MLINKS in the
partially translated man pages. Also, there is currently no support
for installing English man pages with MAN_PARTIAL_TRANSLATIONS, but
this can be worked around by just using MANLANG and MAN<section> for
English translations and MAN_PARTIAL_TRANSLATIONS for whatever your
port's primary man page language is, if that isn't English.
Any thoughts on whether this would be a good change? I will file a PR
with my patch tomorrow unless someone has a better solution.
Nick
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bsd.port.mk.patch
Type: application/octet-stream
Size: 1268 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20061117/15e09dd4/bsd.port.mk.obj
More information about the freebsd-ports
mailing list