Commit Graph

677 Commits

Author SHA1 Message Date
espie
6221dfd2c5 typo 2001-11-13 12:52:22 +00:00
brad
5010589d79 bring in fixes made over the last 3 months from FreeBSD's bsd.sites.mk 2001-11-13 04:10:16 +00:00
espie
863226a22f Basic new lib dependency code for package.
LIB_DEPENDS are no longer part of ALWAYS_DEPEND for the new-depends code,
but use their own code.

The code does scan the list of libraries for dependent packages, and insert
corresponding @libdepend lines into the resulting package. There are a few
important consequences:

- no libdepend lines are inserted if only a static library is found. So
RUN_DEPENDS are now needed to supplement LIB_DEPENDS if a package requires
another package for something that isn't a library.
- dependency checking for installed stuff can go one step further, since
we have the major/minor number of the libraries used for the build.
At the moment, pkg resolve dependencies does nothing smart with the
inserted libdepends, but it will (soon). In fact, for most libdepends, if
the major/minor scheme are correct, no check on the installed pkgspec ought
to be necessary... which is why the `default pkgspec to check' is pkg-* for
libraries.
- resolving recursive run dependencies need to go one step further: a
RUN_DEPENDS pkg may have some LIB_DEPENDS, and the RUN_DEPENDS pkg will be
needed to explicitly write the required information into the resulting
package... Hence the necessity of being able to tune the list of libraries
to ask the uninstalled package (and to make sure the uninstalled package
is built).

This is only preliminary work. Currently, this doesn't yield any real
benefits to the old approach, as a few semantic details need to be
sharpened out. Also, there are now quite a few old targets that are a
complete mess and will need to be cleaned up/removed entirely.

Thanks to naddy@ for testing various preliminary versions of this patch
and helping me iron bugs out.
2001-11-12 14:32:52 +00:00
espie
ea79980b4c Replace the lib dependency check with a more mechanical check, that
no longer relies on ldconfig, but rather on the path stored inside
LIB_DEPENDS. Introduce a lib_resolve_fragment that can be used to
resolve the libraries from a given list (e.g., listlibs).

To be used in the next patch.

Note that this check is currently more or less equivalent to the old
check, apart from the fact that:
- libs can't trust packages,
- lib-depends always resort to non-shared libraries, even on shared
architectures, if the shared check doesn't work.
2001-11-12 14:24:06 +00:00
espie
fb319b058a add top-level directory `mystuff' to be used by porters for stuff they
haven't committed yet. The nice part is that dependencies get transparently
resolved to mystuff/dir if they aren't found in dir.
2001-11-12 14:19:17 +00:00
espie
f5975b9f08 Move the `check and change directory' part to flavor_fragment, as it's
invariably duplicated right after otherwise.

This makes the code cleaner, and makes sure the check happens all the time.
2001-11-12 14:14:46 +00:00
pvalchev
a9a3d26241 get a proper list of system libraries to exclude, and report real missing
ones from LIB_DEPENDS for lib-depends-check on ELF. ok espie
2001-11-12 01:27:26 +00:00
heko
0e36dadb66 o Instead of copying the "virtual memory exhausted" warning for each
individual port, introduce a new variable for bsd.port.mk, VMEM_WARNING.
By setting this variable to `Yes', the user is given a warning about the
virtual memory requirements just before the pre-build stage.
o Also give some examples for different shells for what to do about
it, and mention login.conf(5). bash, for example, has a confusing
-v flag to ulimit.
o Document this in bsd.port.mk.5
espie@ ok
2001-11-11 13:57:32 +00:00
espie
1254a2ffa7 transform files/md5 into distinfo magically.
I would credit FreeBSD or NetBSD for the idea if I could remember which
one came up with it first. :)
2001-11-11 12:59:50 +00:00
espie
a0b04e366e Groan. Even after I refreshed my memory with perlvar(1), I still managed
to typo my way through.
2001-11-11 12:57:25 +00:00
espie
56b6822e2f close PR2115 2001-11-11 12:38:57 +00:00
espie
c66b6461e8 Zap idiot subshell 2001-11-01 12:26:16 +00:00
brad
75f2c36138 bad idea. 2001-10-31 19:36:12 +00:00
wilfried
225675419f libtool 1.3.0 patches, ok brad@ 2001-10-31 11:58:04 +00:00
brad
e9ff76abb4 remove whitespace 2001-10-31 01:33:33 +00:00
espie
1ee295c375 Recursive module support. 2001-10-29 12:51:59 +00:00
brad
94ce66e55a Add gtk module. 2001-10-28 21:41:47 +00:00
espie
d67e77748f defaulted variable in *-depends target, currently unused: way to know
that dependency defaulted to default pattern.
2001-10-28 12:34:57 +00:00
espie
dc1a706952 Move NEED_VERSION check later. Allows for NEED_VERSION to be a list.
Useful for modules support: now specific modules can require later
versions of bsd.port.mk.

