Commit Graph

1017 Commits

Author SHA1 Message Date
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
espie
6d9e12644b tweak _print-package-args a bit.
Add internal NODEPS to turn off computing dependencies.

Write code similar to _print-package-args that is strictly ports based,
and hence really walks the wantlibs, and needs the pkg_create stuff
to get at the real ports contents.

Recode print-package-signature to refer to the ports tree contents
exclusively (pkg_info -S for the package).

Thx bernd@ for trying that out.

This should make for a slow, but accurate, out-of-date printer.
2005-09-24 19:46:56 +00:00
espie
ebfaf60b88 simplify locks 2005-09-18 12:20:00 +00:00
espie
08e7b4c048 oops 2005-09-17 14:47:40 +00:00
espie
0031945c6e Fix a buglet in bsd.port.mk where the PSEUDO_FLAVORS get encoded into
the FULLPKGPATH, thus providing changes to packing-lists which shouldn't
happen, and making update more difficult.

Accordingly, bump all pkgnames with PSEUDO_FLAVORS, and provide an
update @pkgpath for the bug for most of them (left out the ones with 3
or 4 pseudo flavors for space constraints...)
2005-09-16 09:51:25 +00:00
naddy
07871fe865 don't hardcode /usr/ports, use PORTSDIR; ok espie@ 2005-09-10 18:07:47 +00:00
espie
9fc55bc3e6 clean-up register-plist logic, so that package is uniformously deleted
if a problem occurs.
2005-09-05 12:43:07 +00:00
espie
f7b78407d9 - new read-only variable, PKGNAMES.
- plist repository under PLIST_DB (optional).
- print-package-signatures shows what's used for signatures.
- make fetch shows full url you can copy/paste, simpler to look for typos
that way.
2005-09-04 22:32:37 +00:00
espie
f51beaa32e distfiles with spaces ? wow... 2005-07-04 12:32:51 +00:00
espie
a0d8f99cb8 fix wc shit. 2005-06-27 12:48:56 +00:00
espie
559bf09e60 bigger threshold, some sourceforge mirrors have 20K of html error page. 2005-06-25 22:12:09 +00:00
espie
e5b301e189 zap small files whose sizes don't match, so the next mirror gets a chance
to go at it.
2005-06-25 22:01:46 +00:00
espie
7459b5bd67 restore library check into working order, ouch... 2005-06-25 10:51:32 +00:00
espie
339259cda0 remove -v in pkg_create(1) since pkg_create is going to become
much more verbose.
2005-06-25 10:40:50 +00:00
alek
a130ae3cff Add LIBTOOL to FAKE_FLAGS.
ok sturm@, espie@
2005-04-30 10:43:55 +00:00
espie
63ee44468c missed test.
found out (more or less) by alek@.
2005-04-24 18:02:45 +00:00
espie
70fcebe40f fiddle a bit with LD_LIBRARY_PATH: allow mixed fake/non-fake.
and create a _set_ld_library_path internal, so that bzip2 can be installed
only as a dependency.
2005-04-23 15:24:49 +00:00
espie
b6e98c5d70 fake case is special, directly check if the exact package is already installed
(avoid errors in multiple installs of the same dependency)
2005-04-23 15:12:19 +00:00
espie
8ae9d49345 allows a mode FAKE=all where BUILD_DEPENDS get also installed under
DEPDIR.
2005-04-23 14:31:38 +00:00
alek
c798bedc18 Do not check if SEPARATE_BUILD is defined but check what is its value
(defaults to No)

help & blessing from espie@, ok naddy@
2005-04-21 01:44:50 +00:00
espie
d9e6141a26 need to use a default target for fake=lib. gettext->=0.10.38 is not an
installable package name...
2005-04-19 09:21:42 +00:00
espie
5e16b36748 look in the correct place if FAKE=lib
found out by naddy while working on xloadimage.
2005-04-17 22:51:16 +00:00
espie
b84fda0759 use both DEPBASE and LOCALBASE in PORTSPATH since we don't fake everything yet. 2005-04-17 18:31:58 +00:00
espie
5d3475bf46 move BUILD_DEPENDS outside of FAKE=lib scope, because it's really hard
to convince autoconf to work...

Also, ln -sf -> ln -sfh
2005-04-17 13:21:14 +00:00
espie
fc68a339fe Add DEPBASE for dependencies.
Add USE_FAKE_LIB to turn on FAKE=LIB for ports that have been converted.

