Commit graph

1797 commits

Author SHA1 Message Date
agc
ddacec0cfe When FAILOVER_FETCH is set, only use the first digest algorithm found
for a dist file or patch, and let the "checksum" target do the full
digest integrity checks.  Should fix a problem reported by John Klos
on tech-pkg, which I was a bit dim in analysing.
2005-03-02 11:11:36 +00:00
veego
d53b01d221 Fix PLIST_SRC error introduced in rev 1.1593.
Before this fix it would include
  PLIST.common
then _only_ one of the following
  PLIST.${OPSYS}
  PLIST.${MACHINE_ARCH:C/i[3-6]86/i386/g}
  PLIST.${OPSYS}-${MACHINE_ARCH:C/i[3-6]86/i386/g}
  PLIST
and then PLIST.common_end.

Now, uses all of the following PLIST files, in that order:

PLIST.common
PLIST.${OPSYS}
PLIST.${MACHINE_ARCH:C/i[3-6]86/i386/g}
PLIST.${OPSYS}-${MACHINE_ARCH:C/i[3-6]86/i386/g}
PLIST
PLIST.common_end
2005-02-27 22:10:25 +00:00
agc
c323caee5b Fix a problem introduced in the previous commit, noticed by Matthiases
Scheler and Drochner.

Handle missing checksums in distinfo properly.

Tested by myself and tron.
2005-02-25 13:05:52 +00:00
agc
e96ce79e2e As seen on tech-pkg - allow multiple digest algorithms to be used to
ensure the integrity of distfiles and dist patches.  For now, the
default algorithms are SHA1 and RMD160, set as a whitespace-separated
list in the DIGEST_ALGORITHMS definition.  The DIGEST_ALGORITHM
definition is deprecated.

Patchfiles will still use simply SHA1, since we are trying to detect a
binary "has this file changed", rather than proect against tampering.
In short, if someone can modify the patch file, they can modify the
distinfo file holding its digest information. This value is set in the
new PATCH_DIGEST_ALGORITHM definition.

Triggered by the breaking of SHA1, as reported in

	http://www.schneier.com/blog/archives/2005/02/sha1_broken.html
2005-02-22 21:01:10 +00:00
veego
8b44024dc5 Change the files to be used for PLIST_SRC from
PLIST.common
 PLIST.${OPSYS}
 PLIST
 PLIST.common_end
to
 PLIST.common
 PLIST.${OPSYS}
 PLIST.${MACHINE_ARCH:C/i[3-6]86/i386/g}
 PLIST.${OPSYS}-${MACHINE_ARCH:C/i[3-6]86/i386/g}
 PLIST
 PLIST.common_end

Which makes it possible to remove duplicated code in some packages.
This doesn't change anything, because all affected packages define PLIST_SRC,
so this code would never be used for them.
And most of them will be fixed with the next commit.

