git: dc29678709b9 - main - ports-mgmt/pkg: update to 2.8.0

From: Baptiste Daroussin <bapt_at_FreeBSD.org>
Date: Mon, 20 Jul 2026 09:25:49 UTC
The branch main has been updated by bapt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=dc29678709b9e811de8efab97d22e493f4cc3777

commit dc29678709b9e811de8efab97d22e493f4cc3777
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2026-07-20 09:18:22 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2026-07-20 09:23:50 +0000

    ports-mgmt/pkg: update to 2.8.0
    
    Major Changes:
    ==============
    
    Database & performance
    - better read/write concurrency on the local DB
    - Schema bumped to v42: 15 redundant single-column indexes dropped, flavors VIEW added, shlib_id indexes added
    - Read-only databases opened with SQLITE_OPEN_READONLY, falling back to immutable=1
    - Binary repositories: 16K pages and synchronous=OFF during bulk catalog updates
    - Implicit SQL-89 JOINs converted to explicit JOIN syntax, several queries optimized
    - Some database concurrency issues fixed
    
    New features
    - pkg-checksum(8): new command to generate and validate checksums
    - Blake2b used everywhere possible for checksums; repositories use blake2 instead of sha256
    - rwhich: file tracking and search for remote repositories (requires repositories to be built with -l)
    - pkg delete -G/--exclude-glob: exclude packages by glob pattern
    - Repositories: enable/disable/reset support
    - pkg autoremove -qn: quiet, script-friendly output
    - pkg query: %{...} falls back to pkg_printf(3) evaluation
    - lua: pkg.exec_capture -- captures stdout/stderr of pkg.exec
    - plist: @for ... @end loops and # comments
    - Triggers: per-file instead of per-directory
    - RC script support rewritten to be safer
    - DECOMPRESSION_THREADS respected when decompressing
    - Arbitrary data can be stored in the repository meta file
    - OSVf updated to official JSON schema 1.7.5 with CVE name parsing and osv_type for VuXML compatibility
    - Periodic script for dependency checking
    - CheriBSD and CheriABI OS/ABI declared
    
    Minor Changes:
    ==============
    
    - Handle getgrnam_r/getpwnam_r upon ERANGE
    - Replace system() with execlp() for man page display
    - query_select no longer discards valid input on EOF without newline
    - Handle trailing %% in printf format strings
    - input validation hardened via fuzzing
    - which: always show the matched path
    - info -e: only return 0 if all packages on the command line exist
    - install: respect -q
    - upgrade: do not propose downgrades to solve provides/requires
    - upgrade: clarified messages for missing packages and changes
    - fetch: respect RFC 3986
    - lock: do not error in expected (un)lock state
    - shlibs: also remove ignored shlibs provided from shlibs required
    - backup_libraries: atomic replacement, fully respects rootdir
    - backup_lib: prevent accumulating old libs and badly matching them
    - DB: loudly complain if the DB cannot be opened
    - DB: in case of remote DB corruption, destroy it to allow rebuilding
    - Repo: do not delete repositories in overrides, simply disable them
    - Honor --repository flag for disabled repos as documented
    - search: improved error message and fixed multiple JSON formatted results
    - update: warn when trying to update a non-existent repository
    - fingerprints: fallback on the host to find them when using -r
    - libelf: fix Linux/powerpc64 build
    - libecc: support Linux/ppc64
    - pkg-which: fix spurious warning message with -p
    - extract: prefer mtime from manifest over archive
    - periodic: daily checksum is now off by default
    - plug multiple memory leaks and resource leaks
    
    Dependency updates
    - SQLite 3.53.2
    - Lua 5.4.8
    - libucl 0.9.5
    
    PR:     296292
    exp-run: antoine
---
 ports-mgmt/pkg/Makefile                           |  8 ++++----
 ports-mgmt/pkg/distinfo                           |  6 +++---
 ports-mgmt/pkg/files/patch-src_Makefile.autosetup | 11 -----------
 ports-mgmt/pkg/pkg-plist                          |  2 ++
 4 files changed, 9 insertions(+), 18 deletions(-)

diff --git a/ports-mgmt/pkg/Makefile b/ports-mgmt/pkg/Makefile
index 2b1abd1d506e..c255a3ddcc29 100644
--- a/ports-mgmt/pkg/Makefile
+++ b/ports-mgmt/pkg/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	pkg
-DISTVERSION=	2.7.5
+DISTVERSION=	2.8.0
 _PKG_VERSION=	${DISTVERSION}
 CATEGORIES=	ports-mgmt
 
