Commit Graph

1017 Commits

Author SHA1 Message Date
landry
27251dbdc9 systrace isn't too happy when WRKOBJDIR contains a symlink, which can
happen often (/usr/ports NFS mounted & /usr/ports/obj a symlink to a
local dir, /usr/ports as a symlink to /home/wherever..)
Use readlink -fn only if USE_SYSTRACE is set so less things are run when
bsd.port.mk is included. Should make everyone happy.

Issue reported by and original fix ajacoutot@, sounds reasonable to espie@
2009-06-17 13:42:49 +00:00
sthen
df3fbaad7d set RECURSIVE_FETCH_LIST to No by default. ok sturm, ajacoutot, espie. 2009-06-12 17:26:51 +00:00
landry
861925b221 Provide saner defaults for WRKOBJDIR, using ${PORTSDIR}/obj. No more w-*
dirs forgotten all around. One can still unset it in /etc/mk.conf to get
back to the older behaviour, or still override it with /usr/obj/ports or
/usr/wobj or whatever. At least, now it can be a separate partition.
Most of us were already overriding this value, OpenBSD is all about sane
& simple default settings.
${PORTSDIR}/obj suggestion from jakemsr@.
Discussed at length with several, 'Works for me' krw@ ok todd@ wcmaier@.
2009-06-12 13:39:30 +00:00
espie
3cb8b96f11 don't export brutally everything from bsd.own.mk into each port's Makefile,
but select some variables instead.

checked by naddy@ on a bulk-build.

(apart from making stuff less easy to break, it also means Makefiles stop
inheriting a WIDE set of .PHONY targets, which is a good thing)
2009-06-09 17:46:58 +00:00
simon
f9808159d2 allow ports to set REGRESS_IS_INTERACTIVE=X11 in order to get rid of
redundant makefile parts found at many places in the tree

DISPLAY and XAUTHORITY variables/checks to be nuked soon from many ports

ok ajacoutot@, sthen@, jasper@
2009-05-16 22:18:50 +00:00
martynas
fb518f37e5 make "doesn't seem to exist on this system" and "Size matches for"
implicit;  since they filled the whole screen making important stuff
unnoticable.  ok espie@, sthen@
2009-05-05 20:58:38 +00:00
espie
3286c9fba0 remove trailing dot 2009-04-24 08:53:33 +00:00
espie
b466c39b7a minor tweaks:
- totally forbid overriding do-fetch
- slightly better diagnostics in a few cases
2009-04-11 14:55:31 +00:00
ajacoutot
126913162c - fix some unquoted shell expansions
this fixes an old bug where package creation would fail if one has some
particular file under PKGPATH because it would give pkg_create the wrong
args

from Wim Lewis on ports@, thank you!
"looks right" sthen@, "sounds reasonable" landry@, ok jasper@ espie@
2009-01-05 12:43:49 +00:00
espie
65e7dd9971 somewhat better error indications after some user feedback ;) 2008-11-18 11:45:41 +00:00
bernd
5f93c223a6 Add SUBPACKAGE to _ALL_VARIABLES. ok espie@ 2008-10-25 15:06:26 +00:00
espie
79bdb256c9 add a possible convenience link to the WRKDIR
*solely* as a facility for people working on the ports tree.
not to be used for anything at all in the ports tree itself !!!
since it's not protected against any kind of race.
2008-09-19 13:00:30 +00:00
ajacoutot
13ef0005f6 - add ^TRUEPREFIX to the generic SUBST_VARS
"go ahead" espie@
2008-09-17 13:42:10 +00:00
simon
bd1e06cf76 Redirect regression output so we get the actual exit code instead of the
last one in the pipe to make sure failed regression tests don't bake a
cookie when REGRESS_LOG is set (default).
Also redirect stderr to regress log and introduce REGRESS_STATUS_IGNORE
variable so post-regress targets like found in cpan.port.mk can do the
actual failure detection.