ToDO: ${MACHINE_ARCH:C/i[3-6]86/i386/g} looks wrong and should be changed,
but thats what we allready use for MESSAGE_SRC.
2005-02-21 20:12:01 +00:00
grant
384e38172b fix bug introduced in 1.1569: use ${GREP} instead of 'grep' and not
all grep(1)s support grepping for empty string. `${GREP} .' instead.
2005-02-20 06:02:06 +00:00
grant
d84e86c700 update the PLIST handling for AIX, shared libraries have the .so
extension when the runtime linker is used. from garbled@.
2005-02-19 04:25:31 +00:00
agc
b10fb63e34 Fix an anomaly noted by Steve Bellovin in
<20050215182853.AC52D3C03B8@berkshire.machshav.com>

The check for a vulnerable package at package fetch time is producing
incorrect results when csh-style alternates are used in the
pkg-vulnerabilities specification of the vulnerable package - disable
the incorrect speed-up that was there previously, at the expense of
some machine cycles at build time.
2005-02-16 11:01:03 +00:00
tv
568d0bf7bd Some older ${FIND}s do not have an implicit "-print"; make sure to specify
it explicitly (as with other ${FIND} usage here).
2005-02-15 16:21:41 +00:00
rillig
b791494593 Corrected a misspelling of a variable. I used $rebooted in a shell code,
which had better been $$rebooted (Makefile quoting). Approved by jlam.
2005-02-13 03:49:12 +00:00
rillig
0fff1d5ac8 Don't use the -nt operator for ${TEST}. It is not defined in POSIX, and
not provided by the Solaris 9 /bin/sh. Use the find(1) -newer expression
instead, as it expresses exactly what we want, compared to the "ls -t"
hack.
2005-02-12 00:27:41 +00:00
tv
239f7cd34f Whitespace formatting nits. 2005-02-11 17:00:07 +00:00
tv
79ba5ea33a Consolidate PLIST_SRC default generation and the plethora of failsafe
error checks into labelled blocks toward the top of the file.

While here, remove the historic (now completely empty; it was replaced by
PKG_FAIL_REASON some time ago) uptodate-pkgtools target and the references
to it.
2005-02-11 16:57:45 +00:00
tv
614ff30790 Visual cleanup from tv-derecurse:
Consolidate many MAKE_ENVs and SCRIPTS_ENVs into a common block.
(CONFIGURE_ENVs to be done later.)

Introduce new variable ALL_ENV which is automatically included into all
of MAKE_ENV, SCRIPTS_ENV, and CONFIGURE_ENV; this allows much cleaner
addition of the common CC/CXX/CFLAGS/etc. variables needed by all of these.
2005-02-11 16:36:49 +00:00
tv
4c2cccef33 Migrate the big block of USE_PERL5 and PERL5_REQD logic to bsd.pkg.use.mk. 2005-02-11 16:15:53 +00:00
tv
4b3f94acc8 Migrate several USE_* logic blocks, previously sprinkled liberally
throughout bsd.pkg.mk, to labelled blocks in bsd.pkg.use.mk.
2005-02-11 16:11:36 +00:00
tv
5655fbe984 Merge down some more visual cleanup from tv-derecurse to reduce divergence.
Part of this, introduce bsd.pkg.use.mk, where the Special Logic invoked
by various pkgsrc-wide USE_* variables will be migrated/consolidated.
2005-02-11 15:55:13 +00:00
tv
7e17264955 "replace" should depend on ${_PKGSRC_BUILD_TARGETS}, just like "install". 2005-02-09 16:03:47 +00:00
jlam
2ab02f1ddd Bump PKGTOOLS_REQD to 20050204. This version of pkg_install passes
the correct information to the +INSTALL and +DEINSTALL scripts to fix
problems with binary packages incorrectly locating the reference counts
database, e.g. /var/db.refcount.
2005-02-04 09:19:41 +00:00
jlam
642fa3e0e6 Don't make pkgsrc depend on dc(1) to be present in the system. Since
we already use awk so pervasively in pkgsrc, simply use awk in place
of dc for simple computations.
2005-01-28 21:05:59 +00:00
jlam
ce33cd0c70 Move the creation of ${PKG_DB_TMPDIR} to when we create ${WRKDIR}.
This ensures that it's always created with the same user/group/mode
as ${WRKDIR}, so if a non-root user thinks he has permissions to remove
${WRKDIR}, then that expectation will remain true for ${PKG_DB_TMPDIR}.
2005-01-27 18:32:20 +00:00
tv
1d26911a04 Fix handling of PREPEND_PATH in dependency-recursed builds. 2005-01-27 11:21:46 +00:00
tv
bcce274c8b Move the PREPEND_PATH for LOCALBASE/bin (and optionally X11BASE/bin) to a
spot that will come before compiler.mk (in bsd.prefs.mk).  Previously,
LOCALBASE/bin was appearing earlier in the path than work/.<compiler>/bin,
which could cause the Wrong Thing to happen.
2005-01-27 04:05:08 +00:00
tv
e2d4e995a8 Relax need to put GNU_CONFIGURE before inclusion of bsd.prefs.mk:
Convert _OPSYS_MAX_CMDLEN to a plain _OPSYS_MAX_CMDLEN_CMD variable, which
is not evaluated by a shell until CONFIGURE_ENV is expanded (and only then
if USE_LIBTOOL+GNU_CONFIGURE are both set).
2005-01-25 18:15:58 +00:00
jmmv
f70b9a4716 Add alternatives.mk, a file used to manipulate the alternatives system.
A package can optionally provide an ALTERNATIVES file which contains pairs
of wrapper/alternative, one per line.  The file is then used by the install
and deinstall scripts to register the alternatives and to create the
appropriate wrappers.

Make bsd.pkg.mk include this new file.  This happens unconditionally to
keep all the alternatives logic in an independent file.  Otherwise, some
of the stuff could have to be moved to bsd.pkg.mk, breaking consistency.
2005-01-25 13:13:35 +00:00
tv
e1c33bd2a4 Merge a little visual-only cleanup from the tv-derecurse branch:
Collect many modifiable hard-to-find variables scattered throughout
bsd.pkg.mk into a common section near the top of the file.  (Not necessarily
"complete", but helps to reduce HEAD-branch divergence.)
2005-01-24 19:57:42 +00:00
tv
3c440a0121 Merge down deferred PREPEND_PATH handling from the tv-derecurse branch.
Also merge in deferred CLASSPATH handling, which can now be moved back
to java-vm.mk for cleanliness.
2005-01-24 19:32:33 +00:00
tv
6a1da4db28 Make CHECK_FILES_SKIP_CMD into a single grep, using a ${var:@foo@bar@} loop. 2005-01-24 18:44:38 +00:00
tv
4284bdc494 Merge down deferred EVAL_PREFIX handling from tv-derecurse branch.
Also move its definition later in bsd.pkg.mk, so that it actually works
for compiler/*.mk (which is why those files originally had to provide
"defaults" for their variables -- they never did get evaluated).
2005-01-24 18:20:57 +00:00
xtraeme
2494cf89ca Fix breakage in previous, installed pkg db files should be installed into
${PKG_DB_TMPDIR} not ${_PKG_DB_TMPDIR}, patch from Geoff Wing.
2005-01-24 09:31:06 +00:00
jlam
1e0e784ec4 Move the creation of ${PKG_DB_TMPDIR} earlier so that it's created as
the build user instead of the root user.  This should allow "make
clean" as a non-root user to work again.
2005-01-23 22:23:40 +00:00
jlam
af900af65a Rearrange the register-pkg and post-install-fake-pkg code. All of
the meta-data files are generated and stored in ${PKG_DB_TMPDIR} by
the *-install-fake-pkg targets, and then all of the contents of that
directory are simply copied into ${PKG_DBDIR}/${PKGNAME} by register-pkg.

This is intended to make (DE)INSTALL scripts be more powerful.
Currently, they have no way to keep state on their own.  Now, they
can keep state in the current working directory.  When invoked by
pkg_add(1), the current working directory is ${PKG_DBDIR}/${PKGNAME},
so the state files are already stored in the correct place.  When
invoked by bsd.pkg.mk, the current working directory is ${PKG_DB_TMPDIR},
and any state files generated by the (DE)INSTALL scripts are copied
into the correct place by the register-pkg target.
2005-01-23 21:57:38 +00:00
jlam
daf62c2000 Rework the way that packages are registered during a "make install". We
split the fake-pkg target into three smaller pieces:

pre-install-fake-pkg - Create files in ${WRKSRC}/.pkgdb meant to be
	installed into ${PKG_DBDIR}/${PKGNAME} that don't depend on
	the installed files.

post-install-fake-pkg - Create files in ${WRKSRC}/.pkgdb meant to be
	installed into ${PKG_DBDIR}/${PKGNAME} that may depend on the
	installed files.

register-pkg - Copy the files in ${WRKSRC}/.pkgdb and create a few
	additional meta-files in ${PKG_DBDIR}/${PKGNAME}.

The idea is that ${WRKSRC}/.pkgdb contains as much of the state as
possible that will be copied into ${PKG_DBDIR}/${PKGNAME}.

The INSTALL and DEINSTALL scripts generated by bsd.pkg.install.mk are
now invoked with ${WRKSRC}/.pkgdb as the working directory, so the
scripts may use the working directory to store temporary files,
regardless of whether they're invoked from bsd.pkg.mk or by pkg_add.
2005-01-23 20:45:22 +00:00
grant
13ed8b06aa message whitespace fix 2005-01-22 09:46:55 +00:00
jmmv
af92a2b644 - Move all CHECK_FILES_SKIP definitions to a central place in bsd.pkg.mk.
- Move the previous block of code down in the file so that all used variables
  are defined (specially PKG_SYSCONFDIR).  Fixes a problem noticed by
  kristerw@'s bulk build in comms/minicom.
- Ignore diff's return code, which aborts make in NetBSD 1.6.2.  Also noticed
  by kristerw@'s bulk build.
- Use full paths to do the checks, instead of relative to ${PREFIX}.  Less
  ambiguity.  Matches should be turned into regular expressions that anchor
  to a whole line (tried that, but found some problems).
- Turn CHECK_FILES to NO by default.  As said in the previous point, there
  are still some problems that have to be fixed and minor improvements to
  be done.  And I have no time to fix this ATM.  Yes, this definitely needs
  more testing.  I'm sorry for all the noise.  (But hey!  you should set and
  try this feature locally! ;-)
2005-01-15 10:50:17 +00:00
jmmv
99909219cc Automatically add any of the {CONF,SUPPORT}_FILES and {MAKE,OWN}_DIRS stuff
to CHECK_FILES_SKIP to avoid some false positives.  These directories are
created in the pre-install stage so are included in the generated file list.
The files are also added to silence some problems that may arise during
"make replace".  Found by wiz@ in the gtk2 package.
2005-01-14 18:02:38 +00:00
jmmv
8cf5329682 Add the check-files target: when enabled, this verifies that installed
packages do not install more files than expected (nor delete existing
files), aside other sanity checks in PKG_SYSCONFDIR and VARBASE.

This behavior is only enabled if PKG_DEVELOPER is set and CHECK_FILES
is YES (the default).  Should let us catch problems in other systems,
as some packages install different files depending on the OS they are
being built (which is different to see).

Furthermore, since the sanity checks done in PKG_SYSCONFDIR and VARBASE
are quite agressive, only enable them when CHECK_FILES_STRICT is YES
(defaults to NO).  Developers should enable this feature to detect errors,
but this can't be a default yet.  Otherwise, lots of packages could be
marked broken in bulk builds (they really are, according to "cleanliness"
rules, but most of them are non-trivial to fix).
2005-01-14 14:36:31 +00:00
tv
7983e9bf35 Only do the config.* overrides iff GNU_CONFIGURE. (defined() check needed
to make older bmakes happy.)
2005-01-14 14:08:06 +00:00
tv
f8b3f96fb6 Add override for uncommon "config.rpath" GNU config snippet. Use platform
file to indicate that override logic should be turned on.  (AFAICT, only
Interix is afflicted at the moment.)
2005-01-14 00:10:01 +00:00
tv
609eec1da7 Put back the proper variable construct for LIBTOOL_REQD that was borken in
previous.  (_OPSYS_LIBTOOL_REQD is only defined on some platforms, so the
:U clause provides the next best choice if that's not defined.)
2005-01-13 20:19:57 +00:00
jlam
b6b853727d Nuke USE_FORTRAN and bring the f2c handling within the mk/compiler
framework.  The list of changes include:

  * Modify compiler.mk so that "c" is always prepended to USE_LANGUAGES,
    so we no longer need to say it in package Makefiles.  Packages
    should now append to USE_LANGUAGES instead of setting it.

  * Create mk/compiler/f2c.mk which implements another pseudo-compiler
    "f2c" that may be used with any C compiler backend, e.g.

	PKGSRC_COMPILER= f2c ccache gcc

  * Teach the various "real" compiler files, e.g., sunpro.mk, mipspro.mk,
    etc., to use f2c if the native Fortran compiler isn't present.

Packages that use Fortran should now simply include the line:

	USE_LANGUAGES+=	fortran

in the package Makefile.
2005-01-12 15:31:58 +00:00
jmmv
012b4db0a7 Redo previous because it had a chance to cause serious problems, and was
already demonstrated by imake failing.

So, instead of fiddling with PATH's value in multiple places, rely on
PREPEND_PATH to get things right.  Hopefully this will DTRT.  At least
several local tests have worked without problems.
2005-01-11 20:09:14 +00:00
jmmv
c69a629c0c Reverse PATH order in many places: instead of appending ${LOCALBASE}/bin
and ${X11BASE}/bin to the current PATH, _prepend_ them.  This way we will
pick our own binaries in favour of the system ones, in the cases where
conflicts exist.  Also add a PREPEND_PATH for ${LOCALBASE}/bin.

This should fix several packages on non-NetBSD systems.  For example,
ispell-spanish under Linux comes to mind, as it was using the 'ispell'
binary from /usr/bin instead of the one in /usr/pkg/bin to get its
configuration information.

Ideally, buildlink could handle this as it does for libraries, hidding
unexpected binaries ;-)

No objections in tech-pkg@ (or packages@; I don't remember the exact
list where I asked).
2005-01-11 13:39:19 +00:00
jlam
d67a649768 Allow the creation of error handlers for shell commands in make targets.
PKG_ERROR_CLASSES is a list of error handlers, PKG_ERROR_HANDLER.<class>,
to create.  The default error handler will rethrow the exit code after
emitting an error message that may be specified per-class with
PKG_ERROR_MSG.<class>.

Create error messages for the configure and build phases that inform
the user of places to go looking for why the build didn't complete.
2005-01-10 18:34:48 +00:00
jlam
b73353dae2 Remove redundant CONFIGURE_ENV lines (they're already present in the
shell environment passed in the do-configure target.
2005-01-10 08:30:43 +00:00
minskim
472c0e0fe2 Add the perl path to CONFIGURE_ENV here, so that we don't have to fix
every package using perl.
2004-12-31 13:13:56 +00:00
minskim
dcc78c4962 Use GNU make on Linux when USE_IMAKE=yes, because Makefile generated
by imake on Linux requires GNU make.
2004-12-29 23:19:42 +00:00
jlam
25b81680be Remove USERADD and GROUPADD definitions from OSes where the useradd
and groupadd commands won't follow the calling conventions of the
NetBSD useradd/groupadd.  Modify the INSTALL scripts to *never* create
users or groups if there is no available ${USERADD} or ${GROUPADD}
command, but will warn the user of users and groups that need to be
created before the package can be installed.
2004-12-27 06:41:50 +00:00
agc
429fdd9cb8 Whitespace police - no functional change 2004-12-21 17:30:07 +00:00
jlam
651a4a40fd Ensure that libtool-base>=1.5.10nb7 is required for packages that set
USE_FORTRAN.
2004-12-18 00:14:04 +00:00
jlam
88648515a2 Rewrite func_infer_tag in the libtool script so that it's easier to
specify (hardcoded) compilers from which we can infer the correct tag
(CC, CXX, F77).  Use the following patterns to match compilers to
tags:

	CC:	*cc *xlc
	CXX:	*++ *CC
	F77:	*77 *fort

Bump the PKGREVISION to 1.5.10nb7 since we now infer the F77 tag from
likely Fortran compilers.  Also require at least this version of
libtool when building packages that set USE_FORTRAN.  This should fix
PR pkg/28661.
2004-12-17 16:24:22 +00:00
jlam
82d866954b Nuke bsd.perl.mk... we compute these values where they're needed in
perl5/buildlink3.mk already, so no need to include this file in
bsd.pkg.mk anymore.
2004-12-10 04:25:09 +00:00
wiz
6e02d7ee41 Rename ALL_TARGET to BUILD_TARGET for consistency with other *_TARGETs.
Suggested by Roland Illig, ok'd by various.
2004-12-03 15:14:50 +00:00
wiz
913b2647ad "the the" -> "the" 2004-12-01 09:52:59 +00:00
jlam
b47bc866c0 Move all dlopen-handling code into dlopen.{builtin,buildlink3}.mk. 2004-11-26 08:15:25 +00:00
jlam
b0427900c8 Perl is all about loadable perl modules, so include dlopen.buildlink3.mk.
If we include pthread.buildlink3.mk, then build with Perl ithreads
support.  Bump the PKGREVISION.

Nuke the perl58-thread package.  The perl package can now be forcibly
built with thread support by setting PERL5_USE_THREADS to "yes".
2004-11-25 22:02:49 +00:00
jlam
2e5e6fbf72 dlopen.buildlink3.mk should be added to packages that use dlopen() to
load shared objects.  Some platforms require pthreads to be linked
into the application if it uses dlopen() or else the applications will
core dump when they dlopen a shared module that _is_ linked with
pthread support.  Including dlopen.buildlink3.mk in a package Makefile
will cause pthread.buildlink3.mk to also be included.

It is up to the package to ensure that PTHREAD_{CFLAGS,LDFLAGS,LIBS}
(defined by pthread.buildlink3.mk) are passed to the compiler when
building/linking the applications, possibly by setting PTHREAD_AUTO_VARS
to "yes" in the package Makefile.
2004-11-25 21:33:36 +00:00
jlam
55ba984801 Move selection of the default perl58 (whether it is threaded or not) into
bsd.pkg.mk.  lang/perl58 now always builds perl58, while lang/perl58-thread
builds perl58-thread (POLS).  Fixes PR pkg/28343.
2004-11-17 22:55:14 +00:00
tv
4b5d899ef8 Revert previous (re-add common CPP_PRECOMP_FLAGS). For consistency, also
move usage of _USER_DEPENDS and _OPSYS_MAX_CMDLEN to bsd.pkg.mk.
2004-11-16 18:04:00 +00:00
tv
2e3f2421db CPP_PRECOMP_FLAGS is a Darwinism only. Move its frobbing of CPPFLAGS to
platform/Darwin.mk (simplification).
2004-11-16 16:21:40 +00:00
jlam
4c79895c31 Add a mini-framework to centralise the handling of "hacks" for getting
particular packages to compile correctly.  bsd.hacks.mk auto-includes
the hacks.mk file in the current directory.  An example hacks file:

-------------8<-------------8<-------------8<-------------8<-------------
.if !defined(FOO_HACKS_MK)
FOO_HACKS_MK=	defined

### [Sun Nov 14 02:08:31 EST 2004 : jlam]
### arm GCC 2.95.x optimisation bug tickled when compiling
### lib/funkyfile.c.  Require a more recent version of GCC as a
### workaround and patch lib/funkyfile.c (patch-ae).
###
.if !empty(MACHINE_ARCH:Marm*)
PKG_HACKS+=	optimisation
GCC_REQD+=	3.0
.endif

.endif  # FOO_HACKS_MK
-------------8<-------------8<-------------8<-------------8<-------------

The comment which heads each individual hack should timestamp when the
hack was added and describe the bug that requires the hack.  By
separating out hacks to a separate file, we should be able to simplify
package Makefiles so that they are more readable.
2004-11-14 07:23:07 +00:00
sketch
cc78d56bb6 Introduce LIBABISUFFIX for platforms which require ABI-dependant library paths. 2004-11-12 20:25:41 +00:00
jlam
153b3f00b7 (1) Split out the native (built-in) pthread detection in
pthread.buildlink3.mk into a separate file, pthread.builtin.mk,
    that is handled using the usual builtin.mk logic.

(2) If pthread.buildlink3.mk is included by a package Makefile, then
    automatically add the necessary compiler and linker flags to
    compile and link pthread-enabled/reentrant code.  For native
    pthreads, this means passing -pthread to the compiler and linker.
    For the userland pthread replacement, we pass -D_REENTRANT and
    -lpthread instead.

(3) Add PTHREAD_{CFLAGS,LDFLAGS,LIBS} in both CONFIGURE_ENV and MAKE_ENV
    when pthread.buildlink3.mk is included so that the configure and
    build processes can use these values.  Remove these definitions
    from bsd.pkg.mk since PTHREAD_* variables are all declared within
    pthread.buildlink3.mk.

XXX For now, PTHREAD_LDFLAGS is a superset of PTHREAD_LIBS until
XXX packages that use use PTHREAD_LDFLAGS can be fixed.
2004-11-12 05:20:01 +00:00
tv
6d01962e98 Well, the double libtool BUILD_DEPENDS is already annoying people and I'd
rather not force BUILD_DEPENDS through the (slow) reduce-depends dance, so
resurrect LIBTOOL_REQD (though in a bit more succinct manner).
2004-11-12 02:05:20 +00:00
tv
e8e85c8003 Bump that libtool version number back down to nb1 where it was in previous. 2004-11-11 22:34:12 +00:00
tv
d8c17c9d39 Change the way _OPSYS_LIBTOOL_REQD works slightly.
Rather than replacing the LIBTOOL_REQD value, add two BUILD_DEPENDS lines.
That way, the higher numbered BUILD_DEPENDS wins -- allowing the version
in bsd.pkg.mk to be bumped beyond the value in the platform .mk and still
be enforced properly.
2004-11-11 22:32:45 +00:00
agc
ec3956e4aa Correct whitespace after UPDATE_RUNNING changes 2004-11-02 08:31:45 +00:00
erh
00d045e33b Set UPDATE_RUNNING=YES when deinstalling due to a update or replace target.
Use this to trigger appropriate args to pkg_delete so PKG_PRESERVE packages
can be upgraded.
2004-11-02 00:03:09 +00:00
tv
2c8efb738f Fix shlib execute perm pattern (was broken after 1.1537).
Also, to address concerns raised on tech-pkg, only issue the warning about
execute permission if PKG_DEVELOPER is set.
2004-10-28 14:05:56 +00:00
recht
b83ac5ddfa - Allow CXXFLAGS to be set on a per-OS basis (read added to OPSYSVARS).
- Set CXXFLAGS in the MAKE_ENV (if defined).
2004-10-27 21:45:53 +00:00
tv
28cb3985eb Don't chmod shlibs that are symlinks; fixes issue noted by <grant@netbsd.org>.
Also don't do the ldd-REQUIRES dance unless SHLIB_HANDLING=YES (because you
don't want to run a native ldd on a foreign binary).
2004-10-27 13:47:41 +00:00
grant
91c3a1ad95 whitespace police and tidyup of PLIST_SUBST. no functional change. 2004-10-27 10:41:43 +00:00
xtraeme
45b3b684a4 2nd round for PKG_RESUME_TRANSFERS:
* Add FETCH_OUTPUT_ARGS (new option, defaults to "-o" with NetBSD's ftp(1))
* Use FETCH_OUTPUT_ARGS to move the file transfer to a temporary name
 on ${DISTDIR}/${DIST_SUBDIR} with extension ".temp"
* If temporary file matches the checksum recorded in distinfo, move it
 to the original name (removing temp file)

For example, if you want to use PKG_RESUME_TRANSFERS with wget
(pkgsrc/net/wget), the following vars should be defined in mk.conf:

FETCH_CMD=wget
FETCH_RESUME_ARGS=-c
FETCH_OUTPUT_ARGS=-O

No need to set these vars when using defaults (NetBSD's ftp(1))
2004-10-26 21:14:59 +00:00
lukem
474141b293 add hostname to Subject: of PKGSRC_MESSAGE_RECIPIENTS email 2004-10-26 02:23:37 +00:00
jmmv
f604984f30 Introduce the PKGCONFIG_OVERRIDE_STAGE variable to let a package
specify when the pkgconfig substitutions have to be applied; defaults
to pre-configure.  This is useful because some packages modify the .pc
files during the build process (adding -L flags), so they have to wait
until the build finishes to add the correct rpaths.

Also modify the regular expression in PKGCONFIG_OVERRIDE_SED to match
and fix multiple -L flags, instead of just one.
2004-10-25 18:02:20 +00:00
tv
d581ad2ae3 Only allow LIBTOOLIZE_PLIST=no if USE_LIBTOOL is *not* used, setting BROKEN
if both are specified.
2004-10-21 17:18:44 +00:00
tv
10bbfcf5b1 Put back LIBTOOLIZE_PLIST, which I meant to do but didn't commit. This is
needed by some packages currently which install broken .la files or
otherwise don't work with the transform logic yet.
2004-10-21 17:00:10 +00:00
tv
b271937c8b Propagate $ECHO, $GREP, $SORT to print-la-libnames; fixes this on IRIX.
Noted by Georg Schwarz <geos@epost.de>.
2004-10-16 22:37:29 +00:00
tv
888be43a6a Bump LIBTOOL_REQD back to 1.5.10nb1. This ensures that folks who built
1.5.10 during the "broken" period (before the workaround and wrapper fix)
have to upgrade to make it work correctly.
2004-10-13 18:42:19 +00:00
tv
7f3683f1ed For the ELF form, make sure shlibs are installed +x. If not, issue a
warning, fix it, and move along.
2004-10-13 17:52:46 +00:00
tv
53860a0446 Make strip/no-strip choice more consistent:
Move check for INSTALL_UNSTRIPPED to the platform/*.mk files, alongside
existing check for DEBUG_FLAGS.
2004-10-13 15:31:31 +00:00
tv
78745eb4bf Bump gzip-base to 1.2.4b for security fix. 2004-10-12 18:29:25 +00:00
tv
b0f7b8b308 Automatic inclusion of gzip-base needs a version number in the BUILD_DEPENDS. 2004-10-12 17:32:46 +00:00
tv
728ff6632f Fix _PLIST_AWK_LIBTOOL not to pass @comment lines to print-la-libnames. 2004-10-12 14:34:57 +00:00
tv
b546e8c0c5 Upon further digging, it appears that Interix just needed a
_TOOLS_REPLACE_OPSYS setting to pick up nbsed in tools.mk; no need to
throw more into autoconf's environment.
2004-10-11 23:38:53 +00:00
tv
d769d069b3 A couple packages overflow Interix's sed in an autoconfitized configure
script.  Since all platforms define a "reasonable" sed(1), it seems
reasonable to pass this info to ./configure as well.

While here, convert LIBS="${LIBS}" to the proper LIBS=${LIBS:Q}.
2004-10-11 23:27:18 +00:00
tv
af06ad46bd Add EXTRACT_ENV.bin, allowing things to be passed into the environment of
a ".bin" extraction (to be used shortly by lang/sun-jre15).

This isn't a generic EXTRACT_ENV, as the rest of the extraction tools don't
currently need such a knob.  The most common use would be to set things in
the env of a binary-only distribution to make for silent or otherwise
twiddled package extraction.
2004-10-09 03:47:13 +00:00
jlam
17c3aafac1 * Make PKGSRC_TOPDIR a private variable by renaming it to _PKGSRC_TOPDIR,
as it's only used internally by bsd.prefs.mk.

* Make _PKGSRCDIR a public variable by renaming it to PKGSRCDIR.
  Also, generate its value from ${_PKGSRC_TOPDIR} so it's less fragile
  than the old method of stripping off the last two components of
  ${.CURDIR}.  PKGSRCDIR may now be used after bsd.prefs.mk is defined.

* Change all references to _PKGSRCDIR to PKGSRCDIR.
2004-10-07 02:01:37 +00:00
jlam
087adf00de Move the "dependency reduction" code from buildlink3 to bsd.pkg.mk so
that all of pkgsrc can benefit from removing redundant dependencies.
The code is encapsulated in a new file reduce-depends.mk which is
included by bsd.pkg.mk after all dependencies have been specified.
2004-10-05 15:28:50 +00:00
jlam
f2cb35cf1e Add a scan script that checks for "-v" on the command-line, and prevents
the wrappers from adding extra flags to the command-line if "-v"
exists.  This makes "g++ -v" return the same error code for both the
wrapper and the real executable and fixes the problem with the
libtool-base build not correctly detecting the C++ compiler and thus
not adding the CXX configuration tag to the final libtool script.

Downgrade LIBTOOL_REQD to 1.5.10 since the newest version isn't needed
with this change.
2004-10-04 20:28:29 +00:00
tv
4bee2600f9 Fix completely hosed test for g++ when CXX=g++. The old test worked fine.
Revert until the hosage is tracked down and eliminated at the source.

(Bump to libtool-1.5.10nb1, and make this the required version.)
2004-10-04 19:48:09 +00:00
hira
da072355cf Don't echo the debug message for the targets whose output is used
by other targets.

OK'd by jlam.  This should close pkg/24377.
2004-10-03 04:24:20 +00:00
tv
c487cb967a Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10
in the process.  (More information on tech-pkg.)

Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.

Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
2004-10-03 00:12:51 +00:00
hubertf
ec50bc5bf8 Update the wording a bit when a license is not accepted, to better
indicate the proper process: first read the license, then accept,
and indicate so in /etc/mk.conf:

	yui% make
	===> graphviz-1.12 has an unacceptable license: graphviz-license.
	===>     To view the license, enter "/usr/bin/make show-license".
	===>     To indicate acceptance, add this line to your /etc/mk.conf:
	===>     ACCEPTABLE_LICENSES+=graphviz-license
	*** Error code 1
2004-10-01 00:23:18 +00:00
tv
2639310040 Per jlam's suggestion, remove the libtoolize conditional altogether. Some
packages install libtool archives without using USE_LIBTOOL.
2004-09-27 19:37:36 +00:00
tv
243c9deac1 LIBTOOLIZE_PLIST doesn't even need to be conditional. If USE_LIBTOOL is
set in the package Makefile, then a libtool transform will be done, period.
2004-09-27 14:44:31 +00:00
rh
ccdc09933b In print-PLIST, handle '@exec ${MKDIR}' by PRINT_PLIST_AWK as well. 2004-09-27 00:27:45 +00:00
jlam
74b4e1b968 Make print-PLIST work if there are no *.la files. 2004-09-24 15:00:10 +00:00
jlam
1d55af8fb2 Initial commit of a new wrapper script framework that encapsulates
the non-buildlink-related code and moves it out of mk/buildlink3 into
mk/wrapper.  The buildlink3 code is modified to simply hook its
transformations into the wrapper script framework.

The wrapper script framework has some new features:

* Support automatically passing "ABI" flags to the compiler and linker
  depending on the value of ${ABI}.  Currently supports the SunPro
  compiler with ${ABI} == 64 and the MIPSPro compiler with ${ABI} as
  any of 32, n32, o32, and 64.

* making UnixWare GCC accept -rpath options and silently converting
  them into an appropriate LD_RUN_PATH

* Add cmd-sink-interix-gcc and cmd-sink-interix-ld that errors out
  when it sees -fpic/-fPIC and -shared/-Bshareable, respectively
  (requested by <tv>).

* Much improved debugging output.  It's possible to output the wrapper
  work log in-line with normal output by setting WRAPPER_LOG to
  "stderr".

Important differences in behaviour from the old buildlink3 code include:

* Only move the -l options to the end of the command line, leaving the
  -L options in-place.

* Extend the autodetection of the libtool mode to detect "compile" and
  "uninstall".

* Fix problem noted in both PR pkg/24760 and PR pkg/25500, where
  -L/usr/lib/* was being mangled improperly.

* Remove the top-level "buildlink" target; instead, make buildlinking
  occur as part of the "wrapper" target.

* mangle and sub-mangle are only meant to transform directories in
  -I, -L, and rpath options, so remove the lines in
  buildlink3/gen-transform.sh that transformed bare directories.

* Add the ability for the libtool wrapper to be called just to unwrap
  an existing libtool archive by running:

	libtool --mode=unwrap -o libfoo.la

  The old --fix-la syntax no longer works.


20040818
========
* Initial release of a new wrapper script framework that encapsulates
  the non-buildlink-related code and moves it out of mk/buildlink3.
  These features include:

   * making MIPSpro accept GCC options
   * making MIPSpro "ucode" accept GCC options
   * making SunPro accept GCC options
   * making "ld" accept -Wl,* options and silently removing the "-Wl,"
   * (NEW) making UnixWare GCC accept -rpath options and silently
     converting them into an appropriate LD_RUN_PATH

  One major benefit of this is that the buildlink3 code is now much
  tighter and easier to understand since it concerns itself solely
  with buildlink-related details.  I haven't yet optimized the wrapper
  cache, so the new wrapper scripts may take slightly longer to execute
  than the old buildlink3 wrapper scripts, but I'll be improving this
  over time.


20040821
========
* Move the inclusion of $cmd_sink outside of the main loop in wrapper.sh
  so that the $cmd_sink script can be used to globally scan and process
  the arguments.  Move the LD_RUN_PATH code to a cmd-sink-unixware-gcc
  script.  Garbage-collect the now unused export_vars-related code.

* Add cmd-sink-aix-xlc for AIX xlc that munges -Wl,-R* into an
  appropriate -blibpath option.

* Add cmd-sink-interix-gcc and cmd-sink-interix-ld that errors out
  when it sees -fpic/-fPIC and -shared/-Bshareable, respectively
  (requested by <tv>).

* Move the code that converts full paths to shared libraries into the
  "-Ldir -llib" equivalents from the buildlink3 code into wrapper/logic.
  Remove the same from bsd.buildlink3.mk and gen-transform.sh.

* Move the code that checks for absolute rpaths from the buildlink3
  code into wrapper/arg-source.  Remove the same from bsd.buildlink3.mk
  and gen-transform.sh.

* Only move the -l options to the end of the command line, leaving the
  -L options in-place.

* Add more debugging code.


20040824
========
* Fix quoting problems after arguments are transformed.  Remove the
  hack that was inserted that magically made almost everything work
  because we do it the right way now.

* Move the inclusion of $logic outside of the main loop in wrapper.sh
  so that the $logic script doesn't have to worry about underflowing
  the argument buffer.

* Encapsulate the loop in wrapper.sh that fills the argument buffer
  entirely within the arg-source script.

* Move from the logic script into the arg-source script the
  transformations that merge or split arguments.

* Fix bug where skipargs was effectively being ignored if it was more
  than 1.

* Handle the whitespace in transformations in the logic script that
  turn one library option into multiple library options, e.g.
  "-lreadline" -> "-ledit -ltermcap".

* Allow you to specify an environment variable WRAPPER_SKIP_TRANSFORM
  for whether you wish to skip the transformation step in the logic
  script.  This is intended for testing purposes.

* Added check_prog() and init_lib() functions to the shell code library
  to make it more reusable outside of the wrapper framework.

* Allow the msg_log() function to output to "stdout" or "stderr".  If
  you want to have all of the logging appear on the screen, then you
  can now set WRAPPER_LOG=stderr.

* Make some of the script components not overridable on a per-wrapper
  basis.

* Add a gen-transform.sh script that generates transformation sedfiles.
  The "transform" script is used to transform arguments, while the
  "untransform" script is used to unwrap files.  Move the no-rpath
  logic from buildlink3/gen-transform.sh into wrapper/gen-transform.sh
  since it's not buildlink3-specific.

* Check for a non-empty blibpath before adding the option in
  cmd-sink-aix-xlc.

* Extend the autodetection of the libtool mode to detect "compile" and
  "uninstall".

* Add a cmd-sink-libtool script that doesn't pass linker options to
  libtool unless we're in "link" mode.

* Set _USE_RPATH to "yes" for UnixWare so that the wrappers will see the
  rpath options and convert them to a LD_RUN_PATH definition.

* Add more debugging code.


20040826
========
* Rewrite buildlink3/gen-transform.sh to produce more precise sed commands.
  Drop some unused commands from the mini-language, and add a few more
  that are more restrictive in their scope.

* Fix problem where repeated options weren't properly handled by some
  of sed commands.  It's not enough that they're "global replace",
  since some patterns match separator characters before and after each
  option.  We must repeat those patterns twice to catch all instances
  correctly.

* Fix problem noted in both PR pkg/24760 and PR pkg/25500, where
  -L/usr/lib/* was being mangled improperly.

* Remove the top-level "buildlink" target; instead, make buildlinking
  occur as part of the "wrapper" target.

* Add more debugging code.


20040828
========
* Added a head_queue function to shell-lib that returns the head of the
  named queue without popping it off the front of the queue.

* Strip consecutive, repeated library options from the command line when
  we read it in the logic script.

* Be more careful about not underflowing the argument buffer.


20040906
========
* shell-lib was moved into pkgsrc/mk/scripts; correct references to that
  file in the wrapper code.

* Use opt-sub instead of sub-mangle when protecting -I/usr/include/*
  and -L/usr/lib/* from buildlink transformations.  This avoids adding
  lines that look like "-I-I..." in the transformation sedfiles.

* mangle and sub-mangle are only meant to transform directories in
  -I, -L, and rpath options, so remove the lines in
  buildlink3/gen-transform.sh that transformed bare directories.

* Fix bug in strip-slashdot where the "." wasn't backquoted and thus
  matched all characters instead of only the "." character.

* Change the libtool wrapper to use a modified buildcmd script that
  doesn't rearrange any of the arguments.  This should fix spurious
  problems where libtool doesn't understand how to parse the command
  line when the -l options are moved to the end of the argument list.

* Fix bug in the logic script where the $cachearg and $cachedarg
  weren't being properly set at all times, which caused the cache to
  contain the wrong transformed argument.


20040907
========
* Support automatically passing "ABI" flags to the compiler and linker
  depending on the value of ${ABI}.  Currently supports the SunPro
  compiler with ${ABI} == 64 and the MIPSPro compiler with ${ABI} as
  any of 32, n32, o32, and 64.

* Move back the code that splits absolute paths to shared libraries
  from arg-source back into logic.  This allows us to correctly skip
  splitting those paths based on the previous option.  Also add a
  sanity check that the library name in the split argument doesn't
  contain a "/" since shell globs are not as precise as REs.

* Don't transform the path given after --dynamic-linker (used by GNU
  ld for ELF linkage).

* Add the ability for the libtool wrapper to be called just to unwrap
  an existing libtool archive by running:

	libtool --mode=unwrap -o libfoo.la


20040914
========
* Add a loop in libtool-fix-la to ensure that all of the options listed
  in the dependency_libs lines of *.lai files are processed.  This fixes
  a buildlink3 leakage bug.

* Merge the gen-transform.sh scripts between buildlink3 and wrapper and
  place them all in wrapper.  This makes sense since the commands simply
  allow for many types of transformations, which buildlink3 takes
  advantage of, but there is nothing inherently buildlink-ish about
  those commands.

* Don't directly manipulate SUBST_SED.unwrap.  Instead, create the
  value of SUBST_SED.unwrap by combining several other variables
  (currently just _UNWRAP_SED) to ensure that the correct ordering is
  preserved.

* Correct some confusing debugging messages.
2004-09-21 15:01:38 +00:00
jlam
9ba4de5e14 Move definition of PKGNAME and PKGNAME_NOREV higher in the file since their
expanded values are used somewhere in the middle.
2004-09-15 15:26:10 +00:00
agc
46f829ac2e Finish off the locking work, by adding locks around "make install" and
"make package", from a nudge by Greg Oster. No objections, but lots of
mail, received from pkgsrc developers, to committing this during the
stability freeze, but I'd really like this to go in pkgsrc-2004Q3.
2004-09-11 07:26:03 +00:00
jlam
5073201af9 * Do the *.la expansion within the current _PLIST_AWK_SCRIPT framework.
We no longer require that LIBTOOL_LA_FILES be defined in the package
  Makefile, and the libtool archives should once again be listed in the
  PLIST.

* Add a new yes/no variable "LIBTOOLIZE_PLIST" to control whether to
  have bsd.pkg.mk automatically expand *.la files in PLISTs into the
  true library names represented by the libtool archives.

* Rename the "transform-la" script to "print-la-libnames" which more
  correctly reflects its function.

Many thanks to Todd Vierling for the original implementation and for
his contructive comments on how to improve the changes in this commit.
2004-09-10 19:51:50 +00:00
schmonz
0286643931 Replace the only occurrence of the :E modifier in bsd.pkg.mk with
a more familiar construction. BZCAT wasn't getting defined for a
bzip2-compressed patch in my tree; now it is.
2004-09-01 00:10:58 +00:00
jlam
ca70938428 Replace RPATH_FLAG with LINKER_RPATH_FLAG and COMPILER_RPATH_FLAG,
which are the full option names used to set rpath directives for the
linker and the compiler, respectively.  In places were we are invoking
the linker, use "${LINKER_RPATH_FLAG} <path>", where the space is
inserted in case the flag is a word, e.g. -rpath.  The default values
of *_RPATH_FLAG are set by the compiler/*.mk files, depending on the
compiler that you use.  They may be overridden on a ${OPSYS}-specific
basis by setting _OPSYS_LINKER_RPATH_FLAG and _OPSYS_COMPILER_RPATH_FLAG,
respectively.  Garbage-collect _OPSYS_RPATH_NAME and _COMPILER_LD_FLAG.
2004-08-27 06:29:06 +00:00
schmonz
71f7ba2993 Add a knob PKGSRC_SHOW_PATCH_ERRORMSG to control whether the newly
verbose message displayed on patch failure is in fact displayed on
patch failure. It defaults to "no" if PKG_DEVELOPER is defined,
"yes" otherwise. While here, rename PKG_PATCH_FAIL to PKGSRC_PATCH_FAIL.
2004-08-25 04:09:10 +00:00
tv
6ae0f5c2f9 Process RECOMMENDED *after* including bsd.buildlink3.mk; else it has no
real effect at all.
2004-08-24 00:27:13 +00:00
tv
b0bcde2b2d Don't put the .la transform in GENERATE_PLIST; that's too late to make it in
before any @dirrm's are executed.  Rather, put it explicitly at the top of
the final static PLIST generation code.
2004-08-17 17:48:11 +00:00
tv
57110d93e1 Add new variable LIBTOOL_LA_FILES, which may be used instead of listing
all of the .a, .la, .so, and .so.* files in the PLIST.  This will
autogenerate the PLIST entries based on the informaion in the .la file.

This include print-PLIST support; if LIBTOOL_LA_FILES contains an
installed .la, its entries will be elided from the output PLIST template.
2004-08-16 03:12:02 +00:00
schmonz
9482f7b935 If patching fails and either of PKG_OPTIONS and LOCALPATCHES are
defined, note thatthe patch failure may be due to incompatible
build options and/or local patches, and suggest building with fewer.
2004-08-16 01:56:03 +00:00
jlam
cf2ba07f21 Add some new variables to control how "distribution" patches are extracted
and applied to the package sources.  The existing options are:

	PATCH_DIST_STRIP - option that sets the pathname strip count.
	PATCH_DIST_ARGS - the list of arguments to pass to patch(1).

The new options are:

	PATCH_DIST_CAT is the command that outputs the patch to stdout.

For each of these variables, there is a patch-specific variant that
may be set, i.e. PATCH_DIST_STRIP.<patch>, PATCH_DIST_ARGS.<patch>,
PATCH_DIST_CAT.<patch>.
2004-08-07 15:58:59 +00:00
jlam
8810d2a8dd Move addition of PKG_OPTIONS to BUILD_DEFS below the definition of the
build-defs-message target so that PKG_OPTIONS doesn't show up as a
settable variable in the displayed message.
2004-08-05 02:10:20 +00:00
jlam
369315ec93 oops.. reversed a test 2004-08-04 23:29:50 +00:00
jlam
0862c2a79c Sometimes, the dependencies installed are a function of which variables
are set, and it'd be nice to know which ones before the default
dependencies are installed.

Create a new target "pre-install-depends" that is executed before
dependencies are installed.  Move the display of BUILD_DEFS
(build-defs-message) into pre-install-depends so that they are displayed
before dependencies are installed.
2004-08-04 23:22:38 +00:00
jschauma
154daf0353 Add INSTALL_GAME_DATA to the list of defined macros in CONFIGURE_ENV
as well.  (Noted by wiz@)
2004-08-04 15:29:13 +00:00
minskim
7f8cb7a664 Do not run xargs if its input is an empty string; xargs in Interix
executes the utility even in such a case.  Based on the patch provided
by Hiramatsu Yoshifumi in PR pkg/25777.
2004-08-04 06:22:39 +00:00
jschauma
b6318472ea Introduce GAMEDATAMODE and INSTALL_GAME_DATA, which will take care
of files installed for SETGIDGAME packages.
This will help address PR pkg/25313 and PR pkg/26236.
2004-08-04 02:56:01 +00:00
seb
f45e880102 Garbage collect NO_CHECK_DEPENDS: it is meaningless since revision 1.942. 2004-07-31 12:24:02 +00:00
xtraeme
088cc6d2d6 Make the option to resume transfer optional, as suggested by
Robert Elz in PR pkg/26448 (at least for now).

If you want to use it, PKG_RESUME_TRANSFERS must be set to [Yy][Ee][Ss].

While here, no need to use ${AWK} to get the size with ${WC} -c,
${WC} -c < file is enough.

Thanks to Robert Elz for suggestions, still I have to fix the problems
reported in the PR.
2004-07-27 15:56:19 +00:00
xtraeme
1c1f182b61 Fix some more troubles with my modification for resume transfers:
o Use ${WC} -c instead of using ${LS} -l, which works with
	  symlinks.
	o Only assign -R to FETCH_RESUME_ARGS when FETCH_CMD is the
	  default value (NetBSD's ftp).
	o Fix for www/navigator package, which uses DIST_SUBDIR.
	o Replace another [ with ${TEST}.
	o Print a warning when FETCH_CMD != ftp and FETCH_RESUME_ARGS
	  is empty (resume will not be possible).

Thanks to cube@ and tron@ for reporting/helping with the problems.
2004-07-27 10:34:53 +00:00
agc
a60952e252 Fix some problems with REFETCH mods:
1. don't hardcode true, echo and [
2. Cope with distfiles which are located in a DIST_SUBDIR
3. Don't always assume there will be a size field in the ${DISTINFO_FILE}

XXX The refetch mods make an assumption that an exit code of 0 from a
${FETCH_CMD} means that the transfer has been completed successfully,
and this used not to be the case.  I haven't tested this assumption
recently.
2004-07-27 09:57:57 +00:00
xtraeme
2f4220cc9d Add support to resume transfers, by default it will be disabled if
$http_proxy or $ftp_proxy are defined (for the moment, NetBSD's ftp(1)
doesn't support this).

While I'm here, move FETCH_CMD from bsd.pkg.mk to bsd.pkg.defaults.mk,
and add the new variable FETCH_RESUME_ARGS (-R by default with ftp(1)
from NetBSD/pkgsrc).

If you want to use wget to resume transfers, you should use something
like:

FETCH_CMD=wget
FETCH_RESUME_ARGS=-c
2004-07-27 03:59:26 +00:00
grant
38ec7e0ca7 move PKG_SUFX=.tbz example to bsd.pkg.defaults.mk. 2004-07-25 06:51:33 +00:00
wiz
d4e8b44315 Retire buildlink2, now that all packages using it have been converted to
buildlink3.
2004-07-06 22:49:16 +00:00
abs
b5a3f86522 Implement EXTRACT_CMD.bin 2004-07-06 11:28:55 +00:00
grant
bb8987d2b8 catch locking failure case where we couldn't find the parent's process
ID. from Roland Illig.
2004-07-03 22:11:56 +00:00
grant
b0aaf8b819 style fix from Roland Illig. 2004-07-03 22:07:11 +00:00
grant
51c3057c32 replace use of ${TEST} -e with -f or -d as appropriate. use consistent
shell syntax.

this allows the pkgsrc framework to work with IRIX 5.3 and Solaris'
sh(1) built-in test(1).
2004-07-03 21:59:04 +00:00
salo
97a5956635 In SUBST_SED.pkglocaledir, escape the rest of the line in the pattern.
Saves trailing \ properly.

Addresses PR pkg/26022 by Akio OBATA.
2004-06-23 11:42:18 +00:00
cjep
a957b1f62d Use TEST instead of [] when using -nt. This makes the section work on
SunOS.
2004-06-23 11:13:12 +00:00
agc
fb05638837 When building a pre-requisite package, exit if the build of the
pre-req fails.  Fixes an error noticed by Kimmo and others, where a
build would blindly continue even if the pre-requsite package wasn't
built correctly, and is fallout from the "sh -e" and make(1) changes
in NetBSD-current.
2004-06-05 09:10:41 +00:00
jschauma
8196789a05 Append ${ABI} to some lib-dirs. This is a no-op on systems that do not
use ABI, but allows IRIX and particularly IRIX64 to find the correct libraries
especially when linking against X11 libs.  Tested over several months and
multiple bulk-builds.
2004-06-04 15:00:14 +00:00
xtraeme
0e31a48155 Remove MASTER_SITE_* definitions from bsd.pkg.mk and put them
into the new bsd.sites.mk file. Ok'ed by Hubert Feyrer and
Jan Schaumann in tech-pkg@.
2004-06-04 13:45:26 +00:00
mrauch
80f88d2fca Add MASTER_SITE_OPENOFFICE for the misc/openoffice* packages.
List extracted from http://download.openoffice.org/1.1.1/source.html
2004-05-30 08:10:05 +00:00
kristerw
a061ccd067 aleron.dl.sourceforge.net have had problems during the last couple of
days.  Comment it out for now.
2004-05-29 21:41:30 +00:00
xtraeme
9461692df5 Add ${X11BASE}/bin to the PATH when USE_IMAKE is used, without objections
in tech-pkg@.
2004-05-24 20:54:12 +00:00
jschauma
5419c918f3 Follow Grant's advice: use _OPSYS_GPATCH_REQD to influence _NEED_PATCH
and let tools.mk take care of the rest.
2004-05-19 03:26:09 +00:00
jschauma
7384d31eb1 We have a variable _OPSYS_GPATCH_REQD, but it doesn't do anything.
Change that:  if it's set to YES, require devel/patch.  If building
devel/patch, set _OPSYS_GPATCH_REQD to NO, as otherwise we have a
circular dependency.
2004-05-19 01:27:03 +00:00
jlam
ffec0a5c18 Add a new package-settable variable, INSTALLATION_PREFIX, as discussed
with gavan@NetBSD.org at pkgsrcCon.

Within the pkgsrc infrastructure, LOCALBASE has two different meanings:

    (1) where the package being built should be installed, and
    (2) where to find previously installed packages.

Most instances of case (2) should be converted to use EVAL_PREFIX,
but there are some cases where this is impossible.  To resolve this,
we preserve LOCALBASE to mean (2) and we create a new variable
INSTALLATION_PREFIX to mean (1).

INSTALLATION_PREFIX is meant to be set some time before bsd.pkg.mk is
included, and provides the value for PREFIX if it's defined, e.g.

	NO_MTREE=               yes
	INSTALLATION_PREFIX=    /

	.include "../../mk/bsd.pkg.mk"

This allows us to remove all cases where PREFIX is explicitly set in
the package Makefile, e.g. Java VM packages, qmail, etc.
2004-05-17 04:44:44 +00:00
wiz
ec3d725a1d No USE_BUILDLINK2 package sets USE_FORTRAN any longer -- convert support
to bl3 and remove f2c's buildlink2.mk file.
2004-05-12 13:23:08 +00:00
jschauma
b639c76d93 INSTALL_GAME should be exported a as BSD_INSTALL_GAME 2004-05-12 01:37:42 +00:00
jschauma
559a086093 Introduce new variables:
SETGIDGAME:  specifies whether or not certain games are installed setgid
GAMEGRP:     the group owning games if SETGIDGAME is set
GAMEOWN:     the user owning games if SETFIDGAME is set
GAMEMODE:    the mode to install games as

Use these to provide INSTALL_GAME (for example for PR pkg/25313), and
set them to meaningful values under NetBSD.
2004-05-12 01:03:58 +00:00
reed
91e9b985e1 Rename NO_CONFIGURE_INFODIR to CONFIGURE_HAS_INFODIR (which defaults to
"yes"). So any packages that have old GNU configure script that
does not support --infodir option (while using INFO_FILES) can set
CONFIGURE_HAS_INFODIR=NO.

This was suggested by agc@ as a clearer definition.
2004-05-08 16:14:55 +00:00
reed
b1c2609f21 If using GNU_CONFIGURE then set --infodir to ${PREFIX}/${INFO_DIR}.
I have used this successfully to install over 300 info files
using INFO_DIR=share/info.

Also add new variable called NO_CONFIGURE_INFODIR (as suggested
by Greg Woods) because some autoconf-style configure scripts
don't know --infodir. (The alternative is to use HAS_CONFIGURE
and add the needed CONFIGURE_ARGS.)

Please note that the info tool may not find custom INFO_DIR
unless it is configure to know it. (I will update gtexinfo
for this, but if using native info you are on your own
if you customize this.)
2004-05-08 02:13:00 +00:00
tv
19a94159ac Add a new install macro INSTALL_LIB for use when installing libraries
(mainly intended for shlib use, but for homeful use on all libraries so
that currently static libs can be "provisioned" for future shlib use).
2004-04-27 22:35:47 +00:00
jlam
a7faf8acc5 Move the inclusion of tools.mk ahead of bsd.buildlink3.mk so that tools.mk
can include buildlink3.mk files.  This change also causes work/.tools/bin
to appear after work/.buildlink/bin in the PATH, but we never relied on
this behaviour, so this side-effect should have no impact.
2004-04-27 19:23:34 +00:00
jlam
4416befa38 Allow perl-thread to also be acceptable when USE_PERL5 is defined. 2004-04-26 05:13:06 +00:00
tv
f5324d17bb ROOT_USER is parameterized, so use it in human-readable printed messages
as well.
2004-04-26 03:07:46 +00:00
tv
88a6915436 Make sure PKGDIRMODE is always set in bsd.prefs.mk so it can be checked
in lang/perl58/Makefile.  (It had been set previously only in bsd.pkg.mk.)
2004-04-25 22:42:51 +00:00
grant
c5d2708be9 flow.dl.sourceforge.net has been unreachable for a while now, due to
what appears to be a routing loop. comment it out for the moment.
2004-04-24 11:31:57 +00:00
tv
16fb5e30af Rather than work around an automake braindeadness, parameterize install-sh
so that Interix can set the default mode to 0775.  Then add "install_sh"
to CONFIGURE_ENV so it uses ${INSTALL}, not the package-supplied
install script (as is done for autoconf $INSTALL).
2004-04-23 02:03:18 +00:00
danw
66222702cb add an ${INSTALL_UNSTRIPPED} variable that can be used to block
${_STRIPFLAG_INSTALL}
2004-04-23 01:21:12 +00:00
tv
937e7dd858 Automake has done it again with this amazing variable that CONFIGURE_ENV
can't change at configure time.  "mkdir_p" is now used by automake in place
of the traditional autoconf "INSTALL_DIR".  Override mkdir_p in MAKE_FLAGS,
if GNU_CONFIGURE is set, with ${INSTALL_DATA_DIR}.
2004-04-22 17:46:05 +00:00
minskim
48464d2ca8 Add VIEWBASE to SCRIPTS_ENV. This fixes the problem that pkgviews
packages using imake install files into X11BASE instead of PREFIX.
2004-04-17 22:37:14 +00:00
tv
309dbb72ad Add another fix to previous; reverse the lines in the output. From
pkg_delete, recursion is depth-first, which is wrong for "make update".
Instead, make sure that "closer" dependencies are at the top of the file.
2004-04-16 14:27:38 +00:00
tv
2445e1de31 Provide a quick fix for PR pkg/25187 so that "make update" DTRT with
dependencies again.

This is not a good long term solution; I'm still working on that as an
option to pkg_info to recurse the dependency tree.
2004-04-15 15:37:39 +00:00
jmmv
405467ddb9 Only do the dirs.mk dance when PKG_INSTALLATION_TYPE is overwrite.
The -dirs packages are simply useless in a pkgviews world.
2004-04-14 20:15:59 +00:00
jmmv
6bb0eff02e Rework the way to use the -dirs packages (ATM, xdg-dirs, xdg-x11-dirs,
gnome1-dirs and gnome2-dirs):

- Introduce a global USE_DIRS variable, which takes pairs of names and
  versions.  For example, an xdg-1.1 value will request the use of the
  xdg-dirs package, at least version 1.1.  This variable must always be
  appended to.  If there are duplicates with different versions, the
  one with the higher number will be picked up.

- Introduce the mk/dirs.mk file, which is automatically included by
  bsd.pkg.mk when USE_DIRS is not empty.  It parses the variable's value
  and includes the required dirs.mk files, present in each -dirs package.

- For each -dirs package, add a dirs.mk file that defines a variable
  holding the list of directories provided by it, adds a dependency on
  that package, and modifies the PRINT_PLIST_AWK variable to output
  comments for the directories handled by it.

- Drop some Makefile.common files that only make things difficult and
  more confusing now (in favour of the new dirs.mk files).  The only thing
  to worry about is to keep version numbers consistent across xdg-* and
  gnome*-* packages, but that will be easier to handle.

The main reason for this change is to be able to modify PRINT_PLIST_AWK in
a clean way, but I hope this will improve clarity too.  Also, this simplifies
the addition of future -dirs packages (if needed) in a consistent way.
2004-04-14 15:26:41 +00:00
jmmv
9cc55cb3b9 Introduce support for the PRINT_PLIST_AWK variable. This can be used to
provide extra awk expressions that are used while generating the PLIST
with the print-PLIST target (before the final 'print' is done), so that
it is closer to reality.  Ok'ed by wiz@ and hubertf@.
2004-04-12 20:48:07 +00:00
jschauma
47f638d68c egrep -x 'RE'
is the same as

egrep '^RE$'

Not all egrep's know the '-x' flag, so use the latter.
2004-04-11 20:17:37 +00:00
tv
61606d9102 Convert "${ECHO} -n" to "${ECHO_N}", and introduce that into the defs.*
files.  On most platforms this resolves back to "${ECHO} -n".
2004-04-07 14:26:50 +00:00
xtraeme
6e02e09489 Support DEPENDS_TARGET="install clean"; from Allan Barrett in
PR pkg/25059.
2004-04-05 08:06:07 +00:00
reed
67e6eed715 To view the license, use "${MAKE} show-license" not "make show-license".
This is consistent with other messages shown to user.
2004-04-03 06:22:39 +00:00
tv
c56f20f096 Undo implicit recursive package registration. The buildlink[23] system is
already taking care of this where it's truly needed.  OK'd by agc.
2004-04-02 19:09:18 +00:00
wiz
90cdaab614 Get rid of dd workaround for old paxes (last seen in NetBSD before 1.5;
bootstrap pax doesn't need it either).  Closes PR 18814 by Greg A. Woods.
2004-03-31 11:19:09 +00:00
grant
922933018f if NO_BUILD is defined, default to an empty USE_LANGUAGES. 2004-03-31 10:14:22 +00:00
grant
bd496517b3 tweak whitespace in comment 2004-03-31 10:07:47 +00:00
grant
b8453b63fc fix comment about needing patch(1). 2004-03-31 10:00:43 +00:00
jlam
2d21729286 Use X11_TYPE check instead of USE_PKGSRC_XFREE86. It's safe to use the
value of X11_TYPE here since it's defined in bsd.buildlink3.mk which is
included before this check.  This fixes breakage for packages that set
USE_X11 due to USE_PKGSRC_XFREE86 not being defined before it's used.
2004-03-29 16:01:39 +00:00
jlam
7117873f09 Make lang/perl58 the default perl package installed when a package needs
Perl as a dependency.
2004-03-29 06:52:23 +00:00
jlam
7093b7b2c1 Set DFLT_PKG_SYSCONDIR to the location that PKG_SYSCONFDIR would have
been set to if it hadn't been overridden by PKG_SYSCONFDIR.<pkg>.  This
can be used in /etc/mk.conf to re-override certain PKG_SYSCONFDIR.<pkg>
in /etc/mk.conf from various package Makefiles, e.g.

	PKG_SYSCONFDIR.openssl=		${DFLT_PKG_SYSCONFDIR}
	PKG_SYSCONFDIR.tcp_wrappers=	${DFLT_PKG_SYSCONFDIR}
2004-03-29 06:49:04 +00:00
grant
1dbeb69946 wrap a long line in BUILD_DEFS output, tweak the message slightly. 2004-03-27 08:06:24 +00:00
jlam
2e83c332f1 Due to the special handling of pkgtools/digest in pkgsrc (it must be
installed before the normal dependency checks), on a system without
any packages installed, we can run into the problem where digest won't
install because it has already been installed as part of installing
a build dependency.  This can happen if, e.g., PKGSRC_COMPILER is set
to "ccache gcc", and you try to build devel/gmake.

Change the way that the uptodate-digest target installs pkgtools/digest
by ensuring that pkgtools/digest is deinstalled just before installing
it.
2004-03-22 04:07:15 +00:00
danw
5ba4f8d036 When using imake and buildlink together, assert our definitions of
CC and CXX on the make command line, in case imake's definitions use
complete paths (which would get around the buildlink wrappers)
2004-03-19 00:03:55 +00:00
danw
2e9fe03351 fix a file descriptor leak in the darwin PLIST so->dylib translation
script that broke packages that installed too many shared libraries
(eg libwww).
2004-03-17 16:36:28 +00:00
jlam
9ffc47d061 Test was reversed. 2004-03-13 20:58:06 +00:00
jlam
b9c8a5cb23 If USE_DIGEST is "no", then skip the check for an up-to-date digest.
XXX These changes should be removed once we have a working
XXX pkgsrc/bootstrap.
2004-03-13 20:54:16 +00:00
jlam
7f150e367b Discard unused error messages from "pkg_admin pmatch". 2004-03-13 19:43:03 +00:00
agc
530d286b24 Get rid of all occurrences of cpp-like tests for ${OPSYS} in
bsd.pkg.mk, and use the abstracted means of determining generic shared
lib type per operating system.
2004-03-11 22:57:22 +00:00
tv
d2ac0bb878 Interix libs are close enough to ELF that only file(1) knows the difference.
Call it ELF.
2004-03-11 21:19:00 +00:00
tv
e53f7683c5 Use ${DO_NADA} to introduce a do-nothing line (as is done elsewhere in
pkgsrc); simply # makes older bmake hork up in combination with some shells.
2004-03-11 19:37:20 +00:00
reed
5320c1f42e Change LIBTOOL_REQD to recent libtool version, 1.5.2nb4. (This
libtool-base includes "Fix version_type settings for the non-NetBSD
platforms in the CXX and F77 cases." And "Pull in the fix for the
symlink vulnerability.")

Several packages have been changed to reflect the better libtool-base,
but old LIBTOOL_REQD allowed old 1.4.2 version. So new packages had
wrong library versioning like: libasprintf.so.0.0, libsvn_delta-1.so.0.0,
and libXrender.so.0.0.

Okayed by wiz@.
2004-03-09 19:22:24 +00:00
tron
2ab02f0244 Remove "ftp.gwdg.de" from "MASTER_SITE_GNU" because its mirror is
apparently not updated any more.
2004-03-09 13:33:19 +00:00
drochner
630848934b extend REPLACE_INTERPRETER to accept shell wildcards 2004-03-02 15:25:23 +00:00
jdolecek
5de88db7be need to escape ) in the awk regex in do-config-status-override target;
some pickier awks (e.g nawk) refuse the regex otherwise
2004-02-28 07:12:21 +00:00
jlam
a586842ec0 Instead of wrapping the config.status script, edit it directly to prevent
--recheck from re-executing the configure script by inserting "exit 0"
judiciously.  This works with configure scripts generated by autoconf>=2.13
and fixes problems with running config.status on Solaris systems where
/bin/sh isn't POSIX enough.
2004-02-27 16:50:48 +00:00
grant
06ed628513 s/netbsd.org/NetBSD.org/, s/freebsd.org/FreeBSD.org/ 2004-02-25 09:24:52 +00:00
jlam
82d8d5199f Rename PATH_ENV to BUILD_ENV, which better expresses what it's for.
BUILD_ENV is used to set the environment for the sub-make processes that
are invoked for each phase after and including buildlink.
2004-02-21 12:29:23 +00:00
jlam
c40ee95964 * Move pkgsrc/mk/compiler/bsd.compiler.mk to pkgsrc/mk/compiler.mk.
Package Makefiles may now directly include compiler.mk.

* Don't include compiler.mk within bsd.prefs.mk any longer.  It was only
  included for the purposes of defining CC_VERSION.  Packages that want
  to test the value of CC_VERSION should now first include
  "../../mk/compiler.mk".  Any GCC_REQD statements in package Makefiles
  should be set before compiler.mk is included.

* Simpllfy pkgsrc/mk/compiler/*.mk files as a result of not needing to
  be included indirectly by bsd.prefs.mk.  We remove the special handling
  associated with detecting whether the file was included from within
  bsd.prefs.mk.  These files are now much more straightforward to write
  and understand.

* G/C the BSD_PREFS_MK stack mechanism as the only users (compiler/*)
  no longer need it.

* Ensure that directories are prepended to the PATH only from within
  bsd.pkg.mk.
2004-02-18 13:32:38 +00:00
jlam
2eb8293c09 G/C the unused GNU_MISSING_OVERRIDE logic, as we don't need it anymore
after the changes in revision 1.27 of tools.mk to hide the auto* tools
between pre-configure and do-configure.
2004-02-17 12:16:39 +00:00
jlam
f72a85a532 Be less aggressive about overriding all of the functionality of
config.status.  Instead, only block "config.status --recheck", which
re-executes the GNU configure script.  This still allows config.status to
overwrite post-configure changes to Makefiles and config.h files, so those
changes should (properly) be applied to Makefile.in and config.h.in
instead.
2004-02-16 20:25:18 +00:00
seb
28ddfa550f Handle compressed info files in PLIST handling. 2004-02-16 13:21:34 +00:00
seb
b6b6fefbf6 Quote '+' in awk regexp related to PLIST and INFO_FILES.
As seen in devel/libg++ with its libg++.info file...
2004-02-16 11:28:13 +00:00
seb
daa975015f Use relative to ${WRKSRC} pathnames in do-gnu-missing-override target
by cd'ing into it. Also symlink the missing script instead of copying it.
2004-02-14 18:29:17 +00:00
jlam
c24ff672f7 Make LIBTOOL_OVERRIDE more powerful by taking a list of shell globs
relative to ${WRKSRC}.  Also automaticslly set LIBTOOL_OVERRIDE if
USE_LIBTOOL is defined, as the vast majority of packages need both if they
need USE_LIBTOOL.  The default LIBTOOL_OVERRIDE overrides libtool scripts
up to a directory depth of 2 within ${WRKSRC}.

Note that SHLIBTOOL_OVERRIDE must still be set manually in package
Makefiles that need it; however, it's also been changed to be a list of
shell globs relative to ${WRKSRC}.
2004-02-14 17:18:49 +00:00
jlam
9822f69382 Make CONFIG_{GUESS,SUB}_OVERRIDE slighly more powerful by allowing them to
be lists of shell globs relative to ${WRKSRC}.
2004-02-14 15:22:42 +00:00
jlam
e694fd214d Change into ${WRKSRC} first so that shell globs expand properly. 2004-02-14 15:16:31 +00:00
jlam
9ae3d0260c Some shells barf if the for loop list is empty, so avoid that. 2004-02-14 13:58:34 +00:00
jlam
f598249781 Default to overriding config.status after GNU configure has been run. We
don't want it to execute during the build phase as it might overwrite
post-configure changes we might have made to the generated files.  Packages
that don't want this behaviour can simply set:

	CONFIG_STATUS_OVERRIDE=	# empty

in the package Makefile.
2004-02-14 13:54:28 +00:00
grant
54133ebbb0 deprecate Zoularis: remove any tests for ZOULARIS* and bomb if
${LOCALBASE}/bsd/share/mk/zoularis.mk exists.
2004-02-14 03:26:09 +00:00
jlam
1e761fc8e2 GNU configure scripts generated by newer autoconf sometimes try to
save the value of LDFLAGS, CPPFLAGS, etc. in the config.cache file.
However, they don't store the value correctly if it contains leading
spaces.  This leads to sub-configure scripts that examine to cache to
error out saying that the build environment changed.  Use a make
variable trick to strip off all of the leading spaces on these variables
when passing them via CONFIGURE_ENV.
2004-02-14 02:28:19 +00:00
grant
6f27874b98 if using GNU configure and CONFIG_{GUESS,SUB}_OVERRIDE is not defined,
default to overriding ${WRKSRC}/config.{guess,sub} so packages can
recognise platforms such as NetBSD/shark.
2004-02-14 00:40:55 +00:00
wiz
6fdf068086 Fix spelling of "suffixes". From Todd Vierling in PR 24400. 2004-02-13 19:02:07 +00:00
sketch
a824d68d32 Allow more case variations on "Makefile" to be included in USE_PKGLOCALEDIR
transformations.
2004-02-13 12:03:06 +00:00
jlam
823b439aa9 typo in comment 2004-02-12 23:12:27 +00:00
xtraeme
e9b16f0801 Enable EXTRACT_{ONLY,SUFX}= .rar. Ok'ed by jlam 2004-02-12 21:29:28 +00:00
seb
15e433f451 Always add --x-{includes,libraries}=${X11BASE}/{include,lib}
to CONFIGURE_ARGS if USE_X11 is defined  i.e no need to special case
xpkgwedge usage.

Please note that previously these were added to CONFIGURE_ARGS
as soon as xpkgwedge was used even if the package did not actually
defined USE_X11 or something implying it.
2004-02-12 15:34:18 +00:00
jlam
2e64cac841 Double-check that the files named in GNU_MISSING_OVERRIDE actually exist
before replacing them.
2004-02-12 13:39:57 +00:00
jlam
b86fdace10 GNU_MISSING_OVERRIDE is a list of files relative to ${WRKSRC} that are
replaced by pkgsrc/mk/gnu-config/missing.  This avoids requiring
autoconf and automake as hidden build dependencies when they're not ever
invoked by the build process.
2004-02-12 13:30:04 +00:00
jlam
46be3a2bb2 Remove trailing whitespace. 2004-02-12 13:16:02 +00:00
jlam
5a33ba7f62 Several GNU configure scripts (old ones, typically) can't handle it when
"${MAKE}" contains forward slashes.  Just pass the bare name of ${MAKE} to
the configure phase as we ensure that "make" is always calling the correct
one symlinked into the .tools directory.
2004-02-12 09:59:48 +00:00
seb
d9d8a581de Make pathnames listed in CONFIG_STATUS_OVERRIDE relative to WRKSRC. 2004-02-12 08:55:33 +00:00
xtraeme
3734d75394 Add another mirror to MASTER_SITE_SUSE, needed for emulators/suse_x11
package.
2004-02-11 10:34:05 +00:00
jlam
322907088c The values of CC are CC_VERSION are redundant. Just use CC_VERSION. We
record it only if the package actually used the compiler.
2004-02-10 22:33:47 +00:00
jlam
99b8496906 Turn PERL5_REQD into a list of values, the highest of which will be used
to choose the correct Perl dependency.
2004-02-10 02:18:04 +00:00
jlam
7640e84b2d Limit xargs to 256 args when passing args to ls for the package size
computation.  The motivation for this is that kdelibs3 was overflowing ls
through xargs.
2004-02-09 05:42:57 +00:00
jlam
c87c81fc09 Also turn shlibtool into a shell script instead of a symlink. This
duplicates the change made in rev. 1.1368 for libtool.
2004-02-09 01:52:14 +00:00
jlam
8396978738 We need the full path to the libtool that needs to be invoked when we
use LIBTOOL_OVERRIDE.  In the buildlink[23] case, that is supposed to be
the one in ${BUILDLINK_DIR}.  Create new private variables _LIBTOOL and
_SHLIBTOOL to hold these paths.
2004-02-09 01:30:59 +00:00
seb
5382b9e4ab It's not PKGSHLIBTOOL anymore but PKG_SHLIBTOOL. 2004-02-08 10:39:35 +00:00
jlam
7edd809ba5 Use ${PKG_LIBTOOL} to refer to the full path to the real libtool. 2004-02-08 03:50:43 +00:00
jlam
3f0c4ee09a * Let CC/CXX/CPP/FC always point to the compiler used in the actual
building of software.  For packages that use either buildlink2 or
  buildlink3, this would be the wrapper script in ${BUILDLINK_DIR}.

* Garbage-collect _BLNK_WRAP_SETENV.* as those are not needed after
  the above changes.  Configure and make processes will automatically
  find the right compilers in the PATH.

* PKGLIBTOOL and PKGSHLIBTOOL are no longer needed since LIBTOOL and
  SHLIBTOOL point to the correct libtools regardless of any
  USE_BUILDLINK[23] definitions.
2004-02-08 02:59:14 +00:00
jlam
8637091a4a Don't pass PREPEND_PATH via MAKEFLAGS as that overrides whatever value
that we're trying to compute for PREPEND_PATH.  Instead, pass it through
the environment.
2004-02-07 02:56:14 +00:00
jlam
c49973f61a If we're passing through MAKEFLAGS variables whose values may contain
spaces, use the :Q modifier instead of double-quoting the value.  This
fixes breakage when executing the just-in-time su targetes.
2004-02-06 18:45:02 +00:00
jlam
fd4c71ddde Allow an empty USE_LANGUAGES setting to not break in show-shlib-type.
If we're not compiling anything, we're likely not installing any shared
libraries.
2004-02-06 03:10:29 +00:00
jlam
bed8d4d73e We only prepend a directory to the PATH if we haven't already done so
(by checking PREPEND_PATH) and only for those phases of the build that
care about the PATH (buildlink or later).  We also pass the PATH to
those same phases of the build so that executing ${CC} will work correctly
from custom {pre,do,post}-* targets that occur at buildlink time or
later.
2004-02-06 03:04:50 +00:00
hubertf
0fa1a52030 Back out bikeshed material added in rev. 1.1371 2004-02-05 17:20:46 +00:00
jlam
5bd1a3cdb9 Pass the PATH when executing ${CC} so that the compiler may be found when
CC is something like ccache or distcc that relies on finding the true
compiler in the PATH.
2004-02-05 07:37:48 +00:00
hubertf
f3d1d8cfb0 When a pkg is already found install, tell the user to 'make deinstall'
instead of running pkg_delete to be consistent with the other commands
(which all use 'make ...').
2004-02-05 05:05:54 +00:00
jlam
629be8a499 Include bsd.compiler.mk inside both bsd.pkg.mk and bsd.prefs.mk and define
a stack-like mechanism in bsd.prefs.mk to detect when a we're inside
bsd.prefs.mk.
2004-02-05 03:37:47 +00:00
jlam
33bcdd24b7 Kerberos-using packages now set CRYPTO, not RESTRICTED. Approved by pkgsrc
PMC.
2004-02-02 11:34:17 +00:00
jlam
bfa06a27b3 When overriding libtool in the source directory, replace it with a shell
script that invokes the correct libtool instead of using a symlink.  This
fixes the problem where libtool was invoked by /bin/sh regardless of
whether libtool was built to be run by /bin/ksh instead.
2004-02-01 01:09:09 +00:00
xtraeme
3ac6ad1ffd Add some new variables for manual pages when using imake.
They are:

	o IMAKE_KERNMAN_DIR (man4 or cat4)
	o IMAKE_MISCMAN_DIR (man7 or cat7)
	o IMAKE_KERNMAN_SUFFIX
	o IMAKE_MISCMAN_SUFFIX

Ok'ed by Hubert Feyrer in private email.
2004-01-31 16:52:16 +00:00
jlam
e9dde6bfe9 It's GNU_CONFIGURE_PREFIX, not CONFIGURE_PREFIX. 2004-01-31 07:07:33 +00:00
grant
be21271b07 let tools.mk decide whether GNU patch is needed. 2004-01-29 10:22:01 +00:00
grant
01b9c194a6 add GNU gnu patch(1), to override patch(1) on some platforms. 2004-01-29 09:38:10 +00:00
jschauma
1cce0bd065 Some licenses are pretty long, so use $PAGER instead of $CAT, if $PAGER
is set.
2004-01-28 20:29:46 +00:00
agc
c156ab5d49 Replace all occurrences of the "MAIL" definition with MAIL_CMD, since
some shells can set MAIL to be the mailbox of the user, and
environment variables will override assignments in make when using
conditional assignments.
2004-01-27 16:11:47 +00:00
jlam
2116fcb603 "fetch" is also a distinct build phase. 2004-01-27 02:36:59 +00:00
heinz
4d478bb0cf Use $FIND with "-print". Noted by Georg Schwarz in PR pkg/24248 2004-01-26 21:10:31 +00:00
grant
d85f19a094 show-needs-update target: run ${MAKE}, not "make". 2004-01-25 16:12:40 +00:00
grant
57eb61a5d6 run GNU configure scripts with ${CONFIG_SHELL}, which defaults to
${SH} when GNU_CONFIGURE is defined.

fixes problems on Solaris and BSDI with some GNU configure scripts.
2004-01-25 10:36:15 +00:00
xtraeme
7c90204834 Removed XFree86-libs dependency if we are trying to use XFree86
packages from pkgsrc, it's not really needed with the latest change
to x11-links.
2004-01-25 07:47:00 +00:00
grant
677c8663d9 g/c USE_GMAKE. nothing uses it anymore. 2004-01-25 02:37:49 +00:00
xtraeme
c0f8903bb6 Added a new variable for XFree86 packages:
USE_PKGSRC_XFREE86

By default it is disabled, if you want to use XFree86 packages from
pkgsrc, please add "USE_PKGSRC_XFREE86=YES" in /etc/mk.conf.
2004-01-24 09:23:22 +00:00
jlam
018df25438 Move all of the code that sets USE_XPKGWEDGE from bsd.pkg.mk into
bsd.prefs.mk as it's needed in setting X11PREFIX to the correct value,
which is also done in bsd.prefs.mk.  This is the follow-through to the
temporary fix in previous revision (1.141) of bsd.prefs.mk.
2004-01-23 17:55:17 +00:00
jmmv
cd39cfd5a5 Add http://osdn.dl.sourceforge.net/sourceforge/ as a master site for
Sourceforge.
2004-01-23 17:04:55 +00:00
xtraeme
582b323b23 Add three additional mirrors to MASTER_SITE_SUSE. 2004-01-22 10:19:58 +00:00
jlam
3306fc00c1 Introduce concept of the "phase" that we're in as we progress through
fetching, extracting, configuring, building, etc. of a package.  We
can check what phase we're in by examining the value of ${PKG_PHASE}
and comparing against PHASES_AFTER_<phase>, which list phases that
are "greater than or equal to" <phase>.

One useful example of how to use PKG_PHASE is:

.if !empty(PHASES_AFTER_EXTRACT:${PKG_PHASE})
#
# Some variable settings or targets here that rely on dependencies to
# already be installed, or ${WRKDIR} to be created, etc., as these are
# things that should have happened by the time "make extract" is
# completed.
#
.endif
2004-01-21 18:13:27 +00:00
snj
e0220ad330 s/it's/its/ 2004-01-20 22:15:21 +00:00
jlam
eb35df0213 Fix PERL5_REQD=5.8 to mean that we want to install lang/perl58. Before,
we were expecting PERL5_REQD=5.8.0.
2004-01-19 23:47:41 +00:00
jlam
cebb84d3d5 Allow CONFIG_STATUS_OVERRIDE to override config.status scripts generated
by GNU configure scripts at CONFIGURE_POSTREQ time.  The new config.status
scripts merely return success.  This prevents newer Makefiles from
re-running the configure script with the wrong shell environment if we've
touched some GNU autotool-related files during the patch stage.

We might want to always do this, i.e. make this opt-out instead of opt-in.
However, we start with opt-in so that no existing packages can break.
2004-01-19 15:04:05 +00:00