The problem is Darwin's libiconv does not have symbols for libiconv_<name>
(e.g. libiconv_open), but iconv_<name> (e.g. iconv_open).
BUT when there's pkgsrc/converters/libiconv installed instead, it doesn't
have symbols for iconv_<name>, but libiconv_<name>.
Some packages auto-configure looks for libiconv_open (like glib2), others
look for iconv_open (like proftpd), and there's a conflict.
The solution is to replace libiconv_open with iconv_open with SUBST framework.
outdated X libraries? Default to modular x11 for a more modern set of
features, bugfixes (and bugs), and to simplify application support
Does *not* affect 10.5 (Leopard) or later
* Introduce USE_GAMESGROUP, which causes the games user and group to
be made available.
* Retain SETGIDGAME as an alias for USE_GAMESGROUP. Describe it as
deprecated.
* Always define GAMES_USER, GAMES_GROUP, GAMEMODE, GAMEDIRMODE, and
GAMEDATAMODE, regardless of whether USE_GAMESGROUP is turned on or not.
* Define these variables in defaults/mk.conf instead of separately in
every platform/*.mk file. The definitions used to be the same for each
of these platforms anyway, except for some where they were randomly
missing or commented out for no clear reason, leading to broken game
packages.
* Handle all these variables properly when unprivileged.
* Update the comments/documentation for these variables.
* Describe GAMEOWN and GAMEGRP as deprecated. These need to be
retained as aliases for GAMES_USER and GAMES_GROUP respectively for
supporting packages that use bsd.*.mk but should otherwise not be
used.
* Add GAMEDATA_PERMS and GAMEDIR_PERMS using GAMEDATAMODE and
GAMEDIRMODE respectively.
* Fix a bug I noticed that was improperly mixing the "games" group
and "games" user.
Things this does *not* do:
- get rid of GAMES_USER, for which there should ultimately be no need.
- move the declaration/documentation/default value of USE_GAMESGROUP
to a suitable place. (It is currently where SETGIDGAME was, which is
suboptimal.)
- touch any of the games, all of which need updating with at least
s/SETGIDGAME/USE_GAMESGROUP/ and probably more.
- update the guide to explain how to handle games properly.
Also, it would be nice if using GAMES_GROUP without setting
USE_GAMESGROUP=yes caused an error but as far as I know there isn't
any particularly good way to arrange this right now.
Note that these changes may alter the build/install behavior of broken
game packages, e.g. some may silently become setgid when they weren't
before or things like that. If you run into any of this file a PR.
While one might arguably bump the PKGREVISION of all games or other
packages using any of these variables as a precaution, that seems like
a bad idea. Instead, I think I will be bumping each game once it
itself has been fixed up to do everything the right way.
dependent) real gcc binary with the same path as it has been evoked. When
it is called via a symbolic link this fails since the evokation path in that
case is the original one of the symbolic link. For that reason pkgsrc's
buildlink framework must be prevented from using symbolic links to refer to
/usr/bin/gcc.
imac:/tmp schwarz$ ln -s /usr/bin/gcc gcc
imac:/tmp schwarz$ /tmp/gcc
gcc: installation problem, cannot exec '/tmp/powerpc-apple-darwin8-gcc-4.0.1': No such file or directory
- "libtool" will use "ksh" if it gets rebuilt after this change.
- Buildlink wrappers will now use "ksh".
- Configure script will be executed using "ksh".
This improves build performance by more than 30%.
Change discussed on "tech-pkg" mailing list.
phase pkg_install-depends before bootstrap-depends that just tries to
install a new pkg_install if the current version is too old. Still
keep it as bootstrap dependency for the bulk build code.
For NetBSD, PKG_TOOLS_BIN has to be computed in shell code due to a make
bug.
OK: jlam@
files. These variables are currently usable if ${SETGIDGAME} == yes.
These variables should be used when describing ownership of files
and directories to the pkginstall framework, e.g.
SPECIAL_PERMS= bin/foogame ${GAMES_USER} ${GAMES_GROUP} 2555
+ Rename SETGID_GAME_PERMS to SETGID_GAMES_PERMS because the default
group name is "games".
+ Define SETGID_GAMES_PERMS in terms of GAMES_USER and GAMES_GROUP so
that these names are protected from the normal flow of unprivileged.mk.
This fixes the +INSTALL scripts in "user-destdir" packages to
correctly refer to the games:games instead of the user:group of the
user that built the packages.
ago ...
XXX: I would enable /bin/ksh as bmake's default shell but it fails on
one of the bmake unit tests. Will need to figure out why ...
Maybe some day we can provide a posixly correct shell as part
of the bootstrap process.