[Bug 284411] ports-mgmt/pkg: alias 'prime-origins' - introduced pipe fails
- Reply: bugzilla-noreply_a_freebsd.org: "maintainer-feedback requested: [Bug 284411] ports-mgmt/pkg: alias 'prime-origins' - introduced pipe fails"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 284411] ports-mgmt/pkg: alias 'prime-origins' - introduced pipe fails"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 284411] ports-mgmt/pkg: alias 'prime-origins' - introduced pipe fails"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 284411] ports-mgmt/pkg: alias 'prime-origins' - introduced pipe fails"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 284411] ports-mgmt/pkg: alias 'prime-origins' - introduced pipe fails"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 28 Jan 2025 14:57:34 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=284411
Bug ID: 284411
Summary: ports-mgmt/pkg: alias 'prime-origins' - introduced
pipe fails
Product: Ports & Packages
Version: Latest
Hardware: amd64
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: Individual Port(s)
Assignee: pkg@FreeBSD.org
Reporter: erichanskrs@gmail.com
Assignee: pkg@FreeBSD.org
Flags: maintainer-feedback?(pkg@FreeBSD.org)
Reference forum starts at:
https://forums.freebsd.org/threads/pkg-2-0-0-problems.96540/page-4#post-687722
Using 14.2R and the 'latest' repository, using the pkg alias:
prime-origins: "query -e '%a = 0' '%o' | sort -u",
as defined in
/usr/local/etc/pkg.conf
introduces a pipe; it seems for the first time. Related commits:
https://github.com/freebsd/pkg/commit/e52fcfac6b1a02b046da36b1d324fb84e5a00bb1
https://github.com/freebsd/pkg/commit/cce9724f190a1dbedac66cbdac2c1031c22cb864
The implementation of the pipe fails to work using pkg(8) 1.21.3 and, confirmed
in the forum, for 2.0.4.
The command sequence below details the unexpected empty result of
pkg prim-origins
and its likely cause in the underlying query by using debug level 4.
Also shown that using the previous non-pipe variant of the alias and uapplying
the pipe externally gets the exepected result. An empty line was added in the
debug output to indicate the first immediate occurrence in a 'LEFT JOIN'.
---
[0-0] # pkg -v
1.21.3
[1-0] # pkg -vv | sed -n -e '/DEBUG/ p' -e '/^Repositories:/,$ p'
DBG(1)[2298]> PkgConfig: loading repositories in /etc/pkg/
DBG(1)[2298]> PKgConfig: loading /etc/pkg//FreeBSD.conf
DBG(1)[2298]> PkgConfig: parsing key 'FreeBSD'
DBG(1)[2298]> PkgConfig: parsing repository object FreeBSD
DBG(1)[2298]> PkgConfig: loading repositories in /usr/local/etc/pkg/repos/
DBG(1)[2298]> PKgConfig: loading /usr/local/etc/pkg/repos//FreeBSD.conf
DBG(1)[2298]> PkgConfig: parsing key 'FreeBSD'
DBG(1)[2298]> PkgConfig: overwriting repository FreeBSD
DBG(1)[2298]> PkgConfig: parsing repository object FreeBSD
DBG(1)[2298]> PKgConfig: loading /usr/local/etc/pkg/repos//kmods.conf
DBG(1)[2298]> PkgConfig: parsing key 'FreeBSD-kmods'
DBG(1)[2298]> PkgConfig: parsing repository object FreeBSD-kmods
DEBUG_SCRIPTS = false;
DEBUG_LEVEL = 4;
Repositories:
FreeBSD: {
url : "pkg+https://pkg.freebsd.org/FreeBSD:14:amd64/latest",
enabled : yes,
priority : 0,
mirror_type : "SRV",
signature_type : "FINGERPRINTS",
fingerprints : "/usr/share/keys/pkg"
}
FreeBSD-kmods: {
url :
"pkg+https://pkg.freebsd.org/FreeBSD:14:amd64/kmods_latest_2",
enabled : yes,
priority : 0,
mirror_type : "SRV",
signature_type : "FINGERPRINTS",
fingerprints : "/usr/share/keys/pkg"
}
[2-0] # pkg alias prime-origins
DBG(1)[2301]> PkgConfig: loading repositories in /etc/pkg/
DBG(1)[2301]> PKgConfig: loading /etc/pkg//FreeBSD.conf
DBG(1)[2301]> PkgConfig: parsing key 'FreeBSD'
DBG(1)[2301]> PkgConfig: parsing repository object FreeBSD
DBG(1)[2301]> PkgConfig: loading repositories in /usr/local/etc/pkg/repos/
DBG(1)[2301]> PKgConfig: loading /usr/local/etc/pkg/repos//FreeBSD.conf
DBG(1)[2301]> PkgConfig: parsing key 'FreeBSD'
DBG(1)[2301]> PkgConfig: overwriting repository FreeBSD
DBG(1)[2301]> PkgConfig: parsing repository object FreeBSD
DBG(1)[2301]> PKgConfig: loading /usr/local/etc/pkg/repos//kmods.conf
DBG(1)[2301]> PkgConfig: parsing key 'FreeBSD-kmods'
DBG(1)[2301]> PkgConfig: parsing repository object FreeBSD-kmods
prime-origins 'query -e '%a = 0' '%o' | sort -u'
[3-0] # pkg prime-origins
DBG(1)[2305]> PkgConfig: loading repositories in /etc/pkg/
DBG(1)[2305]> PKgConfig: loading /etc/pkg//FreeBSD.conf
DBG(1)[2305]> PkgConfig: parsing key 'FreeBSD'
DBG(1)[2305]> PkgConfig: parsing repository object FreeBSD
DBG(1)[2305]> PkgConfig: loading repositories in /usr/local/etc/pkg/repos/
DBG(1)[2305]> PKgConfig: loading /usr/local/etc/pkg/repos//FreeBSD.conf
DBG(1)[2305]> PkgConfig: parsing key 'FreeBSD'
DBG(1)[2305]> PkgConfig: overwriting repository FreeBSD
DBG(1)[2305]> PkgConfig: parsing repository object FreeBSD
DBG(1)[2305]> PKgConfig: loading /usr/local/etc/pkg/repos//kmods.conf
DBG(1)[2305]> PkgConfig: parsing key 'FreeBSD-kmods'
DBG(1)[2305]> PkgConfig: parsing repository object FreeBSD-kmods
DBG(4)[2305]> Pkgdb: running: 'PRAGMA user_version;'
DBG(4)[2305]> Pkgdb: executing 'PRAGMA foreign_keys = ON;'
DBG(4)[2305]> Pkgdb: executing 'PRAGMA mmap_size=268435456;'
DBG(4)[2305]> Pkgdb: running: 'WITH flavors AS (SELECT package_id,
value.annotation AS flavor FROM pkg_annotation LEFT JOIN annotation tag ON
pkg_annotation.tag_id = tag.annotation_id LEFT JOIN annotation value ON
pkg_annotation.value_id = value.annotation_id WHERE tag.annotation =
'flavor') SELECT DISTINCT(p.id), origin, p.name, p.name as uniqueid,
version, comment, desc, message, arch, maintainer, www, prefix, flatsize,
licenselogic, automatic, locked, time, manifestdigest, vital FROM
packages AS p LEFT JOIN pkg_categories ON p.id = pkg_categories.package_id
LEFT JOIN categories ON categories.id = pkg_categories.category_id
LEFT JOIN flavors ON flavors.package_id = p.id WHERE (p.name = '|' COLLATE
NOCASE OR p.name || '-' || version = '|' COLLATE NOCASE) AND (automatic=0)
ORDER BY p.name;'
DBG(4)[2305]> Pkgdb: running: 'WITH flavors AS (SELECT package_id,
value.annotation AS flavor FROM pkg_annotation LEFT JOIN annotation tag ON
pkg_annotation.tag_id = tag.annotation_id LEFT JOIN annotation value ON
pkg_annotation.value_id = value.annotation_id WHERE tag.annotation =
'flavor') SELECT DISTINCT(p.id), origin, p.name, p.name as uniqueid,
version, comment, desc, message, arch, maintainer, www, prefix, flatsize,
licenselogic, automatic, locked, time, manifestdigest, vital FROM
packages AS p LEFT JOIN pkg_categories ON p.id = pkg_categories.package_id
LEFT JOIN categories ON categories.id = pkg_categories.category_id LEFT
JOIN flavors ON flavors.package_id = p.id WHERE (p.name = 'sort' COLLATE
NOCASE OR p.name || '-' || version = 'sort' COLLATE NOCASE) AND (automatic=0)
ORDER BY p.name;'
DBG(4)[2305]> Pkgdb: running: 'WITH flavors AS (SELECT package_id,
value.annotation AS flavor FROM pkg_annotation LEFT JOIN annotation tag ON
pkg_annotation.tag_id = tag.annotation_id LEFT JOIN annotation value ON
pkg_annotation.value_id = value.annotation_id WHERE tag.annotation =
'flavor') SELECT DISTINCT(p.id), origin, p.name, p.name as uniqueid,
version, comment, desc, message, arch, maintainer, www, prefix, flatsize,
licenselogic, automatic, locked, time, manifestdigest, vital FROM
packages AS p LEFT JOIN pkg_categories ON p.id = pkg_categories.package_id
LEFT JOIN categories ON categories.id = pkg_categories.category_id LEFT
JOIN flavors ON flavors.package_id = p.id WHERE (p.name = '-u' COLLATE
NOCASE OR p.name || '-' || version = '-u' COLLATE NOCASE) AND (automatic=0)
ORDER BY p.name;'
[4->1<] #
---
Combining the 'core' of prime-origins with the pipe used outside of the alias
works fine:
[20-0] # pkg alias ppp
ppp 'query -e '%a = 0' '%o''
[21-0] # pkg ppp | sort -u
misc/freebsd-doc-nl
<snap>
x11/xorg
[22-0] #
--
You are receiving this mail because:
You are the assignee for the bug.