of software such as Ruby to build on Tiger/PowerPC.
Tested with & without on a G4 with Tiger & Leopard.
It was not needed on Leopard as the linker defaults to a target of 10.5 &
setting it back broke the bootstrap process.
Reviewed by wiz@ long ago.
TOOLS_PATH.readelf is set. This is a PKG_DEVELOPER feature and it's
likely the developer is smart enough to either have it already available
in $PATH or be able to install it (e.g. via devel/binutils) if required.
directory hierarchy to be created but not removed. This is triggered by
the GNU getcwd-path-max.m4 configure test used in lots of GNU software,
and causes the builds to fail in pbulk as 'make clean' cannot complete.
For now we provide a cached result for the test to avoid running it,
using a 'no' value as the test is for a specific glibc bug.
This bug has been brought to Apple's attention by the NixOS developers,
raised as https://openradar.appspot.com/radar?id=6160634819379200. For
now we mark only 10.11.0 (15.0.0) as having the bug - it remains to be
seen whether Apple will fix it in the upcoming .1 release.
the SDK path if we need to.
This avoids issues on Yosemite and Xcode 7, which drops support for the 10.10
SDK. Trying to determine the SDK path fails, but the failure is not cached in
the xcrun database, so each call to a compiler tool is unecessarily delayed (by
around 3 seconds on my build hosts).
For users still on Yosemite who have upgraded to Xcode 7, the solution is to
install the Command Line Tools so that /usr/include is populated and used.
without arguments, strip(1) will attempt to strip all symbols by default,
and when it is unable to do this will fail with a non-zero exit status.
Passing '-u -r' to strip(1) would in theory resolve the issue, but there
is no simple of way of doing this due to the way strip is called by the
native install program through XCode. We would need to build a patched
bsdinstall for Darwin, so for now we just disable stripping on install,
as many packages have had to do individually up until now.
This works in a similar way to the ELF checks, but uses otool(1) to list the
library name and its dependencies, and the checks fail if there are WRKDIR
references or if the -install_name of the library does not match $PREFIX, as
well as ensuring that any libraries from pkgsrc are correctly registered as
full dependencies.
Removes support for the user to set USE_CHECK_SHLIBS_ELF, but there were no
reasonable reasons for doing so in the past anyway, and it may be masking
issues in platform files we should fix.
This is pretty much the same change as with SSP, and completes it with
support for fortify (like USE_FORT in NetBSD's base system). Like SSP, this
is disabled by default for the moment. Like in NetBSD's base system,
enabling fortify explicitly also enables SSP by default - but SSP can still
be disabled explicitly in this situation.
All four combinations tested on NetBSD/amd64.
With this change, the check if the current architecture is supported is
only performed if SSP is enabled in the first place. This should not
change the current behavior; tested on NetBSD/amd64.
Suggested by wiz@
This is enabled with PKGSRC_USE_SSP in mk.conf(5), as documented there.
Most NetBSD platforms are supported (when compiling with gcc).
After consensus on tech-pkg@.
Initial patchset to add support by rodent@
Further adjustments made based on feedback by joerg@
Tested by myself with numerous bulkbuilds thanks to Patrick Wildt @ Bitrig
Reviewed by bsiegert@ joerg@ wiz@
package creation.
There are very few things in pkgsrc that needs more than one hour per
process on decently fast hardware, so setting that as (soft) limit for
bulk builds avoids the infinite loops seen in some other packages. There
are a few select exceptions, i.e. flightgear-data needs more than one
hour for pkg_create when using xz. This flag allows selectively giving
those places more time without wasting resources in the broken cases.
rather than trying to consolidate into a single fnmatch. There aren't that
many of them, and it will aid the integration of cwrappers which doesn't
support globs.
Base xsrc on netbsd-5 has not really worked with pkgsrc for a while,
because various programs need newer versions of various X pieces. The
2014Q2 official bulk builds are missing about 1500 packages as a
result of this. Therefore, switch to modular on netbsd-5 (as netbsd-4
has been for a very long time), which should result in more useful
binary packages for netbsd-5 for 2014Q3.
(There is a notion of updating netbsd-5 base xsrc to more modern xorg.
If that happens, and there's a 5.x formal release, and builds show
that pkgsrc with native succeeds on it, this can perhaps be flipped
back. Odds are that's not going to happen, and it's overwhelmingly
unlikely to happen soon.)
Anyone who prefers to stay with native can set X11_TYPE=native in
mk.conf.
Note that this is about pkgsrc and specifically the default
dependencies for pkgsrc programs that use X11, so the native servers
are unaffected and can be run from /usr/X11R7, the same as they are
now, without any changes being necessary. (This message is in fact
being typed on a system with a native server, native xterm and modular
libs for pkgsrc.)
Discussed on tech-pkg, tech-x11 multiple times over the last 6 months
or so, and specifically encouraged by wiz@.
a blanket removal of any long options, richard@ is concerned this may affect
packages which use the long options now available in newer SunOS ld.
Whilst here, transform --rpath to -R, used by a few packages.
noticed by diger in pkgsrc-users@.
While here, enable useradd only for the case groupadd exists,
because former useradd is interactive command, not usable with pkgsrc framework.
SMF is the Service Management Facility, the default init system in
Solaris and derivatives since version 10. This adds "smf" to the list
of supported INIT_SYSTEM types, and makes it the default init system on
platforms where it is available.
Packages can introduce SMF support by providing a manifest file, by
default located in ${FILESDIR}/smf/manifest.xml but manifests under
${WRKSRC} can be used too if the package source includes one.
SMF method scripts are supported too if required, using SMF_METHODS in a
similar manner to RCD_SCRIPTS.
Many parts of the SMF infrastructure are configurable, see mk/smf.mk for
the full details.
figure out the target architecture based on the objects so we need to
explicitly set it.
This allows bootstrap --abi=32 to complete successfully on x86_64.
that location in the new find-headers infrastructure when they have not
been installed into /usr/include.
This allows us to remove the hardcoded builtins, as they can now be
correctly determined automatically.
are instead moved to SDK-specific locations. This breaks many builtin checks
which assume headers are in a fixed place.
Rather than trying to dig around finding where Xcode.app might be installed,
just override IS_BUILTIN for libraries that we know exist.
This file is from libtool-1.x, which is not in pkgsrc any longer
(using libtool-2.x since 2009). Also, it was only used for packages
using autoconf-2.13 AND libtool; I found three packages in pkgsrc with
that combination, and all of them still build on NetBSD-6.99.24/amd64
after this change.
catman pages are installed with a suffix which matches their section
instead of the default '.0'.
Enable it by default on SunOS, which requires that particular layout.
per-platform default. Previously PREFER.<pkg> was used, and as that
has the highest precedence it meant the defaults could not be overridden
with the PREFER_PKGSRC and PREFER_NATIVE user variables.
While here, set the openssl default for SunOS back to pkgsrc, now that
users who wish to use the builtin can do so via PREFER_NATIVE=openssl.
so that they are correctly calculated as independent.
This avoids issues in bulk builds where the package version was taking
precedence and causing the wrong user package to be depended upon.
substitutions will not be correct.
Fixes issue with ABI=64 where /usr/lib/amd64 was being exposed, but
packages will need to be rebuilt for the change to take effect.
hierarchy.
This values should be generated from output of some commands,
but I cannot find the rule.
Tested on armel and x86_64 Debian GNU/Linux environment.
The values are shown in http://wiki.debian.org/Multiarch/Tuples .
static library for compatibility reasons. If a libtool library is linking
against -ldl, libtool only builds it statically because there is no
libdl.so. This prevented, at least, the build of devel/gobject-introspection.
Add it globally because there is no reason anyone would want to link against
libdl on MirBSD.
Always use xorg-cf-files and imake from pkgsrc, replacing xpkgwedge.
Always install man pages, not cat pages when using imake.
Unify the various imake PLIST variables in preparation for dropping.
Adjust xbattbar for the new expectations.
for all packages that use GNU_CONFIGURE causes to many packages to break.
Packages that need the libdir passed to them will need to be handled one
at a time.
configure scripts as the value of --libdir.
On Linux x86_64 set GNU_CONFIGURE_LIBDIR to ${GNU_CONFIGURE_PREFIX}/lib,
this will stop package trying to install into ${PREFIX}/lib64.
Based on the responses I'm going to switch the default X11_TYPE to
be modular, and override in platform/*.mk files as required. The
new values will be:
Changed - from native to modular
- FreeBSD
- FreeMiNT
- Linux
Changed - older versions switched from native to modular
- NetBSD - native for NetBSD-4 and later
Native (unchanged) - should probably be switched to modular
- AIX
- BSDOS
- IRIX
- Interix
- MirBSD
- UnixWare
Native (unchanged)
- Darwin - for Leopard (10.5) and later
- OpenBSD.mk
- SunOS.mk
Modular (unchanged)
- DragonFly
- HPUX
- Haiku
- OSF1
I'd like to encourage anyone using X11 apps on any platforms other
than NetBSD, Darwin, DragonFly, FreeBSD, Linux, FreeMiNT, HPUX,
Haiku or OSF1 to speak up, whether they are happy with native or
having to set modular.
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.