Date: Fri, 31 Aug 2012 08:46:19 -0600 From: John Nielsen <lists@jnielsen.net> To: Matthew Seaman <matthew@freebsd.org> Cc: "ports@freebsd.org" <ports@freebsd.org>, "current@freebsd.org" <current@freebsd.org>, Julien Laffaye <jlaffaye@freebsd.org> Subject: Re: Script to set/unset "automatic" status in PKGNG database Message-ID: <95FAC698-F7DA-4E49-BB20-EBB023ACF1F2@jnielsen.net> In-Reply-To: <50405219.8090804@FreeBSD.org> References: <CFA2273E-4498-4A64-BC9F-CE5AA560409D@jnielsen.net> <503FDB2A.4000609@freebsd.org> <D1F2FA16-85D7-4365-B4BB-235C1A7D5327@jnielsen.net> <50405219.8090804@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Aug 30, 2012, at 11:56 PM, Matthew Seaman <matthew@freebsd.org> =
wrote:
> On 30/08/2012 22:44, John Nielsen wrote:
>> After dialog(1) exits the script has a list of packages to mark as
>> automatic. Is there a non-SQL way to efficiently get the inverse?
>> I.e. the set { all_packages - new_automatic_package_list } ?
>=20
> Use pkg query - it is really quite powerful. This shows all
> non-autoremove packages as name-version:
>=20
> pkg query -e '%a =3D=3D 0' '%n-%v'
>=20
> and this shows the port origin for all autoremove packages:
>=20
> pkg query -e '%a =3D=3D 1' '%o'
Thanks. I know about pkg query (and in fact my script uses something =
very much like that to get the initial list of automatic packages). What =
I was trying to do was get a list of packages installed but not in =
another list. The other list represents _future_ automatic packages but =
not necessarily what is in the database now.
In any case, I worked around it but first unsetting all packages and =
then setting the user-selected list back to automatic.
JN
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?95FAC698-F7DA-4E49-BB20-EBB023ACF1F2>
