Re: Enabling RPM based sysuser handling

2024-05-13 Thread Florian Festi
On 5/11/24 12:56, Zbigniew Jędrzejewski-Szmek wrote:
> On Fri, May 10, 2024 at 01:28:07PM +0200, Florian Festi wrote:
>> Anyone interested in picking this up? I remember quite a few people
>> being exited about this when it was announced with the rpm-4.19 Change.
> 
> I would be interested in making this happen.
> 
> You mentioned that the transition "requires some care". What are
> the problems?

There are Requires created for the users and groups. To make this work
the Provides need to be there first - obviously. So one will probably
need to set %_use_weak_usergroup_deps for a transition period. At least
until the first mass rebuild.

There are also a large number of packages that are using useradd:
grep useradd *.spec | cut -d: -f1 | sort -u | wc
281 2814090

We need to think what to do with them.

The sysusers macros are much less used actually:
grep sysusers_requires_compat *.spec | cut -d: -f1 | sort -u | wc
 53  53 725
grep sysusers_create_compat *.spec | cut -d: -f1 | sort -u | wc
101 1011476

>> This whole thing probably needs to be a Global Change involving a change
>> to the Packaging Guidelines [4] and may be an Mass Package Change
>> (although that might be avoided by changing the macros in
>> systemd-rpm-macros to NOPs).
> 
> The macros are written in a way that if the user/group exist,
> no operation is done. Thus, naively, I would think that if rpm
> starts to create users and groups on its own, then the existing
> scriptlets would become noops. That would mean that we could enable
> the feature in rpm without any mass package changes first.

That might work, but I have not looked deep enough into that to do that
blindly.

> If the rpm approach works, I think it'd make sense to
> a) change the macros to be noops,
> b) do a mass package change to strip the scriptlets from all packages.
>That's probably the right thing to do for the rawhide branch, but
>as usual, the question becomes how to handle packages that use a
>common branch for older releases. But the Mass Change process is
>intended to deal with such cases.

One way to deal with this is to keep the noop macros until all current
Fedora versions are using the new method.


It's probably not super complicated it just wasn't something we wanted
to do during the actual RPM update - which already was a lot of "fun"
without also enabling the new user handling.

Then there is ofc all the paper work needed.

Florian

PS: Note that the upcoming RPM 4.20 release is extending the support to
"m" lines in sysuser files (which adds users to existing groups)


> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> Fedora Code of Conduct: 
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: 
> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
> Do not reply to spam, report it: 
> https://pagure.io/fedora-infrastructure/new_issue
--
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: Mass Package Change: Turn deprecated %patchN syntax into %patch -PN

2024-05-13 Thread Florian Festi
On 5/11/24 01:04, Kevin Kofler via devel wrote:
> Florian Festi wrote:
>> We have an even easier solution for you: You can just run the script at
>> [3] with -n on your own spec files to get them changed to the %patch N
>> variant. If you do that right now they will not break nor will they be
>> touched during the mass change.
>>
>> As I said the %patch -PN syntax is the one with the best compatibility -
>>  reaching back into the dark ages. I am not advocating for people to use
>> it. Anyone is free and encouraged to move to something more modern -
>> before or after the change. We are using this variant so spec files
>> continue to work on older distributions and the chance of breakage is
>> minimized. This way packagers that don't care don't have to.
> 
> What I do not understand is why RPM is discontinuing the most commonly used 
> syntax and breaking hundreds of specfiles. This also leaves us with only the 
> choice between a backwards-incompatible syntax (added only in RPM 4.18) and 
> an ugly and redundantly verbose syntax (the -P syntax). And even the modern 
> syntax is 1 character (space) longer for every patch. The shortest syntax 
> was the one being dropped.

I am glad you asked.

The short answer is the %patchN instances are not a proper macros and we
no longer can have that.

The long story is that the spec parsing code is old, weird and is one of
the few places in RPM that have not seen major renovations in the last
two decades - until now. We have also put a lot more stress on that code
with all the language specific macros and lua scripts, extended
debuginfo support, dynamic spec parts, the new build scripts, ...
So a lot of the weirdness and corner cases that were "fine" for "normal"
specs are now showing up more and more.

Expanding the %patchN syntax required a whole separate parse and expand
run that was separate from the macro expansion. This led to subtle
semantic issues wrt expansion order. It also made %prep special and
%patchN only worked in there. %patch otoh (now) is a regular (though
internally implemented) macro that is expanded with other macros and
though can be used in other macros and expressions.

This is only one of many issue with the parsing (and building) code and
we are actively working on disentangling the mess. For most things
packager won't notice unless they do more complicated things where these
semantic details matter. But the %patchN syntax is something that is
just not worth preserving. It does not fit into the overall macro frame
work and should not have been added in the first place. I also have a
hard time seeing how adding a single space per %patch line is
overburdening packagers.

Florian
--
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: Mass Package Change: Turn deprecated %patchN syntax into %patch -PN

2024-05-10 Thread Florian Festi
On 5/10/24 14:10, Vít Ondruch wrote:
> I'd actually prefer the `%patch 1` syntax (which is also the first on
> the list [1]). Yes, I understand that `%patch -P1` is to stay on the
> safe side, but this is Fedora change, not RHEL or EPEL change.
> 
> But if you insist on `-P1`, then please skip all packages I am
> associated with. I'd prefer to have them broken and if needed, I fix
> them later myself.

We have an even easier solution for you: You can just run the script at
[3] with -n on your own spec files to get them changed to the %patch N
variant. If you do that right now they will not break nor will they be
touched during the mass change.

As I said the %patch -PN syntax is the one with the best compatibility -
 reaching back into the dark ages. I am not advocating for people to use
it. Anyone is free and encouraged to move to something more modern -
before or after the change. We are using this variant so spec files
continue to work on older distributions and the chance of breakage is
minimized. This way packagers that don't care don't have to.

Florian

> Dne 06. 05. 24 v 13:56 Florian Festi napsal(a):
>> Hi everyone,
>>
>> RPM has deprecated the %patchN syntax in favor of %patch -PN where N is
>> the patch number for a year now. See the RPM documentation for more
>> information [1]. In current RPM versions, this syntax only emits a
>> deprecation warning, but support for this syntax has been removed
>> completely in the upcoming RPM 4.20 release. As it will be added in
>> Fedora soon [2] it is time to switch over to the new syntax now.
>>
>> There are around 1800 packages that still use the old syntax. Later this
>> week/next week, we will run this script [3] over the affected packages
>> [4][5] to update them to the modern patch syntax. For example, the
>> script will change:
>>
>> %patch0 -p1 → %patch -P0 -p1
>> %patch0005 -p2 → %patch -P0005 -p2
>>
>> If anyone has any objections or would like to exclude a package, please
>> let me know.
>>
>> As this change does not affect the resulting binary packages an
>> immediate rebuild is not needed. The change will "only" ensure the
>> packages still build with the new version of RPM.
>>
>> This is the change with the highest compatibility (back to RPM 3.x).
>> There are more modern options (like %autosetup) that packagers are
>> encouraged to use but are out of scope here.
>>
>> Florian
>>
>> [1]
>> https://rpm-software-management.github.io/rpm/manual/spec.html#patch-1
>> [2] https://fedoraproject.org/wiki/Changes/RPM-4.20
>> [3] https://fedoraproject.org/wiki/File:User-Ffesti-new_patch_syntax.sh
>> [4] https://fedoraproject.org/wiki/File:User-Ffesti-patchNN-packages.txt
>> [5]
>> https://fedoraproject.org/wiki/File:User-Ffesti-patchNN-package-owners.txt
>> -- 
>> ___
>> devel mailing list -- devel@lists.fedoraproject.org
>> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
>> Fedora Code of Conduct:
>> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
>> List Archives:
>> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
>> Do not reply to spam, report it:
>> https://pagure.io/fedora-infrastructure/new_issue
> 
> --
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> Fedora Code of Conduct: 
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: 
> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
> Do not reply to spam, report it: 
> https://pagure.io/fedora-infrastructure/new_issue
--
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Enabling RPM based sysuser handling

2024-05-10 Thread Florian Festi
Hi everyone!

RPM 4.19 added automatic sysuser handling [1]. In Fedora 39 this feature
was not enabled right away [2] as it requires some care to properly
transition to it. Also going back to 4.18 was technically still the
fallback option during this change.

I just noticed in an issue in the RPM upstream repository [3] that the
sysuser feature is still not enabled. May be right now might be a good
time to get this going for Fedora 41. I am happy to help with the
technical details but would prefer if this effort was driven from within
Fedora.

Currently users are either done manually by calling useradd in
scriptlets or using the macros in systemd-rpm-macros which is a sub
package of the systemd package. RPM's mechanism is switched off by
rpm-4.18.92-disable-sysusers.patch in the rpm package.

This whole thing probably needs to be a Global Change involving a change
to the Packaging Guidelines [4] and may be an Mass Package Change
(although that might be avoided by changing the macros in
systemd-rpm-macros to NOPs).

Anyone interested in picking this up? I remember quite a few people
being exited about this when it was announced with the rpm-4.19 Change.

Florian

[1]
https://rpm-software-management.github.io/rpm/manual/users_and_groups.html
[2] https://fedoraproject.org/wiki/Changes/RPM-4.19
[3] https://github.com/rpm-software-management/rpm/issues/3073
[4] https://docs.fedoraproject.org/en-US/packaging-guidelines/UsersAndGroups
--
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: Mass Package Change: Turn deprecated %patchN syntax into %patch -PN

2024-05-08 Thread Florian Festi
On 5/8/24 00:49, Omair Majid wrote:
> Hi,
> 
> Florian Festi  writes:
> 
>> If anyone has any objections or would like to exclude a package, please
>> let me know.
> 
> Could you please exclude the .NET packages (dotnet6.0, dotnet7.0,
> dotnet8.0)? dotnet8.0 shouldn't need a fix (and it doesn't appear in your
> list). dotnet7.0 is already EOL/orphaned/retired. dotnet6.0 will go
> through the same EOL/orphan/retiring process later this year. There's
> little point changing it now
Sure!

Florian
--
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Mass Package Change: Turn deprecated %patchN syntax into %patch -PN

2024-05-06 Thread Florian Festi
Hi everyone,

RPM has deprecated the %patchN syntax in favor of %patch -PN where N is
the patch number for a year now. See the RPM documentation for more
information [1]. In current RPM versions, this syntax only emits a
deprecation warning, but support for this syntax has been removed
completely in the upcoming RPM 4.20 release. As it will be added in
Fedora soon [2] it is time to switch over to the new syntax now.

There are around 1800 packages that still use the old syntax. Later this
week/next week, we will run this script [3] over the affected packages
[4][5] to update them to the modern patch syntax. For example, the
script will change:

%patch0 -p1 → %patch -P0 -p1
%patch0005 -p2 → %patch -P0005 -p2

If anyone has any objections or would like to exclude a package, please
let me know.

As this change does not affect the resulting binary packages an
immediate rebuild is not needed. The change will "only" ensure the
packages still build with the new version of RPM.

This is the change with the highest compatibility (back to RPM 3.x).
There are more modern options (like %autosetup) that packagers are
encouraged to use but are out of scope here.

Florian

[1] https://rpm-software-management.github.io/rpm/manual/spec.html#patch-1
[2] https://fedoraproject.org/wiki/Changes/RPM-4.20
[3] https://fedoraproject.org/wiki/File:User-Ffesti-new_patch_syntax.sh
[4] https://fedoraproject.org/wiki/File:User-Ffesti-patchNN-packages.txt
[5]
https://fedoraproject.org/wiki/File:User-Ffesti-patchNN-package-owners.txt
--
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: Towards enabling rpm sysusers integration

