Commit graph

6744 commits

Author SHA1 Message Date
gdt
41baa6d8fa revert previous; it has trouble in two many places and 1) a fix isn't
obvious 2) we're in freeze, so restore to working as quickly as
possible.
2007-09-22 15:19:47 +00:00
rillig
9993d0aa30 BINPKG_SITES may be empty, and most shells don't like syntactically
empty for loops.
2007-09-21 23:59:30 +00:00
gdt
398104408b When replacing, use the oldname as found in work/.replace_oldname to
tar up, instead of PKGBASE.

This enables modifying that file to have a package that isn't
automatically found be the replace target, e.g., "echo libglade2-2.6.2
> work/.replace_oldname" after make replace fails to find a package to
tar up when doing make replace in libglade.
2007-09-21 15:13:55 +00:00
wiz
3528e06345 Fix paths for GConf, libglade, libart, libsigc++, lablgtk moves.
Bump PKGREVISION.
2007-09-21 13:03:25 +00:00
rillig
c05db5893e Instead of the overly verbose "Required installed package", the type of
dependency (bootstrap, build, full) is printed.

When building a package that pulls in the basic tools as dependencies,
it is good to know whether these are build or full dependencies, so the
additional information is useful.
2007-09-21 07:27:41 +00:00
rillig
842f8b2745 Replaced _PKG_SILENT _PKG_DEBUG with the shorter RUN. 2007-09-20 18:30:34 +00:00
rillig
553d52ca88 When CPP is defined as "cc -E", the wrapper framework created the
wrapper for gcc and cc as type "CPP", although these aren't C
preprocessors. By preventing the code from overwriting files, this works
now.
2007-09-20 18:17:18 +00:00
rillig
1fcdecd105 Added variable descriptions. 2007-09-20 17:28:48 +00:00
rillig
7c0cf0016c Renamed pkgpath to pkg_path, since there exists a completely independent
variable PKGPATH. I hope this will avoid some confusion.
2007-09-19 13:32:59 +00:00
rillig
93100472de When using bin-install, the version of the installed package was checked
twice: First against the required package pattern (PKGNAME_REQD), and
then against the current version (PKGNAME). When only a binary package
for an old (but sufficient) version of a package was available, that
version had been installed and the current version been built
afterwards, which was unnecessary.

This problem was mentioned in PR 36146, and is hereby fixed.

By the way, the code was really ugly: The messages that had been printed
didn't reflect what the code was actually doing. This is fixed, too.
2007-09-19 13:26:19 +00:00
rillig
4334ec644a Fixed incorrect quoting of arguments. This behavior had been unnoticed
for several years now, since the directories in the -I... and -L...
options usually don't need quoting. But when the -D... option was
processed using the same code, the bug had become visible.
2007-09-19 13:08:19 +00:00
rillig
e446929efd Before and after the transformations, the commands are written to the
log file in a format that allows copy-and-paste into a shell. Before, it
wasn't possible to see from the log file whether a space was a delimiter
or part of a shell word.
2007-09-19 13:02:15 +00:00
rillig
7e901dd9f3 Added LOCALPATCHES and PATCHDIR. 2007-09-19 08:37:37 +00:00
rillig
500f99647b Made "make show-all-patch" work. 2007-09-19 08:32:13 +00:00
reed
edb3562456 For Portable C Compiler.
Add beginning of PKGSRC_COMPILER=pcc support.
Based on "sunpro".

Please help improve this. I have not tested with C++ or fortan.
2007-09-18 01:51:10 +00:00
heinz
e62c70c5d2 Fixed typos in comments. 2007-09-16 14:40:57 +00:00
rillig
2e36f667a2 The word "skipped" is ambiguous. Use "untransformed" instead. 2007-09-13 10:50:43 +00:00
rillig
7c238f4588 In bulk builds with a custom PKGSRCDIR, that directory should not appear
in binary packages. This check can be enabled by adding "pkgsrc" to
CHECK_WRKREF.
2007-09-13 09:52:46 +00:00
rillig
c7873e00e2 It has always annoyed be that package authors had to write ${PKGMANDIR}/
in the definition of INSTALLATION_DIRS, where a short man/ would be much
shorter. Since we already have that man-transforming magic in some other
places of pkgsrc, it's also here.