Tweak buil/lib depends and LD_LIBRARY_PATH in FAKE=lib case.
2005-04-17 10:10:07 +00:00
jolan
3c4985fe84 add humppa64 to lp64_archs 2005-04-01 15:55:36 +00:00
espie
32484a6016 let RUN_DEPENDS register itself in built package as stem-* if no pkgspec
has been requested.

Simplifies package updates a great deal, needs porters to be more careful.

okay naddy@
2005-03-30 08:14:01 +00:00
espie
418b297b54 allow WANTLIB to be / something, to cater to expat.
okay pvalchev@
2005-03-13 22:51:34 +00:00
espie
fd12478f2d move targets around so they get handled gracefully in BROKEN case. 2005-03-09 15:40:37 +00:00
espie
78d9a2035a Finally rephrase what's going on. 2005-03-09 15:21:07 +00:00
espie
8542abc56d inform newlib-depends-check about the repository location
(needs RECENT newlib-depends-check).
2005-03-06 12:03:58 +00:00
espie
6d2313be65 flag for a.out 2005-01-31 10:12:24 +00:00
espie
a6de3cd707 remove source-based lib-depends-check. We always check the package now. 2005-01-31 09:58:22 +00:00
espie
36eae15c85 switch to package checking for newlib-depends.
let force update force depends as well.
2005-01-31 09:52:53 +00:00
espie
3edf27f16d pkg_add -f -> pkg_add -F prior to killing the old option. 2005-01-13 11:54:55 +00:00
espie
22ca2cf370 switch to right directory before checking. 2005-01-06 19:30:34 +00:00
espie
4c869b16b9 let fetch check the size of the retrieved file, if this is recorded in
distinfo.

This allows ftp to skip files which return 404 error files and other
such nonsense...

(note that if you want to really grab a file with the wrong size, you
can just say CHECKSUM_FILE=/dev/null)


