The following upstream commit addresses a problem where librpmio.so's
sqlite error handler can interfere with other sqlite consumers and cause
a crash:
ea3187cfcf
Backport the patch now since it's affecting at least one rpm4 user on
FreeBSD. This can be dropped once rpm 4.19 is imported.
PR: 273614
Approved by: maintainer timeout (4 weeks)
Sponsored by: Klara, Inc.
* Fix plist when compiling without python
* install manpages without rebuilding it
* remove unnecessary panadoc dependency
Reported by: Vladimir Druzenko <vvd@freebsd.org>
Major changes:
Preserve packages bit-by-bit again when adding and then removing signatures
Fix install of block and character special files
Disable debuginfod server lookups during package builds
Plugin fixes (fapolicyd and selinux)
Various OpenPGP and macro parser fixes
Remove html documentation for librpm
Cleanup/reorder Makefile to make linter happy
Full changelog: https://rpm.org/wiki/Releases/4.18.1
Commit 5ff99a4c9d disabled libelf detection to work around the build
failure, but rpmbuild expects to be able to find the elfdeps utility and
misbehaves when it's not present. Since the build failure is easy to
address (different names for an ELF machine type constant for the rather
obsolescent DEC Alpha), let's just do that.
As a part of this, elfutils must be listed as a runtime dependency.
Note that we cannot list it in LIB_DEPENDS since the ports framework
ends up finding the base system libelf.so and decides that the
dependency is satisifed without installing elfutils. But the base
system libelf is missing a symbol (gelf_getvernaux) required by elfdeps.
Work around this by listing elfutils as both build and runtime
dependencies.
Approved by: rodrigo
Reviewed by: rodrigo
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D38092
During an exp-run for llvm 15 (see bug 265425), it turned out that
archivers/rpm4 failed to build with clang 15:
tools/rpmuncompress.c:101:23: warning: call to undeclared function 'basename'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
const char *bn = basename(fn);
^
tools/rpmuncompress.c:101:18: error: incompatible integer to pointer conversion initializing 'const char *' with an expression of type 'int' [-Wint-conversion]
const char *bn = basename(fn);
^ ~~~~~~~~~~~~
This is because basename(3) is defined in <libgen.h>. After this include
is added to rpmuncompress.c, link errors still occur:
ld: error: undefined symbol: WIFEXITED
>>> referenced by rpmuncompress.c
>>> tools/rpmuncompress.o:(main)
ld: error: undefined symbol: WEXITSTATUS
>>> referenced by rpmuncompress.c
>>> tools/rpmuncompress.o:(main)
This is because WIFEXITED() and WEXITSTATUS() are macros defined in
<sys/wait.h>.
PR: 268341
Approved by: rodrigo (maintainer)
MFH: 2022Q4
Major changes:
* Add a new Sequoia-based OpenPGP backend
* Documentation updates
* Fix intermediate symlinks not verified (CVE-2021-35939)
* Fix subkey binding signatures not checked on PGP public keys (CVE-2021-3521)
* Refactor file and directory operations to use fd-based APIs throughout (CVE-2021-35938)
* Unbreak lua 2 for extensions
Full release note: https://rpm.org/wiki/Releases/4.18.0.html
Also remove version requirement for Lua dependency in port, we just use lua.
PR: 267291
Reported by: Brian Zou <zoujiaqing@gmail.com>
Security: CVE-2021-35939
Security: CVE-2021-3521
Security: CVE-2021-35938
Commit b7f05445c0 has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.
There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.
The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.
Approved by: portmgr (tcberner)
Fix regression introduced in 468b96c:
- Reenable python bindings which are still available in this package
- Remove dependency on py-python-rpm-packaging as it's not related to
the bindings and is not required for this port operation
PR: 262173
Approved by: portmgr blanket (regression)
RPM installs plugins to separated subdir, and all of them was missed from plist.
Moreover, with disabled PLUGINS option, listed manpages are missing.
Fix it by wrap with sub macro.
Bump PORTREVISION due to plist changes.
Reporded by: poudriere build
Pointy hat to: rodrigo (for not use poudriere to catch leftovers)
Approved by: portmgr blanket (fix packaging)
Sponsored by: Netzkommune GmbH
Python helpers and scripts used for python packaging was removed
from RPM, comunity-driven files should be used instead.
Release note: https://rpm.org/wiki/Releases/4.17.0
Fix conflicts entries based on a script that searches for duplicate
files installed by several ports.
Some patters seem to make ports conflict with themselves, but this is
actually not the case due to the check-*-conflicts logic implemented
in bsd.port.mk, which excludes self-conflicts.
PHP based ports have been ignored in this commit as requested by the
committers currently working on the php-8.1 import.
Approved by: portmgr (implicit)
The option implied a dependency on gcc but clang got openmp support long ago.
Remove compiler:openmp from Mk/Uses/compiler.mk
For ports using USE=compiler:openmp, just remove it and make them build with
clang.
Fix conditionals when necessary
Bump PORTREVISION where appropriate
If problem arises, they can be addressed by using USE_GCC=yes
An update to the Porter's Handbook will follow.
Approved by: portmgr (bapt)
Differential Revision: https://reviews.freebsd.org/D31971
Major changes:
Fix for CVE-2021-3421, CVE-2021-20271 and CVE-2021-20266
additional fixes for important bugs
Full changelog: https://rpm.org/wiki/Releases/4.16.1.3
Security: CVE-2021-3421
Security: CVE-2021-20271
Security: CVE-2021-20266
MFH: 2021Q2
This is a brown paperbag release to fix a single regression in 4.16.1
which causes rpmbuild to crash if hostname is not resolvable, and an
accidental soname bump introduced in now withdrawn 4.16.1.1.
Full release note: https://rpm.org/wiki/Releases/4.16.1.2
* Upgrade to 4.16.0
* add sqlite support
* remove deprecate config options
Major changes:
* Database backends:
* NDB backend promoted to stable
* New sqlite-based backend
* New experimental read-only BDB backend
* BDB database backend deprecated
* Powerful macro and %if expressions
* Optional MIME type based file classification
* Dependency generation by parametric macros
* A new version parsing and comparison API in C and Python
* Parallelise test-suite execution
* Clarify RPM license
PR: 250573
Submitted by: Brian Zou <zoujiaqing@gmail.com>
These changes largely fall into just two categories:
1. Need textproc/gsed for GNU extensions
2. Extraneous escapes that can go away
For #1, there's a further subdivision into those that require autoconf magic
and those that can get away with BINARY_ALIAS=sed=${LOCALBASE}/bin/gsed.
-CURRENT will soon gain GNU extensions, but these will take longer to get to
all supported releases; we must switch them to gsed to ensure we're actually
properly building them as intended.
For #2, I've fixed these as I can and we should upstream these fixes.
PORTREVISION is bumped for all of the above, because we will almost
certainly build these differently when the replacements actually start
working.
These were all detected by the below-referenced exp-run [1]. The patch
included forbids many ordinary characters from being escaped, since we'll
later imbue those with special meanings. This has had the nice side effect
of picking up various things that we didn't handle properly, e.g. \t and \r
for tab and carriage return.
PR: 229925 [1]
Approved by: koobs (mentor)
Approved by: portmgr (blanket: trivial build fixes)
MFH: no (invasive risk)
Differential Revision: https://reviews.freebsd.org/D25185
Latest version of archivers/rpm4 uses GNU specific option
when calls xargs. This causes the proccess to fail.
This commit adds misc/findutils as a run dependency and
replaces xargs calls by its GNU variant gxargs.
Also Bump portrevision.
PR: 244606
Reported by: Brian Zou <zoujiaqing@gmail.com>
- Reintroduce USE_LDCONFIG use by plugins option
- Prefix wit %%NLS%% a new language file
- Remove lib/rpm-plugins/ima.so from plist (not build anymore by default)
PR: 231118
Submitted by: Maciej Pasternacki <maciej@pasternacki.net>
Reported by: Walter Schwarzenfeld <w.schwarzenfeld@utanet.at> <starikarp@yandex.com>
Main changes:
- Support for enforcing signature policy and payload verification
- Numerous bugfixes and minor enhancements across the board
See detailed release note here : http://rpm.org/wiki/Releases/4.14.2
Since I'm here :
- redo the patches using makepatch
- remove unnecesary USE_LDCONFIG (repored by portlint)
PR: 229750
Reported by: Brian Zou <zoujiaqing@gmail.com>
While rpm does support python3, the port does not configure with
python 3 because it tries to detect incorrect python library
(-lpython3.6, while it should be -lpython3.6m, where m is some kind
of python abi flags). Shove python version with ABI flag added
through, which fixes build.
I've looked at rpm4 git master and it seems that they have changed
the python detection there, so newer versions of rpm4 may no longer
need this hack.
- Update WWW
Approved by: portmgr blanket
No other downstream appends synthetic library version, and doing so
causes underlinking due to fragile build system (see below). Not to
mention being unable to swap out bundled libs from upstream builds.
$ cc -lplds4 -L/usr/local/lib
/usr/lib/crt1.o: In function `_start1':
crt1_c.c:(.text+0xa6): undefined reference to `main'
/usr/local/lib/libplds4.so: undefined reference to `pthread_set_name_np'
/usr/local/lib/libplds4.so: undefined reference to `pthread_create'
/usr/local/lib/libplds4.so: undefined reference to `pthread_condattr_init'
/usr/local/lib/libplds4.so: undefined reference to `pthread_setschedparam'
/usr/local/lib/libplds4.so: undefined reference to `pthread_getschedparam'
PR: 213144
Exp-run by: antoine