While here, documented INSTALLATION_DIRS and
INSTALLATION_DIRS_FROM_PLIST so they are found by "bmake help".
2007-09-13 09:44:58 +00:00
rillig
c852fe8d9a check-files shouldn't complain about files in VARBASE, since they cannot
be represented in the PLIST.
2007-09-12 10:22:53 +00:00
rillig
cbdb42f74b Explained the usr, pkg and sys that appears in the output. 2007-09-12 10:08:38 +00:00
rillig
b099dacd53 ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM should only be used in commented
form.
2007-09-12 09:59:44 +00:00
rillig
2e7ea41b85 Added documentation for NOT_FOR_PLATFORM and ONLY_FOR_PLATFORM. 2007-09-12 09:55:37 +00:00
seb
c6f5917e32 Document option nfdump-nfprofile. 2007-09-12 07:36:31 +00:00
rillig
b313f8aaf3 Better specification for PKGNAME. 2007-09-11 21:21:33 +00:00
abs
4b75da6235 +USE_INET6?=${IPV6_READY} rather than =, so it can be overidden 2007-09-11 18:16:38 +00:00
xtraeme
9bc710da92 Move belnet sourceforge mirror to the last position, it's unreachable
for me.
2007-09-11 17:22:18 +00:00
rillig
f4afca78cc Merge -D and the following word, so -D UNIX -D WHATEVER doesn't get
transformed to -D UNIX WHATEVER (because the wrapper eliminates
duplicate arguments). Now it becomes -DUNIX -DWHATEVER. This fixes a
build problem reported in
http://mail-index.netbsd.org/pkgsrc-users/2007/09/10/0004.html.
2007-09-11 08:33:11 +00:00
rillig
6780484224 Reverted the last change. Apparently, it was committed without testing
it first.
2007-09-10 07:25:14 +00:00
rillig
cd03ea87b2 Added documentation. 2007-09-10 07:18:32 +00:00
rillig
ce0b07c80b Why should we write the same code over and over again? We shouldn't. 2007-09-10 07:00:37 +00:00
rillig
5b5f343c3c Added information about imake-specific variables. 2007-09-10 06:36:25 +00:00
gdt
837f3385ae Add notes of things that need fixing:
# XXX Accumulate commit message during each operation, so that a final
# commit operation will have a sensible message with all of the
# previous operations.

