Re: git: 5a1c421383c2 - main - archivers/rpm4: update to 4.18.1

From: Rodrigo Osorio <rodrigo_at_FreeBSD.org>
Date: Mon, 17 Jul 2023 10:21:13 UTC
Hi Vladimir,

On 17/07/23 11:49, Vladimir Druzenko wrote:
> 1.
> pkg-static: Unable to access file 
> /tmp/work/usr/ports/archivers/rpm4/work/stage/usr/local/%%PYTHON_SITELIBDIR%%/rpm-4.18.1-py%%PYTHON_VER%%.egg-info:No 
> such file or directory
> Probably this line:
> +%%PYTHON_SITELIBDIR%%/rpm-%%VERSION%%-py%%PYTHON_VER%%.egg-info
> need %%PYTHON%% at begin.
my fault, I didn't test all the options

>
> 2. Why add "pandoc:textproc/hs-pandoc" as mandatory dependency? It 
> require huge port lang/ghc (chech distinfo).

Pandoc is required to perform manpage installation.

https://github.com/rpm-software-management/rpm/blob/rpm-4.18.x/docs/Makefile.am#L3

>
> 3. Can't find mans during stage:
> pkg-static: Unable to access file 
> /tmp/work/usr/ports/archivers/rpm4/work/stage/usr/local/man/fr/man8/rpm.8.gz:No 
> such file or directory
> pkg-static: Unable to access file 
> /tmp/work/usr/ports/archivers/rpm4/work/stage/usr/local/man/ja/man8/rpm.8.gz:No 
> such file or directory
> pkg-static: Unable to access file 
> /tmp/work/usr/ports/archivers/rpm4/work/stage/usr/local/man/ja/man8/rpm2cpio.8.gz:No 
> such file or directory
> pkg-static: Unable to access file 
> /tmp/work/usr/ports/archivers/rpm4/work/stage/usr/local/man/ja/man8/rpmbuild.8.gz:No 
> such file or directory
> < ~30 lines >

That's strange, in my poudriere build I have a rpm4-4.18.1 package and 
all the man pages in.
/usr/local/man/man8/rpmbuild.8.gz
/usr/local/man/man8/rpmdb.8.gz
/usr/local/man/man8/rpmdeps.8.gz
/usr/local/man/man8/rpmgraph.8.gz
/usr/local/man/man8/rpmkeys.8.gz
/usr/local/man/man8/rpmlua.8.gz
.....