2023-07-24 Thread Florian Festi
On 6/29/23 09:55, Panu Matilainen wrote:
> The rpm integration doesn't technically require systemd-sysusers, we can
> write a script that calls useradd/groupadd instead. So for us it becomes
> a choice between writing that script or adding audit support to
> systemd-sysusers. Writing a script based on sysusers.generate-pre.sh may
> well be less work and would benefit the non-systemd audiences of rpm at
> the same time. We'll see.


OK, I cobbled something together:

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

It still waits for the new test suite back end to pass the testsuite but
that shouldn't prevent anyone from already having a look.

Does anyone have a suggestion  for another way for checking for the
existence of users groups and UIDs? While useradd and group add support
the --root parameter things like id don't.

Florian
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: Flock CFP: Language SIGs discussion

2023-07-13 Thread Florian Festi
This is great to see! The issue of lack of coordination and
collaboration between the language SIGs also came up in my workshop on
DevConf [1]. Having them share more code/macros and spec file idioms
would make packaging as a whole easier. Not re-inventing solutions for
the same or at least similar problems would also be a great step forward.

Unfortunately there won't be anyone from the RPM team at Flock. If there
is anything you need or we can do to make this easier please bring that
up to me. We can always add more repositories in the
https://github.com/rpm-software-management organization if you need a
place for upstream repositories - especially if you want a place that is
more neutral when it comes to cooperation with other RPM based
distributions. Which is another dimension on which sharing and
cooperation should be extended.

As it is relevant for this meeting may be someone that attended my
workshop can give a 3 or 5 minute summary of the new Dynamic Spec
feature. Slides are available [2]. Slide 8 to 10 or 11 should be
sufficient. Unfortunately there isn't a recording of the workshop. Feel
free to bug me if you have questions.

Florian


[1] https://devconfcz2023.sched.com/event/d1c12cf5f5e4dec9b089b21781c1d9fd
[2]
https://static.sched.com/hosted_files/devconfcz2023/c2/DynamicBuilds-DevConf.odp
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: F39 proposal: RPM 4.19 (System-Wide Change proposal)

2023-04-04 Thread Florian Festi
On 4/3/23 08:04, Florian Weimer wrote:
> * Florian Festi:
> 
>> On 3/31/23 15:40, Stephen Gallagher wrote:
>>> On Thu, Mar 30, 2023 at 3:42 PM Ben Cotton  wrote:
>>>>
>>>> https://fedoraproject.org/wiki/Changes/RPM-4.19
>>>
>>>> == Detailed Description ==
>>>> RPM 4.19 contains various improvements over previous versions. Many of
>>>> them are internal in nature such as moving from automake to cmake,
>>>> improvements to the test suite, stripping copies of system functions,
>>>> splitting translations into a separate project and more. There are
>>>> still several user facing changes:
>>>>
>>>> * New rpmsort(8) utility for sorting RPM versions
>>> Handy!
>>>
>>>> * x86-64 architecture levels (v2-v4) as architectures
>>> Could you explain more what this means, exactly?
>>
>> No! But here is the commit:
>>
>>  
>> https://github.com/rpm-software-management/rpm/commit/cd46c1704ccd8eeb9b600729a0a1c8738b66b847
>>
>> It looks like it adds x86_64_v2, x86_64_v3 and x86_64_v4. Something
>> about some x86_64 processors having additional capabilities.
> 
> Are these fully separate architectures, or can x86_64_v3 packages
> fulfill dependencies on x86_64 packages?
> 
> It's not clear to me yet how this new feature is supposed to be used.

These are not independent architectures but are compatible with all
lower ones. So it is similar to i386, i486, i586, i686 - just this time
in 64 bit. They are there to allow distributions to create optimized
packages that only run on processors with the additional features.

> (Detection for x86-64-v3 and x86-64-v4 is not correct because it does
> not examine XCR0.  I'm going to file an upstream bug for that.)
> 
> Thanks,
> Florian
> 
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: F39 proposal: RPM 4.19 (System-Wide Change proposal)

2023-03-31 Thread Florian Festi
On 3/31/23 15:40, Stephen Gallagher wrote:
> On Thu, Mar 30, 2023 at 3:42 PM Ben Cotton  wrote:
>>
>> https://fedoraproject.org/wiki/Changes/RPM-4.19
> 
>> == Detailed Description ==
>> RPM 4.19 contains various improvements over previous versions. Many of
>> them are internal in nature such as moving from automake to cmake,
>> improvements to the test suite, stripping copies of system functions,
>> splitting translations into a separate project and more. There are
>> still several user facing changes:
>>
>> * New rpmsort(8) utility for sorting RPM versions
> Handy!
> 
>> * x86-64 architecture levels (v2-v4) as architectures
> Could you explain more what this means, exactly?

No! But here is the commit:

 
https://github.com/rpm-software-management/rpm/commit/cd46c1704ccd8eeb9b600729a0a1c8738b66b847

It looks like it adds x86_64_v2, x86_64_v3 and x86_64_v4. Something
about some x86_64 processors having additional capabilities.

>> * Support for %preuntrans and %postuntrans scriptlets
>> * Creating User and Groups from sysusers.d files including Provides
>> and Requires or Recommends
> I may have cried a little bit in joy here. This is huge!
> 
>> ([https://github.com/rpm-software-management/rpm/pull/2432 PR],
>> [https://github.com/rpm-software-management/rpm/discussions/2277
>> Discussion])

There now is proper documentation online. This just got merged, so it
wasn't available yet, when I submitted the change page.

https://rpm-software-management.github.io/rpm/manual/users_and_groups.html

Note that this will not be enabled fully at first. There needs to be
another Global Change to enable this fully. The actual update of RPM is
meant to be as little disruptive as possible. After the update the new
features can be enabled or put into Packaging Policy. But I guess most
here know that dance already.


>> * [https://rpm-software-management.github.io/rpm/manual/dynamic_specs.html
>> Dynamic Spec generation]
> 
> This could be a real winner for glibc, texlive and fedora-release.

Yes. But this was actually meant to be used for whole ecosystems like
Python to turn Manifest files into sub packages.

>> ** find_lang now being able to generate language sub packages
> 
> Could you provide more info on this? It's written almost like a
> side-note, but this could be a big deal.

Well this was done as a prove of concept for the Dynamic Spec feature.
See https://github.com/rpm-software-management/rpm/pull/2300 for the
change itself

For packagers all they need to know that there is a new
--generate-subpackages parameter for find-lang.sh that creates sub
packages according to the %_langpack_template macro.

This could probably use a bit more review from people more into i18n
than myself.


>> The 4.19 alpha release is expected in April and the final release is
>> expected in time for the Fedora 39 release cycle as usual.
> But I want it now... 
The time will come. The time will come.

Florian

___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: %patchN deprecated?

2023-03-29 Thread Florian Festi
On 3/29/23 10:31, Michael J Gruber wrote:
> Has `%patchN` been deprecated in favour of `%patch N`?

Yes, see %patch section on
https://rpm-software-management.github.io/rpm/manual/spec.html

> I got a push by a proven packager to one of the packages which I maintain, 
> commit subject and changelog entry "Fix deprecated patch rpm macro". It 
> contains no explanation and no reference whatsoever. I didn't find any heads 
> up notice, nor info in the packaging guidelines, but I didn't try too hard - 
> because it's not my job.
> 
> I mean: One person is doing that push. Is it too much to ask to get at least 
> the slightest bit of reference or communication before or into a push which 
> probably affects hundreds of people? If not out of courtesy then out of mere 
> common sense of efficiency?
> 
> On the technical side, I'd be interested why this is better (fewer macros?) 
> and which releases can take it, and what are the recommendations for 
> `PatchN:`-lines (with or without N), and why (or whether) the recommendation 
> isn't to go for `%autosetup` or `%autopatch` - maybe all answered in the 
> missing reference.

Those macros are an ugly hack and RPM upstream rather had them go away.

The deprecation suggests a one to one replacement. Ofc using the use of
%autosetup or %autopatch is encouraged but that kinda out of scope of
the deprecation.

Florian
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: valgrind on Fedora

2023-01-16 Thread Florian Festi
On 1/16/23 07:10, Gordon Messmer wrote:
> Does anyone have any hints for improving the information I get from
> valgrind?
Have you installed the debuginfo packages for the packages involved?
See man debuginfo-install

Florian
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Re: rpmbuild is very slow with large files

2022-07-12 Thread Florian Festi
On 7/12/22 11:02, Marius Schwarz wrote:
> Am 12.07.22 um 10:55 schrieb Marius Schwarz:
>>
>> The rpmbuild process for this one rpm was single thread. With a
>> lsof-loop,  I could see "bytes" getting attached to the resulting file
>> with an awful slow progression rate. Which is very frustrating to see
>> on a 8 core system.
>>
>> The thing is, I do testbuilds of VOSK with language model and code
>> etc. on one of my servers. If this project ever reaches the Fedora
>> build farm,
>> we can expect a very long build time, if nothing is changed in
>> rpmbuild. Is there maybe a hidden parallel compression option somewhere?
>>
> 
> Looks like someone else had the same problem with rpmbuilds XZ single
> core compression:
> 
> https://insujang.github.io/2020-11-07/accelerating-ceph-rpm-packaging-using-multithreaded-compression/
> 
> |--define "_binary_payload w2T16.xzdio" |
> 
> |Question: Is the resulting compression format suitable for Fedora repo
> or a against a policy?|

Yeah, we did quite some work upstream to get builds run in parallel at
various stages and levels.

RPM does support multithreaded compression where the compression
libraries support that but it needs to be enabled. As the result are not
the same as single threaded compression this may have impact on the
viability of deltarpms. But IIRC at least zstd while having different
results would at least have reproducible results. But I am not the one
that actually checked and decided against threaded compression.

Florian

> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> Fedora Code of Conduct: 
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: 
> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
> Do not reply to spam on the list, report it: 
> https://pagure.io/fedora-infrastructure
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: F35 Change: Restart User Services after Upgrade (very-very-very late System-Wide Change proposal)

2021-07-29 Thread Florian Festi
On 7/29/21 11:51 AM, Daniel P. Berrangé wrote:
> On Thu, Jul 29, 2021 at 09:37:53AM +, Zbigniew Jędrzejewski-Szmek wrote:
>> On Wed, Jul 28, 2021 at 07:04:03PM +0200, Miroslav Suchý wrote:
>> So... personally I think we should restart many more things than
>> we currently do. Even in systemd itself we fall short of this
>> goal: systemd-logind is not restarted because of bugs (gnome
>> session gets killed when logind is restarted, and it's really a
>> problem with how logind manages resources during restart [1]).
>> To be able to safely restart, the application has to provide the
>> appropriate functionality: it needs to either always keep all
>> state serialized, or serialize it on demand. Systemd provides a
>> "file descriptor store" [2] that can be used to keep files open
>> while the process is not running. There are obviously exceptions…
>> for example graphical applications. But for many system services and
>> background user services, my expecation is that they are invisibly
>> restarted in the background without any user interaction. Each program
>> that allows this moves us one step closer towards the goal of being
>> upgrades being a non-event.
> I'd question the criteria we use for deciding when to restart services.
> Typically we only restart a daemon if the daemon binary is upgraded.
> This ignores any libraries that the daemon links to, which are just
> as important to its functionality, reliability and security as the
> executable binary.  Only restarting daemons when the executable binary
> changes gives us a false sense of having solved the upgrades problems.
> To arbitrarily pick on 'colord', there are 35 libraries it links to
> that could be considered triggers for restart on upgrade. This is
> an especially important problem for any daemons that link to TLS or
> general crypto libraries, as it means we're not actually applying
> security updates in those libraries to any running daemons that use
> them, unless you always restart the entire host OS.

This is out of the scope of this Change but I am wondering whether this
should be something RPM supports somehow. Yes, there are triggers, that
would allow for scriptlets to run if another package gets updated. But
this is super cumbersome for this use case and requires the packager to
keep track of all the dependencies (recursively!).

My first thought was a new trigger scriptlet type that would run if any
dependencies get updated. But I guess this would trigger much too often.
Dependencies from scriptlets or meta dependencies can ofc be filtered
out but this will probably still leave too many dependencies.

May be we could have some REs to filter the dependencies to look at.
Just matching *.so* may do the trick but looks pretty fragile.

Florian
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: Strange rpmbuild begaveour

2020-07-05 Thread Florian Festi
On 7/5/20 2:21 PM, TI_Eugene wrote:
> Two builds for tests:
> 1. https://koji.fedoraproject.org/koji/taskinfo?taskID=46635276
> 2. https://koji.fedoraproject.org/koji/taskinfo?taskID=46635342
> 
> The deferrence between them - libraries permissions.
> 
> Problems are:
> 1. %{make_install} installs libraries with 0755 flags
> 2. After changing library files mode into 0644 rpmbuild not extracts
> debug info

Yes, the exec bits are used as indicators whether those files should be
processed or not. It takes the permission bits from the disk so you can
change them in the file list independently.

> Where I'm wrong?
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> Fedora Code of Conduct:
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives:
> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


-- 
Red Hat GmbH, http://www.de.redhat.com/, Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Laurie Krebs, Michael O'Neill,
Thomas Savage
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: [Fedora-packaging] Let's standardize the way to disable tests during RPM build?

2020-06-08 Thread Florian Festi
May be https://github.com/rpm-software-management/rpm/pull/1256 does the
trick. Comments welcome!

Florian

On 6/5/20 4:39 PM, Igor Raits wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA512
> 
> On Fri, 2020-06-05 at 16:10 +0200, Tomas Orsava wrote:
>> Hi,
>> I think it would be useful to have a standard way of disabling the 
>> running of tests during RPM build (in the %check section of a spec
>> file).
>>
>> I see a lot of packages already having %bcond's or other macro 
>> definitions to archieve this, but each package has their own way, 
>> there's no real standard. Thus you have to first look into the spec, 
>> locate the appropriate %bcond or macro name and only then you can 
>> disable the tests.
>>
>> I would like to propose two approaches:
>>
>> (a) Add a *SHOULD* rule to the guidelines that specifies what is the 
>> preferred way to conditionalize the tests.
>>
>> (b) Or, if that's too strong, mention in the guidelines the common 
>> methods that are being used (e.g. %bcond tests and %bcond check) so
>> that 
>> new packagers have something to use.
>>
>> What do you think?
> 
> I'd like to have this finally be implemented in
> https://github.com/rpm-software-management/rpm/issues/316. That way it
> would be simply rpmbuild --nocheck or define %_without_check 1 which
> would skip %check section entirely.
> 
> For now, all Rust crates just have `%bcond_without check` so using `--
> without check` works just fine there.
> 
> Since this would be more generic thing to the RPM ecosystem, adding
> rpm-ecosystem@ to the copy.
> 
>> Tomas
>> ___
>> packaging mailing list -- packag...@lists.fedoraproject.org
>> To unsubscribe send an email to  
>> packaging-le...@lists.fedoraproject.org
>> Fedora Code of Conduct:  
>> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>> List Guidelines:  
>> https://fedoraproject.org/wiki/Mailing_list_guidelines
>> List Archives:  
>> https://lists.fedoraproject.org/archives/list/packag...@lists.fedoraproject.org
> - -- 
> Igor Raits 
> -BEGIN PGP SIGNATURE-
> 
> iQIzBAEBCgAdFiEEcwgJ58gsbV5f5dMcEV1auJxcHh4FAl7aWQwACgkQEV1auJxc
> Hh6dyBAAmbJSCU0wtuET7vuXVVIeg7BeosaQF25/VoMwTSYGH3h36S9Gci9BRBgs
> yuque1uGnBaUQ74fsxBIMgGzapd73TvEY1M8PNnzHF3Miz0i0FgVhwnw3S9jvrTT
> aGqln2rE3L5jH0alII6pNOIqA67yPlYfb5+JtRazeO0KTarZuGOdemJsp6ONEKQS
> 5doQid6yrQvaUj90Xl2VpRY6goXx5FOQLDPb9DlaWlQDvBcVBJz5oaJ/VyxqCnC2
> ObyLjMB9AXq+pBiot/50QDLTUCxKOkro1siBPxfswNCjpwRy6vDp6dyczHyQkhJ8
> zFAHJQPWAr870WU3FMO/FirTv9yAqY6Je8jB+3EdxjzNuyBMTOT6Iq6r8Su/yxeq
> FcvDvUhlJ0OtWM8PfiIkaKpiSB9rzpuuM5hagPYqznLbqu5AeuTqAKojSyLbkK7Z
> 7fS+qABernfYqAVOlq7DkTaETh/0sAuIxhtwWXbbhz7vFPpbnsPdnyfUUGzFoIdT
> LBFnMOBQF0q4woTAhQRHez+VEH4ndiqZQGdYL8AJ9FtKeMZwwWmvl/r3ki/Hr5Yf
> bqETizKe4XBu5DxPRNN3+0RSi+TIXX11VeHtxIWeuGGErgdqq4EZkBfnmZlTb3/N
> gA8/3DUl9B4XRzGjnzq0AahOfIW1wNObh4pzlmoGN2jrG5odKPM=
> =JCw+
> -END PGP SIGNATURE-
> ___
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> Fedora Code of Conduct: 
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: 
> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
> 


-- 
Red Hat GmbH, http://www.de.redhat.com/, Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Laurie Krebs, Michael O'Neill,
Thomas Savage
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: Automating R package dependencies

2019-06-18 Thread Florian Festi
It would be really great to have a proper upstream repository for these
scripts so they don't just live inside of distgit. They could have their
own repository in https://github.com/rpm-software-management or could be
placed in https://github.com/rpm-software-management/rpm-extras. What
ever you like more.

Please contract me off list for setting up the repository/permissions.

Florian


-- 

Red Hat GmbH, http://www.de.redhat.com/, Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Paul Argiry, Charles Cachera, Michael Cunningham,
Michael O'Neill
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org


Re: F24 System Wide Change: Change Proposal Name NewRpmDBFormat

2016-01-29 Thread Florian Festi
On 01/14/2016 01:08 PM, Richard W.M. Jones wrote:
> Yup - I'm curious about this as well.  Using sqlite [for example]
> would solve the libguestfs issues I outlined in this thread, as well
> as using a format which is robust and proven rather than some
> half-baked homebrew thing.

Well, we actually deleted a sqlite backend a few years ago. But even
with a more relational DB layout performance is about 2 times worse than
the BDB.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
--
devel mailing list
devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org

Re: F24 System Wide Change: Change Proposal Name NewRpmDBFormat

2016-01-29 Thread Florian Festi
On 01/13/2016 04:04 PM, Daniel P. Berrange wrote:
> On Wed, Jan 13, 2016 at 01:30:59PM +, Richard Hughes wrote:
>> On 13 January 2016 at 13:13, Reindl Harald  wrote:
>>> so there is no justification to declare one need to install from scratch
>>> just because rpm which works for many years fine changes it's storage format
>>
>> I don't think anyone said there was a need to reinstall from scratch.
> 
> Well the feature writeup is rather fuzzy on this.  It says that in Fedora
> 24 rpm will be able to read both old and new format, but it also says
> that future RPM versions will drop support for the old format.

Yes, this is exactly what I meant to say.

> So unless
> there is a mandatory data format conversion during some Fedora upgrade,
> then at some point RPM will cease to be able to read existing installs
> with the old format which could imply a need to reinstall.

Yes, dropping the support for the old format will be a separate System
wide change for some future Fedora release. Looking at all those
questions about managing containers and VMs we might take a longer time
than our BDB folks may like.

> IMHO the feature proposal text needs to be more explicit about the upgrade
> path and exactly when any data conversion will take place, to avoid leaving
> existing installs with old format stuck with Fedora 25 rpm (or later) drops
> BDB support entirely.

Well, the update path that will always will be available is doing a
rpmdb --exportdb with the old rpm version and an rpmdb --importdb with
the new version. The format of the rpm header will stay compatible so
getting them out and then back into the DB solves the problem.

Florian


-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
--
devel mailing list
devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org

Re: F24 System Wide Change: Change Proposal Name NewRpmDBFormat

2016-01-29 Thread Florian Festi
On 01/16/2016 02:33 AM, Kevin Kofler wrote:
> Daniel P. Berrange wrote:
>> Well the feature writeup is rather fuzzy on this.  It says that in Fedora
>> 24 rpm will be able to read both old and new format, but it also says
>> that future RPM versions will drop support for the old format. So unless
>> there is a mandatory data format conversion during some Fedora upgrade,
>> then at some point RPM will cease to be able to read existing installs
>> with the old format which could imply a need to reinstall.
> 
> Will rpm --rebuilddb convert the database?

Yes.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
--
devel mailing list
devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org

Re: F24 System Wide Change: Change Proposal Name NewRpmDBFormat

2016-01-29 Thread Florian Festi
On 01/29/2016 05:02 PM, Richard W.M. Jones wrote:
> On Fri, Jan 29, 2016 at 04:53:08PM +0100, Florian Festi wrote:
>> On 01/13/2016 03:07 PM, Richard W.M. Jones wrote:
>>>
>>> Say, for example, that Fedora 24 moves to the new format.  Will Fedora 34
>>> be able to read Fedora 24 RPM databases?
>>
>> Fedora 25 will. Fedora 34 will probably not. If it turns out that
>> reading 10 releases old database is really, really important. We will
>> either keep the bdb support or offer some tools to basically do a rpmdb
>> --exportdb which can be used to create a modern rpm database. Who is
>> maintaining the BDB needed for this in 2021 is not a question I am going
>> to answer, though.
> 
> I don't think I was clear.  I understand that for licensing reasons
> BDB is being dropped.  My question relates entirely to this new
> format, and is nothing to do with BDB.
> 
> Will the new format be forwards and backwards compatible?

I really hope we do not have to change the format again in the
foreseeable future. At least I can imagine other things to do with my
life than changing the RPM DB format over and over.

> I'm still unclear why you don't just use sqlite 3.

Among other things it is about 2 times lower than the current BDB
implementation.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
--
devel mailing list
devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org

Re: F24 System Wide Change: Change Proposal Name NewRpmDBFormat

2016-01-29 Thread Florian Festi
On 01/29/2016 05:15 PM, Dennis Gilmore wrote:
> On Monday, January 11, 2016 03:46:27 PM Jan Kurik wrote:
>> = Proposed System Wide Change: Change Proposal Name NewRpmDBFormat =
>> https://fedoraproject.org/wiki/Changes/NewRpmDBFormat
>>
>> Change owner(s):
>> * Florian Festi < ffesti AT redhat DOT com >
>>
>>
>> Change format of the RPM Database from Berkeley DB to RPM's own format.
>>
>> == Detailed Description ==
>> The current implementation of the RPM Database is based on Berkeley
>> DB. There are doubts about the its future and level of maintenance. In
>> addition rpm's use of the database has multiple issues on its own. As
>> a result RPM upstream is working to replace the database format with a
>> new implementation.
> How will this work in situations like the builders. Rpm on f23 makes the f24 
> chroots. I am guessing that will be mostly ok, the db will just have the old 
> format. But what about when we move the builders to f24 and use f24 and rpm 
> with the new db format to make rhel 5, 6, 7 and Fedora, 22 and 23 buildroots. 
> Is there the potential that things will break horribly?

Yes, there is. So this needs to be managed properly. By setting the
format of those databases or by converting them to the old format. Even
if the builder were not to be able to create the old format you could
still use rpmdb --export from outside the buildroot to get the headers
out of the DB and then use rpmdb --importdb from within to rebuild the
old format.

In general the database format is not as important as one might think as
the header format is what carries the actual data.

Florian


-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
--
devel mailing list
devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org

Re: F24 System Wide Change: Change Proposal Name NewRpmDBFormat

2016-01-29 Thread Florian Festi
On 01/13/2016 03:07 PM, Richard W.M. Jones wrote:
> 
> Say, for example, that Fedora 24 moves to the new format.  Will Fedora 34
> be able to read Fedora 24 RPM databases?

Fedora 25 will. Fedora 34 will probably not. If it turns out that
reading 10 releases old database is really, really important. We will
either keep the bdb support or offer some tools to basically do a rpmdb
--exportdb which can be used to create a modern rpm database. Who is
maintaining the BDB needed for this in 2021 is not a question I am going
to answer, though.

> How about Fedora 24 being
> able to read Fedora 34 RPM databases?

I hope we don't have to change the format more often than once a decade.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
--
devel mailing list
devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org

Re: F24 System Wide Change: Change Proposal Name NewRpmDBFormat

2016-01-13 Thread Florian Festi
On 01/11/2016 05:26 PM, Kalev Lember wrote:
> On 01/11/2016 03:46 PM, Jan Kurik wrote:
>> = Proposed System Wide Change: Change Proposal Name NewRpmDBFormat =
>> https://fedoraproject.org/wiki/Changes/NewRpmDBFormat
>>
>> Change owner(s):
>> * Florian Festi < ffesti AT redhat DOT com >
>>
>>
>> Change format of the RPM Database from Berkeley DB to RPM's own format.
>>
>> == Detailed Description ==
>> The current implementation of the RPM Database is based on Berkeley
>> DB. There are doubts about the its future and level of maintenance. In
>> addition rpm's use of the database has multiple issues on its own. As
>> a result RPM upstream is working to replace the database format with a
>> new implementation.
> 
> Is the new database going to be able to support yumdb use cases as well?
> Might be a good time to get rid of separate rpmdb and yumdb and merge
> them together.

No, this is a pretty straight forward replacement of the backend. While
the whole area has still a lot the be desired this change only replaces
the BDB. No other fancy changes.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
--
devel mailing list
devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org

Re: F24 System Wide Change: Change Proposal Name NewRpmDBFormat

2016-01-13 Thread Florian Festi
On 01/13/2016 02:36 PM, Reindl Harald wrote:
> 
> 
> Am 13.01.2016 um 14:30 schrieb Richard Hughes:
>> On 13 January 2016 at 13:13, Reindl Harald 
>> wrote:
>>> so there is no justification to declare one need to install from scratch
>>> just because rpm which works for many years fine changes it's storage
>>> format
>>
>> I don't think anyone said there was a need to reinstall from scratch
> 
> so how do you translate "clearly not forward compatible"?

"forward compatible" means the old version of a program being able to
read/process newer version data.

The current rpm versions will not be able to read the new database format.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
--
devel mailing list
devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org

Re: F24 System Wide Change: Change Proposal Name NewRpmDBFormat

2016-01-13 Thread Florian Festi
On 01/11/2016 03:57 PM, Dan Horák wrote:
> On Mon, 11 Jan 2016 15:46:27 +0100
> Jan Kurik <jku...@redhat.com> wrote:
> 
>> = Proposed System Wide Change: Change Proposal Name NewRpmDBFormat =
>> https://fedoraproject.org/wiki/Changes/NewRpmDBFormat
>>
>> Change owner(s):
>> * Florian Festi < ffesti AT redhat DOT com >
>>
>>
>> Change format of the RPM Database from Berkeley DB to RPM's own
>> format.
>>
>> == Detailed Description ==
>> The current implementation of the RPM Database is based on Berkeley
>> DB. There are doubts about the its future and level of maintenance. In
>> addition rpm's use of the database has multiple issues on its own. As
>> a result RPM upstream is working to replace the database format with a
>> new implementation.
> 
> does it mean rpm is changing from Berkeley DB library to another
> library or to a completely new implementation of a database engine?

We change to our own format. One of the problem is the bit special
requirements of rpm where you want to have non privileged readers that
must not have any write access - which is required for most databases
for locking.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
--
devel mailing list
devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org

Re: F24 System Wide Change: Change Proposal Name NewRpmDBFormat

2016-01-13 Thread Florian Festi
On 01/11/2016 09:06 PM, Richard W.M. Jones wrote:
> On Mon, Jan 11, 2016 at 03:46:27PM +0100, Jan Kurik wrote:
>> = Proposed System Wide Change: Change Proposal Name NewRpmDBFormat =
>> https://fedoraproject.org/wiki/Changes/NewRpmDBFormat
> 
> Details of the format?
> 
> What forward and backward compatibility guarantees are there?

RPM will keep support for BDB for now. But to get rid of the dependency
it will be dropped at some point in the future. So it will stay backward
compatible.

The file format is clearly not forward compatible (although you will be
for now be able to still use the old format).

> libguestfs reads the rpmdb of guests (of any version, new or old) in
> order to get the list of packages installed in a guest.  Remember that
> the host and guest may be very different versions, eg. a RHEL 9 host
> accessing a Fedora 24 guest.  Or vice versa.

> Currently we use the (BDB-specific obviously) db_dump tool for this
> purpose.  Other distros such as Debian as much simpler in this regard
> since they expose the package data as plain text files.
> 
> https://github.com/libguestfs/libguestfs/blob/master/src/inspect-apps.c

I would advice to change these over to using librpm or one of the rpm
cli tools. If there are any tools missing, please let me know and we
will try to come up with them.

If possible the rpm installation of the system examined should be used.
If this cannot be done you might need a new version of rpm on the host
system.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
--
devel mailing list
devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org

Re: F24 System Wide Change: Change Proposal Name NewRpmDBFormat

2016-01-13 Thread Florian Festi
On 01/11/2016 05:08 PM, Colin Walters wrote:
> 
> 
> On Mon, Jan 11, 2016, at 09:46 AM, Jan Kurik wrote:
>> = Proposed System Wide Change: Change Proposal Name NewRpmDBFormat =
>> https://fedoraproject.org/wiki/Changes/NewRpmDBFormat
> 
> It'd be interesting to know the technical details, worth reposting once 
> there's
> a design document or prototype PR.

The format is already in the rpm upstream master branch. Give us a bit
on the documentation.

> I added rpm-ostree to the list, and one thing I'd like to note regarding that:
> We always generate a new DB rather than mutate-in-place, because
> rpm-ostree always generates atomic updates.  This means that
> mutation speed is not very relevant to us, but query speed still
> is.

We did some benchmarks. So far performance seems OK or better.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
--
devel mailing list
devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org

Re: building conflicting packages from a single spec

2015-11-19 Thread Florian Festi
On 11/18/2015 04:26 AM, Pádraig Brady wrote:
> Is $subject possible?
> 
> For example generating subpackages like:
>   %{name}-small-but-slow-binaries
>   %{name}-fast-but-big-binaries
> 
> I can %prep and %install into separate areas,
> though was then wondering how to adjust
> the buildroot for subpackages?
> 
> Are any other techniques possible?
> I suppose I could manually set conflicts,
> and then move binaries post install,
> though what happens if mv is one of the
> binaries for example?
> 
> cheers,
> Pádraig.
> 

I added RemovePathPostfixes in 4.13. But is still kinda lacks proper
documentation. See
http://rpm.org/gitweb?p=rpm.git;a=commitdiff;h=415aa42566052db9b7677163cea0366e55f72dcf

It is also more useful for things like different config files than
different builds...

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Ownership of /usr/lib/rpm/fileattrs

2015-10-30 Thread Florian Festi
On 10/16/2015 11:06 PM, Orion Poplawski wrote:
> Various packages now install files into /usr/lib/rpm/fileattrs for use when
> building rpms.  Currently that directory is owned by:
> 
> rpm-build-4.13.0-0.rc1.4.fc23.x86_64
> javapackages-tools-4.6.0-6.fc23.noarch
> 
> Of the various packages on my machine that install files there:
> 
> gstreamer1-1.6.0-2.fc23.x86_64
> javapackages-tools-4.6.0-6.fc23.noarch
> kde-settings-23-7.fc23.noarch
> nodejs-0.10.36-4.fc23.x86_64
> perl-generators-1.06-1.fc23.noarch
> python3-cups-1.9.72-2.fc23.x86_64
> redhat-rpm-config-36-1.fc23.noarch
> rpm-build-4.13.0-0.rc1.4.fc23.x86_64
> rpm-mpi-hooks-3-2.fc23.noarch
> 
> only rpm-mpi-hooks requires rpm-build for directory ownership, while
> javapackages-tools takes the route of owning the directory.  However, I'd
> rather rpm-mpi-hooks not require rpm-build as it's not really necessary other
> than for this directory.  The simple thing I think would be for rpm to own the
> directory.  Does that seem reasonable?
> 

I agree. While Petr is right from an purist POV practicality is what
counts here. Forcing all those packages to either require rpmbuild or
splitting out an devel-rpm sub package is not a good option. Having the
directory within rpm makes things work without any Requires:

I moved the directory over in rawhide (rpm-4.13.0-0.rc1.8.fc24). It is
probably a bit late for F23. Shall I clone the bug for
javapackages-tools, rpm-mpi-hooks, supermin-devel to get them adjusted
or can you take care of them on your own?

Florian


-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Update to rpm-4.13.0 in F23

2015-09-07 Thread Florian Festi
It is in testing now as
https://bodhi.fedoraproject.org/updates/FEDORA-2015-15193. Sorry for
being that late but there have been several issues holding it back.

Special thanks to Kalev and everyone who took take of Bodhi to get this out.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Update to rpm-4.13.0 in F23

2015-09-03 Thread Florian Festi
Hi!

I plan to update rpm in F23. The alpha has been in rawhide for some
weeks [1] with the latest release candidate being there since 2nd of
September[2]. Main reason is to help adopting new features (e.g. [3]) in
the F24 and F25 time frame as this gets the new version to be builders
one release earlier.

So far we found two changes that affect a small number of existing packages:

1) A bug fix now trips up packages installing files into the docdir
without listing them in the %files section. Previous rpm versions
erroneously just added those files if %doc was used. This can be fixed
easily by adding those files to the %files section.

2) The rpm trigger implementation only allows one trigger for each
triggering package per package. This limitation still persists but we
now refuse to build packages having two or more such triggers. This is
very rare and can be solve by merging the triggers into one.

