Commit Graph

1399 Commits

Author SHA1 Message Date
espie
2f85417164 document partly how dependency internals work 2011-11-19 16:35:46 +00:00
espie
dce00fcc63 more dire warning about abusing internal _* shit. 2011-11-19 15:07:31 +00:00
espie
65096ef4f0 document fragments related to dependency parsing 2011-11-19 14:59:27 +00:00
espie
8663ec5dfb set conventions, document locking internals 2011-11-19 14:35:56 +00:00
espie
7873819719 more flesh 2011-11-19 14:17:59 +00:00
espie
478a792605 first pass at documenting stuff for very curious people, more to come 2011-11-19 13:37:41 +00:00
espie
3aa1b0516a unzap the ECHO_MSG 2011-11-19 11:43:05 +00:00
espie
2334188bc1 oh, hum... use TMPDIR instead of hardcoding it. 2011-11-19 11:36:53 +00:00
espie
cb960e35d0 mv _cache_fragment to pkgpath.mk
create a new category of recursive targets that can use this fragment,
and use them, e.g., print-package-signature from top-level should benefit
a lot.
2011-11-19 11:33:39 +00:00
espie
4c9d60034c do the no_mips64 dance here, no need to duplicate it in lots of Makefiles 2011-11-18 11:01:47 +00:00
espie
e8b4473500 setting PKGPATH in pkgpath.mk is not enough, pass it thru the environment
as appropriate.

(typical make package would call getpkgpath 15 times instead of 1!)
2011-11-17 17:53:22 +00:00
espie
1dcb17d4da try to avoid SUDO while cleaning up the cache.
this avoids prompting for password during make extract.
problem noticed by rpointel@
2011-11-16 14:40:59 +00:00
espie
3b4f419753 add comments to a few thing
be more precise into recreating $d, using bizarre shell patterns
2011-11-16 10:57:23 +00:00
espie
07da0fb496 flatten the DEPENDS_CACHE structure, at the expense of one extra sed.
avoids problems with ownership of various directories, as seen by naddy@
2011-11-16 10:30:47 +00:00
espie
450f2ff1ca rephrase to remove unneeded needed variable. 2011-11-15 20:41:41 +00:00
espie
645b599225 same code 2011-11-15 20:32:35 +00:00
espie
2517b318eb speed-up dependency checking a bit:
- resolve-lib -needed, less perl invocations (gains a lot)
- show-run-depends, less fancy than run-dir-depends, a bit faster...
- don't create cache for internal targets (external stuff already did it)

define _PERLSCRIPT in pkgpath.mk since getpkgpath should use it...
2011-11-15 20:08:36 +00:00
espie
7021d5e8f9 rework the dependency code to be slightly simpler.
systematically use a cache while scanning for libraries.
This speeds up MULTI_PACKAGES a bit...
2011-11-14 22:02:15 +00:00
espie
982d021ed2 we have :QL, so make depends handling a bit saner. 2011-11-14 16:18:36 +00:00
espie
2be274b94e IFS setting can be local to the read 2011-11-14 13:12:20 +00:00
espie
ff5f349783 nit pick some very old stuff 2011-11-14 12:10:27 +00:00
espie
520b395530 a bit more micro-optimization: allow print-plist-libs-with-depends 2011-11-14 10:29:58 +00:00
espie
2ab4b2c7e7 better FETCH_MANUALLY handling:
- expose MISSING_FILES
- treat them as a special kind of IGNORE
- handle that in DPB
that way, ports that are IGNORE'd for other reasons (not correct arch)
stay ignored, and relevant ports with missing distfiles get better error
messages
2011-11-13 10:34:35 +00:00
espie
0bf789a9ca work around brain damage 2011-11-07 15:39:50 +00:00
espie
bc958fd5b8 revert until I figure out why emacs21 is unhappy with this ? 2011-11-07 14:23:09 +00:00
espie
1e4f1a9788 pass CONFIG_SITE to build step as well. should make lang/gcc build
marginally faster, and a few other odd ports that reconfigure during build
as well...
2011-11-06 12:38:29 +00:00
avsm
8442300dd1 add .tbz to the list of known EXTRACT_SUFX entries
ok espie@ brad@ dcoppa@
2011-11-02 17:16:30 +00:00
espie
f517149f57 make signatures conform to the way packages get built.
This does slow down signature computations (I will try to address that),
but it removes all false positives from dpb -R.

tested by nigel@
2011-10-25 15:08:10 +00:00
espie
3e80882e17 zap pre,do,post fetch & package.
speed up print-plist-libs a wee little bit
2011-10-24 12:34:08 +00:00
matthieu
7cdaa27aff Modernize error message. Don't tell people to use a 11 years old
ports tree. ok naddy@, espie@.
2011-10-23 22:06:01 +00:00
espie
26cf943632 missed one (Nathanael Rensen <nathanael@polymorpheus.com>) 2011-10-22 07:42:24 +00:00
espie
4512fd2e97 missed one 2011-10-21 16:52:05 +00:00
espie
d6c20248ec zap CHOWN/CHMOD, as prompted by a question from stu 2011-10-21 16:35:14 +00:00
espie
af01b50822 prepare framework to avoid pseudo-flavors from dpb unless in bootstrap
situation
2011-10-18 06:43:51 +00:00
espie
cbf9cefc78 pull in elf toolchain along with other properties 2011-10-16 07:52:08 +00:00
espie
490e1cfa18 minor cleanup: there's no reason for these variables to be intermixed
with targets.
lib-depends-check should be defined as ignored along with the rest.
errors-handling should occur last, so that the last block of errors gets
used.
2011-10-16 07:51:27 +00:00
espie
6b8ccf58db - fix position of Makefile.inc include guard to allow arbitrary intermixing of
Makefile.inc and bsd.port.arch.mk without infinite recursion.

- use simpler pattern to test for arch stuff, we just need the values, so
.for A B in ${MACHINE_ARCH} ${ARCH}
is enough and avoids the setting of intermediate variables.

- new PROPERTIES variable that's easy to test with e.g. if ${PROPERTIES:Mapm}
2011-10-16 07:12:35 +00:00
espie
398f738da8 There's no actual reason to accept flavors with non-lowercase spelling,
so kill the misfeature, as agreed by mostly everyone.
2011-10-03 15:46:33 +00:00
jasper
3c6680c24e Remove some duplicate code by putting in a variable, as done elsewhere. 2011-10-03 14:21:02 +00:00
espie
f9a48d816a pseudo-flavors *must* be taken off MULTI_PACKAGES, not BUILD_PACKAGES.
dpb coalesces build dependencies over MULTI_PACKAGES: if we don't substract
from MULTI_PACKAGES, this can lead to bootstrap loops.

Case in point: sysutils/gamin, whose build relies on "no_server" to be
available as a dependency for glib2/gtk+2.

(but IGNORED stuff is properly kept as MULTI_PACKAGES, since it's mostly
intended to avoid strange arch errors)
2011-10-03 08:35:36 +00:00
espie
00d241e48d oops 2011-09-30 05:35:52 +00:00
espie
6cd8498bb2 MONO_ARCHS to de-dup the tree
ok robert@, aja@
2011-09-28 13:54:20 +00:00
espie
c3afd6ab0d more default flavors cleanup:
- if there is no flavor in BUILD_PKGPATH, it's not necessarily the default,
make sure there's an empty flavor by appending a ,
- pass FLAVOR to dump-vars, so that eventually dpb can match "no flavor
specified" to "this is the default flavor", thus getting a bit smarter
(this should speed up the LISTING job by not traversing as many subdirs).
2011-09-28 10:20:19 +00:00
espie
38dc23d0a7 cosmetic: don't repeat ourselves for NOT_FOR_ARCHS. 2011-09-28 10:03:09 +00:00
naddy
0b78f2cdd8 use ${TAR} when extracting .tar.xz, too 2011-09-25 21:30:04 +00:00
espie
1c7ee6e474 regroup everything having to do with MD stuff and split it off into
its own file.

*this requires current src as well*, to have the glue in /usr/share/mk
2011-09-25 07:59:49 +00:00
espie
a08bf6b41e tweak the flavor_fragment stuff to be able to specify "hey, if there's no
flavor, it means it's empty and not the default one". Useful for tools
that reuse saved fullpkgpaths.
2011-09-24 07:36:02 +00:00
espie
a647125932 kill some very old knobs we do not use at all.
okay ETOOMANYPEOPLE
2011-09-21 09:02:09 +00:00
sthen
cff74bb849 no need to warn about xz for SHARED_ONLY ports, they don't work on vax anyway.
ok espie@
2011-09-20 09:36:13 +00:00
kili
a0f936ee32 Temporarily disable globbing in _compute_default, to fix
all kind of weird shit happening (welcome to quoting hell).

Problem noticed first by jasper, globbing fix suggested by
espie.

