Commit graph

1925 commits

Author SHA1 Message Date
rillig
84579a3239 More comments. 2007-09-27 11:19:52 +00:00
jlam
5073c3d95d Add a "system features" framework that will eventually be used to
automatically supply missing "basic" headers and libraries from an
older system, e.g. IRIX 5.x or Interix or AIX, etc.

Example usage:

    USE_FEATURES+=      snprintf glob regex

For now, we just pull in libnbcompat to supply the missing bits.
2007-09-07 21:55:44 +00:00
rillig
91c415b938 The WRKDIR and PREFIX can be saved in the log directory when a package
doesn't build properly. These options are off by default since they
require much disk space.
2007-09-07 15:51:53 +00:00
joerg
b0a55e5360 Explicitly bail out if X11_TYPE=xorg is found. 2007-08-18 00:30:21 +00:00
rillig
7d184f93ff Moved the stuff that is common to all directories of pkgsrc into its own
file. Now "make help" can be called from the top-level directory,
avoiding to parse lots of buildlink3.mk files just to get some help.
2007-08-13 06:03:46 +00:00
rillig
3f5fe75745 build-env is no longer defined in bsd.pkg.debug.mk. 2007-08-13 05:24:26 +00:00
rillig
0e365be076 Fixed _PKG_DEBUG_SCRIPT for the case of PKG_DEBUG_LEVEL=0. 2007-08-13 05:22:37 +00:00
joerg
dfb9b6a575 Try a bit harder to guess which mk.conf the user is using, when
telling him to accept a license:
- if MAKECONF is set, use that
- if this is NetBSD and a non-bootstrap make is used, take /etc/mk.conf
- otherwise use ${PREFIX}/etc/mk.conf.

Issues reported by Michael Neumann on DragonFly's user list.
2007-08-10 13:09:52 +00:00
joerg
34c60ba2a2 Update _USE_DESTDIR=full handling to use the new -u/-g code and
require pkg_install-20070802 for using it. It is now considered
to work correctly and ready for general consumption.
2007-08-03 14:03:39 +00:00
jlam
33f30156fb * Add new emulator framework in pkgsrc/mk/emulator that handles all
binary-only packages that require binary "emulation" on the native
  operating system.  Please see pkgsrc/mk/emulator/README for more
  details.

* Teach the plist framework to automatically use any existing
  PLIST.${EMUL_PLATFORM} as part of the default PLIST_SRC definition.

* Convert all of the binary-only packages in pkgsrc to use the
  emulator framework.  Most of them have been tested to install and
  deinstall correctly.  This involves the following cleanup actions:

    * Remove use of custom PLIST code and use PLIST.${EMUL_PLATFORM}
      more consistently.

    * Simplify packages by using default INSTALL and DEINSTALL scripts
      instead of custom INSTALL/DEINSTALL code.

    * Remove "SUSE_COMPAT32" and "PKG_OPTIONS.suse" from pkgsrc.
      Packages only need to state exactly which emulations they support,
      and the framework handles any i386-on-x86_64 or sparc-on-sparc64
      uses.

    * Remove "USE_NATIVE_LINUX" from pkgsrc.  The framework will
      automatically detect when the package is installing on Linux.

  Specific changes to packages include:

    * Bump the PKGREVISIONs for all of the suse100* and suse91* packages
      due to changes in the +INSTALL/+DEINSTALL scripts used in all
      of the packages.

    * Remove pkgsrc/emulators/suse_linux, which is unused by any
      packages.

    * cad/lc -- remove custom code to create the distinfo file for
	all supported platforms; just use "emul-fetch" and "emul-distinfo"
	instead.

    * lang/Cg-compiler -- install the shared libraries under ${EMULDIR}
	instead of ${PREFIX}/lib so that compiled programs will find
	the shared libraries.

    * mail/thunderbird-bin-nightly -- update to latest binary
	distributions for supported platforms.

    * multimedia/ns-flash -- update Linux version to 9.0.48 as the
	older version is no longer available for interactive fetch.

    * security/uvscan -- set LD_LIBRARY_PATH explicitly so that
	it's not necessary to install library symlinks into
	${EMULDIR}/usr/local/lib.

    * www/firefox-bin-flash -- update Linux version to 9.0.48 as the
	older version is no longer available for interactive fetch.
