Commit Graph

1061 Commits

Author SHA1 Message Date
espie
a52a0f1494 make sure ARCH gets defined also for individual port.
Noticed by Stuart Henderson
2007-07-09 13:32:56 +00:00
espie
43c841c254 avoid recomputing ARCH all the time. 2007-07-08 17:57:56 +00:00
espie
33473a3fbb better, make it fetch file under DISTDIR 2007-06-30 14:48:04 +00:00
espie
b96d64afbf debug target for mirror-maker: allows one to check quickly whether a given port
generates correct mirror-maker fragments.
2007-06-30 14:43:49 +00:00
espie
07262849b8 add support for FTP_KEEPALIVE.
You need a somewhat current ftp(1) for this to work !!!
2007-06-29 10:24:23 +00:00
steven
eb5a2e2d25 log results of regression tests into a file.
ok simon@
2007-06-23 09:39:18 +00:00
jakemsr
28e134ba9c pass $PORTSDIR to ${PORTSDIR}/infrastructure/package/check-lib-depends
"Sure" espie@
2007-06-18 23:04:02 +00:00
espie
343aff0c83 tweak FETCH_PACKAGES: do not fetch all multi-packages to satisfy a
dependency, but only the ones actually required.
If we end up needing to rebuild them from source, then change back
to _internal-package-only, so that we benefit from the whole build
and get all packages again.
2007-06-16 09:57:03 +00:00
espie
b257e4d40f put all phony targets inside a variable, so I can check quickly that those
targets do still exist.
2007-06-04 12:15:09 +00:00
espie
479b2ddcdc since we no longer have to tsort the output of _print-package-args,
we can compute it first, and only start pkg_create if it didn't error
out.

This gets rid of the very verbose and confusing error messages
pkg_create meets when the ports tree cannot solve some dependencies.
2007-06-03 22:30:25 +00:00
espie
1196a0d7f3 reorganize to avoid repeating lists of targets:
classify stuff that is used in bsd.port.subdir.mk, name them in pkgpath.mk,
and use them as .PHONY targets in both bsd.port.mk and bsd.port.subdir.mk.
2007-06-03 12:51:59 +00:00
espie
b4a526a3bb tell make-plist about .saved-libs 2007-06-03 11:06:41 +00:00
espie
8aed1af7f0 Let lock save the BUILD_PKGPATH.
Do port-lib-depends-check in two steps: first generate a list of
binary: lib1,lib2,lib3
in WRKINST/.saved_libs
then run check-lib-depends on it.

Speeds up tweaks to WANTLIB quite a lot, as we do not rescan every
binary all the time...
2007-06-03 11:03:06 +00:00
espie
4fb932ea5d finish renaming check-newlib-depends -> check-lib-depends 2007-06-01 13:15:21 +00:00
espie
3eae0fe94a kill REQ script support, flag INSTALL/DEINSTALL as warnings.
Remove obsolete _PKG_PREREQ cruft.
2007-05-31 10:52:16 +00:00
espie
1a7def9f37 use the same rules to represent comments in describe that are used to
build packages.
2007-05-27 11:53:39 +00:00
espie
f693d15fb3 use the new features of pkg_create. A few packages may no longer build
without a packagename bump, or because they have too long comments.

steven@ and I cleaned up most of them.

As a result, there's no longer any WRKPKG directory with their temporary
files.

We also use the `sort -u' feature of pkg_create for dependencies, so that
the command lines to pkg_create get simpler, which will allow for easier
error-checking later on.
2007-05-25 13:07:41 +00:00
steven
f1aafbc927 add clean=plist to clean a port's registered plists.
fine with bernd@, ok espie@
2007-05-21 11:18:10 +00:00
sturm
7c066d7098 fix the recursive case for FETCH_PACKAGES by appending the PACKAGE_COOKIE
to _TRIED_FETCHING, this broke in 1.774

ok bernd, espie
2007-05-01 17:17:54 +00:00
espie
77b04141fd pedantic fix: typo without actual consequences. 2007-04-30 12:44:46 +00:00
espie
7c076f597b port-lib-depends-check should ignore errors, because it's much less useful
that way.
2007-04-08 11:26:39 +00:00
espie
97e872a96d sha256 by default 2007-04-05 18:32:26 +00:00
espie
064be6c9e4 revert order of tests, if CHECK_LIB_DEPENDS is active, do not register plist
until we're satisfied.
2007-04-03 13:32:45 +00:00
espie
23c2d177a9 allow people to run check-lib-depends automatically, grabbing the files
from WRKINST and the packing-list from the just built package.
Reuse the register_plist pattern.
2007-04-03 10:14:14 +00:00
espie
f020e9e32b new target: port-lib-depends-check, can verify libraries directly from the
fake area, without needing to build bogus packages first.
2007-03-31 15:36:43 +00:00
espie
949afb38a5 like xenocara: REORDER_DEPENDENCIES has been tested enough, silence it
by default.
2007-03-30 13:44:50 +00:00
espie
c6897dc077 CHECKSUM_FILE never changes -> can be used directly 2007-03-30 13:41:44 +00:00
espie
634644d8e4 tweak the way mirror-maker emits stuff, so that the Makefile contains lines
suitable for cksum -c.
2007-03-28 15:45:03 +00:00
espie
fb9fcd5fbc use cksum -c so we can get `magic' base64/hex matching. 2007-03-28 13:21:43 +00:00
naddy
2c2c250df3 makesum: don't try to create distinfo if there are no distfiles; ok espie@ 2007-03-15 18:11:54 +00:00
espie
b5a3fca2a6 use _CKSUMFILES in clean=dist, and recurse if we notice there are
SUPDISTFILES, so we get them as well.

