if a new directory was found, it is always marked for @dirrm.
But, if the directory is empty, nothing pertaining to it is recorded in
the PLIST... and thanks to pkg_*, we can't record directories in the PLIST.
So, just add an @exec mkdir -p right in front of the @dirrm, up to
the port maintainer to decide whether the @exec mkdir/@dirrm pair is
justified or not (for the port at hand).
This is somewhat orthogonal to FLAVORS.
Principle: one port may build several packages in one go.
For instance, egcs will build all compilers, and package stuff as
base, C++, Fortran, etc.
This simplifies some japanese ports greatly, e.g., one Canna port that
builds libs/server/app packages.
How to use:
just set
MULTI_PACKAGES=-ext1 -ext2...
in the Makefile.
Then make package will invoke itself recursively with SUBPACKAGE set to
-ext1, -ext2.
The SUBPACKAGE will fetch package info as PLIST-ext1, COMMENT-ext1,
DESCR-ext1, etc.
The port Makefile itself can test the value of SUBPACKAGE if things differ.
Some problems:
- there still is a main package (with PLIST, DESCR, etc), and it's built
last, so you can't add RUN_DEPENDS=main_package to subpackages, you have
to encode them explicitly in the PLIST for now.
- other ports can't depend on subpackages yet. This is usually not a
problem, it's just a question of choosing the `right' main package (e.g.,
for Canna, it will be canna-lib).
- PLIST.sed recognize @FLAVOR@, which is extended to the current flavor,
so that a subpackage may depend on the corresponding main package in
explicit ways.
describe is also invoked recursively, so that all subpackages appear in
the INDEX.
- format man pages using new jgroff, so that we can install a full set
of documentation.
- move INSTALL script into a separate script, so that adding a new user
need not be done at the time of INSTALL.
- add a few strlcpy to fix a few holes. This stuff is rather bad, though.
- use terminfo instead of termcap, for better keycap names, fixing quite
a few bugs that made it impossible to build that version along the way...
- move scripts into /usr/local/bin instead of /usr/local/bin/Wnn4.
- use @comment no checksum
in packing list, even though pkg_add does not support that yet.
Not quite completely ready, but getting there...
Fix packing list to have same permissions as xterm.
tek FLAVOR, for people who want a full xterm emulation (strange idea)...
(Issue: let japanese mode be euc as a default,
since our other ports use euc ?)
- base on nethack 3.2.2, bump to 3.3.0 will have to wait (probably better
to port slash'em instead),
- use hackdata to avoid conflicts with nethack,
- proper packaging,
- x11/no x11 flavor,
- install recover,
- change manpages to differentiate from nethack,
- grab enough TERMINFO to handle color correctly (from nethack 3.3.0)