2007-07-29 05:18:36 +00:00
jlam
9bb51d11c7 Putting bsd.pkginstall.mk under bsd.tools.mk was a bad idea -- the
former set several USE_TOOLS lines that were being missed by bsd.tools.mk.

Rearrange the +SHLIBS code so that bsd.tools.mk can now be included
after bsd.pkginstall.mk again.  The +SHLIBS code has now been moved
over to the plist module, which is so far the repository for all of
the shlib-type handling.

This should fix the problem with fonts handling being broken.
2007-07-23 15:23:46 +00:00
rillig
210f9de622 Enabled the warnings. 2007-07-20 14:25:03 +00:00
jlam
2d76049e1e Add back a facility to rebuild the run-time library search paths database
on platforms that need it.

XXX Right now, if the platform needs it, then it runs for every package.
XXX This needs to be fixed to only run for packages that install shared
XXX libraries.

* Move mk/plist/shlib-type to mk/scripts.

* Move definition of SHLIB_TYPE from mk/plist/plist.mk to bsd.pkg.mk.

* Move inclusion of bsd.pkginstall.mk below bsd.tools.mk so that it
  can use SHLIB_TYPE.  This is necessary because SHLIB_TYPE's value
  is the result of evaluating a command, and the command needs "TOOL"
  definitions provided by bsd.tools.mk.
2007-07-18 18:01:02 +00:00
joerg
6890115248 Change default value of CREATE_WRKDIR_SYMLINK to no. In combination with
WRKOBJDIR, the pkgsrc tree is now read-only. Brought up multiple times
on tech-pkg and no major objection.
2007-07-16 20:51:07 +00:00
joerg
79cc54a7ec Add two targets, pbulk-index and pbulk-index-item.
pbulk-index-item prints a number of variables used by the parallel bulk
build code during either the build, the report or the upload phase.

pbulk-index checks whether multiple versions of the current package
could be build (e.g. because multiple Python versions are supported) and
uses pbulk-index-item for each possible combination.