This misbehavior noticed by Mikolaj Kucharski.

(the intention is obviously to regrab everything to verify whether
anything changed, and that includes SUPDISTFILES)
2007-02-16 19:08:54 +00:00
espie
3b1db2b2c1 use cksum -a $$cipher instead of $$cipher to compute crypto hashes.
Only functional change:
Add sha256 at the end of the list of supported ciphers, so that new
makesums will add the new cipher.

The rest is business as usual.
2007-02-11 11:44:17 +00:00
espie
2c0953c14e minor tidbit: define FULLPKGPATH based on FULLPKGPATH${SUBPACKAGE} in
the multi-packages case, as should be.

introduce _ALLPKGPATHS, and use it in show-required-by, so that
show-required-by works for multi-packages.

problem noticed by bernd@
2007-02-06 20:04:01 +00:00
espie
a7cedd9db7 add the ability to cleanly delimit embedded plist info.
will help unconfuse lib-depends-check and make-plist wrt error messages.
2007-01-15 13:43:52 +00:00
bernd
c5e1d48b7a Fix typo. This unbreaks 'make update'. 2007-01-04 11:34:14 +00:00
espie
9f019509e8 prefer subpackage-dependent version of variables for substitutions.
this lets the correct PREFIX be substituted in packages, among other things.

Problem discovered in php5-extensions
2006-12-31 13:12:35 +00:00
espie
5efd6b68e4 duplicate the print-plist targets, add a version -with-depends, which is
slower, but shows dependency lines as well...

Also fix target evaluation to work like it does elsewhere
2006-12-18 12:52:34 +00:00
espie
25c626b21e activate our pkg-config. 2006-12-16 11:53:46 +00:00
espie
b3ba10ebac repair pkg_mklocatedb from src 2006-12-11 15:52:14 +00:00
steven
e3820f5171 DEPPATHS per subpackage, ok espie 2006-12-11 14:01:03 +00:00
espie
c89eab44fc pass all subpackage information to make-plist.
Adapt make-plist to use the same code as pkg_create to deduce fragment
names, remove some old special cases that should no longer matter.

Zap directories from dependencies in a way depending on the dependency.
Far from perfect yet, as directories should be registered multiple times
in packages that do not depend on each other, and could also be used to
figure out where to put new files...
2006-12-11 13:36:06 +00:00
espie
9d1d088f4c missed a few = signs.
Avoid writing anything when no libspecs.
2006-12-11 11:05:43 +00:00
espie
5792254153 Add proper "Returning to build of..." to unconfuse the logger in the case
of FORCE_UPDATE.   Also break out in case update fails (otherwise the old
installed package would be enough to continue building).

Sprinkle REPORT_PROBLEM to know more precisely what stuff is breaking.

replace some
if eval cmd; then
with
if (eval exec cmd); then

because if eval... seems to break early, even with the test guard, thus
giving a chance to REPORT_PROBLEM to do stuff instead of having to wait.