# XXX Fail if uid is 0, or perhaps != CVS meta files owner, to catch
# the case of invoking these targets as root.
2007-09-09 22:57:04 +00:00
rillig
51c4e0b1a7 Switched from pax to tar, as suggested by joerg@. 2007-09-09 16:42:00 +00:00
rillig
6a07f1633f Made the command that saves PREFIX silent. 2007-09-08 17:13:54 +00:00
rillig
1bd0ba21be gcc knows -fpic. 2007-09-08 13:37:51 +00:00
jlam
940bc4dcda Use an actual function (regcomp) declared in <regex.h> as the feature
name instead of just "regex".
2007-09-08 05:06:40 +00:00
jlam
d1db5cad7b Fix reversed test for MISSING_FEATURES+=inet6. 2007-09-08 05:04:37 +00:00
jlam
bc88c9e746 Canonicalize the way the features are tested. 2007-09-08 05:03:52 +00:00
jlam
de8a166406 * Teach the features framework about the fts_* family of functions.
* Teach the features framework how to create a replacement header file
  from the <nbcompat/*> equivalent for fts.h, glob.h and regex.h.
2007-09-08 04:54:12 +00:00
wiz
19c1a2725c Support alsa, libsigc++2, and resmgr emulation packages. 2007-09-07 23:04:55 +00:00
jlam
07dd3147c6 Convert packages that test and use USE_INET6 to use the options framework
and to support the "inet6" option instead.

Remaining usage of USE_INET6 was solely for the benefit of the scripts
that generate the README.html files.  Replace:

	BUILD_DEFS+=	USE_INET6
with
	BUILD_DEFS+=	IPV6_READY

and teach the README-generation tools to look for that instead.

This nukes USE_INET6 from pkgsrc proper.  We leave a tiny bit of code
to continue to support USE_INET6 for pkgsrc-wip until it has been nuked
from there as well.
2007-09-07 22:12:10 +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
1316235db9 Replaced ${_PKG_SILENT}${_PKG_DEBUG} with ${RUN} and made the code simpler. 2007-09-07 17:01:10 +00:00
rillig
ceae47166c Replaced ${_PKG_SILENT}${_PKG_DEBUG} with ${RUN}, since it is shorter.
Removed unnecessary braces around a single pipeline. Also removed the
||true, since awk is very unlikely to fail.
2007-09-07 16:47:05 +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
rillig
6f5e31989b pkg_info -qR doesn't give the same results as pkg_delete -n. 2007-09-07 11:14:10 +00:00
obache
72267a276f Correct typo, really fixes PR 36940. 2007-09-07 10:57:35 +00:00
rillig
9082111f79 pkg_info needs at least one package name. Fixes PR 36940. 2007-09-07 10:38:44 +00:00
joerg
4f84d697c2 If DISTDIR points to a non-existing location and a package has neither
PATCHFILES nor DISTFILES, make fetch would complain about an unbuildable
dependency. Fix this by explicitly checking that _ALLFILES is not empty.
Reported by Sean Boudreau.
2007-09-06 20:54:53 +00:00
rillig
8485c5f6cb One line of code can say as much as ten. 2007-09-06 08:28:01 +00:00
rillig
af6cc8cfa0 Why do things in a simple way when there is a complicated alternative? 2007-09-06 08:24:12 +00:00
wiz
b99a1d8de6 + icu. Sort. 2007-09-05 21:56:21 +00:00
rillig
876b9237c3 Now it's possible to add custom directories to the check for directory
references.
2007-09-05 13:34:32 +00:00
rillig
30ba11bfca Documented all the variables that are used or defined by this file.
Added lots of XXX tags for things that should be discussed further.
2007-09-04 08:42:30 +00:00
jlam
1bffbe5e1d Introduce a new target "checksum-phase" which is used as a dependency
target by pkgsrc.  This new target computes checksums only up until
the extract phase is complete.

The "checksum" target is now a target that can always be run by the
user at any time, regardless of the presence of the work directory.

These changes were proposed in PR pkg/36603 by Robert Elz.
2007-08-31 16:30:11 +00:00
joerg
1871076e0c At least with XLC V9, xlc -V isn't that useful as it prints the
man page. Use -qversion instead.
2007-08-30 21:47:29 +00:00
joerg
ca11c32744 Newer AIX has bzip2 and bzcat pre-installed. 2007-08-30 21:29:21 +00:00
adrianp
583342970a The code for the pkg_install<20070714 vulnerability checks used in the
README.html generation are broken.  It will not find vulnerabilities in any
packages that have complex names in the pkg-vulnerabilties file.
e.g. php{4,5}-perl and sun-{jdk,jre}15
Post pkg_install-20070714 this is now fixed and only currently known
vulnerabilities are shown in the generated README.html files for packages.

You will need to update to pkg_install>=20070714 to get this fix.
2007-08-29 23:26:30 +00:00
rillig
a57e707ad8 Hey Johnny, I thought you could still write code that also works with
Solaris' /bin/sh.
2007-08-29 15:59:52 +00:00
adrianp
ccc8f33d94 The new audit-packages code goes to stdout now. 2007-08-27 15:38:08 +00:00
jlam
207a8ff447 When verifying checksums of distfiles, simply verify every checksum
provided in the distinfo file for those distfiles, rather than checking
specifically for the ones listed in _DIGEST_ALGORITHMS.  If a distinfo
file actually provides checksums for other algorithms, e.g.  TIGER,
then go ahead and verify them too.
2007-08-24 03:30:54 +00:00
jlam
ba2e1cdc9e Fix accidental :dw in previous commit. 2007-08-24 03:12:33 +00:00
jlam
9a59593e3e Restore the tradition behaviour of the "checksum" target. It can be
run now at any time up until the "extract" phase completes, and the
"checksum" target no longer keeps a state (cookie) file.

From the checksum.mk file comments:

    We do not actually wish to create a cookie file for the completion
    of the checksum phase because we want to be able to detect if
    any of the files have changed right up until the distfiles are
    extracted.  Therefore, we use the presence of the cookie file
    from the "extract" phase to determine whether we need to continue
    to verify checksums.

This addresses PR pkg/36262 and PR pkg/36603.
2007-08-24 03:11:01 +00:00
jlam
081c0f8957 Allow a nicer syntax for expressing needing at least a certain version
of an emulated operating system.  Instead of proliferating things like
SUSE_VERSION_REQD, NETBSD_VERSION_REQD, SOLARIS_VERSION_REQD, etc., a
package can say:

	EMUL_REQD=	suse>=9.1 netbsd>=2.0 solaris>=10

all in one, succinct line.
2007-08-23 18:20:30 +00:00
jlam
4fd552cb21 Use .PARSEDIR where it can be used to avoid hardcoding the path to the
emulator module.
2007-08-23 17:39:47 +00:00
jlam
711d838dc0 Back out previous and solve this in another way that doesn't involve
a hokey new emulator-opsys.mk file.
2007-08-23 17:31:46 +00:00
jlam
e44e2c60b8 Break out the inclusion of the operating-system-specific Makefile into
a separate emulator-opsys.mk file.

The emulator-opsys.mk file defines EMUL_DISTRO and the various *EMUL*DIR*
variables, as well as any opsys-specific variables.

Include this file within compat_netbsd/Makefile.common so that the
*EXEC_FMT variables (defined by the compat*/emulator.mk files) are
defined.  This fixes the build of compat* packages.