Thanks to David Laight for explaining the different between using :[#]
in the body of a make target and in a clause of an .if.

Powered-by: Google SoC 2007.
2007-05-09 23:33:51 +00:00
kristerw
14eee92e95 Fix quoting issue that gave syntax error when printing the message
that new package tools are needed.
2007-04-01 19:02:14 +00:00
wiz
082ea716fe Remove warning about LIB_DEPENDS, it's sooooo long gone... 2007-03-02 06:01:44 +00:00
rillig
322b451e11 Finished the split of PKGSRC_LOCKTYPE into LOCALBASE_LOCKTYPE and
WRKDIR_LOCKTYPE. Added more documentation.
2007-02-22 07:20:41 +00:00
rillig
70e7958fda I find the ABI useful to know when looking at a binary package. 2007-02-20 10:32:09 +00:00
obache
abd8e894eb MAKEFLAGS for su-${.TARGET} is ${MAKEFLAGS.su-${.TARGET}},
not ${MAKEFLAGS.${.TARGET}} .

Fix non-root user update target.
2007-02-09 01:57:17 +00:00
rillig
9ea67301ad Added the INFO_MSG command, which can be used when the user should be
noticed about something that is not severe enough to need a warning.
INFO messages go to stdout instead of stderr.

Added the :M* modifier to the INSTALL_MACROS to make the resulting
command lines somewhat shorter.
2007-01-11 12:11:03 +00:00
rillig
b51c2d32b3 Added the FAIL command, which can be prepended to an arbitrary shell
command, making it return with a non-zero exit status.

The first use of it is in a command called FAIL_MSG, which prints an
error message and exits immediately. ERROR_MSG itself doesn't do that.
2007-01-06 19:53:01 +00:00
rillig
fb967a6591 Cleaned up bsd.pkg.mk:
- Removed some outdated comments.
- Made the inclusion of other *.mk files uniform.
- Replaced some instances of ${_PKG_SILENT}${_PKG_DEBUG} with ${RUN},
  since the latter is much shorter.
2007-01-02 23:34:40 +00:00
rillig
43908c44cc Moved the show-tools target to misc/show.mk.
Moved the changes-entry target to misc/developer.mk. To save some time,
that file is only included when PKG_DEVELOPER is defined.

Moved the build-defs-message target to misc/show.mk and renamed it to
show-build-defs, since almost all other *-message targets just print a
single line.
2007-01-02 21:29:07 +00:00
rillig
b57f0d45fb Added an additional line to the parallel error message.
Added an empty line to separate the description of su-target from the
definition of _ROOT_CMD (for "make help").
2007-01-02 21:04:52 +00:00
martti
2cc4216d5e Remove trailing spaces. 2006-12-15 12:46:23 +00:00
rillig
714dc5ff6b Moved the code that checks for PKG_FAIL_REASON and PKG_SKIP reason from
the internal/ directory to misc/, since it is not really internal to
pkgsrc.

Fixed the case where PKG_SKIP_REASON was not noticed by the bulk builds.

Added the NOT_FOR_UNPRIVILEGED and ONLY_FOR_UNPRIVILEGED variables.
2006-11-26 08:37:03 +00:00
wiz
9d7fe65c60 Use PKG_FAIL_REASON for platform checks, to make them work again.
XXX: PKG_SKIP_REASON seems broken?
2006-11-19 09:32:29 +00:00
rillig
825ba83c0e Moved the check for PKG_FAIL_REASON and PKG_SKIP_REASON at the very end
of bsd.pkg.mk, so that all infrastructure parts may add their error
messages to PKG_FAIL_REASON.
2006-11-16 09:38:53 +00:00
rillig
e6050a98e2 Moved the code that checks PKG_FAIL_REASON and PKG_SKIP_REASON into its
own file. The further plan is not to include this file in the middle of
loading, but at the end, when no variables will be changed. This will
allow the _whole_ pkgsrc infrastructure to generate errors with
PKG_FAIL_REASON, which is currently not the case.
2006-11-14 13:56:14 +00:00
rillig
68c2399cc3 Some people really try to run pkgsrc's make with -j5 options. Since that
is not supported at all by pkgsrc, print an error message in that case.
2006-11-05 19:11:29 +00:00
joerg
aa7649f688 Use REAL_ROOT_USER for configuration dirs. 2006-11-05 15:15:24 +00:00
joerg
8e79aa8c40 Rename _INSTALL_ROOT_USER to REAL_ROOT_USER. Use it as default for
SETUID_ROOT_PERMS.
2006-11-05 15:10:08 +00:00
rillig
c14791a52e Moved the help system into its own subdirectory. Extracted the AWK
program into its own file, since that way, one can add comments to the
code.

For convenience, keyword search is case insensitive.
2006-10-23 14:40:14 +00:00
rillig
56bfa32c77 Added INCSDIR and LIBDIR to BSD_MAKE_ENV. 2006-10-22 07:20:06 +00:00
rillig
10121c122e The new variable BSD_MAKE_ENV defines BINOWN, BINGRP, etc. 2006-10-22 07:00:41 +00:00
rillig
53c952439d Added a variable RUN (no leading underscore) as abbreviation for
${_PKG_SILENT}${_PKG_DEBUG}, so that this feature can be used by
packages, too.
2006-10-22 06:50:49 +00:00
joerg
aa237578e1 Include some more magic to set ownership of packages build with
use-destdir to ${ROOT_USER}:${ROOT_GROU}. This allows us to safely
use it on all packages which don't install setuid/setgid binaries.
2006-10-15 16:20:34 +00:00
rillig
91178d291d Added printf to USE_TOOLS, because it is used heavily by the "debug" and
"help" targets.
2006-10-10 16:57:58 +00:00
joerg
bc2ee3463c Introduce _SU_ROOT_USER, which can be used for partially unprivileged
builds, when the normal ROOT_USER overrides should happen, but
su-target is still desired to work.
2006-10-09 10:30:27 +00:00
gdt
23056ede21 fix comment about CHANGES file for changes-entry, since the default is
really CHANGES-YYYY
2006-10-03 14:22:16 +00:00
rillig
a5c5777ae5 Fixed the locking, as suggested by Johnny on the tech-pkg mailing list.
Added two targets acquire-localbase-lock and release-localbase-lock,
which mark the complete LOCALBASE directory as locked, so that multiple
packages cannot run the install, deinstall or bin-install targets at the
same time.

The install target aquires locks in both WRKSRC and LOCALBASE, the other
two targets only need the LOCALBASE lock, since they may be run without
WRKSRC being present on the system.

locking.mk must be included before tools.mk and the PKG_FAIL_REASON
check.
2006-08-04 20:52:27 +00:00
rillig
2b12ad4712 Moved the bin-install target from bsd.pkg.mk to install/bin-install.mk.
Added documentation. Added locking around the real installation.
2006-08-04 07:04:38 +00:00
rillig
634ea54e44 In the "makedirs" target, it is clear that the lock file is always the
_WRKDIR_LOCKFILE and never _PREFIX_LOCKFILE, so use that to keep things
simple.

Replaced ECHO with ECHO_MSG in the message for creating the WRKDIR
symlink.
2006-08-04 06:27:27 +00:00
rillig
dbef31038e Moved the locking code from bsd.pkg.mk into its own file. Where here,
added a more detailed header comment and fixed a bug concerning lockdir.
2006-08-04 05:55:18 +00:00
rillig
7487a78a0c When installing or deinstalling a package, it is not enough to lock the
WRKDIR against foreign processes. Instead, the PKG_DBDIR is locked,
preventing other (pkgsrc) processes from modifying the set of installed
packages while another one is doing that.

This allows to use "bmake update" efficiently on multi-processor
machines by just running it in four different package directories.

Note that the pkg_add and pkg_delete tools may still interfere with this
locking when they are directly run.
2006-08-03 19:12:42 +00:00
rillig
a532efd3df Added bsd.pkg.help.mk, which provides the "help" target.
Since more and more files follow the convention of documenting variables
in a common format, it makes sense to be able to get the documentation
of a single variable by simple means, instead of searching through the
whole mk/ directory.

Try "make help TOPIC=CONFIGURE_DIRS" for an example.
2006-08-02 09:46:22 +00:00
jlam
c489860d62 Whenever we invoke a recursive make, we need to ensure that the proper
environment ${PKGSRC_MAKE_ENV} is also passed along.  Create a
convenience variable RECURSIVE_MAKE that does exactly this and that
can be used in place of MAKE when invoking make recursively.

Use RECURSIVE_MAKE everywhere in pkgsrc/mk that we invoke make
recursively.
2006-07-27 21:46:45 +00:00
jlam
6a569e5eb8 After auditing all the packages the ensure that they never invoke the
compiler toolchain until the configure stage, move the "wrapper" stage
back to between "patch" and "configure".

This makes "make extract NO_DEPENDS=" work again for all packages.
2006-07-27 13:47:29 +00:00
jlam
f06c908670 Pass MAKECONF down to recursive make processes to ensure they all use
the same ${MAKECONF} file.
2006-07-26 21:23:40 +00:00