If something else turns up we can still revert the particular change in F23.

Objections?

Florian

[1] https://lists.fedoraproject.org/pipermail/devel/2015-July/212672.html
[2]
https://lists.fedoraproject.org/pipermail/devel/2015-September/214075.html
http://rpm.org/wiki/Releases/4.13.0
[3] https://fedorahosted.org/fpc/ticket/566

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

rpm-4.13.0-rc1 in rawhide

2015-09-02 Thread Florian Festi
I just pushed the first release candidate for RPM rpm-4.13.0 into
rawhide. It now comes with the final syntax for rich dependencies. Also
we merged support for file signatures in the security.ima xattr and some
smaller fixes.

See http://lists.rpm.org/pipermail/rpm-announce/2015-September/51.html

for the announcement and changes since the alpha and

http://rpm.org/wiki/Releases/4.13.0

for the overall changes.

As with the alpha release the focus for rawhide right now is not on the
shiny new RPM features but on the little changes and bug fixes and their
impact on existing packages.

Florian


-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: F23 System Wide Change: Glibc locale subpackaging

2015-08-27 Thread Florian Festi
On 06/22/2015 12:16 PM, Jan Kurik wrote:
 = Proposed System Wide Change: Glibc locale subpackaging  =

We have to revisit this topic as soon as rich dependencies are in place.
Rich dependencies offer a way to handle locales on a system wide level.
One possible implementation would be having