Of course, ports using modules may need an update to 1.486 to use
this feature.
2001-10-28 12:31:35 +00:00
brad
53837aa927 For consistency, use :L variable modifier with ELF_TOOLCHAIN check. 2001-10-28 04:59:26 +00:00
brad
1f0d57ad12 libtool 1.3.3 patches. 2001-10-28 04:18:09 +00:00
pvalchev
391e25bf26 lib-depends checker for ELF using objdump -p. ok espie 2001-10-26 17:34:31 +00:00
espie
b2ec1dc262 Allows for a path in the LIB_DEPENDS libspec component.
Don't use it for now.
2001-10-26 13:46:03 +00:00
espie
fde29e65ce shift to update-plist' from plist'... keep old target around for now.
Create PKGDIR while we're at it.
2001-10-24 16:35:38 +00:00
naddy
ceb485fa9e Add MASTER_SITE_FREEBSD_LOCAL. The FreeBSD project harbors at least
337 distfiles that don't have any other master sites left.
2001-10-24 12:37:12 +00:00
espie
5906a566ef First cut at a lib-depends checker: this version does use WRKINST instead
of the actual package, so it WILL get things wrong in some multi-packages
case.
2001-10-24 11:57:34 +00:00
espie
22c02484ba More helpers: scan WRKINST for list of all needed libraries.
The chroot is needed to avoid having ldd pick up dependent libraries
that come from a package variant and are actually not needed as
dependencies.

Scan /usr, /usr/X11R6 for system libraries, and WRKINST for packaged
libraries.
2001-10-24 11:53:54 +00:00
espie
e9324ae683 Internal target: create list of all libraries we're allowed to depend upon. 2001-10-24 11:49:45 +00:00
espie
975eb63fc2 bulk-do, a slightly more generic version of bulk-packages 2001-10-24 11:47:41 +00:00
espie
e1b9d65421 Cleaning out an installed package that is not there should not abort the
make.
2001-10-24 11:44:35 +00:00
espie
51cf601625 More verbose default maintainer 2001-10-24 11:43:06 +00:00
espie
4357d41f96 Give dependencies a fighting change, spell early_exit correctly. 2001-10-11 00:01:27 +00:00
todd
16bf411ce4 add regress, ok espie@ 2001-10-08 22:04:43 +00:00
espie
23b9b0affa REGRESS_IS_INTERACTIVE
This makes things a bit less symetric, but it can't really be avoided
since regress is out of the normal build chain.
2001-10-07 11:30:30 +00:00
espie
cc0048df1e In retrospect, just allow REGRESS_FLAGS. This would be redundant otherwise 2001-10-07 10:53:43 +00:00
espie
e7fbc2b015 Seems like we can't avoid REGRESS_ENV/REGRESS_FLAGS.
Some testsuites use HOME to test their getenv function. Which seems
to be reasonable. But we definitely don't want to allow HOME into
MAKE_ENV by default.
2001-10-07 10:50:47 +00:00
espie
9e6fd66baf don't depend on the current version of unzip/bzip2. Any should do. 2001-10-07 10:47:01 +00:00
brad
374b66336a woops, didn't mean for this bit to go in. 2001-10-06 01:38:03 +00:00
naddy
3b4a858b92 deal with revised FULLPKGNAME semantics; ok espie@ 2001-10-06 01:09:08 +00:00
espie
3ad730108d synch with new regress target (I forgot to commit this) 2001-10-05 07:26:50 +00:00
naddy
14ef0e4541 fix PATCH_LIST absolute path handling in case of missing PATCHDIR
ok espie@
2001-10-04 22:43:45 +00:00
espie
5da704a0f9 typo 2001-10-04 22:20:38 +00:00
brad
000233dd2d libtool 1.3.4 and 1.3.5 patches in a central location for ports to use. 2001-10-03 14:47:01 +00:00
espie
90787b9a17 basic regression testing framework. 2001-10-03 08:53:18 +00:00
espie
548eff5cee move error handling later for greater flexibility.
Move default NO_* after including local Makefiles.
2001-10-03 08:41:16 +00:00
espie
c202780cad In bulk, ftp/cdrom must be non interactive as well. 2001-10-03 08:36:25 +00:00
espie
aac1c8b95c make sure config.guess is executable. 2001-09-30 17:14:33 +00:00
espie
6953d535fa More stringent PERMIT_* checking: if any info is missing, assume
the maintainer made a mistake, and turn everything to No.
Record it as _BAD_LICENSING for describe purpose.

Yep, having this as ERRORS is obnoxious.

Then, we can rely on PERMIT_* always being defined.

Rewrite ftp-packages/cdrom-packages to use more current rules. Fixes
naddy's issue of ignoring IGNORE.  Use a .for loop, since those rules
are basically identical.

No longer use them to try and record port logging, as we have a much better
script to do that.

`Enhance' bulk-packages to do ftp-packages/cdrom-packages linking as well,
so that one single sweep of the tree should be enough for everything.
2001-09-30 12:26:57 +00:00
espie
13b952cc81 Enforce /nonexistent for non-package/install/reinstall dep. 2001-09-30 11:27:05 +00:00
espie
f540cb1856 Enforce correct use of SUBPACKAGE. 2001-09-29 17:36:02 +00:00