XXX emulator-opsys.mk will go away in the near future as we do more
XXX appropriate information hiding.
2007-08-23 15:59:33 +00:00
jlam
58bc5f9939 Define a variable EMUL_IS_NATIVE if the emulated operating system
matches the native operating system.  Use it in place of checking
whether EMUL_DISTRO matches "native-*" as EMUL_DISTRO is no longer
defined after bsd.prefs.mk is included.

This should fix PR pkg/36823 by Robert Elz.
2007-08-23 13:43:57 +00:00
joerg
d0f3b7006b Do not check that RCD_SCRIPTS_SRC.foo exists, assume so.
This unbreaks DESTDIR installation for mail/spamassassin,
when extract and install phase are part of the same make run.
2007-08-23 12:30:30 +00:00
joerg
8c752989ee Remove remaining parts of misc/xorg-dirs usage. 2007-08-23 09:49:18 +00:00
joerg
0f838e964b pkg_add can figure out the suffix itself, thanks. 2007-08-23 08:59:24 +00:00
gdt
dd8fde8499 Describe DEFAULT_ACCEPTABLE_LICENSES better.
Add GPL v3 to DEFAULT_ACCEPTABLE_LICENSES.

Add plan for dealing with Free licenses that have not been approved as
Free.
2007-08-22 16:29:15 +00:00
jlam
3961b685a7 Reorganize some code so that including bsd.prefs.mk doesn't expose
so much of the emulator framework.
2007-08-22 14:47:10 +00:00
jlam
ffd0fa8226 * Support netbsd-* as a valid platform in EMUL_PLATFORMS. Use the
pkgsrc/emulator/compat* and pkgsrc/emulator/netbsd32_compat* packages
  to provide the necessary shared libraries to run dynamically linked
  NetBSD binaries from the days of yore.