langsupport-XX meta packages that enable support for a given language.

Locales could be in packages like glibc-lang-de, foo-lang-de, ...
The main package could then have
Requires: (foo-lang-de if langsupport-de)
if we want to enforce the locale package to be installed.

Otherwise it might be more elegant to have the language package (e.g.
glibc-lang-de) have:

Supplements: (glibc and langsupport-de)

As we can assume that glibc is always installed this could already be
done with:

Supplements: langsupport-de

The benefit of this approach is that installing a new langsupport-XX
package will bring in the locale packages for all packages making use of
this mechanism.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: F23 System Wide Change: Glibc locale subpackaging

2015-08-27 Thread Florian Festi
On 08/27/2015 05:33 PM, Mathieu Bridon wrote:
 On Thu, 2015-08-27 at 16:10 +0200, Florian Festi wrote:
 On 06/22/2015 12:16 PM, Jan Kurik wrote:
 = Proposed System Wide Change: Glibc locale subpackaging  =

 We have to revisit this topic as soon as rich dependencies are in 
 place. Rich dependencies offer a way to handle locales on a system 
 wide level. One possible implementation would be having

 langsupport-XX meta packages that enable support for a given
 language.

 Locales could be in packages like glibc-lang-de, foo-lang-de, ...
 The main package could then have
 Requires: (foo-lang-de if langsupport-de)
 if we want to enforce the locale package to be installed.

 Otherwise it might be more elegant to have the language package (e.g.
 glibc-lang-de) have:

 Supplements: (glibc and langsupport-de)

 As we can assume that glibc is always installed this could already be
 done with:

 Supplements: langsupport-de

 The benefit of this approach is that installing a new langsupport-XX
 package will bring in the locale packages for all packages making use 
 of this mechanism.
 
 Could that even be done automatically by rpmbuild?
 
 Just like rpmbuild automatically generates a -debuginfo with the right
 files in it, could it generated the -lang-xx packages with the .mo
 files inside, and add the Supplements dependency you suggest?
 
 Because doing it manually for all the languages supported by an
 application (which might vary from release to release) would be pretty
 awful. :-/

In theory, yes. In the end we'd need something like find-lang.sh that
actually spits out the packages to be included in the main spec file.
debug-info packages are done that way. But it is not pretty.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [HEADS UP] rpm-4.12.90 in rawhide

2015-07-28 Thread Florian Festi
On 07/28/2015 09:43 AM, Lubos Kardos wrote:
 Support in rpm is not enough but libsolv supports rich deps since the version
 0.6.9 too thus rich deps work also in hawkey and dnf if the version 0.6.9 or
 a newer version of libsolv is installed.

Right now only AND and OR is supported by libsolv. Implementation of IF
ELSE is still pending.

Also we still need to settle to a final syntax for the operators [1].
Unfortunately there is no consensus among the other packaging formats
what to use. Right now rpm accepts 3 different styles:
 * AND OR IF ELSE
 *  | ? :
 *  || ? :
But the final release will only support on of them. As soon as the alpha
stops eating babies that's a discussion we need to have.

So for now they are more a tech preview in Fedora but we want to get
them operational til the release. This still means that they are not
supposed to be used in F23 as they may only completely work very late.
Also there is still a lot of paper work to do for the packaging policy.

I expect that both Boolean Deps and File Triggers won't be introduced in
one go but there will be multiple Fedora Features introducing them one
use case at a time. E.g. one feature per file trigger replacing one kind
of scriptlets. Boolean dependencies being used for language packs being
one Feature/Package Policy section and other use cases being others.

This may start in the F24 time frame - especially for some urgent corner
cases - but my guess is that this will rather take multiple releases.

Florian

[1] http://rpm.org/wiki/PackagerDocs/BooleanDependencies

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [HEADS UP] rpm-4.12.90 in rawhide

2015-07-28 Thread Florian Festi
On 07/28/2015 02:49 PM, Vít Ondruch wrote:
 Just out of curiosity, do you have already any candidates for File
 Triggers? I suppose /sbin/ldconfig is one of them. Do you plan to have
 some F24 feature to get rid of these?

Well, we do not yet have concrete plans with which scriptlets to start.
 https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Snippets is
full of possible candidates. I still have to figure out how much I want
to push this as the rpm upstream developer or how far I can leave this
to the Fedora community and just provide technical support. I guess I
will at least start with one and then see if people pick that up.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [HEADS UP] rpm-4.12.90 in rawhide

2015-07-27 Thread Florian Festi
On 07/26/2015 08:18 PM, Kevin Fenzi wrote:
 On Sat, 25 Jul 2015 13:31:45 +0200
 Remi Collet fed...@famillecollet.com wrote:
 
 Le 25/07/2015 13:20, Florian Festi a écrit :
 On 07/25/2015 11:18 AM, Remi Collet wrote:

 Thanks for catching that!

 Do you want me to file a bug ?

 Yes, please!

 FYI https://bugzilla.redhat.com/show_bug.cgi?id=1246743
 
 Just FYI, this landing on friday afternoon/evening resulted in no
 rawhide composes this weekend. :( 
 
 Next time can you give more notice, and/or rebuild at least
 createrepo_c, fedup-dracut, and drpm? Those are the minimum needed to
 make the mock root that rawhide composes use. 

Sorry, I am still new to this releasing rpm business. I had hoped that
only pushing stuff in rawhide and not in F23 would stay off most peoples
toes. I'll try to be more careful next time.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [HEADS UP] rpm-4.12.90 in rawhide

2015-07-27 Thread Florian Festi
On 07/25/2015 11:18 AM, Remi Collet wrote:
 %doc imagick-3.1.2/{CREDITS,TODO,INSTALL}

To give a bit more context:

Globs with braces have not been supported in rpm's %files section ever.

But https://bugzilla.redhat.com/show_bug.cgi?id=728959 caused all kind
of docs file being added to the package and files not being properly
checked. As a result such constructs as
imagick-3.1.2/{CREDITS,TODO,INSTALL} - which are not at all supported -
did not result in an error.

As we fixed that bug rpm spits out an error - quite correctly. But
actually there is no good reason to not support braces in the globs,
especially as it is just one flag to set internally. So we added the
support and the package should now build.

But still packages with broken doc entries may refuse to build. Please
fix them if you encounter such errors. This is one of the many cases
were making rpm do the right thing and do the proper checks breaks
broken packages.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [HEADS UP] rpm-4.12.90 in rawhide

2015-07-27 Thread Florian Festi
On 07/27/2015 04:55 PM, Lubos Kardos wrote:
 The current behavior is right. Your install script insert files into buildroot
 and these files are not listed in %files section.
 
 Correctly you should replace this:
 
 %files
 %doc AUTHORS COPYING NEWS README
 ...
 
 with this:
 
 %files
 %{_pkgdocdir}/AUTHORS
 %{_pkgdocdir}/COPYNIG
 %{_pkgdocdir}/NEWS
 %{_pkgdocdir}/README
 %{_pkgdocdir}/ChangeLog
 %{_pkgdocdir}/TODO
 ...
 
 Tag %doc followed by relative path of a file is used when you want rpm to copy
 files from BUILD to BUILDROOT document directory but in your case this is done
 by your install script.
 
 Lubos


 there is another change involving %doc. A piece of libdvdread.spec: 
 %files
 %defattr(-,root,root,-)
 %doc AUTHORS COPYING NEWS README
 %{_libdir}/libdvdread.so.*

 %files devel
 %defattr(-,root,root,-)
 %doc ChangeLog TODO
 ...

RPM actually copies those to
/builddir/build/BUILDROOT/php-pecl-imagick-3.1.2-3.fc24.i386/usr/share/doc/php-pecl-imagick-devel/
and includes them into the devel package.

It now refuses to use the copies in
/builddir/build/BUILDROOT/php-pecl-imagick-3.1.2-3.fc24.i386/usr/share/doc/php-pecl-imagick
which have previously been added to the main package erroneously.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: [HEADS UP] rpm-4.12.90 in rawhide

2015-07-25 Thread Florian Festi
On 07/25/2015 11:18 AM, Remi Collet wrote:
 Le 24/07/2015 15:49, Florian Festi a écrit :
 The freshly released rpm-4.12.90 aka rpm-4.13.0-alpha is going to hit
 rawhide soon. The two major new features are:

  * Boolean (aka rich) dependencies to support more complicated relation
 between packages
  * File Triggers - run scripts if files get installed in given paths -
 possibly to replace most of the regular - per package - scriptlets at
 some point in the future.

 But for now and for Fedora this update is more about testing and
 stabilizing the many smaller changes as far as they have not been ported
 back already.

 See the draft release notes for details: http://rpm.org/wiki/Releases/4.13.0
 
 It seems we have a regression (thanks Koschei)
 
 See https://kojipkgs.fedoraproject.org/work/tasks/4402/10474402/build.log
 
 In spec (which is quite common, I think)
 
 %doc imagick-3.1.2/{CREDITS,TODO,INSTALL}
 
 During %doc
 
 + cp -pr imagick-3.1.2/CREDITS imagick-3.1.2/TODO imagick-3.1.2/INSTALL
 /builddir/build/BUILDROOT/php-pecl-imagick-3.1.2-3.fc24.i386/usr/share/doc/php-pecl-imagick
 + exit 0
 RPM build errors:
 error: File not found:
 /builddir/build/BUILDROOT/php-pecl-imagick-3.1.2-3.fc24.i386/usr/share/doc/php-pecl-imagick/{CREDITS,TODO,INSTALL}
 File not found:
 /builddir/build/BUILDROOT/php-pecl-imagick-3.1.2-3.fc24.i386/usr/share/doc/php-pecl-imagick/{CREDITS,TODO,INSTALL}

Thanks for catching that!

 Do you want me to file a bug ?

Yes, please!

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

[HEADS UP] rpm-4.12.90 in rawhide

2015-07-24 Thread Florian Festi
The freshly released rpm-4.12.90 aka rpm-4.13.0-alpha is going to hit
rawhide soon. The two major new features are:

 * Boolean (aka rich) dependencies to support more complicated relation
between packages
 * File Triggers - run scripts if files get installed in given paths -
possibly to replace most of the regular - per package - scriptlets at
some point in the future.

But for now and for Fedora this update is more about testing and
stabilizing the many smaller changes as far as they have not been ported
back already.

See the draft release notes for details: http://rpm.org/wiki/Releases/4.13.0

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

New Rpm-ecosystem Mailing List

2015-05-11 Thread Florian Festi
Hi!

tl;td: Join at http://lists.rpm.org/mailman/listinfo/rpm-ecosystem if
your interested in any part of the rpm ecosystem.


While there are quite some mailing lists already that deal with the
different tools around and including rpm we realized that there is no
good place to discuss issues that involve multiple parts of (our own)
package handling stack even less so to stay in contact with other rpm
based solutions. To solve this we create a new mailing list:

rpm-ecosys...@lists.rpm.org

Normal user questions and development talk is supposed to stay on the
per project mailing lists. The new list is for questions like:

 * How do other implementations handle specific problems?
 * Is this new feature interesting for downstream distributions?
 * How do the different packaging guidelines treat a special topic?
 * Anyone there to support our demand for this new rpm feature?

And it is for topics like:

 * Packaging guide lines
 * RPM features
 * Build systems and compose tools
 * Dependency solvers, installers and updaters
 * RPM based image creation / non rpm based updates for rpm
   based distributions

In short: It is meant to bind the rpm universe together.

Join at http://lists.rpm.org/mailman/listinfo/rpm-ecosystem

Please forward this mail to anyone that might be interested - especially
to rpm related sub projects and groups.

Thanks!

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: minimal requirements for subpackage named common

2015-04-28 Thread Florian Festi
On 04/28/2015 03:15 PM, Jan Chaloupka wrote:
 Hi,
 
 I have a package (kubernetes) which I would like to decompose into 2
 subpackages A and B. Problem is A and B share some files and directories
 so installing both of them on the same machine results in file
 conflicts.

Another way of avoiding this problem is to make sure these files are
100% identical. This includes modification time, user, permissions and
of course content.

But as you are using the same files from the identical build I kinda
wonder where such differences could come from...

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: rpm 4.12 and weak dependencies

2014-10-10 Thread Florian Festi
On 10/09/2014 05:29 PM, Jerry James wrote:

Added most of your improvements to the page.

Thanks!

Florian


PS: The rpm.org wiki is locked down because of spam. But people
inerested in improving the contents and documentation can just create an
account and ask for edit privileges on the mailing lists or #rpm.org
@freenode.

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: No more deltarpms by default

2014-10-06 Thread Florian Festi
On 10/06/2014 05:16 PM, Gerald B. Cox wrote:
 The fact that some users have more bandwidth means exactly
 what?  Most people also have faster processors and disks now.  It is
 more efficient from a networking perspective to minimize unnecessary
 traffic and use local processing.  That was behind the rationale when
 delta was introduced and made the default.  It was valid then, and it is
 valid now.

This argument is not valid. While most parts of a computer got faster
things are not growing at the same rate. So what might have made sense a
few years ago might be completely useless now.

One thing that makes deltarpm less useful nowadays are seek times in
hard disks (although they are going away). They are still the same as in
the nineties  while the number of files have been growing.

At the same time network bandwidth has been growing at a faster rate as
everything else.

So if you want to make an argument for deltarpm, please do so but do not
try to convince us to buy into an outdated rational.

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: No more deltarpms by default

2014-10-06 Thread Florian Festi
On 10/06/2014 06:53 PM, Jonathan Dieter wrote:
 Get to coding. ;)
 
 As mentioned elsewhere, the problem *is* signatures.  yum (quite
 rightly) refuses to install an rpm whose signature doesn't match the one
 in the primary repodata.  And I believe that the signature in the RPM is
 also over the whole compressed rpm.  To make this work, we'd need to add
 an uncompressed signature for every package to the primary repodata as
 well as probably the rpms themselves.

 We have already written the code to have yum run applydeltarpm in
 parallel according to the number of processors on a system, but it
 remains a single-threaded application that spends most of its time
 recompressing the data.

