Skip site navigation (1)Skip section navigation (2)
Date:      22 Apr 2003 22:33:09 -0400
From:      Joe Marcus Clarke <marcus@marcuscom.com>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        Sergey Matveychuk <sem@ciam.ru>
Subject:   Re: Recent bsd.port.mk changes
Message-ID:  <1051065189.68327.9.camel@shumai.marcuscom.com>
In-Reply-To: <20030423013231.GA66663@rot13.obsecurity.org>
References:  <000501c3074c$e5c2be80$0a2da8c0@sem> <3EA48724.3080602@ciam.ru><3EA53B4A.4030700@ciam.ru> <3EA5EA0D.8070500@ciam.ru> <20030423013231.GA66663@rot13.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-tXVprENm8H00lXL9i6GI
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Tue, 2003-04-22 at 21:32, Kris Kennaway wrote:
> On Wed, Apr 23, 2003 at 05:19:09AM +0400, Sergey Matveychuk wrote:
> > Kris Kennaway wrote:
> > >features enabled ("foo-1.2.3" vs "foo-esound-1.2.3" etc.)  This is why
> > >I suggested that comparing the installation prefix and pkg-plist for
> > >overlap with ports that have the same origin may be the only way to do
> > >this reliably.
> >=20
> > I don't know how to compare pkg-plist files? How to make decision a por=
t=20
> >  is older version and not variant of current one? It must be some=20
> > evristic method. Some files can be moved in other place, some files can=
=20
> > be new, some files can be moved away in new version.
> > In port's variant case path can be changed or file name can be changed=20
> > (libsome.so and libsome_r.so).
>=20
> You can extract the prefix from the installed package by grepping for
> @cwd in +CONTENTS.

Or you can use pkg_info -p -q ${PKGNAME} which is what the patch I sent
you uses.

>   Similarly you can extract the list of installed
> files by doing grep -v ^@ +CONTENTS. =20

pkg_info -f -q ${PKGNAME} should provide this.

> For each package that has our
> origin (or a previous origin as looked up in the MOVED file), do the
> following: if the installed prefix =3D=3D $PREFIX and one or more of the
> installed files matches a file in pkg-plist (checked using
> e.g. comm(1)), then we are going to conflict and we should not
> install.  I can't immediately think of how to implement the installed
> plist extraction without using a temporary file, but it should be
> possible with some thought.

I can try to modify the patch I sent you to do this check as well.  It
already does the ${PREFIX} check.

Joe

>=20
> Kris
--=20
PGP Key : http://www.marcuscom.com/pgp.asc

--=-tXVprENm8H00lXL9i6GI
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (FreeBSD)

iD8DBQA+pftlb2iPiv4Uz4cRAr1TAJ4z4LDTlB+Jg01DQrS/ebjBXhKoJQCeN/hR
ngWP8egXWHbDpPxVFTyrtLg=
=MctH
-----END PGP SIGNATURE-----

--=-tXVprENm8H00lXL9i6GI--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1051065189.68327.9.camel>