@@ -16,13 +16,13 @@ USE_LDCONFIG=	${PREFIX}/lib/compat/pkg
 HAS_CONFIGURE=	yes
 PORTDOCS=	NEWS
 PORTSCOUT=	ignore:1
-CONFIGURE_ARGS=	--prefix="${PREFIX}"
+CONFIGURE_ARGS=	--prefix="${PREFIX}" \
+		--mandir="${PREFIX}/share/man"
 CONFIGURE_ENV=	CC_FOR_BUILD="${CC}"
 
 # Use a submake as 'deinstall install' needs to reevaluate PKG_REGISTER
 # so that pkg-static is used from the wrkdir
 USE_SUBMAKE=	yes
-CFLAGS+=	-Wno-error
 
 OPTIONS_DEFINE=	DOCS
 
@@ -53,8 +53,8 @@ PKG_BIN=	${WRKSRC}/src/pkg-static
 .endif
 
 post-install:
+	${INSTALL_DATA} ${WRKSRC}/src/pkg.conf.sample ${STAGEDIR}${PREFIX}/etc/
 	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/compat/pkg
-	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libpkg.so ${STAGEDIR}${PREFIX}/sbin/pkg*
 
 post-install-DOCS-on:
 	@${MKDIR} ${STAGEDIR}${DOCSDIR}
diff --git a/ports-mgmt/pkg/distinfo b/ports-mgmt/pkg/distinfo
index b8207735dcc1..f22a3690fb17 100644
--- a/ports-mgmt/pkg/distinfo
+++ b/ports-mgmt/pkg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1777461622
-SHA256 (freebsd-pkg-2.7.5_GH0.tar.gz) = 51d726f52ad750fcde14d5f041d43df5b12ea4a6f143777c6b02ed7df16ceb39
-SIZE (freebsd-pkg-2.7.5_GH0.tar.gz) = 12347555
+TIMESTAMP = 1784538459
+SHA256 (freebsd-pkg-2.8.0_GH0.tar.gz) = 4e91a5d0e2f487dabbae6493784cc3dd16f1f07017c2cadd6d4dc2bf388d278d
+SIZE (freebsd-pkg-2.8.0_GH0.tar.gz) = 12278833
diff --git a/ports-mgmt/pkg/files/patch-src_Makefile.autosetup b/ports-mgmt/pkg/files/patch-src_Makefile.autosetup
deleted file mode 100644
index 4c3991975e7f..000000000000
--- a/ports-mgmt/pkg/files/patch-src_Makefile.autosetup
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/Makefile.autosetup.orig	2022-12-11 18:22:41 UTC
-+++ src/Makefile.autosetup
-@@ -93,7 +93,7 @@ pkg-static: $(OBJS) $(top_builddir)/libpkg/libpkg_flat
- install: install-static
- 
- pkg-static: $(OBJS) $(top_builddir)/libpkg/libpkg_flat.a
--	$(CC) -o $@ $(OBJS) $(STATIC_ARG) $(LDFLAGS) $(STATIC_LDFLAGS)
-+	$(CC) -o $@ $(OBJS) $(STATIC_ARG) $(STATIC_LDFLAGS)
- 
- install-static: pkg-static
- 	install -d -m 755 $(DESTDIR)$(sbindir)
diff --git a/ports-mgmt/pkg/pkg-plist b/ports-mgmt/pkg/pkg-plist
index 8f3ca495cb16..b3c37a629d8d 100644
--- a/ports-mgmt/pkg/pkg-plist
+++ b/ports-mgmt/pkg/pkg-plist
@@ -4,10 +4,12 @@ etc/periodic/daily/490.status-pkg-changes
 etc/periodic/security/405.pkg-base-audit
 etc/periodic/security/410.pkg-audit
 etc/periodic/security/460.pkg-checksum
+etc/periodic/security/470.pkg-dependencies
 etc/periodic/weekly/400.status-pkg
 @sample etc/pkg.conf.sample
 include/pkg.h
 include/pkg/audit.h
+include/pkg/checksum.h
 include/pkg/vec.h
 lib/libpkg.a
 lib/libpkg.so