The way of getting around all this unnecessary computation is
establishing trust via the deltarpm itself and giving up the idea of
reconstructing the originally rpm as a prove of everything worked out
just fine.

To save even more time the delta would need to be applied directly on
disk without creating an package at all. This would require a deeper
integration with rpm and requires some tricky algorithms to make sure
everything is ok in advance and won't blow up during the rpm
transaction. So if anyone needs a hobby...

Florian

-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Heads-up on rpm 4.12 coming to rawhide soon

2014-07-02 Thread Florian Festi
On 07/02/2014 03:05 PM, Igor Gnatenko wrote:
 Where I can read more about weak dependencies?

Have a look at my announcement I made in February:

https://lists.fedoraproject.org/pipermail/devel/2014-February/195743.html

Be aware that rpm-4.12 only implements the weak dependencies. Having
support in RPM is also only the first step for getting it into Fedora.
Support is needed throughout the packaging stack. As soon as all pieces
are in place and are well tested the FPC needs to come up with a policy
on how they should be used.

Florian


 --
 -Igor Gnatenko
 
 On Jun 27, 2014 7:38 PM, Panu Matilainen pmati...@laiskiainen.org
 mailto:pmati...@laiskiainen.org wrote:
 
 
 Hi all,
 
 Rpm 4.12 alpha just got released:
 http://lists.rpm.org/__pipermail/rpm-announce/2014-__June/45.html 
 http://lists.rpm.org/pipermail/rpm-announce/2014-June/45.html
 
 The plan is to update rawhide to this shiny new version first thing
 on Monday morning and babysit as needed (ie the usual drill), but if
 you're feeling bored over the weekend or its as rainy wherever you
 live as it is in here now, and you're feeling a little bit brave,
 give it a spin in the meanwhile:
 
 https://copr.fedoraproject.__org/coprs/pmatilai/rpm-__snapshot/
 https://copr.fedoraproject.org/coprs/pmatilai/rpm-snapshot/
 
 The copr packages are for rawhide only and should be very close to
 what goes into rawhide on Monday. If you're dying to test but not
 willing to rawhide all the way, they can be used on F20 too if you
 1) install perl-generators from rawhide
 2) remove rpm-python3 package before updating
 
 As the announcement says, there are some rough edges still (as in,
 there's a reason its alpha). I run it on my systems and it's not
 expected to eat anybody (or their systems) alive, but do pay
 attention...
 
 Bug reports and other feedback welcome.
 
 - Panu -
 -- 
 devel mailing list
 devel@lists.fedoraproject.org mailto:devel@lists.fedoraproject.org
 https://admin.fedoraproject.__org/mailman/listinfo/devel
 https://admin.fedoraproject.org/mailman/listinfo/devel
 Fedora Code of Conduct: http://fedoraproject.org/code-__of-conduct
 http://fedoraproject.org/code-of-conduct
 
 
 


-- 

Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn,
Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Charles Cachera, Michael Cunningham, Michael
O'Neill, Charles Peters
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: trimming down Fedora installed size

2014-04-11 Thread Florian Festi
On 04/10/2014 09:53 PM, James Antill wrote:
  20 | 38,561 |  38 G  | 19M

So there are 20MB of meta data that need to be downloaded once. This can
hardly be a problem - even if the size tripled.

 same thing for updates gives:
 18 | 18,606 |  20 G  | 12M

Ok, let this be another 20MB for the updates during the life time of an
Fedora release. This would also not be an issue if we had not to
download this file over and over again and then inflate it to ten times
it's size.

The main issue here is not the amount of data but the way yum handles it
and the refusal of yum upstream to even consider an efficient meta data
handling by insisting on the reconstruction of transport representation
on the client side.

In the end we need a saner MD handling no matter if we go for finer
grained packages or not. I hope DNF will be able to provide this at some
point when they are done with the more basic things.

Florian
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: trimming down Fedora installed size

2014-04-09 Thread Florian Festi
On 04/09/2014 01:50 PM, Stephen Gallagher wrote:
 On 04/09/2014 07:23 AM, Jóhann B. Guðmundsson wrote:
 
 On 04/09/2014 07:33 AM, Marius A wrote:

 Are there any other disk space saving tips?
 
 Users should not have to result doing disk saving tips.
 
 I would say in the long run we should be working towards creating
 separated locale,doc,man packages
 
 Hmm, I wonder if RPM 4.12 would allow us to do this with weak
 dependencies?
 
 Perhaps something like having a metapackage on the system for docs and
 one for each language. Then we could break up the doc and language
 packages into sub-packages that are installed conditionally on the
 presence of that metapackage on the system.
 
 Of course, I think there would still be work needed in RPM to support
 adding a language later, but maybe we could solve that with special
 tooling or a yum plugin.

Yes, this is one of the reasons we go for more expressive relations in
RPM. You already very closely describe what I have in mind.

There are basically two possible ways of making the distribution more
flexible in the future:

1) Normal weak dependencies. In a normal install all the docs (and all
other bells and whistles) get installed by default. You can
remove/deselect packages which are pulled in by weak dependencies. You
can even switch off all weak dependencies to only get the core packages.

2) Rich dependencies. Doc and language packages can be build as
bridging packages that are only installed if two other packages are
present. This can be done by adding e.g.

Recommends: foo-langpack-hu if langsupport-hu

to package foo or

Supplements: foo and langsupport-hu

to the foo-langpack-hu package. Similar things can be done for docs or
any other set of packages that should be controlled by a single switch
package.

The nice thing about this is that no additional tooling is needed.
Installing foo will automatically install the lang packs for all
installed languages and installing a new langsupport package will
install the langpacks for all installed packages.

The plan is to get all pieces for 1) into F21. So it could already be
used for F22. I will try to get 2) ready in this time frame, too, but
the bets are still open.

Florian
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: trimming down Fedora installed size

2014-04-09 Thread Florian Festi
On 04/09/2014 04:53 PM, Matthias Clasen wrote:
 From the desktop/workstation perspective, here are a few things I would
 like to see if we decide to work on this:
 
 Support for a new locale is more or less like a 'system extension' for
 the OS. It would be good to define clear rules for what it means to
 provide a subpackage that becomes part of this system extension.

Yes, but my guess this is not very complicated. Natural languages are
pretty straight forward. All other 'system extension' will basically
come with their own description. We just have to make sure that the
description as shown to the user is not completely ignored by the
packages using it.

 In an ideal world, this could even be automatic and pattern-based (e.g.
 if you install anything into /usr/lib64/gstreamer-1.0, you are providing
 a 'codec' extension, and all the files below that directory belong to
 it).

*cough* *cough*

 To present this in the UI, we need to know the available 'extension
 points' (either a fixed list, or a way to enumerate them), as well as
 the installed and available extensions for each, including suitable
 metadata (name+short description at least).

We need the rethink the whole packaging UI anyway. Comps still has all
its known problems. SoftwareCenter has its own, very special view on the
packages, and no one has a clue how to make use of the weak weak
dependencies (which are not completely unlike optional packages in comps).

So making the number of installed and available packages more manageable
is one of the next big things that need to be done after the basic
infrastructure is in place.

Florian
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: trimming down Fedora installed size

2014-04-09 Thread Florian Festi
On 04/09/2014 05:23 PM, Stephen Gallagher wrote:
 This construct would be extremely valuable to the SSSD as well:
 
 %package -n client
 Recommends: sssd-client.i686 if glibc.i686

That's not exactly by accident...

 It's pretty easy to install a language at package-install time, but in
 order to add the language subpackages for all installed packages on
 the system if the new langsupport package comes in will mean
 re-processing all of the dependencies on the installed packages.
 Probably very slow, but certainly valuable.

Well, there is a reason why Fedora is moving to a new dependency solver.
I am pretty optimistic about performance.

 The plan is to get all pieces for 1) into F21. So it could already
 be used for F22. I will try to get 2) ready in this time frame,
 too, but the bets are still open.
 
 This would be fantastic, now we just need the FPC to agree. Might be
 worth filing an FPC bug or two now for them to debate before pushing
 too hard here.

For now there is just https://fedoraproject.org/wiki/Changes/RPM-4.12

I will talk to the FPC as soon as the parts are all in place. Be aware
that it is not enough to just implement the stuff. It needs to be tested
and to make its way to the builders. Even with a hurry things need quite
some time in RPM land.

Florian
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: trimming down Fedora installed size