with input from by xsa, sturm, ian..
2005-01-04 20:44:45 +00:00
couderc
65e3096063 MODULES is prefered to CONFIGURE_SCRIPT, undo last changes, asked by espie@ 2005-01-02 23:33:09 +00:00
couderc
0b2a9ae196 add pmk config style support. 2005-01-02 20:54:02 +00:00
naddy
63a801eb39 use double quotes to permit expansion of shell variable in message 2004-12-29 14:30:53 +00:00
espie
b8fb5135f6 forgot clean=force, reminded by msf. 2004-12-21 20:56:54 +00:00
espie
af5c4c5437 verify the spelling of clean options. 2004-12-19 12:20:12 +00:00
espie
7933d3b132 must run objdump through sudo as well... 2004-11-28 11:44:00 +00:00
espie
8ea77ff002 kill code that is no longer used. 2004-11-27 14:07:19 +00:00
espie
a60ebd295b still need to look in the default package for multi-package cases.
use -K that we now have...
2004-11-27 12:36:14 +00:00
espie
a9268b2f4a switch to using @wantlib and @depends, say byebye to libdepends and newdepends.
(this will break your machine if you don't have reasonably current pkg_add)
2004-11-27 09:59:35 +00:00
espie
48aa65b693 ready-to-go switch to @wantlib/@depend 2004-11-21 15:59:25 +00:00
espie
01ac39ce91 newlib-depends-check that takes the semantics-to-be into account. 2004-11-21 11:26:22 +00:00
espie
5982ed59bb new support routine _print-package-args, that prints new-style package
dependencies.
_syslib_resolve_fragment that can resolve system libs.
2004-11-21 10:43:48 +00:00
sturm
ec0870206a use TRUEPREFIX locally
sort SYSTRACE_SUBST_VARS while here
2004-11-19 22:12:28 +00:00
espie
723c37630f can't depend on WRKDIR unconditionally, throws update off when
UPDATE_COOKIES_DIR is set.
2004-11-17 11:09:44 +00:00
espie
3979adeb86 add missing stuff around update so that BULK works for it too. 2004-11-17 10:38:37 +00:00
espie
65134e9f73 only pass FULLPKGPATH, PERMIT_PACKAGE_CDROM, PERMIT_PACKAGE_FTP to
pkg_create, and quote the later properly...
2004-11-16 02:08:59 +00:00
espie
1b8f6e0f0c Pass PERMIT_PACKAGE_CDROM, PERMIT_PACKAGE_FTP, FULLPKGPATH as parameters
to pkg_create... This should allow the automatic generation of ExtraInfo
without needing to do it manually.
2004-11-15 16:31:28 +00:00
espie
147d3cf94a industrial-strength updates:
- separate UPDATE_COOKIES_DIR, unless set to empty.
Makes for easier management.
- FORCE_UPDATE variable, that makes certain packages are updated when
a dependency is run, and that forces the replacement of packages that are
already there.  Still uses the update cookie, so that this update occurs
just once unless you wipe out yur UPDATE_COOKIES_DIR (which justifies putting
update cookies in a separate directory).
2004-11-15 13:52:03 +00:00
espie
54a74ef157 use pkg_info -q -e instead of pkg dependencies check now that it does
what it should.

Use the exact same rules for checking LIB_DEPENDS that will later be used
to build the package itself, e.g., add the pkg dependency check.
2004-11-15 11:49:05 +00:00
espie
d9536a7ac4 rename _UPDATE_COOKIE to always be defined (wilfried) and to have a name
changing when the FULLPKGNAME changes.
2004-11-10 23:40:42 +00:00
espie
eb3edb001b Add a simple update target, that relies on pkg_info -e pkgpath to know
if there is something to update...
2004-11-10 10:16:41 +00:00
pvalchev
68c791bb78 add mips64 to LP64_ARCHS 2004-10-26 06:16:53 +00:00
espie
8c4d857d3d allow us to specialize DEPENDS_TARGET depending on whether this is
a LIB/RUN/BUILD/REGRESS_DEPENDS.
2004-10-23 10:02:51 +00:00
espie
97804eddfe switch FAKE's test from == "yes" to != "no" 2004-10-23 09:58:13 +00:00
espie
1bbdaa1cbd UNMESSAGE 2004-10-11 10:32:04 +00:00
sturm
8511b00703 add TRUEPREFIX to SYSTRACE_SUBST_VARS 2004-10-08 19:58:30 +00:00
pvalchev
be6617f5f7 change CDROM_SITE to default to empty; ok espie 2004-09-19 09:00:15 +00:00
espie
784afb2649 kill old check-libs script, after checking the new one handles a.out
just fine.

Kill old subst that's not used anymore as well.
2004-09-18 13:48:43 +00:00
espie
0046b33eec Strip spaces from CFLAGS everywhere.
Pass off -a to pkg_add if used to solve dependencies.
2004-09-18 13:45:23 +00:00
espie
b14b123e17 WRKCONF?=${WRKBUILD} 2004-09-15 18:58:49 +00:00
espie
613aa9a6c4 remove all SED_PLIST work, since pkg_create handles it now.
defines appropriate PKG_ARG arguments instead.
Move message to -M ${MESSAGE}.
2004-09-15 18:57:31 +00:00
espie
d67be4b0b9 remove trailing spaces from CFLAGS/CXXFLAGS, to please autoconf... 2004-09-14 23:07:20 +00:00
espie
907ba20320 explicitly forbid flavors starting with [0-9]. 2004-09-14 23:06:02 +00:00
brad
2545045f21 Side-effect of BULK=Yes: WRKDIR gets wiped out before the depend cookie
is written.

So, we simply recreate WRKDIR manually.
This is a kluge, but it should do the trick.

From espie@

ok pvalchev@ espie@
2004-08-13 23:28:40 +00:00
espie
9560823362 set _MASTER_LOCK in the correct location.
fix postgresql locking *for good*.
okay pvalchev@
2004-08-12 19:02:45 +00:00
espie
a8174b7541 obvious mistake, FULLPKGPATH for recursive clean, duh!
problem found by brad@
2004-08-11 22:42:47 +00:00
espie
fdb200935c fix postgresql lock issue: in recursive locking, don't relock the same
port.

okay pvalchev@
2004-08-11 22:25:23 +00:00
espie
9ab9eeaa46 prefer pkg_create -B 2004-08-10 13:48:21 +00:00
espie
ed01c25be0 lock distfile as distfile.dist, since some ports have FULLPKGPATH=DISTFILE. 2004-08-08 23:14:03 +00:00
espie
10083d7dfb run update-plist as root, to catch all files.
pass OWNER/GROUP around and setuid/gid to them before writing
files to keep ownership.
2004-08-08 16:43:15 +00:00
espie
413404d080 tag updating-plist case for logging. 2004-08-06 11:31:22 +00:00
espie
0e976d1198 almost completely new make-plist.
The new version uses the pkg_* infrastructure to read existing plists
and produced new plists.
Lots and lots of improvements:
- copy most stuff over from original lists correctly. For instance,
attach @exec/@unexec/@sample to other files and copy them in the right
location.
- generic post-treatment of @commnent, using stringize(), so that most
things can be commented out and will stay commented out.
- parse all packing-lists using relevant PREFIXes. Grab PFRAG.xx if %xx%
is seen.
- walk through all of fake, and distpatch files according to PREFIXes
if nothing else works.
- identifies man, libraries, info, handling symlink correctly.
2004-08-05 23:43:45 +00:00
espie
879b5113b9 tag error messages with PKGPATH, as they get hard to decipher
when walking the tree.
2004-08-03 21:18:24 +00:00
espie
dbdb2eb38e Move SHARED_ONLY default definition down so that it can be inherited
from Makefile.inc/MODULES.
2004-08-03 19:30:25 +00:00
espie
30369d755e pass TRUEPREFIX around, don't pass LDCONFIG. 2004-08-03 16:18:51 +00:00
espie
0245da577b pass SHARED_ONLY to update-plist 2004-08-03 11:16:30 +00:00
espie
fd75f4db4c Introduce SHARED_ONLY variable, as a more specific semantic way
to say port works only with shared libraries.

Mostly useful for `update-plist' which will recurse differently if
LIB_DEPENDS are only BUILD_DEPENDS or if they becomes RUN_DEPENDS.
okay pvalchev@
2004-08-03 08:04:02 +00:00
espie
daf412deff Always define NO_SHARED_LIBS. 2004-08-02 13:01:52 +00:00
espie
75994eff47 store PKGPATH instead of self name in dependencies. pkg_add handles
recursion itself, so it does not need the self name.

Packages created require -current pkg_* tools to work !
2004-08-02 12:10:17 +00:00
espie
befcaa1be4 tag cache entries with b(uild), r(un), a(ll).
Fixes a rare logic error, where recursive build depends would not trigger
all depends because an existing build depends was taken instead.
2004-07-24 13:53:12 +00:00
espie
83b79dec6d clean=depends is naturally recursive, make a little dance so that it
goes to _internal-clean for itself.

found out by brad@
2004-07-21 14:45:33 +00:00
espie
29272c577e since _solve-package-depends no longer recurses, it does not need a
cache file.
2004-07-20 14:23:32 +00:00
espie
5bf197bb2f REORDER_DEPENDENCY missing a silent @. 2004-07-18 22:45:14 +00:00
espie
0e89359ef4 Lock infrastructure for the ports tree.
If LOCK_CMD, UNLOCK_CMD and LOCK_DIR are defined, those are used to
perform `big-lock' style locking on top-level targets, such as
extract, patch, build.

The internals of the ports tree do not use any finer grained locking.
Those top-level targets now redirect to _internal-targets, without
any behavioral change.

Any dependency computation will recurse to another directory, and
invoke a top-level target, thus triggering the locking of the dependency.

All locking is done using FULLPKGNAME, except for fetch with uses
the DISTFILES names for independent files.

If no locking is desired, the top-level targets simply redirect to
the _internal-targets. The cost is close to zero: make just needs to
handle an extra ~20 phony targets.

Much testing and approval by brad@, naddy@, pval@, fries@ and other
people. Thanks to niklas@ for some useful discussion.
2004-07-18 22:44:36 +00:00
espie
571e0e10d7 move everything to _fetch-makefile, so that __FETCH_ALL can put all
file names where it should.
noticed by jolan@, okay sturm@
2004-07-12 08:45:32 +00:00
espie
2df6d8519a byebye IGNOREFILES
Okay naddy@
2004-07-11 20:44:33 +00:00
sturm
4597750316 add _SYSTRACE_COOKIE to _ALL_COOKIES
ok espie@
2004-06-22 20:05:46 +00:00
espie
ee63e907a9 missing dependency 2004-06-22 16:09:05 +00:00
espie
f19cb223c7 move the automake inter-dependencies to another file.
checked by naddy@ on a full build.
idea okay'ed by naddy and pvalchev.
2004-06-06 11:49:08 +00:00
jolan
e0768dec11 sort lp64_archs alphabetically, remove hppa from no_shared_archs 2004-06-01 21:06:29 +00:00
sturm
67a6ca5fda honour TMPDIR and PKG_TMPDIR in systrace policies
prodded by jolan@
2004-05-31 12:27:07 +00:00
pvalchev
d570761068 provide LP64_ARCHS, a list of 64-bit architectures (to be used for
NOT_FOR_ARCHS and such); ok naddy
2004-05-16 23:14:44 +00:00
sturm
4c3be953ba allow for additional port specific systrace policies, needed to make
jdk-linux and netscape build with systrace

ok espie and others
2004-05-01 14:27:07 +00:00
espie
d9a7718501 move -e '//d' around so that it's more readable...
... and add the missing one that was noticed by jolan@ !
2004-04-19 18:57:54 +00:00
espie
d229227ddf always define DIST_SUBDIR, simplifies logic. 2004-02-07 22:36:13 +00:00
espie
2b162efb9b move up pkgpath.mk, so that PKGPATH is available.
Use it to define per-PKGPATH user-settings: BULK, WRKOBJDIR, ...
2004-02-07 22:34:02 +00:00
espie
7a0db8de9e always define WRKOBJDIR, FAKEOBJDIR (simpler logic).
change tests to !empty instead of defined.
Move BULK_TARGETS up with other user settings.
2004-02-07 22:18:49 +00:00
espie
ec41a84509 .if .if
.else                   .elif
.  if            -->    .else
.  else                 .endif
.  endif
.endif
2004-02-07 22:14:21 +00:00
espie
ec7a491459 let show be a list of variables 2004-02-07 22:02:40 +00:00
espie
1c19b2641b better elf libs checker.
okay pvalchev@
2004-02-01 23:07:30 +00:00
espie
32f593bbc3 use -L if necessary. 2004-01-28 22:15:21 +00:00
espie
22a42aec05 slight semantic change in CDROM_SITE. 2004-01-28 22:13:40 +00:00
sturm
50b3ab6c55 remove "-f" from calls to pkg_delete, fixes "make uninstall"
ok espie@
2004-01-28 20:16:14 +00:00
espie
2715832200 tag packages with @arch 2004-01-22 21:28:49 +00:00
sturm
90c7e8a75e make flavor PFRAGs SUBPACKAGE aware as described in bsd.port.mk(5)
from Kurt Miller <truk at optonline.net>
tested by naddy@, ok espie@
2004-01-20 17:42:12 +00:00
sturm
ad0e479a5b allow for port specific additional systrace filter rules in
${.CURDIR}/systrace.filter

ok espie@
2004-01-18 07:52:49 +00:00
sturm
a47e8f6e71 let systrace log to stderr 2004-01-11 15:04:01 +00:00
espie
2d9e402c19 reorder the bottom part of bsd.port.mk so that all variable tweaks are
done before any target is evaluated.  This makes sure a whole series
of bugs can't happen.

Tests and comments by naddy@ and sturm@
2004-01-11 00:49:01 +00:00
espie
14e1f01e2c use .elif 2004-01-06 16:27:11 +00:00
espie
9a130269f5 move variables that only users can tweak, or that are constants, to
the front of bsd.port.mk.

This allows Makefile.inc and modules to use them more easily, and also
cleans up things slightly.

Also kill .include ${PORTSDIR}/../Makefile.inc (???)
2004-01-06 15:02:57 +00:00
sturm
0afcb3ce68 use WRKDIR instead of WRKOBJDIR for systrace, as the latter is not defined
unconditionally

found by Michael Coulter <mjc at bitz dot ca>
2004-01-04 09:07:19 +00:00
espie
494fac294a Report files and directories installed in WRKINST outside of PREFIX,
usually a good indication the fake process is screwing up.
Okay naddy@
2003-12-26 00:26:01 +00:00
espie
ef26554b07 Use somewhat dirty trick.
Repairs mirror-maker for multiple MASTER_SITES.
Noticed by naddy@
2003-12-24 00:08:48 +00:00
espie
841eb86247 two
if cmd; then ;; else cmd2; fi  -> if ! cmd; then cmd2; fi
I missed
2003-12-16 19:05:23 +00:00
espie
318b72ffb1 Check for duplicates in mirror-maker entries, build Makefiles that won't
heap tons of warnings with gnu-make (and that will be slightly smaller as well).
2003-12-15 17:56:40 +00:00
espie
c3a877ce10 Kill the recursive part of package dependencies recording, since the
new pkg_add deals computes recursive dependencies on the fly.

okay naddy@
2003-12-11 08:55:24 +00:00
espie
fed09d5bcc zap some packing-lists sanity check. These are now donw by pkg_create
in a more precise and faster way.
2003-11-22 12:03:44 +00:00
espie
6817307ee5 set PACKAGING in RUN_DEPENDS, to avoid picking up bogus subpackages
dependencies.

Tests by sturm@, noticed by pval@
2003-09-28 10:57:01 +00:00
naddy
65d11563a5 * force uninstall in reinstall
* fix typo in clean=install handling

discussed with sturm@
2003-08-28 23:42:44 +00:00
sturm
5c1459beb1 don't try to fetch distfiles of ports marked FETCH_MANUALLY
ok naddy@
2003-08-28 16:19:00 +00:00
espie
31df7d5d6e Add FAKEOBJDIR support 2003-08-21 20:22:45 +00:00
espie
6f7ee487d8 Use -S${WRKINST} for pkg_create.
YOU MUST HAVE A CURRENT pkg_create FOR THIS TO WORK !!!
2003-08-15 00:04:45 +00:00
naddy
d1e3b2b512 Fix a typo that caused ports marked with FETCH_MANUALLY always to be skipped
for BATCH=Yes.  Reported by Kurt Miller <truk@optonline.net>.
2003-08-14 15:29:20 +00:00
espie
79dfad4929 missed two readme, thanks Nick. 2003-08-13 19:41:01 +00:00
espie
08fa6014ce advisory license-check: warns if a package is apparently built from bad
sources.  Will returns some false positives.
2003-08-11 20:10:41 +00:00
espie
5018e3388c make sure the site selector has an entry for each :<digit>, ensuring
incorrect entries will be spotted.
2003-08-11 20:07:59 +00:00
sturm
9dca62c74b Unconditionally use do-extract and create that target in case it doesn't
exist with the old, regular EXTRACT_CASES stuff. This allows for systrace
protected extracts.

espie@ ok
2003-08-11 18:42:07 +00:00
espie
b8e4c98450 move _depfile_fragment to pkgpath.mk so that it can be reused more widely.
Fix the logic so that the file is only removed where it is set.
Add some checks to *-dir-depends for more `global situations'.
2003-08-04 14:37:10 +00:00
espie
acc638c113 Use trap to remove _DEPENDS_FILE, so that it does not stay around.
Since all the code is now in one chunk, put it into _depfile_fragment.
2003-08-04 14:00:46 +00:00
espie
0f9ceae51e kill old readme (useless distinction).
Let make clean=readmes work.
2003-08-04 13:25:36 +00:00
espie
9a700ec7a5 put _flavor_fragment into a separate file, that's included from both
bsd.port.mk and bsd.port.subdir.mk. Make sure flavors are properly
separated.

Change the way bsd.port.subdir.mk works, slightly: always set full directories.
- SKIPDIR with full paths will work.
- all dirs are displayed as full package specs.

Generate complete html files.
2003-08-02 09:53:27 +00:00
espie
2baedf3e1e minor fixes to readme 2003-08-01 09:07:06 +00:00
espie
a46196fdcf if cmd; then : else -> if ! cmd; then
suggested by naddy@
2003-08-01 09:02:42 +00:00
espie
9035370921 show libraries BEFORE testing that we already recursed in that dir.
Problem found by marc_m@.
2003-08-01 08:29:43 +00:00
espie
ff6ba5bcaa too eager in unsetting FLAVOR, problem found by jolan@ 2003-08-01 08:20:43 +00:00
espie
3e6da56495 get thru _clean to handle clean, since it's set in stone.
Add work if only depends is set.
problem found by naddy@
2003-08-01 08:07:30 +00:00
espie
be5adfc375 pull a few more targets out of user-visible space.
Sprinkle a few more cd ${.CURDIR} && exec
move distclean into convenience targets area.
2003-07-30 19:59:48 +00:00
espie
8d30a050aa redo the list of phony targets, in alphabetical order 2003-07-30 19:51:11 +00:00