Date: Thu, 15 Jan 2009 08:40:13 +0200 From: Ion-Mihai Tetcu <itetcu@FreeBSD.org> To: Doug Barton <dougb@FreeBSD.org> Cc: ports@FreeBSD.org Subject: Re: portmaster some_port vs. portmaster 'some_port*' Message-ID: <20090115084013.268c7be5@it.buh.tecnik93.com> In-Reply-To: <496E62F8.6080103@FreeBSD.org> References: <20090114203941.7516d639@it.buh.tecnik93.com> <496E62F8.6080103@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_/My_eEnRL/sM_T7Ing7HQ.7a Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Wed, 14 Jan 2009 14:11:04 -0800 Doug Barton <dougb@FreeBSD.org> wrote: > Ion-Mihai Tetcu wrote: > > Hi, > >=20 > >=20 > > Maybe I'm not reading the man page correctly, but I would expect=20 > > portmaster, if invoked with a wild-card, to: > > - first update the dependencies of the ports matched by the > > 'some_port*' it gets on the command line > > - then to update the ports matched by said wild-card in dependency > > order. >=20 > That's close to what actually happens. We actually have two issues > here, so I'll address them separately. >=20 > When portmaster gets multiple ports on the command line (whether via a > glob or via a list) the initial portmaster process acts like a task > scheduler. The parent spawns new portmaster processes for each > individual port and keeps track of the various issues such as > dependencies already updated, etc. When all the ports listed have been > updated the parent cleans up the temp files and exits. Hmm, then can you please document this explicitly in the man page? =46rom my point of view it should also check the dependency relation between whatever it gets after parsing the command line ( N ports, M ports as a result of a wild-card, ...). Else I'm afraid it is a nice way to self-foot-shooting. > Thus, if you were to feed it a list like this: > portmaster port1 dep1-of-port1 port2 dep2-of-port1 > it would do the configure phase on port1 which would unconditionally > include the configure phases of dep1 and dep2 since they are on your > list, as well as the configure phase for port2 of course. When the > first child process (updating port1) exited the parent would see that > dep1 has already been done and skip to port2, then it would see that > dep2 was already done as well, and it would proceed to the build > phase. >=20 > So, in theory there should have been no difference between your > 2_ports and wildcars logs, but somehow portmaster acted properly in > the first case, but thought everything was up to date in the second. > That does look like a bug. >=20 > The other issue is that claws-mail failed to configure. Whether that's > because all the dependencies were not up to date or because of a > problem with that port, I do not know. Well, it is a problem in the Makefile more or less. libetpan comes from LIBDEPENDS, but it's un-version; not that being versioned would help since it seems they didn't bother to bump the shlib version when they should have. I discussed the problem with miwi@ and we're going to explicitly depend on the pkg_version needed. But this is how I found the problem with portmaster, since I had libetpan-0.55 installed and claws-mail now requires 0.57 (which is the current version in the ports). > To debug the first problem please add a -x to the shebang line in > /usr/local/sbin/portmaster and then run it in a script session like > this: portmaster -vDHB claws-mail\* > and send me the script output in private mail. If the build fails send > me the log file for that too please. Trouble is I already upgraded by hand. But since I still have some hundred ports to upgrade and I'm pretty sure I saw this before I'll try to reproduced it and pass you the results. Thanks for your help, --=20 IOnut - Un^d^dregistered ;) FreeBSD "user" "Intellectual Property" is nowhere near as valuable as "Intellect" FreeBSD committer -> itetcu@FreeBSD.org, PGP Key ID 057E9F8B493A297B --Sig_/My_eEnRL/sM_T7Ing7HQ.7a Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.10 (FreeBSD) iEUEARECAAYFAklu2lIACgkQJ7GIuiH/oeUmmQCWLkiqGIgq2ZTEOrvkZMaPCR6l 2QCfWzS3EkxTSNT66MwKkRslmaQZ2aI= =SFNI -----END PGP SIGNATURE----- --Sig_/My_eEnRL/sM_T7Ing7HQ.7a--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090115084013.268c7be5>