2014-04-09 Thread Florian Festi
On 04/09/2014 08:42 PM, Bill Nottingham wrote:
 Given the number of packages that ship localization, this seems like it
 would have a pretty dramatic effect on metadata size. Is this a concern?

Meta data is a concern. But the major part of the meta data is file data
and change logs. Everything else is less than 10%. So doubling or even
tripling this part won't hurt.

The actual issue we have with meta data is that is is downloaded over
and over again (for updates). Should we ever get this fixed the growth
of meta data is no longer an issue.

Florian

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: python packages versus pydoc -k

2014-03-14 Thread Florian Festi
On 03/14/2014 08:05 AM, Bohuslav Kabrda wrote:
 - Original Message -
 Sorry, I should have tried pdb first, because this one has nothing to do
 with rpm-python.  I can see modname='PyQt4.uic.pyuic', and prior to the
 exception site is a line 'loader = importer.find_module(modname)', which
 is where the None came from.  I can confirm this one in a clean mock
 root with just PyQt4 added (and its dependencies).

 This one might be a bug in the way pydoc -k iterates, because I can't
 even target that name directly:

 $ pydoc PyQt4.uic.pyuic
 no Python documentation found for 'PyQt4.uic.pyuic'

 $ python -c 'import PyQt4.uic.pyuic'
 Traceback (most recent call last):
   File string, line 1, in module
 ImportError: No module named pyuic

 
 It seems that PyQt4/uic/pyuic.py is a symlink to /usr/bin/pyuic4, which is in 
 PyQt4-devel. This means that the file is not importable when PyQt4-devel is 
 not installed.
 IMO this is both:
 1) packaging problem, since the symlink shouldn't be there if the file it 
 points to isn't installed.
 2) pydoc problem, because it should try/except broken and unimportable files
 
 I opened a rhbz#1076346 for 1)
 And I'll try to figure out a good patch for upstream and send it there to fix 
 2)

Thanks for taking care of this, guys!

Florian

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: python packages versus pydoc -k

2014-03-13 Thread Florian Festi
On 03/12/2014 08:18 PM, Josh Stone wrote:
 For instance, right now I get:
 
 $ pydoc -k xyzzy
 lib2to3.fixes.fix_repr - Fixer that transforms `xyzzy` into repr(xyzzy).
 Traceback (most recent call last):
   File /usr/bin/pydoc, line 5, in module
 pydoc.cli()
   File /usr/lib64/python2.7/pydoc.py, line 2292, in cli
 apropos(val)
   File /usr/lib64/python2.7/pydoc.py, line 1992, in apropos
 ModuleScanner().run(callback, key, onerror=onerror)
   File /usr/lib64/python2.7/pydoc.py, line 1973, in run
 module = loader.load_module(modname)
 AttributeError: 'NoneType' object has no attribute 'load_module'
 
 It's hard to track that down, but with strace -e open it looks like
 somewhere in site-packages/rpm/.  I couldn't figure out exactly which
 subpackage is triggering this.

I really would like to get this fixed if it really is a problem in
rpm-python. But someone needs to come up with some better error messages
or other way of finding out what the actual problem is. After a quick
view in the pydoc doc I am no longer sure that this is an rpm problem,
though. This could also be a bug in pydoc or pkgutil or some other
python module being processed.

Florian
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Fwd: [Rpm-maint] Heads up: Weak and rich dependencies in RPM

2014-02-21 Thread Florian Festi
On 02/20/2014 11:50 PM, Adam Williamson wrote:
 On Thu, 2014-02-20 at 14:44 +, Colin Walters wrote:
 On Thu, Feb 20, 2014 at 7:27 AM, Florian Festi ffe...@redhat.com 
 wrote:

 We are currently working on adding weak and rich dependencies to
 upstream RPM. There are basically two parts:

 Is someone signed up to do the necessary frontend work for this on the 
 dnf/yum side?  If we're allowing choice of A | B like this, there 
 needs to be a frontend that actually allows choosing, like aptitude.
 
 Fedora isn't signed up to *use* it yet. We can still make the choice
 whether we want to or not, I believe.

Yup. And more important how to use them. While the two levels of
weakness is the most obvious feature it is IMHO not the most important
one. We are basically introducing the weaker level only for two reasons:
That's what all other implementations do and it matches the structure of
comps and thus may allow doing something group like in native rpm terms
in the future.

I have not yet seen an convincing use of those levels of weakness. If
Fedora is willing to put some serious effort into this it might being
used to have different package sets for the different Fedora.next
products by setting different defaults. But whether that's feasible is
still an open question IMHO.

The more interesting features are:

No longer rely on other packages. With foo or bar you can choose
between packages that do not have a common provide. With the reverse
relations you can attach your package to another one without changing
it. Being able to create 3rd party packages was one of the design goals
of RPM and not being able to do such things from your own package breaks
that. While this is not that important for the closed world view of a
distribution it will become more important with COPR.

Another important thing is being able to deal with more complicated
situations. One kind are multilib problems like #442047 and #663269. I
am pretty sure there are others, too.

More interesting from a user perspective are bridging packages like
language packs (see my previous mail) or optional plugins. Right now we
need hand coded solutions like yum-langpack for something that should
just be done by the packaging system.

Florian

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Fwd: [Rpm-maint] Heads up: Weak and rich dependencies in RPM

2014-02-20 Thread Florian Festi
 Original Message 
Subject: [Rpm-maint] Heads up: Weak and rich dependencies in RPM
Date: Thu, 20 Feb 2014 13:12:43 +0100
From: Florian Festi ffe...@redhat.com
To: rpm-ma...@lists.rpm.org, rpm-l...@lists.rpm.org

Hi!

We are currently working on adding weak and rich dependencies to
upstream RPM. There are basically two parts:

#1 Adding weak dependencies as already used by SuSE and others:
Recommends:, Suggests:, Supplements: and Enhances:. We agreed with
Michael Schröder to not use SuSE's current implementation but to add new
tags for a cleaner interface and an easy update path for already
existing packages. This is planned to be part of the next RPM version.

As old tools will just ignore the new tags this isn't a big
compatibility issue. Support in rpmbuild can probably back ported easily.

#2 Allow Boolean expressions of (Name Flag Version) terms in Requires:,
Conflicts: and the new weak dependencies (rich dependencies). This will
add a new expressive strength to RPM's dependency model and allow fixing
a couple of packaging problems we don't have a solution for
right now and also get rid of some special case solutions like hand
coded language pack support. As we are still figuring out some of the
implementation details and implications this feature may or may not make
it in the next release.

Packages using such Boolean expressions will not work with old versions
of rpm and other related tools and it is still unclear to what extend
this feature can be back ported.



What implication does this have on your distribution?


Stuff affecting other distributions left out

Getting the support into createrepo and libsolv is taken care of. This
should cover Fedora and OpenSUSE and may be others.



I wrote a document describing more technical details. Find it attached
to this mail.

Florian






rich_relations.odt
Description: application/vnd.oasis.opendocument.text
___
Rpm-maint mailing list
rpm-ma...@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Fwd: [Rpm-maint] Heads up: Weak and rich dependencies in RPM

2014-02-20 Thread Florian Festi
On 02/20/2014 03:44 PM, Colin Walters wrote:
 On Thu, Feb 20, 2014 at 7:27 AM, Florian Festi ffe...@redhat.com wrote:
 We are currently working on adding weak and rich dependencies to
 upstream RPM. There are basically two parts: 
 
 Is someone signed up to do the necessary frontend work for this on the
 dnf/yum side?  If we're allowing choice of A | B like this, there
 needs to be a frontend that actually allows choosing, like aptitude.

Yes and no. Right now there is no plan to allow the user to do the
choosing. This ambiguity already exists in the current relations and we
will continue to handle it automatically.

 I guess one could go with the shortest package name wins approach or
 whatever the current heuristic is for now...

