Tools/scripts: add installed-ports-by-origin.sh

This script generates a list of all installed ports by origin.  This is
similar pkg info -qoa, but with flavors.  This is useful for example to
create a list of ports for Poudriere to build.
This commit is contained in:
Ralf van der Enden
2025-10-28 22:49:34 +01:00
committed by Robert Clausecker
parent 46243e3ba2
commit 9cbf77aba0

View File

@@ -0,0 +1,21 @@
#!/bin/sh
# Constributed by Ralf van der Enden <tremere@cainites.net>
# Public domain.
# print a list of all installed ports by origin with flavour.
# this is similar to pkg info -qoa, but prints a flavour if the
# package has one.
sqlite3 /var/db/pkg/local.sqlite \
"select origin || coalesce('@' || (
select t4.annotation as annotation
from packages t1
inner join pkg_annotation t2 on t1.id = t2.package_id
inner join annotation t3 on t2.tag_id = t3.annotation_id
and t3.annotation = 'flavor'
inner join annotation t4 on t2.value_id = t4.annotation_id
and t2.tag_id = t3.annotation_id
and t3.annotation = 'flavor'
where t1.origin = t0.origin), '')
from packages t0;"