* Add some additional compat* packages for completeness:

	compat15, compat20, compat30

* Modify the compat* packages so that "compatNM" only provides files
  that aren't in "NetBSD-N.(M+1)".  For example, compat12 only provides
  files that don't exist in NetBSD-1.3.x, compat13 only provides files
  that don't exist in NetBSD-1.4.x, etc.

  As a result, if you are running NetBSD-3.0/alpha and want to run a
  1.3 dynamically linked binary, there is an automatic dependency
  chain that causes the following packages to be installed:

	compat13, compat14, compat15, compat16, compat20

  There are some deviations from this dependency chain on platforms
  that have changed executable formats, e.g. i386, m68, sparc, etc.
  However, in general pkgsrc will require that you have the necessary
  COMPAT_* options in your kernel to match the installed compat*
  packages.  This restriction is an artificial one imposed by pkgsrc,
  but allows for a single set of distfiles to be used on all versions
  of NetBSD.

* Provide compat* package support for every supported architecture
  of NetBSD.  Verily, it is now possible to run 1.2 binaries on
  NetBSD-1.5.3/pc532 by installing the compat12 package from pkgsrc.
  Rejoice, one and all!

* The netbsd32_compat* packages mirror the corresponding compat*
  packages for use by sparc64 and x86_64 to allow running 32-bit
  binaries with COMPAT_NETBSD32 kernel support.  The "extras" packages
  supply the additional shared libraries from the corresponding release
  of NetBSD so that the set of files in /emul/netbsd32 will be complete.

* pkgsrc/emulators/compat_netbsd contains infrastructure files shared
  by all of the compat* packages.
2007-08-21 22:49:02 +00:00
jlam
f7addad279 Allow the existence of symlinks that point nowhere. 2007-08-21 21:44:23 +00:00
joerg
8b88cd8fca Add actual license and a small description of what this is doing. 2007-08-21 21:08:18 +00:00
joerg
80b8a5c96a Add a cross-compile and DESTDIR safe alternative to ldd for
check-shlibs. This allows more stricter detection (e.g. it checks
whether the package links against a build dependency). It also checks
whether the rpath contains wrkdir references (like qt3-libs). It depends
on readelf and is only available for ELF systems for now. To test it,
add USE_CHECK_SHLIBS_ELF to mk.conf.

Supported-by: Google SoC 2007
2007-08-20 11:04:02 +00:00
joerg
4e5efdff41 Add readelf as tool, for only only the BSDs get it. 2007-08-20 11:00:33 +00:00
joerg
961f2e2499 For DESTDIR operation, no need to filter out old files. 2007-08-20 10:59:53 +00:00
joerg
651f00f91e Add cross-compiling support for bin-install and deinstall targets. 2007-08-20 10:59:05 +00:00
heinz
cd9a231f36 Removed mirror qgpop.dl.sourceforge.jp. It is not listed anymore on the
sourceforge.jp download pages and was not restored since this topic came
up in mid-July.
2007-08-19 19:16:58 +00:00
joerg
b0a55e5360 Explicitly bail out if X11_TYPE=xorg is found. 2007-08-18 00:30:21 +00:00
joerg
e09f68cb6b Remove infrastructure side of Xorg 6.9 support. Begin to simplify
some of the cases of X11_TYPE usage -- it will stay with modular|native,
so don't bother with keeping the separation in the tool list.
2007-08-17 20:27:30 +00:00
jlam
8cd21c85a1 Allow for emulation-specific patches for binary-only packages. The
patches are named emul-${EMUL_PLATFORM}-patch-* and are located in
${PATCHDIR}.
2007-08-16 16:29:27 +00:00
rillig
fca91bf3c4 Added a variable DEFAULT_DISTFILES that can be used when adding
distfiles to DISTFILES.
2007-08-16 07:42:53 +00:00
joerg
56b7b61664 A number of packages implicitly assume that ar runs the right ranlib,
so override it as well for DESTDIR.
2007-08-16 03:09:38 +00:00
joerg
0094e01f2c Provide _COMPILER_RPATH_FLAG and _LINKER_RPATH_FLAG. This should work
at the very least with AIX 5.3 directly and for older, wrapper should
take care.

Provide some more sane defaults for XLC and bail out explicitly if
XLCBASE can't be determined.
2007-08-15 21:26:28 +00:00
jlam
3ff1bf7b40 Use a flag to the checksum script to tell it whether we're checking
a distfile or a pkgsrc patch.  It's simple, cleaner, less magic, etc.
(duh!).

While here, I notice that _CHECKSUM_CMD was already being defined in
mk/checksum/checksum.mk (as it should be), so update the definition
from mk/patch/patch.mk and remove it from patch.mk.
2007-08-15 13:56:24 +00:00
joerg
ff4ca43fd6 Move APPENDELF definition after the reassigning of MACHINE_ARCH.
This allows cross-compiling of x86_64 from i386.
2007-08-15 13:25:47 +00:00
joerg
f3e91441c9 Create ranlib override for cross-compilation as libtool doesn't
use the target version.

If we ever want to create archives for the native platform,
NATIVE_RANLIB similiar to NATIVE_CC should be introduced.
2007-08-15 13:24:14 +00:00
joerg
ae3dae849b Use the new pkg_add -m for cross-compiling instead of -f. 2007-08-15 13:20:57 +00:00
joerg
4a33463b76 Remove bootstrap-register, bootstrap was changed a while ago to use
normal building and installation.
2007-08-14 23:59:25 +00:00
joerg
8eae292c51 Fix a number of bugs in the DESTDIR support:
- check-perms.mk was not DESTDIR aware, prefix files before passing it
  to the directory extraction
- PKG_FILELIST_CMD was calling pkg_info, which is fine for normal
  installation, but fails of course for DESTDIR. Just drop the @ lines
  from ${_DEPENDS_PLIST} and use that.
- To make he former work, ensure that _flavor-generate-metadata is part
  of _INSTALL_ALL_TARGETS. It was normally a dependency of
  _flavor-register, but that is skipped for DESTDIR.
- Remove ${_DEPENDS_PLIST} when running install-clean.
2007-08-14 23:58:24 +00:00
jlam
fe9b8d7edd Don't remove the whole metadata directory in _flavor-clean-metadata...
instead only remove the files generated by _flavor-generate-metadata.
This should preserve the +INSTALL and +DEINSTALL scripts (which are
created during the "build" phase") across a "make update" or a "make
deinstall".
2007-08-14 21:32:17 +00:00
jlam
701b13909a Teach the pkgsrc/mk/checksum/checksum script how to verify patches by
first stripping them of NetBSD RCS ID tags.  Use the checksum script
in the patch module to verify patch checksums instead of hand-coding
a miniature version of the checksum script in the do-pkgsrc-patches
target.
2007-08-14 21:25:09 +00:00
jlam
ea9b9c675e Strip out *all* of the lines containing NetBSD RCS ID tags that may
be lurking in patches before computing their checksum.
2007-08-14 19:22:31 +00:00
jlam
597066239a Protect the template NetBSD RCS ID tag from being expanded. 2007-08-14 19:19:01 +00:00
jlam
a78cac15b0 Move the code that generates distinfo to a standalone AWK script. 2007-08-14 19:08:18 +00:00
jlam
9999f553d9 Drop EMACS_USE_POP, EMACS_USE_X and EMACS_USE_X_TOOLKIT from the
default variable settings.  These are now handled directly by the
editors/emacs20 package via the options framework.
2007-08-14 19:04:56 +00:00