The heuristics will improved though. Libsolv already uses weak
dependencies to choose the more desired package. I hope we can add
support for preferring the more left packages over later packages in
such or-clauses. That way
Requires: sendmail or postfix
would prefer sendmail while
Requires: MTA
chooses one of them the by some unrelated criteria.

 This is also relevant with things like kickstart files, where there is
 no interactivity allowed.
 
 (For what it's worth I think making packaging even more complex and less
 predictable in order to increase flexibility is precisely the opposite
 direction of what we should be doing...but that's OK because I am coming
 at this from the other direction.  We'll meet in the middle somehow ;) )

Actually I am on your side of the argument. This effort is supposed to
give better control over how packages behave and relate to each other
*to the packager*.

While A or B is an often demanded feature the main reason for this are
relations that span a longer distance. E.g. Foo-langpack-es could
Supplement: Foo and langsupport-es
Or to implement the same behaviour with a forward dependency
package Foo could
Requires: Foo-langpack-es if langsupport-es

Both variants pull in a intermediate package (Foo-langpack-es) if two
packages are present (Foo and langsupport-es).

Florian

PS: I actually do think that we need to give the user more control over
the packages, too. The current tools are completely inadequate to manage
the number of packages we have in the distribution or even just on a
system. But this is a story for another time.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Re: Trimming (or obsoleting) %changelog?

2013-04-17 Thread Florian Festi
On 04/17/2013 07:03 PM, drago01 wrote:
 Why does it have to be date based?
 Why not having a count based cutoff?
 Like last N entries.

There used to be a count based trimming in rpm  4.0. I guess the
rational behind a date based approach is that this way entries do not
disappear unexpectedly. As I understand it the feature is meant to be
used on a per package basis. This way you can just add new entries
without bothering about the change log trimming and from time to time
(e.g. once a year) adjust the date to something more appropriate.

Florian
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Trimming (or obsoleting) %changelog?

2013-04-16 Thread Florian Festi
On 04/17/2013 10:25 AM, Dan Fruehauf wrote:
 That's around 50K, and compressed (RPMs are compressed):
 $ rpm -q --changelog binutils | gzip | wc -c
 15552
 
 15K is nothing. Really. I like to see the whole history of a package,
 it's nice and fun.

That's not correct. The change log is stored within the rpm header which
is not compressed. While there have been efforts to compress the header
those changes have not (yet) made it upstream as it would make rpm
packages completely incompatible with older rpm versions.

For limiting the change log entries in the binary packages
%_changelog_trimtime can be used that take a unix time stamp as an
integer value. This way the whole history is still available in the spec
file.

Florian
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: Trimming (or obsoleting) %changelog?

2013-04-16 Thread Florian Festi
On 04/17/2013 12:18 PM, Mathieu Bridon wrote:
 On Wed, 2013-04-17 at 12:10 +0900, Florian Festi wrote:
 For limiting the change log entries in the binary packages
 %_changelog_trimtime can be used that take a unix time stamp as an
 integer value. This way the whole history is still available in the spec
 file.
 
 Could redhat-rpm-config set that automatically, for example to the
 release date of Fedora N-1?

From a technical POV: Yes, very easily.

Figuring out if this really is a good idea and convincing all necessary
Fedora committees is left as an exercise for the reader.

Florian

-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: package, package2, package3 naming-with-version exploit

2013-04-04 Thread Florian Festi
On 04/04/2013 01:55 PM, Vít Ondruch wrote:
 I am not asking RPM developers to change policy, I am asking RPM
 developers to lay out foundation. It does not make sense to change
 policy, if there are no tools to fulfill it.

Well, Fedora demanding a set of tools will much more likely result in
some action. Also a policy about multi version packages can be put in
place independent of a technical implementation.

 Well, if somebody wants to maintain some package, it probably doesn't
 matter which version. If somebody is qualified enough to maintain
 version X-1, (s)he is probably qualified enough to maintain version X.

This is not about qualification but about will to do the work. If the
owner of the package is unwilling to maintain another version and
unwilling to let you playing his sandbox just having a new tree is a
good solution.

 Ok, so what is the purpose of version field than? Lets drop it, if
 nobody cares. You could remove a few lines in Fedora, depsolver could be
 dumber.

Well, I tried to explain that in my first mail. Read it again.

 Yes, I am exaggerating here, but does it make sense to have package
 python3-3.3? Why we don't have python3-1.0? Where is the version 1.0 of
 python 3? Why we duplicating the version? Non of these question makes
 you think that we are doing something wrong?

No, I just don't care. You can use what ever you want as name or
version. Rpm just cares if the name of two packages are the same and if
one version is considered bigger, smaller or equal according to a quite
obscure set of rules.

Feel free to have python3-1.2-0 providing Python = 3.1.2


 Yes, this is install only packages variation and this is the most
 basic scenario I'd love to see in Fedora.

Well, as I and Seth already told you the tools kinda do support this
scenario. As this is not actually used, I'd guess that there are still
some bugs or missing features to actually make this work. If you want to
do something constructive just try this out and file precise bugs to
make installonlypkgs work for your use case. As always supplying patches
might speed things up.

 Extension of this is that you should be able to update installed package
 of specific version, if its new release is available. That would allow
 to fix security issues in older packages.

I doubt that this will make it into yum. May be you can convince the dnf
developer as the dnf depsolver is better suited to deal with the
scenarios that arise from such a feature.

Florian
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: package, package2, package3 naming-with-version exploit

2013-04-04 Thread Florian Festi
On 04/04/2013 03:42 PM, Vít Ondruch wrote:
 Although they might support, and Kernel would be first user, even for
 Kernel, there is used hack instead of systematic solution as far as I
 know. As long as Kernel will be treated specially in this regard, there
 is not much to do on my side.

As long as you are not willing to look into the details much deeper your
cause is doomed.

Florian
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: package, package2, package3 naming-with-version exploit

2013-04-03 Thread Florian Festi
On 03/29/2013 10:33 AM, Bohuslav Kabrda wrote:
 To me, these are very different aspects - should RPM/YUM be able to support 
 multiple parallel versions without the naming hacks? Yes. Should Fedora as a 
 distro support numbers of multiple versions of packages? In my opinion, we 
 should try to keep counts of supported packages minimal, as we do now. But 
 that doesn't really depend on _how_ we package the stuff.
 This is about providing the tooling to people who actually want to maintain 
 these more versions in their private repositories or whatever.

Sorry, but this is not how we as an upstream project think. We calculate
the benefits against the costs. The costs of breaking/changing such a
fundamental rules as name.arch defines an update path is extremely
high. If there are only a few packages that require that feature and
they only benefit marginally there is absolutely no way to outweight
these costs.

If there were thousands multiversion of packages that were suffering
from these limitations and such a change would make all that pain go
away (I won't) the decision would likely be the opposite. Such situation
would also make it much easier for the users to understand the situation
as they would deal with multiversion packages on a daily basis.

But despite people wining loudly there are only a few dozen packages
barely justifying the discussion.

Florian
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: package, package2, package3 naming-with-version exploit

2013-04-03 Thread Florian Festi
On 03/28/2013 05:45 PM, Vít Ondruch wrote:
 Sorry to say that, but neither my sarcasm nor your comment brings
 anything new. If this problem was put first time on the table in 2002,
 then there already passed 10 years of excuses.

Well, this does not even roughly reflect the history of rpm. You are
also pointing at the wrong people as no one of the current team has been
working on rpm 2002. There have been dark ages in between when rpm
development had basically stopped. It took one year just to integrate
the bug fixes piled up during this time when development was picked up
again with the 4.4.2.x series.

Since then lots of work had to be invested just to catch up with the
grown demands of modern distributions and computers. And this is still
not achieved yet.

Florian
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: package, package2, package3 naming-with-version exploit

2013-04-03 Thread Florian Festi
On 04/03/2013 12:58 PM, Vít Ondruch wrote:
 The only thing you get wrong is that you take a look at Fedora packages
 and do some statistics. You don't see the packages which could be in
 Fedora if RPM/YUM would do better job.
 
 Just as an example, I guess everybody would welcome Redmine [1] in
 Fedora (you can substitute GitLab [2] or Aeolus [3] for Redmine if you
 like). It was not possible to do so for several releases of Fedora,
 since Redmine was using Ruby on Rails 2.3 where in Fedora, there was
 Ruby on Rails 3.x. If we would like to move to Ruby on Rails 4 in Fedora
 as soon as they'll be releases, we will have actually two options (1)
 forget about the upgrade of Ruby on Rails in Fedora and wait for
 upstream or possible become upstream, to help with migration of the
 project (2) break Redmine and every application which is using Ruby on
 Rails in Fedora. Neither of these options are good options. So the
 easiest solution is to not have Redmine in Fedora at all.
 
 So now, please, could you count also the cost of missed opportunities?

I have some difficulties believing that the only reason for this is that
the name rubygem-rails was already taken. May be you can elaborate a
bit more why getting Rails 2.3 into Fedora would have been fundamentally
easier if the name was still available?

Florian
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel

Re: package, package2, package3 naming-with-version exploit

2013-04-03 Thread Florian Festi
On 04/03/2013 05:02 PM, Vít Ondruch wrote:
 Dne 3.4.2013 15:59, Miloslav Trmač napsal(a):
 On Wed, Apr 3, 2013 at 3:22 PM, Vít Ondruch vondr...@redhat.com
 That looks quite simple, but you doesn't count that what is called
 Ruby on Rails is collection of 40 packages (the number vary from
 version to version, but tends to increase), which would need to be
 re-reviewed, although they were just perfect moment ago.

Sorry, but the rpm developers are the wrong people to talk to when it
comes to Fedora packaging policies.



 Ok, so lets say we introduce the rails23 compatibility packages
 (which is IMO the better option, since the nonversioned package
 should always point to newest and greatest release), we do the
 reviews and we possibly double the amount of packages. We even fix
 all the application dependencies from rubygem-rails to
 rubygem-rails23.
No, you should just add an virtual provide for rubygem-rails = 2.3.x You
might still need to fix your applications as they most likely won't run
with Rails 3 but not requiring rubygem-rails  3 but that's another problem.


 Yes, they would be in one git repo with single maintainer (or group of
 maintainers). Although it does not ensure much, there is higher chance
 that the package will be consistent, i.e. that security fix will be
 applied in all branches. You can use all nice git features to easy your
 work.

I had rather expected that not having the two versions in the same tree
is an advantage as it allows different people to step in without messing
with the main package.


You somehow assume that just because we add some magic in rpm things in
Fedora change dramatically. I see no reason why creating a new version
should be any easier than creating a new package. With some work (and
surely less than needed for your proposal) on the build system forking
off a package with a new name could be as simple as any other solution.

The same is true for the git trees. Implementing a way of moving some
patches between different trees and packages is much easier than making
multiple versions out of one tree work. This can probably even be done
locally without asking anyone within Fedora.

 Yes, you might change the policy that re-reviews are not
 necessary, but anyway, you'll end up with mess of packages such as
 rails23, rails30, rails31, rails32, rails40 and you lost the
 meaning of version. Actually then somebody comes and he things
 that he doesn't need just Rails 3.0, but he needs specifically
 Rails 3.0.5, so he well do another new package rails305. You
 cannot stop this explosion of various versioned modules.

I got that you really, really, really don't like the package names. But
the number of packages is actually exactly the same as with your own
proposal. Yes, it is ugly to have all those different packages - but
this is what you are asking for. The fact that they all share the same
name do not reduce their numbers.

 It would help, since I could focus on packaging new rails version
 instead of fixing compatibility issues of current applications in Fedora
 with the framework they use. That would be application upstream
 responsibility. Once upstream would be ready to move forward they could.
 Now either upstream is ahead of Fedora or Fedora is ahead of upstream of
 the application. We are rarely lucky that we would be in sync.


Yes, I got the reason why multiple version of a package are needed. But
that does not require them having the same name.


 There is even little motivation to do some continuous updates of Rails
 in Rawhide, since where is the point? It would just become moving
 target. While if I could keep behind each version packaged, it would
 make sense and find its users definitively.

There is a slight difference here to what was originally proposed. I had
assumed the people involved got this subtle difference but I am not
sure. So I repeat it here:

There are two (from my POV) very different way how this could work:

1. As described in the thread. There are separate branches that only
have one newest and supported package. This can be done with either
separate package names or some added magic that basically make the
packages behave as if they had different names. This magic requires
altering the packages. So you cannot just use the old packages. You
either rename them or add the magic to tell them their new update behaviour.

2. You just keep all versions of the packages of one single line of
updates and teach the depsolver (yum, dnf, rpm cli or whatever) to deal
with that in a way you like. People opting for an old package do not
receive updates (or are responsible themselves to choose a newer package
either by hand or by telling the depsolver which ones to consider.) This
way the package maintainer is not responsible to update any but the
newest version and does not even have to know about you using old
versions. If you have a repository that keeps the packages this should

Re: [renrot] Comment out Requires(hint)

2011-06-20 Thread Florian Festi
On 06/20/2011 04:41 PM, Andy Shevchenko wrote:
 Does it mean we are still don't have suggestions?
No, we don't.
 Anyway, it seems more proper to get it fixed is to put normal
 Request tag instead of Request(smth). Isn't it?
Depends on what you want. You can convert it into a regular requires to 
keep the previous behavior but if the package is not really required and 
you can also just drop it.

Florian
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel


Re: PackageKit in Fedora 15 (beta)

2011-04-26 Thread Florian Festi
On 04/26/2011 05:21 PM, Matej Cepl wrote:
 Dne 26.4.2011 15:31, Kevin Kofler napsal(a):
 AIUI, Suggests/Recommends was almost accepted in rpm.org (BTW, rpm5.org has
 had it for ages), but the yum developers blocked it. :-/
Well, having Suggests/Recommends in RPM only does buy you anything as 
RPM will just ignore them. Yum (or any other depsolver) has the job of 
selecting the right set of packages.
 I have to defend Seth here ... in the last flamewar on this theme he
 admitted that introducing Suggests/Recommends would be question of half
 an hour (maybe he didn't mean it literally) and he would be willing to
 do it in the moment FESCO (or Board, or whoever is appropriate to make
 the decision) would tell him so
I think if anybody can come up with a exact description how they should 
look like and how they should work and can create some evidence that 
this is want we need and want implementing them is not the problem[*]. 
Until now no one has come up with a proposal and enough confidence.

As soon as one looks at the details it becomes less obvious what we 
really want. Even whether the Suggests/Recommends should live in the 
packages or in comps or else where or both or both or in all three is 
still under debate. Do we need reverse relations? Do we really want to 
have exactly two levels of strength? Do we need conditionals (install 
an package only if two or more other packages are installed) as we had 
(have) in comps? Or should be trash the whole concept of comps and comps 
groups and start all over? When and how should they be evaluated? Do we 
need to save the users decision not to want the suggested package? What 
happens if the Suggests changes during an update?

If there really is some interest in getting any kind of weak 
requirements into yum and rpm answering the questions above is a first 
step (The list is not complete.) But from my perspective (as an RPM 
developer) Fedora has shown little interest in developing an own 
opinion about how the future of packaging and package handling should 
look like. So I am not too optimistic that we'll have Suggests or 
Recommends any time soon.

Florian

[*] Depending on the exact features implementing still can be tricky and 
require a lot of work. I doubt that it will be even remotely close to 
half an hour but nothing that cannot be handled.
-- 
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel