On Sat, Mar 25, 2023 at 06:29:14AM -0400, Neal Gompa wrote:
On Fri, Mar 24, 2023 at 3:42 AM Zbigniew Jędrzejewski-Szmek
<zbyszek(a)in.waw.pl> wrote:
>
> On Thu, Mar 23, 2023 at 02:52:50PM -0400, Ben Cotton wrote:
> >
https://fedoraproject.org/wiki/Changes/createrepo_c_1.0.0
>
> > == Summary ==
> > Update createrepo_c to 1.0.0, new release will include change of
> > default compression to zstd, no longer generating metadata in sqlite
> > database format by default and simplified comps xml type in repodata.
>
> LGTM. Thank you for taking the time to figure out all the dependencies.
>
> While at it, would it be possible to narrow down the check for which
> file paths are included in primary filelists to match the packaging docs?
>
> Currently [1] the pattern is implemented as
'(^/etc|^/usr/lib/sendmail$|bin/)'
> (note that "bin/" can apply anywhere in the string).
> The comment says that this is for yum compat [2].
> Our guidelines only mention files under /usr/bin, /usr/sbin, /etc [3].
>
> I think that the number of files affected is small, but it is a
> potential source of confusion and a hard-to-explain discrepancy between
> what the guidelines say and actual dnf behaviour. Yum is long gone
> and we clearly intended to clean this up many years ago but never
> got round to it.
>
> [1]
https://github.com/rpm-software-management/createrepo_c/blob/master/src/m...
> [2]
https://github.com/rpm-software-management/createrepo_c/blob/master/src/m...
> [3]
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_file_and_dire...
>
I'd rather it be bin/|lib*/|^/etc so that binaries and libraries of
all primary paths (the majority of file deps) are covered in primary.
Sorry, but that'd be a (big) step backwards. `lib*/` would hugely expand the
list of files in primary, while the goal is to make it smaller. Also,
for libraries we already have a better mechanism: provides based on SONAME
and symbol versions.
We should not assume that everything is in /usr because createrepo_c
is used for non-Linux repos that use different prefixes (hence why
"bin/").
We should probably make it ^(/etc/|/bin/|/sbin/|/usr/bin/|/usr/sbin/). Split-usr
distros are a blast from the past, but adding the extra paths wouldn't change
anything for us, since we don't use them.
Zbyszek