4237 Commits

Author SHA1 Message Date
espie
5e55c60de7 handle distfile failure better.
- we do rescan paths anyway, so make sure we queue only path.
- forgetting distfile details does not get around caching, so do creation
of distfiles in two times. cache is there to ensure unique distfiles, and
we can still forget details.
To do: remove distfiles from queue during forget, because there's no longer
any detail there.
2015-06-11 08:42:38 +00:00
espie
0f0fe4d98f bye bye, use check-problems now 2015-06-10 09:06:25 +00:00
espie
3aa7f6f85f documentation for check-problems, and description of sample output 2015-06-10 09:04:07 +00:00
espie
f9b580293d unify options. 2015-06-08 15:37:20 +00:00
espie
2db73700a1 close enough that I can unify them together.
Introduce an interface to specifically display results, so that it
can be copied to an output file, and just not appear on the terminal
2015-06-08 15:11:53 +00:00
espie
70fc0473bd unified dependency tagging, so that both tools can do dependency closure.
Provide -o output option, which also saves the actual useful output somewhere
2015-06-08 12:56:26 +00:00
espie
828e1671f8 fix long-standing race condition where removing a lock could break things.
That's just more stuff that has to wait while scanning is going on.
2015-06-08 11:06:08 +00:00
espie
cd48bdea30 tweak fullname to put the ! (for current packages at the start)
sort things in a more systematic way.
make sure results are displayed after the progress meter is properly
terminated
2015-06-08 10:32:55 +00:00
espie
75ce7fd439 use fullname 2015-06-08 09:39:02 +00:00
espie
0e6ebbc2b9 simpler 2015-06-08 08:51:02 +00:00
espie
d475cd529c rmtree doesn't live here 2015-06-07 13:01:05 +00:00
espie
c7446b9897 fsck tricks. Very often, the "invalid plists" are actually empty files left
behind after a panic. So just say so, saves you the hastle of going edit
the file, and hey, that's just empty space!
2015-06-07 12:21:21 +00:00
espie
cb38dae8b9 reuse the plistscanner infra 2015-06-07 12:05:53 +00:00
espie
01dbfca345 provide a forwarder to progressmeter, simplifies code
tweak for using in check-common-dirs: specify the reader,
allow a pass after scan.
2015-06-07 12:05:22 +00:00
espie
72fc751185 fine-tune display, better progress report when scanning the ports tree 2015-06-06 15:01:43 +00:00
espie
f1a5a54b22 bleh, fix fix. Wrong problem 2015-06-01 20:39:06 +00:00
espie
b4d6d84223 fix, noticed by naddy 2015-06-01 16:13:55 +00:00
espie
9681cbd86f clean-up unnecessary globals 2015-06-01 00:01:48 +00:00
espie
b11c2ac60f make progress on an older projects, scanning plists is a "standard" activity.
refactor it as PlistScanner (done some time ago), and use it in check-conflicts
(I had a stupid bug somewhere, mainly forgot to initialize stuff properly...)
2015-05-31 10:38:27 +00:00
espie
889658ea65 similar change to check-conflicts 2015-05-29 10:40:06 +00:00
espie
a65cc8c8f5 fix getting pkgpath in the ports tree case 2015-05-29 09:18:40 +00:00
pascal
7bf974224a Switch gcc4 default to 4.9 (except on alpha) to fix bulk builds now that
libreoffice requires 4.9.

tested in a bulk build by aja@
2015-05-28 08:12:38 +00:00
espie
7376b9f35b the grabber object triggers reading existing global distinfo, and it does
not do anything else, so create it early so that we read distinfo
concurrently with hosts startup scripts
2015-05-27 11:15:40 +00:00
rpe
666f5a2f4c Add perl5 to top_level_categories to prevent portcheck complaining.
cpan.port.mk adds all ports that use that module to the perl5 category.

OK zhuk@ sthen@
2015-05-26 19:12:11 +00:00
espie
d7bd650dfb clean up some of the oldest code converted to separate users 2015-05-25 17:37:26 +00:00
espie
b364bd531d tweak find_dependencies to just return a result (deps or path)
reuse in can_be_junked. As exemplified by editors/tiled, a failing
port with nojunk set should also prevent junk tentatives, as these
will fail, but still untaint hosts...

seen by aja@ and naddy@, most probably.
2015-05-24 06:48:51 +00:00
czarkoff
38618cae6a Set HOMEPAGE to https://github.com/${GH_ACCOUNT}/${GH_PROJECT} for ports that
use GH_* variables.

