Comments (23)
The advantage of make generate-plist over pkg-plist: it shows expanded variables:
e.g.
share/bacula/bacula-ctl-dir vs
%%DATADIR%%/bacula-ctl-dir
from freshports.
As zi pointed out on IRC, this will enable ports that use either PLIST_FILES or PLIST_DIRS to have something listed.
from freshports.
freshports.org=# alter table ports add column generate_plist text;
ALTER TABLE
freshports.org=#
from freshports.
No, after initial tests for GIST indexes, I think we want to put the individual lines from the generate-plist output into individual rows:
CREATE TABLE public.generate_plist(
id serial NOT NULL,
port_id integer NOT NULL,
installed_file text NOT NULL
);
CREATE INDEX generate_plist_pk ON public.generate_plist
USING btree
(
id
);
CREATE INDEX generate_plist_installed_file_gin_idx ON public.generate_plist
USING gin
(
to_tsvector('english', installed_file)
);
CREATE INDEX generate_plist_port_id_idx ON public.generate_plist
USING btree
(
port_id
);
This should make for faster and more elaborate searching.
from freshports.
Discussions indicate this is the wrong command.
Correct information is only available after building the port.
May be better to mark data stale on new commit & schedule fetch later from package building server.
I'll confirm the 'must build' tomorrow but des, mat, bdrewery, & brad indicate different approach may be required.
from freshports.
They are correct in that you can only truly obtain this data after the package has been built. However, the generate-plist target can give us more information than exists in the database today. As I mentioned above, things that automatically generate plist items will not be reflected in this approach.
It was not my intent for this to be the perfect solution, but rather inch us a little closer than where we are today, without necessitating that we build packages or process the packages that have been built.
from freshports.
Does make generate-plist
return essentially the same info as pkg info -l pkgname
?
You might persuade the pkg repo-meisters to enable the --list-files
flag to pkg-repo(8), which should give you a downloadable filesite.txz
with all the files in all the packages. There's a day or so's delay though.
from freshports.
https://svnweb.freebsd.org/ports/head/Mk/bsd.port.mk?revision=450002&view=markup#l4341
Basically, concatenates and processes substitutions for pkg-plist, PLIST_DIRS, PLIST_FILES.
Today, only the pkg-plist life itself ends up in the freshports DB (with no substitutions).
Again, not perfect, but better.
from freshports.
I loaded up generate_plist, but I have not examined the results. We have results for 12,000 more ports. About 2000 ports have no in generate_plist.
NOTE: I must still analyze the field contents to verify accuracy.
freshports.org=# select count(*) from ports where generate_plist is not null;
count
-------
33213
(1 row)
freshports.org=# select count(*) from ports where pkg_plist is not null;
count
-------
21119
(1 row)
freshports.org=#
from freshports.
Compare the results for net/libzapojit:
freshports.org=# select element_pathname(element_id), generate_plist, pkg_plist from ports where generate_plist is not null and pkg_plist is not null limit 1;
element_pathname | generate_plist | pkg_plist
----------------------------+------------------------------------------------------------+-------------------------------------------------------
/ports/head/net/libzapojit | share/doc/libzapojit-0.0/ZpjGoaAuthorizer.html +| %%DOCSDIR%%-0.0/ZpjGoaAuthorizer.html +
| share/doc/libzapojit-0.0/ZpjSkydrive.html +| %%DOCSDIR%%-0.0/ZpjSkydrive.html +
| share/doc/libzapojit-0.0/ZpjSkydriveEntry.html +| %%DOCSDIR%%-0.0/ZpjSkydriveEntry.html +
| share/doc/libzapojit-0.0/ZpjSkydriveFile.html +| %%DOCSDIR%%-0.0/ZpjSkydriveFile.html +
| share/doc/libzapojit-0.0/ZpjSkydriveFolder.html +| %%DOCSDIR%%-0.0/ZpjSkydriveFolder.html +
| share/doc/libzapojit-0.0/ZpjSkydrivePhoto.html +| %%DOCSDIR%%-0.0/ZpjSkydrivePhoto.html +
| share/doc/libzapojit-0.0/annotation-glossary.html +| %%DOCSDIR%%-0.0/annotation-glossary.html +
| share/doc/libzapojit-0.0/authorization.html +| %%DOCSDIR%%-0.0/authorization.html +
| share/doc/libzapojit-0.0/home.png +| %%DOCSDIR%%-0.0/home.png +
| share/doc/libzapojit-0.0/index.html +| %%DOCSDIR%%-0.0/index.html +
| share/doc/libzapojit-0.0/index.sgml +| %%DOCSDIR%%-0.0/index.sgml +
| share/doc/libzapojit-0.0/ix01.html +| %%DOCSDIR%%-0.0/ix01.html +
| share/doc/libzapojit-0.0/left.png +| %%DOCSDIR%%-0.0/left.png +
| share/doc/libzapojit-0.0/libzapojit-0.0-ZpjAuthorizer.html+| %%DOCSDIR%%-0.0/libzapojit-0.0-ZpjAuthorizer.html +
| share/doc/libzapojit-0.0/libzapojit-0.0.devhelp2 +| %%DOCSDIR%%-0.0/libzapojit-0.0.devhelp2 +
| share/doc/libzapojit-0.0/right.png +| %%DOCSDIR%%-0.0/right.png +
| share/doc/libzapojit-0.0/skydrive.html +| %%DOCSDIR%%-0.0/skydrive.html +
| share/doc/libzapojit-0.0/style.css +| %%DOCSDIR%%-0.0/style.css +
| share/doc/libzapojit-0.0/up.png +| %%DOCSDIR%%-0.0/up.png +
| share/doc/libzapojit/AUTHORS +| %%DOCSDIR%%/AUTHORS +
| share/doc/libzapojit/COPYING +| %%DOCSDIR%%/COPYING +
| share/doc/libzapojit/ChangeLog +| %%DOCSDIR%%/ChangeLog +
| share/doc/libzapojit/INSTALL +| %%DOCSDIR%%/INSTALL +
| share/doc/libzapojit/NEWS +| %%DOCSDIR%%/NEWS +
| share/doc/libzapojit/README +| %%DOCSDIR%%/README +
| include/libzapojit-0.0/zpj/zpj-authorization-domain.h +| include/libzapojit-0.0/zpj/zpj-authorization-domain.h+
| include/libzapojit-0.0/zpj/zpj-authorizer.h +| include/libzapojit-0.0/zpj/zpj-authorizer.h +
| include/libzapojit-0.0/zpj/zpj-goa-authorizer.h +| include/libzapojit-0.0/zpj/zpj-goa-authorizer.h +
| include/libzapojit-0.0/zpj/zpj-skydrive-entry.h +| include/libzapojit-0.0/zpj/zpj-skydrive-entry.h +
| include/libzapojit-0.0/zpj/zpj-skydrive-file.h +| include/libzapojit-0.0/zpj/zpj-skydrive-file.h +
| include/libzapojit-0.0/zpj/zpj-skydrive-folder.h +| include/libzapojit-0.0/zpj/zpj-skydrive-folder.h +
| include/libzapojit-0.0/zpj/zpj-skydrive-photo.h +| include/libzapojit-0.0/zpj/zpj-skydrive-photo.h +
| include/libzapojit-0.0/zpj/zpj-skydrive.h +| include/libzapojit-0.0/zpj/zpj-skydrive.h +
| include/libzapojit-0.0/zpj/zpj.h +| include/libzapojit-0.0/zpj/zpj.h +
| lib/girepository-1.0/Zpj-0.0.typelib +| lib/girepository-1.0/Zpj-0.0.typelib +
| lib/libzapojit-0.0.a +| lib/libzapojit-0.0.a +
| lib/libzapojit-0.0.so +| lib/libzapojit-0.0.so +
| lib/libzapojit-0.0.so.0 +| lib/libzapojit-0.0.so.0 +
| lib/libzapojit-0.0.so.0.0.0 +| lib/libzapojit-0.0.so.0.0.0 +
| libdata/pkgconfig/zapojit-0.0.pc +| libdata/pkgconfig/zapojit-0.0.pc +
| share/gir-1.0/Zpj-0.0.gir +| share/gir-1.0/Zpj-0.0.gir
| @postexec /sbin/ldconfig -m /usr/local/lib +|
| @postunexec /sbin/ldconfig -R |
(1 row)
freshports.org=#
from freshports.
Here are 30 ports without any output at all. We can ignore the branch ports, because the field population process did not consider such ports.
freshports.org=# select element_pathname(element_id), generate_plist, pkg_plist from ports where generate_plist is null and pkg_plist is null and status = 'A' limit 30;
element_pathname | generate_plist | pkg_plist
-----------------------------------------------------+----------------+-----------
/ports/head/science/brian | |
/ports/head/devel/py-fasteners | |
/ports/head/devel/py-retrying | |
/ports/head/devel/py-cursive | |
/ports/branches/2016Q4/www/linux-c7-flashplugin11 | |
/ports/head/devel/py-pika-pool | |
/ports/branches/2014Q1/games/noegnud-addons | |
/ports/head/devel/py-repoze.tm2 | |
/ports/head/databases/py-mysqlclient | |
/ports/head/databases/py3-mysqlclient | |
/ports/branches/2016Q3/sysutils/php55-posix | |
/ports/branches/2016Q3/net/php55-ldap | |
/ports/branches/2016Q3/databases/php55-pdo_firebird | |
/ports/branches/2016Q3/security/php55-hash | |
/ports/branches/2016Q3/textproc/php55-xmlreader | |
/ports/branches/2016Q3/textproc/php55-xsl | |
/ports/branches/2016Q3/databases/php55-mysql | |
/ports/branches/2016Q3/textproc/php55-dom | |
/ports/branches/2016Q3/databases/php55-interbase | |
/ports/branches/2016Q3/databases/php55-pdo_sqlite | |
/ports/branches/2016Q3/devel/php55-json | |
/ports/branches/2016Q3/ftp/php55-ftp | |
/ports/branches/2016Q3/devel/php55-pcntl | |
/ports/head/sysutils/rubygem-vagrant-bhyve | |
/ports/branches/2016Q3/databases/php55-pdo_dblib | |
/ports/branches/2016Q3/databases/php55-mysqli | |
/ports/branches/2016Q3/databases/php55-dba | |
/ports/branches/2016Q3/www/php55-session | |
/ports/branches/2016Q3/net-mgmt/php55-snmp | |
/ports/branches/2016Q3/databases/php55-sybase_ct | |
(30 rows)
freshports.org=#
from freshports.
The code I wrote to populate generate_plist only populated the generate_plist column of the ports ttable. The intention was to use this new table:
freshports.org=# \d generate_plist
Table "public.generate_plist"
Column | Type | Modifiers
----------------+---------+-------------------------------------------------------------
id | bigint | not null default nextval('generate_plist_id_seq'::regclass)
port_id | integer | not null
installed_file | text | not null
Indexes:
"generate_plist_installed_file_gist_idx" gist (to_tsvector('english'::regconfig, installed_file))
"generate_plist_pk" btree (id)
"generate_plist_port_id_idx" btree (port_id)
The following command translated that flat structure to a multi-row solution in the intended table:
freshports.org=# explain analyze insert into generate_plist (port_id, installed_file) select id, regexp_split_to_table(generate_plist, E'\n') from ports where generate_plist is not null;
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------
Insert on generate_plist (cost=0.00..542365.36 rows=30268000 width=44) (actual time=629677.182..629677.182 rows=0 loops=1)
-> Subquery Scan on "*SELECT*" (cost=0.00..542365.36 rows=30268000 width=44) (actual time=0.086..29509.871 rows=5423200 loops=1)
-> Seq Scan on ports (cost=0.00..164015.36 rows=30268000 width=36) (actual time=0.066..16663.991 rows=5423200 loops=1)
Filter: (generate_plist IS NOT NULL)
Rows Removed by Filter: 15692
Planning time: 0.204 ms
Execution time: 629677.240 ms
(7 rows)
freshports.org=#
I might run some comparison tests on the single column vs multiple rows solutions.
from freshports.
5.4 million rows of generate_plist for 33,000 ports:
freshports.org=# select count(*) from generate_plist;
count
---------
5423203
(1 row)
freshports.org=# select count(distinct port_id) from generate_plist;
count
-------
33213
(1 row)
from freshports.
Exact match queries are very fast on the new table:
Show me all the ports which install files to sbin/bacula-*
freshports.org=# SELECT G.id, G.port_id, element_pathname(P.element_id), G.installed_file
freshports.org-# FROM generate_plist G JOIN ports P ON G.port_id = P.id
freshports.org-# AND G.installed_file LIKE 'sbin/bacula-%'
freshports.org-# GROUP BY 1, 2, 3, 4
freshports.org-# HAVING element_pathname(P.element_id) like '/ports/head/%'
freshports.org-# ORDER BY 3;
id | port_id | element_pathname | installed_file
---------+---------+--------------------------------------------+-----------------------
4760097 | 13986 | /ports/head/sysutils/bacula-client | sbin/bacula-fd
4749982 | 32078 | /ports/head/sysutils/bacula-client-static | sbin/bacula-fd-static
340522 | 13990 | /ports/head/sysutils/bacula-server | sbin/bacula-dir
340523 | 13990 | /ports/head/sysutils/bacula-server | sbin/bacula-sd
5276291 | 34972 | /ports/head/sysutils/bacula5-client | sbin/bacula-fd
5276719 | 34967 | /ports/head/sysutils/bacula5-client-static | sbin/bacula-fd-static
5276767 | 34969 | /ports/head/sysutils/bacula5-server | sbin/bacula-dir
5276768 | 34969 | /ports/head/sysutils/bacula5-server | sbin/bacula-sd
3102028 | 48836 | /ports/head/sysutils/bacula9-client | sbin/bacula-fd
5281011 | 48835 | /ports/head/sysutils/bacula9-client-static | sbin/bacula-fd-static
3058120 | 48837 | /ports/head/sysutils/bacula9-server | sbin/bacula-dir
3058121 | 48837 | /ports/head/sysutils/bacula9-server | sbin/bacula-sd
(12 rows)
freshports.org=#
freshports.org=# explain analyse SELECT G.id, G.port_id, element_pathname(P.element_id), G.installed_file
FROM generate_plist G JOIN ports P ON G.port_id = P.id
AND G.installed_file LIKE 'sbin/bacula-%'
GROUP BY 1, 2, 3, 4
HAVING element_pathname(P.element_id) like '/ports/head/%'
ORDER BY 3;
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Group (cost=3172.01..3172.80 rows=3 width=96) (actual time=3.587..3.595 rows=12 loops=1)
Group Key: (element_pathname(p.element_id)), g.id, g.port_id, g.installed_file
-> Sort (cost=3172.01..3172.02 rows=3 width=96) (actual time=3.586..3.589 rows=12 loops=1)
Sort Key: (element_pathname(p.element_id)), g.id, g.port_id, g.installed_file
Sort Method: quicksort Memory: 26kB
-> Nested Loop (cost=0.85..3171.99 rows=3 width=96) (actual time=0.420..3.546 rows=12 loops=1)
-> Index Scan using generate_plist_installed_file_idx on generate_plist g (cost=0.56..8.58 rows=538 width=64) (actual time=0.033..0.085 rows=16 loops=1)
Index Cond: ((installed_file >= 'sbin/bacula-'::text) AND (installed_file < 'sbin/bacula.'::text))
Filter: (installed_file ~~ 'sbin/bacula-%'::text)
-> Index Scan using ports_pkey on ports p (cost=0.29..5.87 rows=1 width=8) (actual time=0.129..0.129 rows=1 loops=16)
Index Cond: (id = g.port_id)
Filter: (element_pathname(element_id) ~~ '/ports/head/%'::text)
Rows Removed by Filter: 0
Planning time: 1.013 ms
Execution time: 3.664 ms
(15 rows)
freshports.org=#
from freshports.
Similar query on P.generate_plist retrieves the same data, but much more of it, and takes longer.
freshports.org=# explain analyze SELECT P.id, element_pathname(P.element_id), P.generate_plist
FROM ports P
WHERE P.generate_plist LIKE '%sbin/bacula-%'
GROUP BY 1, 2, 3
HAVING element_pathname(P.element_id) like '/ports/head/%'
ORDER BY 2;
QUERY PLAN
--------------------------------------------------------------------------------------------------------------------------------
Group (cost=25221.55..25221.81 rows=1 width=204) (actual time=1806.781..1806.786 rows=9 loops=1)
Group Key: (element_pathname(element_id)), id
-> Sort (cost=25221.55..25221.56 rows=1 width=204) (actual time=1806.780..1806.781 rows=9 loops=1)
Sort Key: (element_pathname(element_id)), id
Sort Method: quicksort Memory: 27kB
-> Seq Scan on ports p (cost=0.00..25221.54 rows=1 width=204) (actual time=123.594..1806.733 rows=9 loops=1)
Filter: ((generate_plist ~~ '%sbin/bacula-%'::text) AND (element_pathname(element_id) ~~ '/ports/head/%'::text))
Rows Removed by Filter: 48896
Planning time: 0.675 ms
Execution time: 1806.820 ms
(10 rows)
freshports.org=#
freshports.org=# SELECT P.id, element_pathname(P.element_id), P.generate_plist
FROM ports P
WHERE P.generate_plist LIKE '%sbin/bacula-%'
GROUP BY 1, 2, 3
HAVING element_pathname(P.element_id) like '/ports/head/%'
ORDER BY 2;
id | element_pathname | generate_plist
-------+--------------------------------------------+--------------------------------------------------------
13986 | /ports/head/sysutils/bacula-client | @sample(,bacula,640) etc/bacula/bacula-fd.conf.sample +
| | @sample(,bacula,640) etc/bacula/bconsole.conf.sample +
| | lib/libbac-7.4.7.so +
| | lib/libbac.so +
| | lib/libbaccfg-7.4.7.so +
| | lib/libbaccfg.so +
| | lib/libbacfind-7.4.7.so +
| | lib/libbacfind.so +
| | lib/bpipe-fd.so +
| | man/man8/bacula.8.gz +
| | man/man8/bacula-fd.8.gz +
| | man/man8/bconsole.8.gz +
| | sbin/bacula-fd +
| | @(,bacula,750) sbin/bconsole +
| | @dir(bacula,bacula,) /var/db/bacula +
| | @dir share/bacula +
| | @dir(,bacula,) etc/bacula +
| | @sample(,bacula,644) share/bacula/query.sql.sample +
| | @postexec /sbin/ldconfig -m /usr/local/lib +
| | @postunexec /sbin/ldconfig -R
32078 | /ports/head/sysutils/bacula-client-static | sbin/bacula-fd-static +
| | sbin/bconsole-static +
| | @postexec /sbin/ldconfig -m /usr/local/lib +
| | @postunexec /sbin/ldconfig -R
13990 | /ports/head/sysutils/bacula-server | @sample(,bacula,640) etc/bacula/bacula-barcodes.sample+
| | @sample(,bacula,) etc/bacula/bacula-dir.conf.sample +
| | @sample(,bacula,) etc/bacula/bacula-sd.conf.sample +
| | lib/libbaccats-7.4.7.so +
| | lib/libbaccats.so +
| | @comment lib/libbaccats-mysql-7.4.7.so +
| | lib/libbaccats-postgresql-7.4.7.so +
| | @comment lib/libbaccats-sqlite3-7.4.7.so +
| | @comment lib/libbaccats-mysql.so +
| | lib/libbaccats-postgresql.so +
| | @comment lib/libbaccats-sqlite3.so +
| | lib/libbacsql-7.4.7.so +
| | lib/libbacsql.so +
| | sbin/bacula +
| | sbin/bacula-dir +
| | sbin/bacula-sd +
| | sbin/bcopy +
| | sbin/bextract +
| | sbin/bls +
| | sbin/bregex +
| | sbin/bscan +
| | sbin/bsmtp +
| | sbin/btape +
| | sbin/btraceback +
| | sbin/bwild +
| | sbin/chio-bacula +
| | sbin/dbcheck +
| | @owner bacula +
| | @group bacula +
| | share/bacula/bacula +
| | share/bacula/bacula-ctl-dir +
| | share/bacula/bacula-ctl-fd +
| | share/bacula/bacula-ctl-sd +
| | share/bacula/bacula_config +
| | share/bacula/bconsole +
| | share/bacula/btraceback.dbx +
| | share/bacula/btraceback.gdb +
| | share/bacula/btraceback.mdb +
| | share/bacula/create_bacula_database +
| | @comment share/bacula/create_mysql_database +
| | share/bacula/create_postgresql_database +
| | @comment share/bacula/create_sqlite3_database +
| | share/bacula/delete_catalog_backup +
| | share/bacula/disk-changer +
| | share/bacula/drop_bacula_database +
| | share/bacula/drop_bacula_tables +
| | @comment share/bacula/drop_mysql_database +
| | share/bacula/drop_postgresql_database +
| | @comment share/bacula/drop_sqlite3_database +
| | @comment share/bacula/drop_mysql_tables +
| | share/bacula/drop_postgresql_tables +
| | @comment share/bacula/drop_sqlite3_tables +
| | @comment share/bacula/dvd-handler +
| | share/bacula/grant_bacula_privileges +
| | @comment share/bacula/grant_mysql_privileges +
| | share/bacula/grant_postgresql_privileges +
| | @comment share/bacula/grant_sqlite3_privileges +
| | share/bacula/make_bacula_tables +
| | share/bacula/make_catalog_backup +
| | share/bacula/make_catalog_backup.pl +
| | @comment share/bacula/make_mysql_tables +
| | share/bacula/make_postgresql_tables +
| | @comment share/bacula/make_sqlite3_tables +
| | share/bacula/mtx-changer +
| | share/bacula/mtx-changer.conf +
| | share/bacula/update_bacula_tables +
| | @comment share/bacula/update_mysql_tables +
| | share/bacula/update_postgresql_tables +
| | @comment share/bacula/update_sqlite3_tables +
| | @owner +
| | @group +
| | man/man1/bsmtp.1.gz +
| | man/man1/bacula-tray-monitor.1.gz +
| | man/man8/bacula-dir.8.gz +
| | man/man8/bacula-sd.8.gz +
| | man/man8/bcopy.8.gz +
| | man/man8/bextract.8.gz +
| | man/man8/bls.8.gz +
| | man/man8/bregex.8.gz +
| | man/man8/bscan.8.gz +
| | man/man8/btape.8.gz +
| | man/man8/btraceback.8.gz +
| | man/man8/bwild.8.gz +
| | man/man8/dbcheck.8.gz +
| | @dir(bacula,bacula,) /var/db/bacula +
| | @postexec /sbin/ldconfig -m /usr/local/lib +
| | @postunexec /sbin/ldconfig -R
34972 | /ports/head/sysutils/bacula5-client | @sample etc/bacula/bacula-fd.conf.sample +
| | @group bacula +
| | @sample etc/bacula/bconsole.conf.sample +
| | @group wheel +
| | lib/libbac.la +
| | lib/libbac.so +
| | lib/libbac.so.5 +
| | lib/libbac.so.5.0.2 +
| | lib/libbaccfg.la +
| | lib/libbaccfg.so +
| | lib/libbaccfg.so.5 +
| | lib/libbaccfg.so.5.0.2 +
| | lib/libbacfind.la +
| | lib/libbacfind.so +
| | lib/libbacfind.so.5 +
| | lib/libbacfind.so.5.0.2 +
| | lib/libbacpy.la +
| | lib/libbacpy.so +
| | lib/libbacpy.so.5 +
| | lib/libbacpy.so.5.0.2 +
| | lib/bpipe-fd.so +
| | man/man8/bacula-fd.8.gz +
| | man/man8/bconsole.8.gz +
| | sbin/bacula-fd +
| | @group bacula +
| | sbin/bconsole +
| | @group wheel +
| | @dir(bacula,bacula,) /var/db/bacula +
| | @dir share/bacula +
| | @dir(,bacula,) etc/bacula +
| | @postexec /sbin/ldconfig -m /usr/local/lib +
| | @postunexec /sbin/ldconfig -R
34967 | /ports/head/sysutils/bacula5-client-static | sbin/bacula-fd-static +
| | sbin/bconsole-static +
| | @postexec /sbin/ldconfig -m /usr/local/lib +
| | @postunexec /sbin/ldconfig -R
34969 | /ports/head/sysutils/bacula5-server | @sample etc/bacula/bacula-barcodes.sample +
| | @group bacula +
| | @sample etc/bacula/bacula-dir.conf.sample +
| | @group wheel +
| | @sample etc/bacula/bacula-sd.conf.sample +
| | lib/libbaccats.la +
| | lib/libbaccats.so +
| | lib/libbaccats.so.5 +
| | lib/libbaccats.so.5.0.2 +
| | lib/libbaccats-postgresql.la +
| | lib/libbaccats-postgresql.so +
| | lib/libbaccats-postgresql.so.5 +
| | lib/libbaccats-postgresql.so.5.0.2 +
| | lib/libbacsql.la +
| | lib/libbacsql.so +
| | lib/libbacsql.so.5 +
| | lib/libbacsql.so.5.0.2 +
| | man/man1/bacula-bwxconsole.1.gz +
| | man/man1/bacula-tray-monitor.1.gz +
| | man/man1/bsmtp.1.gz +
| | man/man8/bacula-dir.8.gz +
| | man/man8/bacula-sd.8.gz +
| | man/man8/bacula.8.gz +
| | man/man8/bcopy.8.gz +
| | man/man8/bextract.8.gz +
| | man/man8/bls.8.gz +
| | man/man8/bregex.8.gz +
| | man/man8/bscan.8.gz +
| | man/man8/btape.8.gz +
| | man/man8/btraceback.8.gz +
| | man/man8/bwild.8.gz +
| | man/man8/dbcheck.8.gz +
| | sbin/bacula +
| | sbin/bacula-dir +
| | sbin/bacula-sd +
| | sbin/bcopy +
| | sbin/bextract +
| | sbin/bls +
| | sbin/bregex +
| | sbin/bscan +
| | sbin/bsmtp +
| | sbin/btape +
| | sbin/btraceback +
| | sbin/bwild +
| | sbin/chio-bacula +
| | @group bacula +
| | sbin/dbcheck +
| | @owner bacula +
| | share/bacula/bacula +
| | share/bacula/bacula-ctl-dir +
| | share/bacula/bacula-ctl-fd +
| | share/bacula/bacula-ctl-sd +
| | share/bacula/bacula_config +
| | share/bacula/bconsole +
| | share/bacula/btraceback.dbx +
| | share/bacula/btraceback.gdb +
| | share/bacula/btraceback.mdb +
| | share/bacula/create_bacula_database +
| | share/bacula/create_postgresql_database +
| | share/bacula/delete_catalog_backup +
| | share/bacula/disk-changer +
| | share/bacula/drop_bacula_database +
| | share/bacula/drop_bacula_tables +
| | share/bacula/drop_postgresql_database +
| | share/bacula/drop_postgresql_tables +
| | share/bacula/dvd-handler +
| | share/bacula/grant_bacula_privileges +
| | share/bacula/grant_postgresql_privileges +
| | share/bacula/make_bacula_tables +
| | share/bacula/make_catalog_backup +
| | share/bacula/make_catalog_backup.pl +
| | share/bacula/make_postgresql_tables +
| | share/bacula/mtx-changer +
| | share/bacula/mtx-changer.conf +
| | share/bacula/query.sql +
| | share/bacula/update_bacula_tables +
| | share/bacula/update_postgresql_tables +
| | @dir(bacula,bacula,) /var/db/bacula +
| | @owner root +
| | @group wheel +
| | @postexec /sbin/ldconfig -m /usr/local/lib +
| | @postunexec /sbin/ldconfig -R
48836 | /ports/head/sysutils/bacula9-client | @sample(,bacula,640) etc/bacula/bacula-fd.conf.sample +
| | @sample(,bacula,640) etc/bacula/bconsole.conf.sample +
| | lib/libbac-9.0.4.so +
| | lib/libbac.so +
| | lib/libbaccfg-9.0.4.so +
| | lib/libbaccfg.so +
| | lib/libbacfind-9.0.4.so +
| | lib/libbacfind.so +
| | lib/bpipe-fd.so +
| | man/man8/bacula.8.gz +
| | man/man8/bacula-fd.8.gz +
| | man/man8/bconsole.8.gz +
| | sbin/bacula-fd +
| | sbin/bbconsjson +
| | sbin/bfdjson +
| | @(,bacula,750) sbin/bconsole +
| | @dir(bacula,bacula,) /var/db/bacula +
| | @dir share/bacula +
| | @dir(,bacula,) etc/bacula +
| | @sample(,bacula,644) share/bacula/query.sql.sample +
| | @postexec /sbin/ldconfig -m /usr/local/lib +
| | @postunexec /sbin/ldconfig -R
48835 | /ports/head/sysutils/bacula9-client-static | sbin/bacula-fd-static +
| | sbin/bconsole-static +
| | @postexec /sbin/ldconfig -m /usr/local/lib +
| | @postunexec /sbin/ldconfig -R
48837 | /ports/head/sysutils/bacula9-server | @sample(,bacula,640) etc/bacula/bacula-barcodes.sample+
| | @sample(,bacula,) etc/bacula/bacula-dir.conf.sample +
| | @sample(,bacula,) etc/bacula/bacula-sd.conf.sample +
| | lib/libbaccats-9.0.4.so +
| | lib/libbaccats.so +
| | @comment lib/libbaccats-mysql-9.0.4.so +
| | lib/libbaccats-postgresql-9.0.4.so +
| | @comment lib/libbaccats-sqlite3-9.0.4.so +
| | @comment lib/libbaccats-mysql.so +
| | lib/libbaccats-postgresql.so +
| | @comment lib/libbaccats-sqlite3.so +
| | lib/libbacsd-9.0.4.so +
| | lib/libbacsd.so +
| | lib/libbacsql-9.0.4.so +
| | lib/libbacsql.so +
| | sbin/bacula +
| | sbin/bacula-dir +
| | sbin/bacula-sd +
| | sbin/bcopy +
| | sbin/bdirjson +
| | sbin/bsdjson +
| | sbin/bextract +
| | sbin/bls +
| | sbin/bregex +
| | sbin/bscan +
| | sbin/bsmtp +
| | sbin/btape +
| | sbin/btraceback +
| | sbin/bwild +
| | sbin/chio-bacula +
| | sbin/dbcheck +
| | @owner bacula +
| | @group bacula +
| | share/bacula/bacula +
| | share/bacula/bacula-ctl-dir +
| | share/bacula/bacula-ctl-fd +
| | share/bacula/bacula-ctl-sd +
| | share/bacula/bacula-tray-monitor.desktop +
| | share/bacula/baculabackupreport +
| | share/bacula/bacula_config +
| | share/bacula/bconsole +
| | share/bacula/btraceback.dbx +
| | share/bacula/btraceback.gdb +
| | share/bacula/btraceback.mdb +
| | share/bacula/create_bacula_database +
| | share/bacula/tapealert +
| | @comment share/bacula/create_mysql_database +
| | share/bacula/create_postgresql_database +
| | @comment share/bacula/create_sqlite3_database +
| | share/bacula/delete_catalog_backup +
| | share/bacula/disk-changer +
| | share/bacula/drop_bacula_database +
| | share/bacula/drop_bacula_tables +
| | @comment share/bacula/drop_mysql_database +
| | share/bacula/drop_postgresql_database +
| | @comment share/bacula/drop_sqlite3_database +
| | @comment share/bacula/drop_mysql_tables +
| | share/bacula/drop_postgresql_tables +
| | @comment share/bacula/drop_sqlite3_tables +
| | @comment share/bacula/dvd-handler +
| | share/bacula/grant_bacula_privileges +
| | @comment share/bacula/grant_mysql_privileges +
| | share/bacula/grant_postgresql_privileges +
| | @comment share/bacula/grant_sqlite3_privileges +
| | share/bacula/make_bacula_tables +
| | share/bacula/make_catalog_backup +
| | share/bacula/make_catalog_backup.pl +
| | @comment share/bacula/make_mysql_tables +
| | share/bacula/make_postgresql_tables +
| | @comment share/bacula/make_sqlite3_tables +
| | share/bacula/mtx-changer +
| | share/bacula/mtx-changer.conf +
| | share/bacula/update_bacula_tables +
| | @comment share/bacula/update_mysql_tables +
| | share/bacula/update_postgresql_tables +
| | @comment share/bacula/update_sqlite3_tables +
| | @owner +
| | @group +
| | man/man1/bsmtp.1.gz +
| | man/man1/bacula-tray-monitor.1.gz +
| | man/man8/bacula-dir.8.gz +
| | man/man8/bacula-sd.8.gz +
| | man/man8/bcopy.8.gz +
| | man/man8/bextract.8.gz +
| | man/man8/bls.8.gz +
| | man/man8/bregex.8.gz +
| | man/man8/bscan.8.gz +
| | man/man8/btape.8.gz +
| | man/man8/btraceback.8.gz +
| | man/man8/bwild.8.gz +
| | man/man8/dbcheck.8.gz +
| | @dir(bacula,bacula,) /var/db/bacula +
| | @postexec /sbin/ldconfig -m /usr/local/lib +
| | @postunexec /sbin/ldconfig -R
(9 rows)
freshports.org=#
from freshports.
Code for getting data into the db is completed.
I will work on the website code during the flight home.
from freshports.
I did complete the work on that flight. The code has been committed locally, but not pushed.
from freshports.
I have committed the code from my dev environment and will be trying it out on the new FreshPorts server soon. Once it's working there, I'll post the URL.
from freshports.
Still not ready yet... the fields have to be populated.
from freshports.
Still not complete.
from freshports.
At https://x8dtu.freshports.org/ we have 4,566,247 rows in the generate_plist.
Those rows cover 30,291 of the 31,562 active ports (includes ports with commits on head and on branches).
This means FreshPorts will provide pkg-plist (or close) information for all but 1300 ports.
from freshports.
How is this looking now?
There are 1200-ish ports I have to look at later, but for the post part, I think this is fully implemented.
from freshports.
zi0r: this must be OK now, closing. Please reopen if not.
from freshports.
Related Issues (20)
- After login to dev, a block of text that began: -- /usr/local/www/freshports/classes/commits.php::FetchLimit HOT 3
- Tables of packages: FreeBSD:15: listings for FreeBSD 15.0-CURRENT HOT 9
- Tables of packages: for 'repo not found' or 'never imported', do not display the fallout icon HOT 9
- riscv64 (not riskv64) HOT 5
- new ports don't get automatically unmarked as new HOT 1
- element path issues - dev/test/stage differ from prod HOT 5
- caching problem for non-ports HOT 16
- Add Codeberg links for non-ports commits? HOT 2
- doc link is wrong for commit.php HOT 3
- Order of icons: cgit, Codeberg, GitHub, GitLab, SVNWeb HOT 2
- Move the refresh icon to the end of the row. HOT 2
- Search categories? HOT 16
- Arrangement of icons, and presentation of texts, for multi-file entries such as those in UPDATING HOT 17
- UPDATING: Only the first x of y ports in this commit are shown above: fewer than y in the view of all ports HOT 10
- Search by committer: deprecated: preg_replace() and htmlentities() – element_pathname, was pathname HOT 1
- Search by author HOT 9
- search by commit message shows head in pathname
- Old categories are not purged when they are no longer active HOT 3
- how about sanity checking pkg-message? HOT 1
- freshports search for <package name> yields no results for some existing packages HOT 37
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from freshports.