(Note: a trap would probably be simpler ?)
2006-12-09 14:56:41 +00:00
espie
1afd447f95 wrap calls for _print-package-args to print reliable errors (better than:
`some Makefile somewhere is broken ! find it')
2006-12-08 10:19:08 +00:00
espie
a9bf5ac052 ending up with an empty SUBPACKAGE is an explicit error. 2006-12-05 19:23:42 +00:00
espie
26075e9de6 move TMPDIR to pkgpath.mk to allow its use from both bsd.port.mk and
bsd.port.subdir.mk

Use absolute paths to build readmes files, based on READMES_TOP, which
can be (or not) PORTSDIR.

Generate category readmes in tmp directory as well.

minor clean-ups
2006-12-02 11:27:46 +00:00
espie
b219b82d19 move the generated readme stuff to a temporary directory, much cleaner that way. 2006-12-02 11:08:49 +00:00
espie
6f8c254c9e fix READMES again 2006-12-02 10:27:40 +00:00
espie
1259dc14cb let license-check recurse correctly, thus we are checking ALL licences,
finally.

Remove work-around for undefined SUBPACKAGE stuff, since we're no longer
hardcoding it at the Makefile level, and thus the ERROR check works.
2006-12-01 17:56:38 +00:00
espie
5f5c120220 use the pkg-config in /usr/local preferably, until we get a decent
pkg-config in /usr/bin...
2006-12-01 17:37:15 +00:00
espie
197d308a2f remove the last redirectors, regenerate readmes on the fly... 2006-12-01 17:33:16 +00:00
espie
0e7d3606d9 make it possible to override a FULLPKGPATH if you REALLY know what you're
doing... DO NOT USE, unless you really know.
2006-12-01 11:34:04 +00:00
espie
dfa3a77ddb fix describe 2006-11-30 23:08:07 +00:00
espie
a8356d9ae2 un-recursive dump-vars, remove vars that don't make a lot of sense now. 2006-11-29 09:42:08 +00:00
espie
c72f6e29fd hidden SUBPACKAGE in _register_plist: put it back into ${_PACKAGE_COOKIE${_S}} 2006-11-28 23:13:30 +00:00
espie
6d481f3f77 apply the same transformation to install/install-all 2006-11-28 20:40:55 +00:00
espie
cd97d2252c move a few things around inside one single MULTI_PACKAGES loop 2006-11-28 20:31:25 +00:00
espie
46484d5a90 fix a typo
mv some PKG_ARGS where they belong, and s/SUBPACKAGE/_S
2006-11-28 20:26:38 +00:00
espie
fe36feb551 remove a lot of redirectors, add a lot more loops, build stuff based
on internal variables mostly.
2006-11-28 20:20:25 +00:00
espie
fda8ee6238 let PKG_ARGS be SUBPACKAGE dependent, define them all 2006-11-28 19:59:15 +00:00
espie
4d572376b6 fix for xview 2006-11-28 19:13:47 +00:00
espie
0f300c1d5c big internal changes: if MULTI_PACKAGES is not defined, define it to '-',
so that the `normal' cases is MULTI_PACKAGES, (with possibly one
special '-' subpackage).

Adjust a few tests accordingly so that people don't notice the '-'
SUBPACKAGE: mostly do not print some directory changes, adjust FULLPKGPATH,
and set up PLIST- templates correctly.
2006-11-28 18:25:42 +00:00
espie
2e52dd7f15 display something when switching directories during updates 2006-11-28 18:17:57 +00:00
espie
fea2461c67 prepare to be able to have every subpackage present at once. 2006-11-28 16:28:56 +00:00
espie
1aa5f43449 explicitly duplicate stuff to SUBPACKAGE, often a nop, but make sure
people get correct information.
2006-11-28 16:24:00 +00:00
espie
b43469a3f4 unbreak xplanet for now 2006-11-27 20:29:50 +00:00
espie
8d1eecfc23 zap the last special case of PLIST, we do not use that either 2006-11-27 19:09:19 +00:00
espie
950e643e3b zap some older ways to define PLIST which we haven't used ever since
pkg_add groks fragments.
2006-11-27 17:30:18 +00:00
espie
2d838f4cc0 white space police 2006-11-27 16:08:05 +00:00
espie
6eb7a1f31c some white space and reformat (style)
make sure every variable assignement is surrounded by spaces
2006-11-27 15:28:40 +00:00
espie
3d6e1eba81 fix so that variable definitions work even in the presence of subpackage=c++ 2006-11-26 23:39:41 +00:00
espie
311d135465 minor tweaks: make internal _COMMENT and *_DEP3 depend on SUBPACKAGE,
so that subdescribe looks cool...
2006-11-26 20:02:28 +00:00
espie
251749b901 avoid recursion in subdescribe.
make things simple in *-depends-list.