OK sthen@
2015-05-23 10:53:24 +00:00
espie
a961ac53e0 fix "nochroot" mode. Problem noticed by Mark Patruck 2015-05-20 11:54:35 +00:00
espie
e24afb41c1 zap local code. Now that chroot changes class, it's much better to use it
directly.
2015-05-20 08:34:45 +00:00
edd
6f114bf516 Reserve user and group for upcoming mosquitto port. 2015-05-18 21:10:18 +00:00
espie
391645a2bd use File object (name + user) to ensure watched files are watched with the
correct user. Should fix sthen@'s problems.

(File interface to be used elsewhere, as it's less cumbersome)
2015-05-18 16:35:15 +00:00
espie
4125493a02 Already run as the correct user, so revert.
run it  in a chdir(distdir) instead, avoids situations
where the original dir is inaccessible by unpriv_user AND
simplifies the code too. What more could you ask for ?
2015-05-17 20:39:45 +00:00
jasper
8bf92bb693 _logstash checks in 2015-05-17 10:24:55 +00:00
espie
59b4a6a4d6 make sure we switch to a directory within the chroot on localhost,
as per chroot(8).
2015-05-17 08:29:31 +00:00
espie
550697f7a6 We never use groups separately, make it a grouplist.
Get group name as well.

Pass BUILD_USER/BUILD_GROUP/FETCH_USER/FETCH_GROUP as env variables to STARTUP
script.
2015-05-16 18:14:04 +00:00
espie
db2b669193 if the build-user of dpb can't get to bulk/update directories, it's
not really an issue. This is probably the issue aja saw earlier today,
and I just ran into it myself.
2015-05-16 17:04:51 +00:00
espie
372cc73c8f make log files more helpful, when dependencies get coalesced together and
handled by an earlier port, link to the relevant port which has the pkg_add.
Makes it much easier to figure out when show-prepare-results fails because
of conflicts in dependent ports...
2015-05-16 17:01:53 +00:00
espie
70b1c1c81b chdir($distdir) at the start of expire_old
First, it makes for simpler code. It also allows things to work when your
cwd is not readable by your user, such as /root, since File::Find wants the
cwd.
2015-05-16 15:27:48 +00:00
espie
6dd937461c In -F mode, things are run directly from within dpb, so we must ensure
the user changes correctly.

OO is cool: no need to store the user in each distfile, since it's in
the repository.
2015-05-16 12:23:05 +00:00
espie
627af03a40 run this part as the correct user.
avoids situations where dpb is run from a dir inaccessible by unpriv_user
found out by aja@
2015-05-16 10:52:19 +00:00
jasper
6b318f7309 add PORTROACH_COMMENT, requested by sthen@:
"For use when there's a specific reason why you have been slacking on the
update and want an easy place to make a note of it :-)"
2015-05-14 18:00:27 +00:00
espie
b6fb756731 only use the first group in the list 2015-05-14 11:15:29 +00:00
espie
cc0f115edf make sure the base_user has everything it needs 2015-05-13 15:14:13 +00:00
espie
a51ddc650d grr, thinko 2015-05-13 15:05:56 +00:00
espie
a084101510 duplicated code 2015-05-13 14:44:13 +00:00
espie
004ce15105 fix the kde3 vs kde4 bug.
frequent occurrences of tag mismatches were probably triggered by
the import of qt5, which is a long-running nojunk port.

when we're finished with kdeN ports, there's pressure to force junking to
go thru kdeM ports, BUT actual junking *won't* happen in the presence of
a nojunk port, though the current code make it seem as though
we've "succeeded".

Forensics shows:
23826@1431149112: K: x11/kde4/webdev openbsd-2 kde3 vs kde4
23826@1431149112: J: devel/hs-FindBin openbsd-2
23826@1431149119: B: security/p5-Crypt-OpenSSL-RSA
23826@1431149120: J: x11/tellico-kde4 openbsd-2

which made no sense since nothing happened between the K and the J.

But the log of tellico shows the junk not happening.

Still tainted: 1
>>> Running junk in x11/tellico-kde4 at 1431149274
Can't run junk because of lock on x11/qt5,,-main

So synch "can_be_unjunked" for forced junks: it should not succeed if there's
a nojunk port.
2015-05-13 14:27:13 +00:00
espie
c85aabe25e oops, clock abstract core does NOT follow the pattern. 2015-05-13 12:21:11 +00:00
espie
b712e8531b complete local users with groups list using id -G.
Use that when switching groups to enforce full correct list of groups.

Figure out users that must exist locally, and error out if they don't.

Based on feedback by sthen@
2015-05-13 11:03:18 +00:00
espie
ad4edd7671 was obvious for me... 2015-05-13 09:12:39 +00:00
espie
37f70a2c09 go to root more correctly. 2015-05-12 19:49:54 +00:00