Commit Graph

3021 Commits

Author SHA1 Message Date
espie
69df96b71c properly forget old info when rescanning... 2011-12-04 10:39:52 +00:00
espie
0393f66f06 most important usage of dpb upfront, before the exhaustive description of
option.

Drop a few heavy hints regarding ssh usage.
2011-12-03 18:02:39 +00:00
espie
1674edcbbd open needed just once. 2011-12-03 11:10:48 +00:00
espie
c1a46f71e8 faster NFS: if the missing file suddenly reappears, we don't need to rescan
the path, just put it back in the queue, and forget it ever happened.
2011-12-03 11:03:07 +00:00
espie
91b04a0eac fix quick-start: the interface to grabber changed in a silent way.
explicitly move the main_loop near handle_non_waiting_jobs to try to
fix that mess (and finish all the time)
2011-12-03 11:01:47 +00:00
espie
0037a6f50e little message tweak (to be changed anyways) 2011-12-03 09:29:41 +00:00
espie
4d52ff4e54 new -J option
- refactor redirect a bit to store multi-line results to a temporary file
- new show-prepare-results stage using that
- prepare and show-prepare-results shouldn't be NoTime, since they're
predictable.
- lock host thru depends -> junk in the junk case.
acquiring the lock is done thru polling in the child, so that it doesn't block
dpb proper.
- new "junk" stage that gathers dependencies and deletes them.
2011-12-02 22:37:36 +00:00
espie
2cfd4c615d new junk option (to remove packages as they're no longer needed) to pass
around thru JobBuilder (along with locks since we need to write stuff into
that file)
2011-12-02 22:33:46 +00:00
espie
b5c447a355 don't buffer printing to locks, to be able to get dependencies early
gather needed=* lines from locks (may want to cache that info later,
but I don't think it has any actual performance impact)
2011-12-02 22:32:07 +00:00
espie
770bcd5b5a methods required to be able to lock per-host 2011-12-02 22:29:28 +00:00
espie
1c7aab78c9 sort -u requires one parameter to not hang on stdin...
allow SUBDIR=archivers/arc make show-prepare-results to work
2011-12-02 15:14:20 +00:00
espie
18a4d6f4bf remove dangerous optimization: have paths explicitly pass thru the depends
stages, even if the package is already there.

This could break EXTRA depends where the package would already be there,
and thus its dependency tree not really solved, and thus depends could
easily miss packages...

problem reported by nigel@... and not reported by ajacoutot@ :)
2011-12-02 11:52:06 +00:00
espie
f44c50300c EXTRA should (partly) be handled like DEPENDS/BDEPENDS 2011-12-02 11:40:25 +00:00
edd
fc6c327b16 reserve a uid/gid for lcdproc
OK sebastia@
2011-12-01 18:43:32 +00:00
espie
5a04aafc13 zap old stuff, only read plist from stdin if -i was given 2011-12-01 11:20:19 +00:00
espie
ac5bbeeeae rpath without libs, that's a fun one 2011-12-01 11:13:25 +00:00
espie
2a68fab763 thinko 2011-12-01 11:11:23 +00:00
dcoppa
f1ac9597b6 Reserve a seat for the redis user 2011-11-29 15:50:24 +00:00
naddy
4742472cb6 alpha uses gcc4 now, and so does hppa64 2011-11-29 15:11:18 +00:00
sthen
6a53633581 devel/quirks is important, enforce adding it to the plists in check-plist
as done with pkglocatedb. Adding it here suggested by naddy@ (I was originally
going to add it to all the plists).
2011-11-28 12:59:50 +00:00
jasper
5c15af4428 - move to bin and adjust paths where needed, manpages will follown soon 2011-11-28 10:30:22 +00:00
sthen
e7fe871f2c replace "!defined(MASTER_SITE_OVERRIDE)" check for MASTER_SITES[0..9] with the
new ${MASTER_SITE_OVERRIDE:L} == "no" construct, problem reported by naddy@.
2011-11-27 21:04:34 +00:00
espie
48b9bf74ff bug fix, don't forget to finish_scanning when reading from source ! 2011-11-27 17:37:47 +00:00
espie
34c5369453 unconfuse naming 2011-11-27 17:31:54 +00:00
espie
03d1bfec7f generate a tempfile, THEN move to saved_libs if things are okay 2011-11-27 17:21:44 +00:00
espie
51892d0631 explicitly ask for stdin 2011-11-27 16:52:04 +00:00
espie
0dd6bc04b7 document current changes 2011-11-27 16:50:34 +00:00
espie
adfd6c2aaf flag error with -i and no source 2011-11-27 16:50:19 +00:00
espie
5c28768a5a more sensible option combinations. 2011-11-27 16:40:58 +00:00
espie
e0c5221e97 add a bit of debug code that logs everything that's going on... 2011-11-27 16:15:52 +00:00
jasper
d435bb4bc0 whitespace nit 2011-11-27 14:59:21 +00:00
espie
bc6cc54b9b move binary scanner into its own module 2011-11-27 14:49:42 +00:00
jasper
5a5c2e9e14 add a manpage
ok espie@
2011-11-27 13:52:10 +00:00
espie
961be0f72e add a "quiet" option that doesn't say anything about extra libraries unless
there's also missing wantlibs.
2011-11-27 13:39:11 +00:00
espie
f57d8eb001 run objdump in batches, for a *huge* speed-up 2011-11-27 13:29:38 +00:00
jasper
953ca5dbf2 move to bin/ and ajust CPANTEST path
ok espie@
2011-11-27 13:29:35 +00:00
espie
061934ab66 prepare the non ldd parser to handle multiple files 2011-11-27 13:10:36 +00:00
espie
d1e36fa052 finish moving parts to the Runner object 2011-11-27 12:42:40 +00:00
espie
7a7321a0bb rename a few things 2011-11-27 12:29:10 +00:00
espie
d80fe79869 explain source to runner 2011-11-27 12:24:06 +00:00
espie
63f57fae21 abstract running objdump/ldd a bit more into its own class 2011-11-27 12:09:17 +00:00
espie
07aa1b9ba6 move objdump runs to state in order to be able to run it once 2011-11-27 11:50:26 +00:00
espie
cd9c477eff tweak to allow for several files in a single run 2011-11-27 11:37:58 +00:00
espie
5b1516ea0b unify ldd/objdump runs somewhat
tweak FileSource to return its directory separately from the filename,
so that running objdump does a chdir
adjust filename to be a relative path.
2011-11-27 11:29:33 +00:00
espie
a3733c98dd for :patch ports, show-prepare-results should also include the list of
installed dependent ports, so we have no choice but ask, which is fairly
easy to do.
2011-11-26 13:52:52 +00:00
espie
199c383918 slightly nicer display, especially in the presence of a progress meter
on long lists of WANTLIBs.
2011-11-26 12:02:54 +00:00
espie
7b925859cf stop getting bad timings from erroneous builds. 2011-11-26 11:46:15 +00:00
espie
ed8b3e60fa a few more notes 2011-11-25 15:05:56 +00:00
espie
03b76c3a13 - tweak "prepare" stage to give more accurate default/dependency result directly
code should still work with older pkg_info, but you need uptodate pkg_info
for best messages, e.g.,:
===> kdelibs-3.5.10p14 depends on: gettext->=0.10.38 -> gettext-0.18.1p0
===> kdelibs-3.5.10p14 depends on: metaauto-* -> metaauto-1.0
===> kdelibs-3.5.10p14 depends on: autoconf-2.61 -> autoconf-2.61p3
===> kdelibs-3.5.10p14 depends on: gmake-* -> gmake-3.82

- adds target: show-prepare-results that yields the list of installed packages
deduced by prepare

- kill undocumented CLEAN_PLIST_OUTPUT
- remove old internals
- ensure IS_INTERACTIVE and REGRESS_IS_INTERACTIVE are always defined
- fix a bug in FETCH_MANUALLY and BATCH interaction
2011-11-25 13:58:13 +00:00
espie
636426623c grmf, managed to reintroduce two PKG_DBLOCK 2011-11-24 19:24:54 +00:00
espie
ff9908d97d bug-fix, behavior for dependency check with "_DEPENDS_TARGET=package" is
disturbingly complicated (as reported by aja@, naddy@, and others. Sorry,
was looking at the wrong code, so I didn't see the bug)
2011-11-24 18:12:28 +00:00
espie
752bf17c1c zap/protect some stuff.
keep FTP_KEEP_ALIVE for now, until we sort it out.
2011-11-24 17:49:58 +00:00
ajacoutot
36de304a5c build->bin 2011-11-24 14:26:16 +00:00
espie
60bc66c627 use PREPARE_CHECK_ONLY to weed out bugs in dpb.
also, missed passing dontclean to one instance of add_normal_tasks, oops
2011-11-22 16:48:01 +00:00
espie
4b801b7017 shorter lock line: user doesn't really care that multiple pkgpaths ran into
the same lock, rather that it's a lock, and what the lockname is.
2011-11-22 16:46:44 +00:00
espie
fdc7a9c9fd subtle effect of equivalence: sometimes, we do not get back the subdir
we asked for.

This can be a problem, as rescan relies on it to reenter the path in the
various queues.

So, when we build the equivalence hash, give special treatment to extra
paths that match the actual subdirs list.

Problem reported by naddy@, who sees sporadic errors linked to NFS lag,
which mean that paths sometimes get flagged as errors, then later the error
vanishes automatically when the package appears...

well, this makes darn sure the correct pkgpath does not vanish.
2011-11-22 16:44:53 +00:00
jasper
a102f0ce98 whitespaces 2011-11-21 17:13:32 +00:00
espie
2522fc337e minor tweaks 2011-11-21 16:43:52 +00:00
espie
825f591fa4 BASESYSCONFDIR points to /etc (global user settings), and SYSCONFDIR
is derived from it.
old march discussion, prodded by fgs@ about it.
2011-11-21 16:42:52 +00:00
espie
73ca52b733 simplify. why do I put sentences in parenthesis ? ETOOMANYNESTLEVELS 2011-11-21 15:02:14 +00:00
espie
1905aa1a77 adjust to some recent changes and improvements
give hints as to where to get relevant info.
be more forceful about WRKOBJDIR on local disk.
2011-11-21 14:58:29 +00:00
espie
d40a7da2f0 also make the connection to pkgpath(7) more obvious 2011-11-21 12:39:39 +00:00
espie
0ed05101b4 nicer less confusing messages 2011-11-21 12:26:05 +00:00
espie
f5458c8a3e better check for PREPARE_CHECK_ONLY: assume we're second_pass already in
the check_install case.
That way, we get the full error report.
2011-11-21 12:20:53 +00:00
espie
eba34186b3 Speed up prepare stage: simplify the old loop, remove old cruft.
In the case where we want an install, run one single pkg_info instead of two.
If this fails during the second pass, we will run it again to figure out
whether the install or the default is wrong, but this is an error condition,
so this need not slow down the general case.

Add PREPARE_CHECK_ONLY knob, to be used by dpb: dpb already installs what
it needs, so for install dependencies to be missing during the "prepare"
stage is an error in dpb's logic...
2011-11-21 12:16:42 +00:00
espie
be80680935 point to pkgpath.7 2011-11-21 12:03:05 +00:00
espie
55ef3a8806 dpb refuses multiple subpackages in a pkgpath, there's no reason for
pkgpath.mk to do otherwise.
2011-11-20 15:38:08 +00:00
sthen
2893ab28a2 add a commented-out ACCEPT_JRL_LICENSE, useful for bulk builders 2011-11-19 20:22:08 +00:00
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
599f0be88c also don't emit the same string twice. 2011-11-17 23:14:43 +00:00
sthen
5749b5be10 rename MODGCC{3,4}_ARCHES to MODGCC{3,4}_ARCHS, suggested by naddy,
phessler and jasper agree
2011-11-17 18:03:43 +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
sthen
cf870b6b54 .poison MODGCC4_ARCHS, just to be different this module uses MODGCC4_ARCHES 2011-11-17 14:32:24 +00:00
espie
75f7695cea quick&dirty manpage 2011-11-16 23:11:29 +00:00
espie
c295da80f5 fix option handling 2011-11-16 23:05:28 +00:00
sthen
3796502e06 a couple more, mostly from amit kulkarni 2011-11-16 23:00:41 +00:00
espie
1d5b371ed7 a second FULLPATH=Yes needed 2011-11-16 22:59:42 +00:00
espie
ed36f69a32 fix for recent infrastructure changes
also fix for FULLPATH !
2011-11-16 22:57:54 +00:00
espie
12e4da425d move 2011-11-16 22:57:03 +00:00
sthen
f18e4d4cba Add a sample file with a number of settings which many porters are
using in mk.conf, especially a bunch of .poison lines for common typos,
including suggestions from aja, espie, naddy and others. Can be used
with .include in mk.conf.

oks from at least william@ phessler@ and several users like it too.
2011-11-16 18:45:28 +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
jasper
9f406a8adc - remove bogus XXX 2011-11-16 10:56:57 +00:00
espie
e1d6af2f53 simplify external call a bit 2011-11-16 10:37:35 +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
06e9fb91d4 new option: -needed, to speed lib-depends-args. 2011-11-15 20:02:38 +00:00
sebastia
b448bf3fb0 Reserve uid 685 for misc/rocrail, a digial model railroad daemon
OK phessler@
2011-11-14 22:31:44 +00:00
jasper
f3ebafe1ff Output an error message if we're supposed to link with a non-existent library,
instead of puking perl errors.

ok espie@
2011-11-14 22:14:38 +00:00