ok espie
2011-09-16 20:02:20 +00:00
espie
6011c3d2f0 normalize pkgpath in bsd.port.mk 2011-09-16 08:26:09 +00:00
espie
2175cc022f tweak dependency handling: use set -- make _print-metadata to get
all properties of the depending port we want.
2011-09-15 17:19:36 +00:00
espie
609a67413a better: define PSEUDO_FLAVOR as something to add to the fullpkgpath 2011-09-10 08:20:56 +00:00
espie
63dce684dc show FLAVOR to dump-vars.
This is occasionally useful for pseudo-flavors: these do not get encoded
in the pkgpath, so taking (for instance) sqlports, this generates lines
which are later impossible to exploit based only on the fullpkgpath, as
opposed to fullpkgpath,flavor  (which might contain the flavor twice, but
this is not an issue).
2011-09-10 08:05:12 +00:00
espie
312cba7ce7 name construct as OLD_WRKDIR_NAME, to be used as WRKDIR_LINKNAME 2011-09-03 13:39:56 +00:00
sthen
ad0415194d Check NO_CCACHE everywhere that USE_CCACHE is checked, I missed it in
one small but necessary place.
2011-07-20 08:46:20 +00:00
fgsch
7c3864da84 add regress-depends-list.
input and ok espie@.
2011-07-15 23:11:00 +00:00
espie
904b7b580f for depends, always run checks on fullpkgname vs pkgspec upfront.
exit if the dependency doesn't match.
then do the actual dependency and the normal tests.

stop looking at full pkgnames list, makes no sense, even configure depends
can use the required ,-subpackage if they want.

This allows stuff such as BUILD_DEPENDS = dir>=5.0:configure
to get out early if the tree is not uptodate, instead of first configuring
then getting out (problem noticed by landry@).

tested by landry@ and jasper@
2011-07-12 10:04:00 +00:00
ajacoutot
9c199e02f7 When cleaning packages, remove the ones under PORTSDIR/update as well.
ok jasper@ sthen@ espie@
2011-07-12 08:08:01 +00:00
ajacoutot
6ebe2cec7c Make the xz warning fit on one line. 2011-07-12 04:26:47 +00:00
jasper
062d55772c xz doesn't need gcc3 anymore on sparc, so no need to scare people anymore
about it being a pain to build on sparc.
2011-07-11 12:21:53 +00:00
jasper
86c815a76b - move arm platforms to GCC4_ARCHS
- zap mvmeppc
2011-07-10 17:15:08 +00:00
ajacoutot
05e8dc465b Move sparc from GCC2_ARCHS to GCC4_ARCHS.
"sounds like a good plan to me" sthen@
2011-07-08 22:44:16 +00:00
naddy
f551b57bc3 treat .tgz like .tar.gz for extraction and don't rely on the fallback 2011-07-08 05:17:40 +00:00
sthen
14e3fda149 Add infrastructure for ccache in port builds.
"now is probably a good time to commit" espie@
2011-07-05 15:11:20 +00:00
espie
38ada0432c expose print-package-args and friends
create an all-lib-depends-args target that's ways less hackish
than _print-plist-with-extra-depends
for port-lib-depends-check
2011-06-26 14:40:21 +00:00
espie
b71c54aa8d clean-up 2011-06-24 14:44:05 +00:00
espie
2a43e0ad2a optimize newwantlib:
- if _DEPRUNLIB is empty, there's no need for any computation since the
result will be empty.

- zap the loop on _LIB4* for port-wantlib-args, as run-dir-depends already
grabs them.

- expose wantlib_args and corresponding targets for pkg_create to take
advantage of.

- add a dirty way for developers to waive the fake vs. ports check (PLEASE
use with EXTRA CAUTION).
2011-06-24 14:34:15 +00:00
espie
78782b3f3f turns out WKRDIR is not quite as constant as I wished...
found out by naddy@
2011-06-23 22:03:15 +00:00
espie
e428771bff decent error message 2011-06-23 21:49:18 +00:00
espie
fb83b9e131 oops 2011-06-21 17:11:45 +00:00
espie
ad884b7af4 save the wantlibs into files before comparison and give a more useful
error message. This was always intended, I wanted to make things work
before making them beautiful.
2011-06-21 17:04:32 +00:00
espie
3fde18c238 zap old legacy compat with old depends with lots of leading ::: 2011-06-15 16:31:11 +00:00
espie
a307462266 fix some limitations of _print-package-args
* cut it into separate targets for readability and better testing
* filter libraries more efficiently
* use internal variable for resolve-lib