fix LIB_DEP3 (this one from steven)
2006-11-26 19:46:16 +00:00
espie
7a44b164f2 repair describe 2006-11-26 19:12:20 +00:00
espie
4e9d8781c2 completely remove PACKAGING, it's no longer needed 2006-11-26 17:45:59 +00:00
espie
3fcf725ef8 all MULTI_PACKAGES are new, stop testing -main. 2006-11-26 17:36:07 +00:00
espie
598ff7edac add BASE_PKGPATH to SUBST_VARS 2006-11-25 19:47:53 +00:00
espie
33415a71e4 define BUILD_PKGPATH/BASE_PKGPATH, to document later 2006-11-25 18:31:23 +00:00
espie
4d71e0cedc repair update-plist 2006-11-24 16:49:37 +00:00
espie
d89691b16b let PLIST, DESCR, MESSAGE, UNMESSAGE be subpackage-dependent.
careful: they do not get defined to a default value unless the `main'
variable is defined, because they get set later otherwise...

remove the .if defined(MULTI_PACKAGES) guards as they don't serve any purpose.

Simplify the PLIST tests to make them more uniform.

Move SED_PLIST to the list of obsolete variables instead of giving it special
treatment.
2006-11-24 00:10:00 +00:00
espie
93006f30a0 no need to generate an intermediate mtree.spec 2006-11-22 12:40:50 +00:00
espie
714428c327 filter out the current PKGPATH in fetch_makefile, prevents infinite
recursion.
2006-11-22 08:20:20 +00:00
bernd
60457f98c3 Disallow "nasm::devel/nasm" pkgspecs for BUILD, RUN and REGRESS_DEPENDS again.
All _DEPENDS should be correct now.

'go for it' espie@
2006-11-21 10:32:51 +00:00
steven
277615a529 enable config.x11.site if USE_X11 is set.
ok espie@
2006-11-20 23:18:25 +00:00
espie
e0e5780e0e allows PREFIX and CATEGORIES to be subpackage dependent 2006-11-20 13:50:16 +00:00
espie
5cf40c9a72 re-allow BUILD_DEPENDS=nasm::devel/nasm temporarily.
until this gets killed... we haven't used the front part of : for a very
long time now !
2006-11-20 12:34:52 +00:00
espie
b7c78d5d16 typo 2006-11-20 12:04:40 +00:00
espie
15375beded fix NO_SHARED_LIBS case, found out by bernd@ 2006-11-20 11:15:39 +00:00
espie
32322a6cfa clone LIB_DEPENDS${SUBPACKAGE}/WANTLIB${SUBPACKAGE} as expected. 2006-11-20 11:11:38 +00:00
espie
cb87b66c0b let LIB_DEPENDS and WANTLIB depend on the SUBPACKAGE.
Build a special list of _BUILDLIB_DEPENDS, so that separate subpackages
can depend on each other without making an infinite loop...
2006-11-20 10:49:22 +00:00
espie
15be4f88b2 forgot one DEPRUNLIBS 2006-11-20 10:38:31 +00:00
espie
b46318f8f6 distinguish between _BUILDLIB_DEPENDS and LIB_DEPENDS, and _BUILDWANTLIB
and WANTLIB.

Get the rules for the LIBSPECS_COOKIES out of the loop that dictates their
usage.

Introduce *DEP3 variables, to keep *-depends-list compatible with old stuff.

Use _BUILDLIB_DEPENDS and _BUILDWANTLIB everywhere this makes sense.
2006-11-20 10:36:13 +00:00
espie
a0b5fa8262 simplify xxx-dir-depends: only rely on _BUILD_DEP/_RUN_DEP.
Fold _ALWAYS_DEP.
2006-11-20 09:59:11 +00:00
espie
076413b410 remove extra subpackage that crept in 2006-11-20 09:46:56 +00:00
sturm
50a78e8f73 add sh to NO_SHARED_ARCHS for now 2006-11-19 19:52:03 +00:00
espie
2238471bc2 rephrase dependency evaluation without $$dep.
Also, more error checking, check specifically for which dependency targets
are allowed.
2006-11-19 18:20:01 +00:00
espie
6d0da43bdc Now that all dependencies are evaluated in the same way, build the cookies
in one single loop, based on _DEPLIST.

Extract dependencies off the loop.
2006-11-19 18:07:38 +00:00
espie
eb86c17946 remove confusing FAKE=lib scaffolding that's not finished, and that won't
work in that way in any case...
2006-11-19 18:01:44 +00:00
espie
2b06f42b4a avoid redefining the same dependency cookie twice 2006-11-19 17:52:32 +00:00
espie
b7ae3ba7bb simplify dep cookies names. Since we no longer use the dep part, let
it vanish completely.

Also, stop converting . to -, as it's useless and makes for less readable
names.
2006-11-19 17:48:14 +00:00
espie
299af1fa5b also defaults to stem-* for build depends, thus simplifying code a bit... 2006-11-19 17:40:35 +00:00
espie
2d34234cec oops typo. make sure lib depends are done 2006-11-19 17:39:15 +00:00
espie
37bfbe6e97 start making a big distinction between lib depends evaluated at build time
and at `run(packaging)' time.
2006-11-19 16:39:41 +00:00
espie
c5bed01d12 also use RUN_DEPENDS${SUBPACKAGE} in the simple parts. 2006-11-19 12:37:55 +00:00
espie
13a468ef7b add an extra level of indirection for dependency lists: _xxx_DEPLIST.
allows us to get rid of some NO_DEPENDS tests later, also allows for
RUN_DEPENDS to become indexed on SUBPACKAGE.

LIB_DEPENDS and WANTLIB are going to need more surgery, since they need
to be checked during build and packaging...
2006-11-19 12:32:53 +00:00
espie
138ff85a86 rename more internal stuff to make it less visually confusing:
_DEPlibs_COOKIE => _DEPWANTLIB_COOKIE
_DEPlibs_COOKIES => _DEPLIBSPECS_COOKIES
2006-11-19 12:11:30 +00:00
espie
cde96256b8 rename some internal variables: _DEPlib_COOKIES -> _DEPLIB_COOKIES.
simplify some
.if defined(A)
.  for i in $A
      ...
.  endfor
.endfor

into

.for i in $A
      ...
.  endfor
.endfor

since empty loops work just fine.
2006-11-19 12:05:10 +00:00
espie
6c3789ee8b start of multi-packages simplification: if MULTI_PACKAGES contains -main,
consider it to be the main package, and do some equal treatment for each
package.

