Re: [Rpm-maint] [rpm-software-management/rpm] Enhance requires with version information from the build root. (PR #2372)

2023-02-01 Thread Gordon Messmer
@gordonmessmer pushed 1 commit.

2075c5ea488bb45196c89665f203cf938e63b841  Enhance requires with version 
information from the build root.

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2372/files/0af21b5ca6137983cb0eeea60b1d874302e6f67e..2075c5ea488bb45196c89665f203cf938e63b841
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Enhance requires with version information from the build root. (PR #2372)

2023-02-01 Thread Gordon Messmer
```
$ elfdeps --requires --libtool-version-fallback /lib64/libsoup-3.0.so.0
libz.so.1(ZLIB_1.2.0)(64bit)
libgssapi_krb5.so.2(gssapi_krb5_2_MIT)(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.6)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.17)(64bit)
libc.so.6(GLIBC_2.34)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libglib-2.0.so.0()(64bit) >= 0.7400.1
libgmodule-2.0.so.0()(64bit) >= 0.7400.1
libgobject-2.0.so.0()(64bit) >= 0.7400.1
libgio-2.0.so.0()(64bit) >= 0.7400.1
libsqlite3.so.0()(64bit) >= 0.8.6
libpsl.so.5()(64bit) >= 5.3.3
libbrotlidec.so.1()(64bit) >= 1.0.9
libgssapi_krb5.so.2()(64bit)
libz.so.1()(64bit)
libnghttp2.so.14()(64bit) >= 14.24.1
libc.so.6()(64bit)
rtld(GNU_HASH)
```

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2372#issuecomment-1413069597
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Enhance requires with version information from the build root. (PR #2372)

2023-02-01 Thread Gordon Messmer
@gordonmessmer pushed 1 commit.

0af21b5ca6137983cb0eeea60b1d874302e6f67e  Avoid using fallback version when 
versioned symbols are found.

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2372/files/2ec718ef2f5794c67bdfed8fd915033d472f21e5..0af21b5ca6137983cb0eeea60b1d874302e6f67e
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Enhance requires with version information from the build root. (PR #2372)

2023-02-01 Thread Gordon Messmer
If we assumed that the SHT_GNU_verneed header appeared before SHT_DYNAMIC, then 
when processing the latter, we could loop over the existing ei->requires and 
look for elements that start with the same filename, and skip the libtool 
version lookup if one is found.

The only problem is that I don't know if that order is guaranteed.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2372#issuecomment-1413033732
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Enhance requires with version information from the build root. (PR #2372)

2023-02-01 Thread Gordon Messmer
```
libgssapi_krb5.so.2()(64bit) >= 2.2
libz.so.1()(64bit) >= 1.2.12
```

Well... almost as intended.  Those two are unnecessary since the libraries 
provide versioned symbols, and shouldn't have additional version information.  
I'll figure out how to detect and skip that case.  In the mean time, opinions 
on whether the rest of the approach is acceptable are welcome.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2372#issuecomment-1412903553
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Support glibc-hwcaps in rpm (Discussion #2022)

2023-02-01 Thread romulasry
https://github.com/rpm-software-management/rpm/pull/2315

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/discussions/2022#discussioncomment-4845571
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Add znver1 arches with 32-bit + 64-bit variants and proper CPU detection (#1035)

2023-02-01 Thread romulasry
https://github.com/rpm-software-management/rpm/pull/2315

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/1035#issuecomment-1412820654
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Enhance requires with version information from the build root. (PR #2372)

2023-02-01 Thread Gordon Messmer
This version seems to work as intended.  It's more complex than I'd like, but 
still probably better than parsing the output of ldd.

```
$ elfdeps --requires --libtool-version-fallback /lib64/libsoup-3.0.so.0
libz.so.1(ZLIB_1.2.0)(64bit)
libgssapi_krb5.so.2(gssapi_krb5_2_MIT)(64bit)
libc.so.6(GLIBC_2.14)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.6)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.17)(64bit)
libc.so.6(GLIBC_2.34)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libglib-2.0.so.0()(64bit) >= 0.7400.1
libgmodule-2.0.so.0()(64bit) >= 0.7400.1
libgobject-2.0.so.0()(64bit) >= 0.7400.1
libgio-2.0.so.0()(64bit) >= 0.7400.1
libsqlite3.so.0()(64bit) >= 0.8.6
libpsl.so.5()(64bit) >= 5.3.3
libbrotlidec.so.1()(64bit) >= 1.0.9
libgssapi_krb5.so.2()(64bit) >= 2.2
libz.so.1()(64bit) >= 1.2.12
libnghttp2.so.14()(64bit) >= 14.24.1
libc.so.6()(64bit)
rtld(GNU_HASH)
```

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2372#issuecomment-1412712998
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Enhance requires with version information from the build root. (PR #2372)

2023-02-01 Thread Gordon Messmer
@gordonmessmer pushed 1 commit.

2ec718ef2f5794c67bdfed8fd915033d472f21e5  Run dlmopen in a child process.

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2372/files/41da0a2924d11b23a3f8d34efddf2ee39f6b9204..2ec718ef2f5794c67bdfed8fd915033d472f21e5
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Query format | Values intended to be queried by tag 'epoch' not queried when invoked by tag 'evr' (Issue #2364)

2023-02-01 Thread Daniel Alley
It's not a matter of "sometimes printing them and sometimes not" because you're 
querying two different things.  Querying the "epoch" is not the same as 
querying the "evr".  

Really the only argument that can be made is that for nonexistent tags, rpm-cli 
should print nothing instead of `(none)`, which I suppose is debatable, but 
backwards compatibility isn't going to be broken over something so trivial.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/2364#issuecomment-1412223685
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] support for POSIX getopt() behaviour (PR #2377)

2023-02-01 Thread Panu Matilainen
Merged #2377 into master.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2377#event-8409648034
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] support for POSIX getopt() behaviour (PR #2377)

2023-02-01 Thread Panu Matilainen
Sounds reasonable. Thanks for the patch!

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2377#issuecomment-1411945623
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] RPM with Copy on Write (PR #2378)

2023-02-01 Thread Panu Matilainen
Quoting myself from 
https://github.com/rpm-software-management/rpm/pull/1470#issuecomment-772410935:

> That said, what little background processing I've managed to do on this, the 
> more I think this isn't a use-case we'd want to be maintaining going forward 
> in rpm itself. 

I could've sworn I made it far more explicit than this, but then maybe it was 
in some other context.

In any case, lets at least make it clear up-front this time: this functionality 
is not something we want to maintain in rpm. So NAK on rpm2extents and the 
reflink plugin, they will need to be maintained separately. The goal of 
enhancing the librpm and plugin API's to make this all possible is okay, as 
said before.

I noticed you asking about the plugin API in the discussion, sorry for not 
replying there. But saying "not quite what I had in mind" would require 
explaining how exactly to do that, and I haven't got cycles for *that*.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2378#issuecomment-1411912184
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] RPM with Copy on Write (PR #2378)

2023-02-01 Thread Richard Phibel
# Description
This is a refactoring of PR 
[#1470](https://github.com/rpm-software-management/rpm/pull/1470).
The RPM CoW plugin is refactored to register as owner of payloads transcoded by 
`rpm2extents` as suggested in comment 
[#2057](https://github.com/rpm-software-management/rpm/discussions/2057#discussioncomment-2897701).
# How it works
I defined 2 new fields of type `rpmPlugin` (with associated getters and 
setters) in `rpmte` structure:
- 
[`customArchiveReader`](https://github.com/rphibel/rpm/blob/8de078508954e005ba0c974389979070cfe9431d/lib/rpmte.c#L85)
- 
[`customFileInstaller`](https://github.com/rphibel/rpm/blob/8de078508954e005ba0c974389979070cfe9431d/lib/rpmte.c#L86)

When a plugin wants to register as an archive reader for a package, it sets the 
field `customArchiveReader` in the [`psm_pre` 
](https://github.com/rphibel/rpm/blob/8de078508954e005ba0c974389979070cfe9431d/plugins/reflink.c#L165)stage.
Similarly, if it wants to register as a file installer it sets the 
`customFileInstaller` field.

Then in 
[`fsm.c`](https://github.com/rphibel/rpm/blob/8de078508954e005ba0c974389979070cfe9431d/lib/fsm.c#L849),
 if these fields are set, archive reading, file installation is deferred to the 
plugin.

You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/2378

-- Commit Summary --

  * RPM with Copy on Write
  * RPM with Copy on Write
  * RPM CoW: use registration model for plugin

-- File Changes --

M CMakeLists.txt (5)
M build/pack.c (2)
M include/rpm/rpmcli.h (10)
M include/rpm/rpmlib.h (9)
M include/rpm/rpmpgp.h (9)
M include/rpm/rpmte.h (30)
M include/rpm/rpmtypes.h (3)
M lib/CMakeLists.txt (1)
M lib/fsm.c (138)
M lib/package.c (36)
M lib/rpmchecksig.c (116)
A lib/rpmextents.c (110)
A lib/rpmextents_internal.h (58)
M lib/rpmlead.c (43)
M lib/rpmlead.h (37)
M lib/rpmplugin.h (9)
M lib/rpmplugins.c (50)
M lib/rpmplugins.h (18)
M lib/rpmte.c (31)
M lib/transaction.c (29)
M macros.in (1)
M plugins/CMakeLists.txt (1)
A plugins/reflink.c (402)
A rpm2extents.c (701)
M rpmio/rpmpgp.c (10)
M rpmio/rpmpgp_internal.c (18)
M rpmio/rpmpgpval.h (18)
M scripts/CMakeLists.txt (1)
A scripts/rpm2extents_dump (94)
M sign/rpmgensig.c (2)
M tests/CMakeLists.txt (1)
M tests/atlocal.in (22)
A tests/rpm2extents.at (151)
M tests/rpmtests.at (1)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/2378.patch
https://github.com/rpm-software-management/rpm/pull/2378.diff

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2378
You are receiving this because you are subscribed to this thread.

Message ID: rpm-software-management/rpm/pull/2...@github.com
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Query format | Values intended to be queried by tag 'epoch' not queried when invoked by tag 'evr' (Issue #2364)

2023-02-01 Thread Ricky-Tigg
So that is all what it was about; **deliberate inconsistency.** Choosing to 
print sometimes _epoch_ values, with tag _epoch_, and sometimes not to print 
them, with tags _evr_ and _nevra_, would not be expected from developers. 
Having such a fantasy in your code must have pleased you so far since you 
showed interest to keep it. After all, that makes the motive for suddenly 
closing enterely different, and it was indeed worth being closed as there was 
nothing that could have been done here in such a context.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/2364#issuecomment-1411760695
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Enhance requires with version information from the build root. (PR #2372)

2023-02-01 Thread Gordon Messmer
@gordonmessmer pushed 2 commits.

a01b715f68d025387ea394fa367730e30b9629a2  Enhance requires with version 
information from the build root.
41da0a2924d11b23a3f8d34efddf2ee39f6b9204  Resolve symlinks when gathering 
libtool version.

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2372/files/398827f176a1482fbde837b1b997395d024ff37a..41da0a2924d11b23a3f8d34efddf2ee39f6b9204
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Enhance requires with version information from the build root. (PR #2372)

2023-02-01 Thread Gordon Messmer
@gordonmessmer pushed 1 commit.

398827f176a1482fbde837b1b997395d024ff37a  Resolve symlinks when gathering 
libtool version.

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2372/files/d0c8fc93976325c931d0a98d1c4ff73581dae8bd..398827f176a1482fbde837b1b997395d024ff37a
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint