Commit Graph

912 Commits

Author SHA1 Message Date
espie
6a9f2056f7 more tweaks 2006-11-12 10:48:17 +00:00
espie
47a8fcf5fc tweaks so it works 2006-11-12 10:45:40 +00:00
espie
41a9dbf299 a small cpan module that takes care of most common things there 2006-11-12 10:29:15 +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
19abee34c6 revert. called from bsd.port.subdir.mk as well, which doesn't define
TMPDIR.
Noticed by steven@
2006-11-03 23:19:42 +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
robert
b6dd2e7ca7 Add MODGCC4 support and use gcc 4.2;
ok espie@
2006-10-21 14:26:07 +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
a80884552e Allows calling print-plist from main Makefile 2006-10-15 09:48:05 +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
espie
23741bf7ee unless style is old, also set mandir and infodir explicitly, to cope with
recent gnu standards as noticed by naddy@.
2006-07-17 22:08:41 +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