create two targets for solving wantlib: one (_fake-wantlib-args) which uses
the information under the fake directory and installed packages, and another
(_port-wantlib-args) which walks packing-lists. The second one can be used
to collect meta-info even when nothing is installed, and thus provide better
package-signature accuracy, or help with lib-depends-check.
The first one uses what's actually in place when a package is built.
For now, we're paranoid and use both when building a package, erroring out
if they don't match, even though _port-wantlib-args is somewhat slower.
2011-06-15 16:29:48 +00:00
naddy
297ddb4ef7 add --disable-silent-rules for CONFIGURE_STYLE=gnu; ok kili@ 2011-06-02 15:54:10 +00:00
ajacoutot
06abdaec00 Punctuation in the xz WARNING. 2011-06-01 16:04:12 +00:00
espie
e5e8d25a93 initial support of xz, to be polished.
most important part is nagging the user that this WILL not build on
some architectures and be very inconvenient on some others.
2011-06-01 12:04:06 +00:00
espie
6fc3e924f5 dpb -f will need FETCH_MANUALL to tell people to fetch those 2011-05-16 23:40:24 +00:00
kili
9862026031 Fix missing quote around $$pkg.
ok espie@
2011-04-23 08:25:50 +00:00
espie
bdca4a9a30 prefer the V- version for non-MULTI_PACKAGES vars.
fixes E on libf2c-old on i386.
2011-04-16 12:21:44 +00:00
espie
ab5cd9d6f3 redo the IGNORE dance in a smarter way:
derive IGNORE-sub from IGNORE, and then test IGNORE-sub

Define complete value for IGNORE very late, _MULTI_PACKAGES trimming only
requires subpackage-specific info.

fix bug in describe, correctly differentiate  between empty and !defined
ONLY_FOR_ARCHS.
2011-04-16 10:31:20 +00:00
jasper
eaf9dad616 remove USE_MOTIF bits
ok aja@ sthen@
2011-04-10 17:55:41 +00:00
espie
c37a0a8a83 define IGNORE${SUBPACKAGE} for each SUBPACKAGE.
Prevents dpb from building subpackages that are NOT_FOR_ARCHS or
ONLY_FOR_ARCHS, as tested by quite a few porters.
2011-04-03 07:19:05 +00:00
fgsch
f33f72e660 add repackage to the recursive targets.
with input and ok espie@
2011-03-28 00:16:13 +00:00
espie
c7b6b23044 tweak logic slightly to avoid duplicate error messages which make no sense 2011-03-22 19:56:51 +00:00
sthen
fc8ddee2f7 adjust the BUILD_DEPENDS for USE_GROFF to require 1.21; ok espie@ 2011-03-21 09:38:53 +00:00
espie
e544151d8e allow things to proceed after flavor_fragment in SUBDIR handling.
Also puts the FULLPKGPATH in extra_msg to figure out where bad dependencies
come from
2011-03-20 19:28:07 +00:00
ajacoutot
c604c9ac83 Make clean=plist consistent with the other clean targets, do not error
out if the plistdb directory does not exist.

ok jasper@ espie@
2011-01-16 20:36:49 +00:00
espie
ac029da04c pass an extra -q to pkg_info -r... that way, we can have "the human version"
be more verbose...
2011-01-10 12:59:36 +00:00
espie
df8ae14936 allow BUILD_DEPENDS = somepath>=version:patch
THIS REQUIRES A pkg_info WITH THE -r OPTION, e.g., current !
2011-01-09 13:07:53 +00:00
espie
f90f6db6eb totally forgot about PATCHFILES 2011-01-04 21:54:36 +00:00
espie
d876093129 old forgotten PKG_SPEC commit 2010-12-20 16:39:53 +00:00
espie
746282fe00 pass PORTSDIR to pkg_create so that it can check more things 2010-12-20 13:05:40 +00:00
espie
ef56915d0c - pass PORTSDIR for libtool, since people seem to want to stuff their
ports tree in weird places.
- show CHECKSUM_FILES if DPB=fetch or better.
2010-12-14 11:37:38 +00:00
espie
884b53366c dpb does not need EPOCH + REVISION 2010-12-07 11:26:37 +00:00
ajacoutot
336c24d6ba Add a default HOMEPAGE for cpan ports when none is specified.
All work including upcoming huge bump done by Mikolaj Kucharski, thanks!

ok jasper@
2010-12-03 11:43:05 +00:00
espie
abf72e33c3 SHARED_ONLY is Yes or No 2010-11-26 20:24:36 +00:00
espie
2c0a53e285 show the old-style depend.
fix :configure depends for versions.
move PKGSPEC to !dpb dump-vars
2010-11-25 18:06:37 +00:00
espie
21be510d2b fix quoting (spotted by jeremy@), make old style depends an error 2010-11-23 18:34:20 +00:00
espie
1c9acc51a6 tweak where stem-* is computed, to be documented and used later 2010-11-20 19:57:59 +00:00