Skip site navigation (1)Skip section navigation (2)
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>