(to do: add subpackage where needed to WANTLIB, RUN_DEPENDS, LIB_DEPENDS
and act on them accordingly).

Also define _DONE_FILES for _fetch-makefile to avoid blocking if it's
not invoked from a higher level target.
2006-11-18 00:15:33 +00:00
espie
b500ceff5d allows one to short-circuit PKG_ARCH=* in the build process
by setting NO_ARCH to MACHINE_ARCH/all
2006-11-17 17:16:16 +00:00
espie
759b3af1dc index PKG_ARCH, PERMIT_PACKAGE_FTP, PERMIT_PACKAGE_CDROM on SUBPACKAGE name. 2006-11-13 14:14:57 +00:00
espie
1ef50b337c avoid ignoring ports while running a `describe' target.
triggered by setting DESCRIBE_TARGET=Yes in bsd.port.subdir.mk
2006-11-13 13:55:10 +00:00
espie
0b6d91b275 move PKG_ARCH after MODULES 2006-11-12 10:52:59 +00:00
espie
0a20eb70a6 Top-level redirectors which recurse for multi-packages should display where
they are. This does unconfuse pkg_mklocatedb
2006-11-11 16:32:12 +00:00
espie
7564143ca2 shorten dependency names, so that regress and run can share.
add print-plist-all, for better introspection (to be used by pkg_mklocatedb).
2006-11-11 16:10:36 +00:00
espie
a2beb10ca4 zap uses of ${SH} 2006-11-09 08:29:47 +00:00
espie
6b60ddeb78 remove the dependency of make-plist on dependent packages: instead, go
directly use `make print-plist' to find these lists in the ports tree.
2006-11-09 08:16:22 +00:00
espie
adbf2219c0 have _internal-regress depend on the _BUILD_COOKIE, so that build is
performed before regress dependencies.
2006-11-05 20:20:28 +00:00
espie
7be15550f4 add regress-dir-depends/full-regress-depends, similar mechanism to
run-depends, only the basic test changes.
2006-11-05 15:46:51 +00:00
espie
aa88a7693f bye, bye SCRIPTS_ENV,
bye, bye SCRIPTDIR
2006-11-03 17:03:28 +00:00
espie
ac93b5a9b2 zap a few non relevant lines, make _ALL_VARIABLES* internal.
Use TMPDIR in pkgpath.mk
2006-11-01 12:41:34 +00:00
espie
d7d4e5e79a generic BULK_DO fragment that can do anything, invoked right before clean.
can be used to run targets that may fail without impacting further stuff,
or to collect stats on anything.
For instance

BULK_DO= mkdir -p ${PORTSDIR}/config/${FULLPKGPATH}; \
	cp -f ${WRKBUILD}/config.{log,status} ${PORTSDIR}/config/${FULLPKGPATH} || true; \
	cd ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all && perl ${PORTSDIR}/infrastructure/package/check-modes ${PKGNAMES} || true
2006-10-23 14:33:01 +00:00
espie
936808b05a fix a bunch of issues:
- make sure locks happen when they should, including for lib-depends-check.
- make sure various targets set PACKAGING as they should.
- let BULK=Yes be invoked only from make package.

Fix for the BULK_COOKIE and UPDATE_COOKIE issue. They can no longer depend
on PACKAGE_COOKIES, since this needs to get built with PACKAGING set. So
instead, simply remove the cookies when we create a new package succesfully.

By any kind of reasoning, both bulk and update are `reset' when a new
package appears, so this seems to be the right semantics in most cases.

Thanks for wilfried and nikolay for error spotting. Hoping this will be
what's needed, finally.
2006-10-23 13:42:50 +00:00
espie
533fa4cdbe work-around for infinite recursion... gonna fix bulk stuff for real soon.
thanks nikolay
2006-10-21 12:46:09 +00:00
espie
1b169a7d4b can not depend directly on PACKAGE_COOKIES.
Found out by nikolay, fun to debug...
2006-10-21 12:10:35 +00:00
espie
508d8e05df move SHARED_LIBS_LOG into WRKBUILD 2006-10-21 11:50:48 +00:00
espie
eabc29b2cc define SHARED_LIBS_LOG for libtool (and other stuff) use 2006-10-21 11:20:36 +00:00
sturm
458d2c4d2a don't throw an error in fetch, when no distinfo file exists
but error out in _internal-checksum, when there should be one

ok espie
2006-10-18 16:53:04 +00:00
espie
d1257184f9 special case: if PKGPATH is the LIB_DEPENDS base, then it means we're
building a subpackage, and then we definitely want the `current' stuff,
not the stuff that's already installed.

Allows shared libs updates in MULTI_PACKAGES to proceed gracefully without
having to uninstall stuff.