Problem noticed by bluhm@, latching of exit code suggested by steven@

Testing, feedback and ok on earlier version by bluhm@, 'go for it' espie@
2008-08-20 10:33:50 +00:00
espie
9442611200 add clean=build: incentive to use SEPARATE_BUILD, as this allows you to not clean up the source, but only phases from configure up... 2008-08-20 08:56:53 +00:00
espie
409b0bc6fb NOT_FOR_ARCHS as dump-vars, to allow sqlports to perform better 2008-08-19 23:49:32 +00:00
espie
7d70a8b03f typo 2008-07-29 17:54:52 +00:00
espie
7c4a60e481 we have too many old distfiles -> too many links.
instead of storing links directly as
sha1/digest
allow them to be in
by_digest/sha1/di/digest

so the number of links will not grow that fast
2008-07-29 11:25:44 +00:00
espie
4649ae2bfa new update-or-install target needs to have dependent subpackages built as
well.

Incidentally, this is also an issue with update: in some cases, the update
target wouldn't work (specifically, when dependencies had changed).
Fix it as well.

There might be a need to revisit the DEPENDS_TARGET stuff later, this is
a bit of a kludge...
2008-07-26 12:23:43 +00:00
espie
6a61504833 INSTALL/DEINSTALL obsolete for multi-packages as well 2008-07-26 11:22:59 +00:00
espie
a44d1d9c1e _FMN is a terrible acronym 2008-07-26 11:16:04 +00:00
espie
e38014bf41 INSTALL/DEINSTALL are completely obsolete now (been deprecated for over
a year)
2008-07-26 11:14:07 +00:00
espie
d4209be428 new "convenience target": update-or-install (all)
Basically, make update without the tests that prevent it from running when
stuff is not installed yet.
2008-07-26 10:59:20 +00:00
sturm
28942b6f0b honour ftp_ and http_proxy for FETCH_PACKAGES
ok espie
2008-07-03 17:36:47 +00:00
espie
8e680d768f make full-*-depends targets invocable at the subdir level, as requested
by ajacoutot@
2008-07-03 15:43:22 +00:00
fgsch
13bf7688dd fix fetching files from MASTER_SITE[0-9]. found earlier by me during
a full port-lib-depends-check and later reported on ports
by Tim Donahue (tdonahue at vonsystems dot com). espie@ ok.
2008-06-06 01:17:13 +00:00
fgsch
0ae2ac563d ignore ports marked as such on port-lib-depends-check. rearrange targets
while im here. espie@ ok.
2008-06-05 08:14:00 +00:00
espie
95097113a0 add a bit of glue so that mirror-maker will be able to use the same locks
as the rest of the tree
2008-05-18 11:22:14 +00:00
espie
64d146b5bf remove intermediate targets we're no longer needing 2008-05-18 10:05:21 +00:00
espie
b6f6bdaee7 compute a set of missing files to show a better message for FETCH_MANUALLY
(got annoyed at java each time I had to figure out WHICH file got updated
and I had to fetch out of... the ten of them)
2008-05-18 09:58:09 +00:00
espie
eac6cf7b3c simplify computation of MAKESUMFILES: start with what's already been done,
and just append to it.
2008-05-15 10:09:29 +00:00
espie
456b53e76f hide ALLFILES and REALLY_ALLFILES, they have confusing names anyways 2008-05-15 09:57:03 +00:00
espie
377f320ea8 clean-up fetch/fetch-all framework 2008-05-15 09:51:17 +00:00
deanna
2b77239a61 Add X11BASE to SUBST_VARS
ok espie@
2008-05-12 14:45:48 +00:00
espie
5e19e9e080 slightly simpler hook loops: use :U just once, since it applies to
every word. Also use :T to select the final word of the PKGPATH, so
that hooks work seamlessly for `non-core' modules, thus removing the
need for most modules to be core.
2008-05-11 19:36:12 +00:00
espie
5caea536bd put back a default definition of FAKE_FLAGS, for style, since this did not
break anything.
2008-05-11 11:19:19 +00:00
espie
321669c708 conform to other hook naming. 2008-05-11 11:12:09 +00:00
espie
b9752adc83 sanity check: one CATEGORY should match the PKGPATH.
Surprisingly, this catches about 20 ports with their pants down.
2008-05-08 22:35:51 +00:00
ajacoutot
690b31ffc5 - add ^LOCALBASE to SUBST_VARS; now that SUBST_CMD is here, this will
become handy

ok espie@
2008-05-06 19:20:16 +00:00
espie
7ede32a06c use a trap to remove the tmp file, thus helping making sure it does not
stay around
2008-05-04 12:58:03 +00:00
espie
58b1418be0 make the lock on distfile more useful. In case we got stuck in the
SIMPLE_LOCK for a while, this means something else is fetching
the same distfile, so first check whether our target actually exists
before we try to fetch it all over again.
2008-05-04 12:53:14 +00:00
espie
2c22929416 extend VAR_SUBST syntax slightly: a supplementary ^ at the beginning of
the variable subst means the subst shouldn't occur anywhere, but only at
beginning of name... useful for backsubst of SYSCONFDIR, since etc is so
frequent. Extended to other variables such as PREFIX.

tweak make-plist to use OpenBSD::Subst.

*this means this only works with current, but you've had a week to update...*
2008-04-12 13:04:21 +00:00
espie
3a17c26da8 add support for SUBST_CMD 2008-04-07 11:12:42 +00:00
pvalchev
ce69f8a036 'sh' now has shared libs; from brad 2008-03-29 01:58:33 +00:00
espie
bf85c6df5a make it possible to lock/unlock manually a given directory.
This can be used to work on a port update while building other stuff
without risking the global build from interfering until the update is
finished.
2008-01-12 14:12:43 +00:00
espie
9ca2e064cf do the same thing with REGRESS_FLAGS as FAKE_FLAGS 2008-01-04 18:38:51 +00:00
espie
17d70806a3 tweak FAKE_FLAGS semantics to saner defaults. 2008-01-04 17:48:33 +00:00
espie
e0c15c5448 scaffold for running make in parallel, to be documented soon. 2007-12-28 12:49:12 +00:00
espie
4cdccf971e add a PKGDB_LOCK that can be used by pkg_add to -F nolock in src/ build
mode.
2007-12-28 12:46:03 +00:00
jolan
72e58f4c30 support .tbz2, ok espie@ 2007-12-05 06:55:41 +00:00
merdely
32c84fc9c3 Create $PLIST_DB directory if defined.
Fix a spacing nit.

ok espie@
2007-12-01 14:44:47 +00:00
steven
19811ccb50 protect FLAVOR with :Q when passed to the shell, since it may contain
whitespace.
2007-09-30 15:07:40 +00:00
steven
bad04c5480 pass FLAVOR to update-plist.
ok espie@
2007-09-21 08:04:06 +00:00
steven
9cb9ca7c2e use :Q for BROKEN
ok sturm@
2007-09-21 06:58:21 +00:00
naddy
1715498931 quote shell meta characters when generating readmes; ok espie@ 2007-09-16 21:38:34 +00:00
espie
fb338f26c3 make mirror-maker sturdier:
- pass an argument for the file into which we want to save the result, to
avoid getting it polluted with error messages (defaults to /dev/stdout for
debug).
- create the makefile fragment as a temp file and only copy it when complete.
- copy it in one chunk, so that one can read a partial mirror-maker file
and have it be usable.

This does allow for people to start a make mirror-maker in one shell, and
start fetching stuff right away, before mirror-maker is finished.

This also produces usable mirror-maker Makefiles even if the ports tree
contains bogus entries.
2007-07-28 12:58:34 +00:00
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