>
> 17.07.2023 08:31, Rodrigo Osorio пишет:
>> The branch main has been updated by rodrigo:
>>
>> URL: 
>> https://cgit.FreeBSD.org/ports/commit/?id=5a1c421383c2917be9b4038c789ef7fc0e3ecb19
>>
>> commit 5a1c421383c2917be9b4038c789ef7fc0e3ecb19
>> Author:     Rodrigo Osorio <rodrigo@FreeBSD.org>
>> AuthorDate: 2023-07-16 23:36:50 +0000
>> Commit:     Rodrigo Osorio <rodrigo@FreeBSD.org>
>> CommitDate: 2023-07-17 05:17:45 +0000
>>
>>      archivers/rpm4: update to 4.18.1
>>           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
>> ---
>>   archivers/rpm4/Makefile                    | 23 
>> ++++++++++-------------
>>   archivers/rpm4/distinfo                    |  6 +++---
>>   archivers/rpm4/files/patch-lib_fsm.c       | 11 +++++++++++
>>   archivers/rpm4/files/patch-tools_elfdeps.c |  4 ++--
>>   archivers/rpm4/pkg-plist                   |  9 +++++----
>>   5 files changed, 31 insertions(+), 22 deletions(-)
>>
>> diff --git a/archivers/rpm4/Makefile b/archivers/rpm4/Makefile
>> index adbe2a427321..ac6005b2bd2b 100644
>> --- a/archivers/rpm4/Makefile
>> +++ b/archivers/rpm4/Makefile
>> @@ -1,5 +1,5 @@
>>   PORTNAME=    rpm
>> -PORTVERSION=    4.18.0
>> +PORTVERSION=    4.18.1
>>   CATEGORIES=    archivers
>>   MASTER_SITES= http://ftp.rpm.org/releases/rpm-${PORTVERSION:R}.x/
>>   PKGNAMESUFFIX=    4
>> @@ -12,7 +12,8 @@ LICENSE=    GPLv2
>>   LICENSE_FILE=    ${WRKSRC}/COPYING
>>     BUILD_DEPENDS=    gsed:textproc/gsed \
>> -        ${LOCALBASE}/lib/libelf.so:devel/elfutils
>> +        ${LOCALBASE}/lib/libelf.so:devel/elfutils \
>> +        pandoc:textproc/hs-pandoc
>>   LIB_DEPENDS=    libpopt.so:devel/popt \
>>           libnss3.so:security/nss \
>>           libzstd.so:archivers/zstd \
>> @@ -26,13 +27,12 @@ USES=        alias bdb sqlite cpe gmake iconv 
>> libarchive libtool \
>>           lua pathfix pkgconfig shebangfix tar:bzip2
>>   USE_LDCONFIG=    yes
>>   -GNU_CONFIGURE=    yes
>> -BINARY_ALIAS=    sed=${LOCALBASE}/bin/gsed
>>   SHEBANG_FILES=    scripts/check-prereqs \
>>           scripts/check-rpaths-worker scripts/pkgconfigdeps.sh \
>>           scripts/fontconfig.prov scripts/perl.prov scripts/perl.req \
>>           scripts/find-lang.sh scripts/ocamldeps.sh \
>>           scripts/rpm_macros_provides.sh
>> +GNU_CONFIGURE=    yes
>>   CONFIGURE_ARGS=    --enable-sqlite=yes\
>>           --with-popt-prefix="${LOCALBASE}" \
>>           --sysconfdir=${PREFIX}/etc \
>> @@ -51,6 +51,8 @@ LDFLAGS+=    -L${LOCALBASE}/lib 
>> -L${LOCALBASE}/lib/nss \
>>     CONFLICTS_INSTALL=    rpm2cpio # bin/rpm2cpio
>>   +BINARY_ALIAS=    sed=${LOCALBASE}/bin/gsed
>> +
>>   PLIST_SUB=    VERSION=${PORTVERSION} \
>>           OPSYS=${OPSYS:tl}
>>   @@ -60,15 +62,14 @@ OPTIONS_DEFINE=    PYTHON PLUGINS NLS DOCS
>>   OPTIONS_DEFAULT=PYTHON
>>   OPTIONS_SUB=    yes
>>   -PYTHON_CONFIGURE_ENABLE=python
>> -PYTHON_USES=        python
>> -
>> -NLS_CONFIGURE_ENABLE=    nls
>>   NLS_USES=        gettext
>> +NLS_CONFIGURE_ENABLE=    nls
>>   NLS_LIBS=        -lintl
>>   -PLUGINS_CONFIGURE_ENABLE=plugins
>>   PLUGINS_LIB_DEPENDS=    libdbus-1.so:devel/dbus
>> +PLUGINS_CONFIGURE_ENABLE=plugins
>> +PYTHON_USES=        python
>> +PYTHON_CONFIGURE_ENABLE=python
>>     post-patch:
>>       @${REINPLACE_CMD} -e 's:\.\./\.\./bin/::' ${WRKSRC}/Makefile.in
>> @@ -80,8 +81,4 @@ post-patch:
>>           ${WRKSRC}/scripts/check-rpaths \
>>           ${WRKSRC}/scripts/vpkg-provides.sh
>>   -post-install-DOCS-on:
>> -    @${MKDIR} ${STAGEDIR}${DOCSDIR}
>> -    cd ${WRKSRC}/docs && ${COPYTREE_SHARE} librpm/html 
>> ${STAGEDIR}${DOCSDIR}
>> -
>>   .include <bsd.port.mk>
>> diff --git a/archivers/rpm4/distinfo b/archivers/rpm4/distinfo
>> index 98a332709ad3..1df8ee1744d3 100644
>> --- a/archivers/rpm4/distinfo
>> +++ b/archivers/rpm4/distinfo
>> @@ -1,3 +1,3 @@
>> -TIMESTAMP = 1663679594
>> -SHA256 (rpm-4.18.0.tar.bz2) = 
>> 2a17152d7187ab30edf2c2fb586463bdf6388de7b5837480955659e5e9054554
>> -SIZE (rpm-4.18.0.tar.bz2) = 6600013
>> +TIMESTAMP = 1689439085
>> +SHA256 (rpm-4.18.1.tar.bz2) = 
>> 37f3b42c0966941e2ad3f10fde3639824a6591d07197ba8fd0869ca0779e1f56
>> +SIZE (rpm-4.18.1.tar.bz2) = 6396363
>> diff --git a/archivers/rpm4/files/patch-lib_fsm.c 
>> b/archivers/rpm4/files/patch-lib_fsm.c
>> new file mode 100644
>> index 000000000000..ef3e9b8b477e
>> --- /dev/null
>> +++ b/archivers/rpm4/files/patch-lib_fsm.c
>> @@ -0,0 +1,11 @@
>> +--- lib/fsm.c.orig    2023-03-13 14:33:50 UTC
>> ++++ lib/fsm.c
>> +@@ -1014,7 +1014,7 @@
>> +                     rc = RPMERR_UNKNOWN_FILETYPE;
>> +             }
>> +
>> +-setmeta:
>> ++setmeta:;
>> +         /* Special files require path-based ops */
>> +         int mayopen = S_ISREG(fp->sb.st_mode) || 
>> S_ISDIR(fp->sb.st_mode);
>> +         if (!rc && fd == -1 && mayopen) {
>> diff --git a/archivers/rpm4/files/patch-tools_elfdeps.c 
>> b/archivers/rpm4/files/patch-tools_elfdeps.c
>> index 6f71f12f4c9e..fc2498b57b1c 100644
>> --- a/archivers/rpm4/files/patch-tools_elfdeps.c
>> +++ b/archivers/rpm4/files/patch-tools_elfdeps.c
>> @@ -1,5 +1,5 @@
>> ---- tools/elfdeps.c.orig    2023-01-16 16:44:45.666870000 -0500
>> -+++ tools/elfdeps.c    2023-01-16 16:44:57.548011000 -0500
>> +--- tools/elfdeps.c.orig    2023-01-16 16:44:45 UTC
>> ++++ tools/elfdeps.c
>>   @@ -84,7 +84,7 @@
>>        if (ehdr->e_ident[EI_CLASS] == ELFCLASS64) {
>>        switch (ehdr->e_machine) {
>> diff --git a/archivers/rpm4/pkg-plist b/archivers/rpm4/pkg-plist
>> index 091cc43e8a86..7b0656ed7a21 100644
>> --- a/archivers/rpm4/pkg-plist
>> +++ b/archivers/rpm4/pkg-plist
>> @@ -51,19 +51,20 @@ include/rpm/rpmutil.h
>>   include/rpm/rpmver.h
>>   lib/librpm.so
>>   lib/librpm.so.9
>> -lib/librpm.so.9.3.0
>> +lib/librpm.so.9.4.0
>>   lib/librpmbuild.so
>>   lib/librpmbuild.so.9
>> -lib/librpmbuild.so.9.3.0
>> +lib/librpmbuild.so.9.4.0
>>   lib/librpmio.so
>>   lib/librpmio.so.9
>> -lib/librpmio.so.9.3.0
>> +lib/librpmio.so.9.4.0
>>   lib/librpmsign.so
>>   lib/librpmsign.so.9
>> -lib/librpmsign.so.9.3.0
>> +lib/librpmsign.so.9.4.0
>>   %%PYTHON%%%%PYTHON_SITELIBDIR%%/rpm/__init__.py
>>   %%PYTHON%%%%PYTHON_SITELIBDIR%%/rpm/_rpm.so
>>   %%PYTHON%%%%PYTHON_SITELIBDIR%%/rpm/transaction.py
>> +%%PYTHON_SITELIBDIR%%/rpm-%%VERSION%%-py%%PYTHON_VER%%.egg-info
>>   %%PLUGINS%%lib/rpm-plugins/dbus_announce.so
>>   %%PLUGINS%%lib/rpm-plugins/prioreset.so
>>   %%PLUGINS%%lib/rpm-plugins/syslog.so
>
>