[FreeBSD-Ports-Announce] Time to bid farewell to the old pkg_ tools
Michel Talon
talon at lpthe.jussieu.fr
Thu Feb 6 18:17:34 UTC 2014
Le 6 févr. 2014 à 13:27, Julian H. Stacey a écrit :
>>
>> you =
>> have to spend a couple of minutes
>> learning the basic SQL queries, which is no more difficult that learning =
>> obtuse find and grep options.
>
> Package addicts were so myopic they ignored some people won't even
> use packages, just /usr/ports & make. local.sqlite was immaturely
> shoved in without documenting it, no "man 5 local.sqlite" no hook
> there for the "couple of minutes learning" you assert, (no hook to believe
> the "couple" you assert).
First please excuse me, this message is posted via an Apple mail system. So
how to interact with local.sqlite?
niobe% sqlite3 local.sqlite
SQLite version 3.8.2 2013-12-06 14:53:30
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
annotation options pkg_script
categories packages pkg_shlibs
deps pkg_annotation pkg_shlibs_provided
directories pkg_categories pkg_shlibs_required
files pkg_directories pkg_users
groups pkg_groups script
licenses pkg_licenses scripts
mtree pkg_option shlibs
option pkg_option_default users
option_desc pkg_option_desc
sqlite> .schema packages
CREATE TABLE packages (id INTEGER PRIMARY KEY,origin TEXT UNIQUE NOT NULL,name TEXT NOT NULL,version TEXT NOT NULL,comment TEXT NOT NULL,desc TEXT NOT NULL,mtree_id INTEGER REFERENCES mtree(id) ON DELETE RESTRICT ON UPDATE CASCADE,message TEXT,arch TEXT NOT NULL,maintainer TEXT NOT NULL, www TEXT,prefix TEXT NOT NULL,flatsize INTEGER NOT NULL,automatic INTEGER NOT NULL,locked INTEGER NOT NULL DEFAULT 0,licenselogic INTEGER NOT NULL,time INTEGER, manifestdigest TEXT NULL, pkg_format_version INTEGER);
CREATE INDEX pkg_digest_id ON packages(origin, manifestdigest);
sqlite> select name,version from packages limit 10;
pkg|1.2.5
xproto|7.0.25
xextproto|7.2.1
xbitmaps|1.1.1
renderproto|0.11.1
libXdmcp|1.1.1
libXau|1.0.8
libxml2|2.8.0_3
libpthread-stubs|0.3_4
kbproto|1.0.6
and to replace grepping
sqlite> select name,version from packages where name like '%kde%' limit 10;
kdehier4|1.1.1_1
kde4-wallpapers-freebsd|1.0
pam_kde|1.0
kde4-xdg-env|1.0.1
kde4-icons-oxygen|4.10.5
kde4-shared-mime-info|1.2
kdelibs|4.10.5_2
kde-wallpapers|4.10.5
kde-base-artwork|4.10.5
polkit-kde|0.99.1
sqlite> .quit
niobe%
From this it is easy to experiment, and the full sqlite documentation is at:
http://www.sqlite.org/lang.html
--
Michel Talon
talon at lpthe.jussieu.fr
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2825 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20140206/23c8c5cf/attachment.bin>
More information about the freebsd-ports
mailing list