(we do not do this stuff in general, because in other cases, builds are
`staggered', e.g., a port is built against the existing base, not the stuff
in other WRKDIRS)
2006-10-18 11:09:30 +00:00
espie
713799f4a1 put no-arch into a variable, so that people can override it. 2006-10-18 10:51:39 +00:00
espie
4e4da07c8f let peek-ftp cd ${FULLDISTDIR} first.
Add a message to that effect so that users don't get confused.
(specifically, make itself does not change dirs, so if you do ^Z,
you're not where you think you are...)
2006-10-17 22:32:45 +00:00
espie
2c05ea7a55 protect against further bugs, refuse to build the _PACKAGE_COOKIE if we
end up there with PACKAGING not set.
We do not try to `fix it' ourselves, because PACKAGING not set may have
some non obvious issues, like PKG_ARCH or PERMIT_PACKAGE_* not set correctly
at all.
2006-10-16 10:39:40 +00:00
espie
2c2e81c154 say goodbye for FAKE=no, for real. 2006-10-15 19:29:06 +00:00
espie
b913b285a7 -Q implies -q, anyways. 2006-10-15 09:22:49 +00:00
espie
748da30a4f also mention -n along -q on `print-plist' commands.
I've started documenting it, and having -q do things on its own
is quirky...
2006-10-15 09:20:53 +00:00
espie
1eec9cb87b quick-fix for make install, as reported by stevens@ and naddy@.
Need more thinking about...
2006-10-12 08:45:56 +00:00
espie
ee211dd2c2 cheat a bit: make sure the right variables are used for MULTI_PACKAGES. 2006-10-09 18:11:38 +00:00
espie
984b811337 oops, do not unset SUBPACKAGE
Move BULK_COOKIE for package to the redirector, so that we do not
clean in subpackage cases, but instead wait for all the packages to be built.

Also, introduce FORCE_UPDATE=hard: with signatures, -F installed is
most often not necessary...
2006-10-02 17:26:34 +00:00
espie
a4caf29eed fix FETCH_PACKAGES: create a real target (packages/arch/cache/pkgname.tgz)
and link to it from elsewhere.

Fixes the no-arch case, and makes it ways easier to find out what was
retrieved through the cache.
2006-10-02 09:37:14 +00:00
espie
4906160e3c more fixes for new issues: let the update cookie depend on the `full'
package cookie, so that an update will get all subpackages built.

And a fix for an old issue: let make update proceed to update ALL subpackages,
as seems the most natural. Create a subupdate target if one specifically
wants to update a single package (and use it as dependency in the FORCE_UPDATE
case).
2006-09-27 10:09:34 +00:00
espie
2091ad987e Fix install, as noticed by fgs: just do a partial depend on the package
cookies, and also insist on running make package, which is necessary to
make sure all MULTI_PACKAGES get built.

Repair make clean=packages: make sure all packages get named using the same
scheme as other multi-packages targets (that way, arch-indep subpackages
get cleaned properly)
2006-09-23 09:40:06 +00:00
bernd
4334413aa5 Don't error out if 'unset PACKAGING' returns false. Unbreaks 'make install'.
Noticed by many.
2006-09-21 11:31:33 +00:00
espie
7b016d7ff5 readmes is yet another target that should recurse. 2006-09-19 20:10:40 +00:00
espie
459cc17047 unset PACKAGING before iterating from PACKAGE_COOKIE.
This forces BIN_PACKAGES=Yes always, probably a good thing.
2006-09-19 19:54:14 +00:00
espie
ce2d5a3369 fix update: now that we no longer recurse at the cookie level, we have
to recurse higher.
2006-09-19 11:25:17 +00:00
espie
cf58da0397 typo, found by Mikolaj Kucharski <eth0@o2.pl> 2006-09-18 18:17:30 +00:00
espie
06b500682c fix describe/dump-vars 2006-09-18 08:16:19 +00:00
espie
703a485b6a somewhat big change: zap the package-link/package-unlink stuff, turn these
into real targets.

- now make package will create missing ftp/cdrom links when PERMIT says so.
- PKG_ARCH=* packages get built into packages/no-arch, and linked from
elsewhere.

Everything gets based off PACKAGE_REPOSITORY, PKGREPOSITORYBASE and friends
get ditched.

All `package' targets go through the same routine: iterate through every
subpackage with PACKAGING set.

This includes describe, lib-depends-check, package, dump-vars, install-all,
which will iterate through subdescribe, sublib-depends-check, subpackage,
subdump-vars, and install.
(names are subject to change).

Much simpler logic, plus hey, you get an install-all target !

Might be some minor breakage, most stuff appear to work just fine...
2006-09-17 22:08:19 +00:00
espie
964e69a2f9 more generic protection against multiple locking: instead of one
_MASTER_LOCK, we keep a list of _LOCKS_HELD by one port builder in
an env variable, and we don't relock stuff that's already locked.

This allows us to, e.g., have fake depend on regress without issue
(even though, internally, it's more efficient to use the _internal-*
targets to avoid testing locks).
2006-09-17 19:08:59 +00:00
espie
ffc269451b let fake not touch the WRKDIR, since it's an `install' type target. 2006-08-07 08:57:18 +00:00
espie
2c4e42e413 remove special meaning of fake in dependencies so that it can be used
correctly for regress depends targets.

problem pointed out by nikolay.
2006-08-07 08:47:28 +00:00
espie
fcd6aa7f50 add missing quote, fix WANTLIB fuck-up 2006-08-04 23:29:47 +00:00
espie
100b45279f convert a few libspecs to new style.
Note: no package bump, those are only BUILD dependencies,
the pkg_create code will create the correct wantlib specs.
2006-08-01 10:50:19 +00:00
espie
2bf397a8e6 allows >= for lib-specs, needs some quoting for shell... 2006-08-01 10:00:54 +00:00
steven
47dcb91917 remove MASTER_SITE_LOCAL which is no longer used.
ok espie@
2006-07-17 16:23:14 +00:00
steven
fcb3f32809 peek only in real ftp sites.
ok espie@
2006-07-13 14:43:25 +00:00
espie
f1676ec4d2 move modules reading ways higher, after checking it doesn't affect a bulk
build.
2006-07-11 06:34:32 +00:00
espie
15cecfd126 +CONFIGURE_ARGS 2006-07-10 10:52:08 +00:00
espie
413a0547de add AUTOCONF/AUTOMAKE_VERSION 2006-07-10 10:35:50 +00:00
espie
8dd6a28c5f also dump SUPDISTFILES
do not store empty values which are always defined, but can be empty.
2006-07-09 11:23:50 +00:00
espie
dd168a8754 introspection mechanism: dump-vars 2006-07-09 11:10:16 +00:00
espie
ee210c3e4e move REPORT_PROBLEM to pkgpath.mk so that we can use it from bsd.port.mk
as well.

Add the target to the default problem reporter.
Report problems while building dependencies.
2006-07-08 09:20:30 +00:00
espie
82ba15cff7 convenience target for porters: peek-ftp connects to the first MASTER_SITES
and leaves you at the ftp prompt in the directory where stuff is fetched
from.

(I find myself using this quite often to figure out which version of stuff
exists, especially for CPAN).
2006-07-01 11:08:05 +00:00
sturm
a1fe8792f9 protect patch targets with systrace as well
no objection from espie, looks good steven
2006-06-18 10:10:04 +00:00
sturm
8809fa14f4 substitute variables in a port's systrace.filter file as well 2006-06-16 18:48:58 +00:00
espie
2a1183f992 fed up of merge errors in dependency makefiles, output a decent error
message if cd dir && make print-pkgname does not work.
2006-06-04 14:56:10 +00:00
espie
c4e1612c34 fix size test finally (|| > |)
check that MULTI_PACKAGES do begin with -.
2006-03-24 19:28:13 +00:00
steven
b258872e48 fix typo in target name.
ok espie@
2006-02-06 22:01:48 +00:00
jolan
aef34ea50d pass -o to unzip so it doesn't prompt when overwriting a file
ok espie@
2006-02-06 17:09:08 +00:00
espie
c3796c9e9a prepare to pass stuff over to libtool. 2006-01-05 19:33:17 +00:00
espie
09d0bdfe32 set LIBname_LTVERSION=-version-info <major>:<minor>:0
in MAKE_ENV/MAKE_FLAGS/FAKE_FLAGS if USE_LIBTOOL=Yes.
2005-12-29 12:48:04 +00:00
espie
75c9fbaa3f basic framework to have control over shared libs numbers:
SHARED_LIBS enumerates the libraries like so:
SHARED_LIBS=	foo 1.0 \
		zop 2.5 \
		tag 3.0

This just defines LIBfoo_VERSION=1.0, LIBzop_VERSION=2.5, LIBtag_VERSION=3.0
and adds these to SUBST_VAR, further tweaks must be done, usually at the
MAKE_FLAGS/MAKE_ENV level.

For gnu ports that use automake, the supplementary MODGNU_SHARED_LIBS
variable can be used like this:
MODGNU_SHARED_LIBS=	foo	'-no-undefined'

and it will define libfoo_la_LD_FLAGS=--version-info 1:0:0 -no-undefined

Some gnu ports have weird variable names for libraries. For instance,
the libORBit-2 is set using libORBit_2.
LIBORbit-2_ALIAS=ORBit_2
will make sure the correct name is used.

much feedback from bernd@
2005-12-23 12:41:37 +00:00
espie
f5747f689b move comment accordingly 2005-11-27 12:31:18 +00:00
sturm
60029f4c1d don't duplicate code, use _fetch_packages_fragment and
_pkgrepository_fragment instead
copy packages in local components of PKG_PATH to ${PKGREPOSITORY}

feedback and ok espie@
2005-11-27 12:15:59 +00:00
espie
e67b8501b3 now that pkg_add does the right thing when confronted with stuff that's
already installed, use it directly for updates.
2005-11-15 18:14:56 +00:00
espie
be8564fbad tweak the depends clean recursion, so that it does not recurse into
the main directory... since pseudo-flavors are not entered as pkgpath,
this is necessary to ensure the top-level directory gets cleaned up
correctly...

Problem reported by Moritz Grimm.
2005-11-11 11:31:53 +00:00
espie
013cbc8524 zap old test that's no longer needed since 2001. 2005-11-05 23:54:53 +00:00
espie
77f80ebb46 touch -f ? what's that ? 2005-11-05 23:41:36 +00:00
espie
9ab4bf2440 comment to /targets 2005-11-05 23:39:51 +00:00
espie
57949a8f52 better naming, discussed with nikolay 2005-11-05 11:16:17 +00:00
espie
8d272b5a9e introduce new macros to make things more readable.
Kill really old stuff: LD_CONFIG,
that's no longer used.
2005-11-05 11:11:17 +00:00
sturm
85a647f74b better tests when looking for packages in $PKG_PATH
use ${ECHO_MSG} where applicable

ok espie@
2005-11-05 10:35:02 +00:00
espie
9486605a21 zap unneeded FLAVOR=
prompted by a question from sturm@
`why do we need to set this ?'

answer: we don't. ;)
2005-11-04 09:40:30 +00:00
sturm
44e59f0eb1 try fetching missing packages from PKG_PATH, activated by setting
FETCH_PACKAGES

set PKG_PATH consistently when calling pkg_add

idea, help and ok espie
2005-11-04 09:34:50 +00:00
david
6da28d9613 check the correct exit code which fetching non-existent files; ok bernd@ 2005-11-03 22:33:04 +00:00
espie
94f6ed8d7c alek@-friendly error messages. 2005-11-03 19:32:25 +00:00
espie
fea5203c2e duh. found by naddy@ 2005-11-03 17:23:30 +00:00
espie
005b234dc8 streamline flavor_fragment after trying to explain it to sturm@.
it makes more sense to have a subdir variable as input, split it
into toset and dir as output, and to unsetenv FLAVOR SUBPACKAGE along
the lines.

End result should be equivalent, but slightly more readable.

no objection from my neighbors either...
2005-11-02 20:30:12 +00:00
espie
7dd96b3b55 * move the dependency computation out of PKG_ARGS, so that we can check
for errors (and get rid of _NODEPS since it's not needed any more)
* set check  to Failed in *libresolve_fragment, so that we can test
for it and report properly.

guys here have no objection...
2005-11-02 20:28:11 +00:00
espie
e95b44ceed fix weird recursion lock issue... the way the rest of the file deals with
them.

`looks much cleaner to me and this one I understand' sturm@
2005-11-01 20:39:00 +00:00
espie
76e7aa6a03 set PACKAGING before computing RUN and LIB_DEPENDS, so that the needed
packages are built JIT.

noticed by sturm@
2005-11-01 14:15:01 +00:00
espie
ea90a42164 new target, show-required-by, that can give you a full list of everything
a port will affect.

name by mbalmer@
2005-11-01 14:04:21 +00:00
espie
2317992794 add comment so that we can grep for _internal-XXX-depends targets. 2005-11-01 13:56:30 +00:00
espie
8089498934 don't bother building default package, just ask print-plist-contents
for its contents.

avoid dirname in print-package-signature, use sh built-ins.
2005-10-10 19:20:00 +00:00
bernd
3a943e5e5d output cosmetics
ok espie@
2005-10-10 16:07:33 +00:00
espie
d939b31653 need an extra indirection: the complete wantlib cookie can easily grow
over 256 characters, so we create an extra file for each wantlib, and
depend on it. That way the full _DEPlibs_COOKIE is regenerated (and retested)
each time WANTLIB changes.
2005-10-10 00:29:38 +00:00
espie
9fa7c10c20 remove intervening comma, so that stuff works. 2005-10-09 23:22:41 +00:00
espie
9d61eb771b better semantics for library checking: just check the pkgspec for recursive
building, and then do one big check of all specs in LIB_DEPENDS and
wantlib. This should be faster and more accurate.
2005-10-09 13:31:50 +00:00
espie
43ed8edb9c tweak the way library dependencies are resolved to speed them up.
Now, resolve-lib can take a big list of libraries with full paths,
and it can solve a big list of spec at once.
Basically, we move most of the parsing of spec paths into resolve-lib.

Since print-package-signature does build a full list of libs, let's solve
it all at once, instead of invoking a costly perl script repeatedly.

Add some caching possibilities for out-of-date. Specifically:
- store libraries for each package under the directory _PORT_LIBS_CACHE
- use the dependency cache _DEPENDS_FILE to avoid recreating dependency
chains, add a new file _DEPENDS_CACHE that will accumulate all dependencies,
and extract these with a simple script extract-dependencies.

Use echo to build libraries lists instead of ls, that's a bit simpler...

Some more clean-up will happen: it's probably simpler to parse libspecs
at once, extract the libraries needed and go fetch the corresponding libraries
just once.
2005-10-09 12:01:22 +00:00
espie
21c89e0e8f overeager code cloning.
noticed by matthieu@/mbalmer@
2005-10-07 21:08:16 +00:00
espie
ef74c2c91e need to list static libraries as well.
problem reported by bernd@
2005-09-25 09:43:09 +00:00