Re: [Fedora-packaging] Scriptlet to replace a directory can cause infinite loop in update

2025-03-05 Thread Jason Tibbitts
> Zbigniew Jędrzejewski-Szmek  writes:

> Let's take a step back. Does it make sense to implement complicated
> and fragile scriptlets in packages?

No, of course not.

> Can we *please* get rid of this footgun that has been a continous
> source of problems?

The mantra on the packaging committee is that we work with the RPM we
have, not the RPM we wish we had.  This has been an issue in RPM since
before Fedora existed and it's still there, so we have little choice but
to adapt.  Even if RPM does start handling this, the need to handle
older releases won't go away for quite some time.

It would be really nice if the scriptlet were at least put in a macro.
That way there would be only one place needing modification to fix an
issue like this, the macro would just be defined to %nil on releases
where it is not needed, and it would be trivial to find packages that
use it for testing and eventual cleanup.

 - J<
-- 
___
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


Fedora eln compose report: 20250306.n.0 changes

2025-03-05 Thread Fedora ELN Report
OLD: Fedora-eln-20250305.n.0
NEW: Fedora-eln-20250306.n.0

= SUMMARY =
Added images:0
Dropped images:  0
Added packages:  9
Dropped packages:3
Upgraded packages:   259
Downgraded packages: 2

Size of added packages:  227.54 MiB
Size of dropped packages:172.50 KiB
Size of upgraded packages:   3.98 GiB
Size of downgraded packages: 1.36 MiB

Size change of upgraded packages:   -126.07 KiB
Size change of downgraded packages: -113 B

= ADDED IMAGES =

= DROPPED IMAGES =

= ADDED PACKAGES =
Package: R-4.4.3-1.eln146
Summary: A language for data analysis and graphics
RPMs:R-core libRmath
Size:202.29 MiB

Package: cantor-24.12.3-2.eln146
Summary: KDE Frontend to Mathematical Software
RPMs:cantor cantor-libs
Size:7.59 MiB

Package: dSFMT-2.2.3-26.eln146
Summary: Double precision SIMD-oriented Fast Mersenne Twister
RPMs:dSFMT
Size:19.97 KiB

Package: kaidan-0.11.0-3.eln146
Summary: A XMPP client based on KDE Framework
RPMs:kaidan
Size:4.44 MiB

Package: libgit2_1.8-1.8.4-2.eln146
Summary: C implementation of the Git core methods as a library with a solid API
RPMs:libgit2_1.8
Size:550.82 KiB

Package: openlibm-0.7.5-11.eln146
Summary: High quality system independent, open source libm
RPMs:openlibm
Size:102.39 KiB

Package: qxmpp-1.10.1-1.eln146
Summary: Cross-platform C++ XMPP client and server library
RPMs:qxmpp-qt6
Size:4.20 MiB

Package: suitesparse-7.10.0-1.eln146
Summary: A collection of sparse matrix libraries
RPMs:suitesparse64_
Size:8.19 MiB

Package: tre-0.8.0-47.20140228gitc2f5d13.eln146
Summary: POSIX compatible regexp library with approximate matching
RPMs:tre tre-common
Size:162.54 KiB


= DROPPED PACKAGES =
Package: perl-Convert-Base32-0.06-21.eln145
Summary: Encoding and decoding of base32 strings
RPMs:perl-Convert-Base32
Size:12.89 KiB

Package: perl-Crypt-URandom-0.53-1.eln146
Summary: Non-blocking randomness for Perl
RPMs:perl-Crypt-URandom
Size:124.26 KiB

Package: perl-Net-IP-1.26-35.eln145
Summary: Perl module for manipulation of IPv4 and IPv6 addresses
RPMs:perl-Net-IP
Size:35.35 KiB


= UPGRADED PACKAGES =
Package:  389-ds-base-3.1.2-6.eln146
Old package:  389-ds-base-3.1.1-6.eln144
Summary:  389 Directory Server (base)
RPMs: 389-ds-base 389-ds-base-bdb 389-ds-base-devel 389-ds-base-libs 
389-ds-base-snmp python3-lib389
Size: 22.97 MiB
Size change:  1.24 MiB
Changelog:
  * Thu Jan 16 2025 Fedora Release Engineering  - 
3.1.1-7
  - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild

  * Mon Jan 20 2025 Fedora Release Engineering  - 
3.1.1-8
  - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild

  * Fri Jan 24 2025 Viktor Ashirov  - 3.1.2-1
  - Update to 3.1.2

  * Sat Jan 25 2025 Viktor Ashirov  - 3.1.2-2
  - Replace python3-magic with python3-file-magic

  * Sat Feb 01 2025 Bj??rn Esser  - 3.1.2-3
  - Add explicit BR: libxcrypt-devel

  * Sat Feb 08 2025 Zbigniew J??drzejewski-Szmek  - 3.1.2-4
  - Drop call to %sysusers_create_compat

  * Fri Feb 14 2025 Viktor Ashirov  - 3.1.2-5
  - Update to 3.1.2-5
  - Resolves: Issue 6489 - After log rotation refresh the FD pointer
  - Resolves: Issue 6554 - During import of entries without nsUniqueId, a
supplier generates duplicate nsUniqueId (LMDB only)
  - Resolves: Issue 6555 - Potential crash when deleting a replicated backend

  * Wed Mar 05 2025 Yaakov Selkowitz  - 3.1.2-6
  - Fix build of bundled libdb with GCC 15


Package:  akonadi-calendar-24.12.3-1.eln146
Old package:  akonadi-calendar-24.12.2-2.eln146
Summary:  The Akonadi Calendar Library
RPMs: akonadi-calendar
Size: 2.48 MiB
Size change:  -10.11 KiB
Changelog:
  * Tue Mar 04 2025 Steve Cossette  - 24.12.3-1
  - 24.12.3


Package:  akonadi-calendar-tools-24.12.3-1.eln146
Old package:  akonadi-calendar-tools-24.12.2-2.eln146
Summary:  Akonadi Calendar Tools
RPMs: akonadi-calendar-tools
Size: 1.48 MiB
Size change:  -1.27 KiB
Changelog:
  * Tue Mar 04 2025 Steve Cossette  - 24.12.3-1
  - 24.12.3


Package:  akonadi-contacts-24.12.3-1.eln146
Old package:  akonadi-contacts-24.12.2-2.eln146
Summary:  The Akonadi Contacts Library
RPMs: akonadi-contacts
Size: 1.86 MiB
Size change:  -7.58 KiB
Changelog:
  * Tue Mar 04 2025 Steve Cossette  - 24.12.3-1
  - 24.12.3


Package:  akonadi-import-wizard-24.12.3-1.eln146
Old package:  akonadi-import-wizard-24.12.2-2.eln146
Summary:  Akonadi Import Wizard
RPMs: akonadi-import-wizard
Size: 2.33 MiB
Size change:  -13.30 KiB
Changelog:
  * Tue Mar 04 2025 Steve Cossette  - 24.12.3-1
  - 24.12.3


Package:  akonadi-mime-24.12.3-1.eln146
Old package:  akonadi-mime-24.12.2-2.eln146
Summary:  The Akonadi Mime Library
RPMs: akonadi-mime
Size: 1.14 MiB
Size change:  -1.75 KiB
Changelog:
  * Tue Mar 04 2025 Steve Cossette

Re: Donate 1 minute of your time to test upgrades from F41 to F42

2025-03-05 Thread Paul Maconi, Jr.
Good evening!

Aside from a handful of downgrades that already appear to be reported, my
primary system didn't encounter any issues with the transaction.

Transaction Summary:
 Installing:68 packages
 Upgrading:   4188 packages
 Replacing:   4205 packages
 Removing:   8 packages
 Downgrading:   10 packages

Regards,

Paul (Aggraxis)


On Wed, Mar 5, 2025 at 4:24 AM Dan Čermák 
wrote:

> Miroslav Suchý  writes:
>
> > Do you want to make Fedora 42 better? Please spend 1 minute of your time
> and try to run:
> >
> > dnf --releasever=42 --enablerepo=updates-testing --assumeno --best
> distro-sync
>
> I got a new (= not yet reported) failure:
>
> Problem 1: installed package python3-qt5-webkit-5.15.10-11.fc41.x86_64
> requires python3-qt5(x86-64) = 5.15.10-11.fc41, but none of the providers
> can be installed
>   - python3-qt5-5.15.10-11.fc41.x86_64 does not belong to a distupgrade
> repository
>   - problem with installed package
> --
> ___
> 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: Donate 1 minute of your time to test upgrades from F41 to F42

2025-03-05 Thread Zbigniew Jędrzejewski-Szmek
On Tue, Mar 04, 2025 at 11:24:53PM +0100, Charalampos Stratakis wrote:
> On my x86_64:
> 
> Problem 1: installed package libreoffice-writer2latex-1.0.2-39.fc38.x86_64
> requires osgi(javax.xml), but none of the providers can be installed

https://src.fedoraproject.org/rpms/fedora-obsolete-packages/pull-request/106


-- 
___
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: Donate 1 minute of your time to test upgrades from F41 to F42

2025-03-05 Thread Miro Hrončok

On 05. 03. 25 9:22, Zbigniew Jędrzejewski-Szmek wrote:

Hmm, this seems to be an unfinished retirement. We have
https://src.fedoraproject.org/rpms/torque/ 
c/5f8d64fc9a899f4b94e63685a29f4cc95ef2f829

but the package is tagged into rawhide.

But the package needs to be obsoleted anyway. I'll add it to the PR above.


$ koji list-pkgs --show-blocked --tag f43 --quiet --package torque
torque  f43  spot 
 [BLOCKED]


$ koji list-pkgs --show-blocked --tag rawhide --quiet --package torque
torque  f43  spot 
 [BLOCKED]


$ koji list-pkgs --show-blocked --tag f42 --quiet --package torque
torque  f42  spot 
 [BLOCKED]



--
Miro Hrončok
--
Phone: +420777974800
Fedora Matrix: mhroncok

--
___
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: Donate 1 minute of your time to test upgrades from F41 to F42

2025-03-05 Thread Zbigniew Jędrzejewski-Szmek
On Wed, Mar 05, 2025 at 09:56:43AM +0100, Miro Hrončok wrote:
> On 05. 03. 25 9:22, Zbigniew Jędrzejewski-Szmek wrote:
> > Hmm, this seems to be an unfinished retirement. We have
> > https://src.fedoraproject.org/rpms/torque/
> > c/5f8d64fc9a899f4b94e63685a29f4cc95ef2f829
> > but the package is tagged into rawhide.
> > 
> > But the package needs to be obsoleted anyway. I'll add it to the PR above.
> 
> $ koji list-pkgs --show-blocked --tag f43 --quiet --package torque
> torque  f43  spot
> [BLOCKED]
> 
> $ koji list-pkgs --show-blocked --tag rawhide --quiet --package torque
> torque  f43  spot
> [BLOCKED]
> 
> $ koji list-pkgs --show-blocked --tag f42 --quiet --package torque
> torque  f42  spot
> [BLOCKED]

https://src.fedoraproject.org/rpms/torque shows torque-6.1.3-13.fc42
for F43. Maybe the error is somewhere else.

Zbyszek
-- 
___
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


Fedora 42 compose report: 20250305.n.0 changes

2025-03-05 Thread Fedora Branched Report
OLD: Fedora-42-20250304.n.0
NEW: Fedora-42-20250305.n.0

= SUMMARY =
Added images:0
Dropped images:  1
Added packages:  0
Dropped packages:1
Upgraded packages:   0
Downgraded packages: 0

Size of added packages:  0 B
Size of dropped packages:97.15 MiB
Size of upgraded packages:   0 B
Size of downgraded packages: 0 B

Size change of upgraded packages:   0 B
Size change of downgraded packages: 0 B

= ADDED IMAGES =

= DROPPED IMAGES =
Image: i3 live aarch64
Path: Spins/aarch64/iso/Fedora-i3-Live-aarch64-42-20250304.n.0.iso

= ADDED PACKAGES =

= DROPPED PACKAGES =
Package: pypy3.9-7.3.16-4.3.9.fc42
Summary: Python 3.9 implementation with a Just-In-Time compiler
RPMs:pypy3.9 pypy3.9-devel pypy3.9-libs pypy3.9-test
Size:97.15 MiB


= UPGRADED PACKAGES =

= DOWNGRADED PACKAGES =
-- 
___
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: Donate 1 minute of your time to test upgrades from F41 to F42

2025-03-05 Thread Zbigniew Jędrzejewski-Szmek
On Tue, Mar 04, 2025 at 03:47:30PM -, Artur Frenszek-Iwicki wrote:
> Tested on three machines running Fedora 41; two of them were a-okay, one had 
> some errors:
> 
> > Problem 1: installed package libreoffice-writer2latex-1.0.2-38.fc37.x86_64 
> > requires osgi(javax.xml), but none of the providers can be installed

https://src.fedoraproject.org/rpms/fedora-obsolete-packages/pull-request/106

> > Problem 3: installed package torque-libs-6.1.3-13.fc41.x86_64 requires 
> > libjsoncpp.so.25()(64bit), but none of the providers can be installed
> >  - cannot install both jsoncpp-1.9.6-1.fc42.x86_64 from updates-testing and 
> > jsoncpp-1.9.5-8.fc41.x86_64 from @System
> >  - cannot install both jsoncpp-1.9.6-1.fc42.x86_64 from updates-testing and 
> > jsoncpp-1.9.5-9.fc42.x86_64 from fedora
> >  - package cmake-3.31.6-2.fc42.x86_64 from updates-testing requires 
> > libjsoncpp.so.26()(64bit), but none of the providers can be installed
> >  - installed package torque-6.1.3-13.fc41.x86_64 requires 
> > libtorque.so.2()(64bit), but none of the providers can be installed
> >  - cannot install the best update candidate for package 
> > cmake-3.30.7-1.fc41.x86_64
> >  - problem with installed package

Hmm, this seems to be an unfinished retirement. We have
https://src.fedoraproject.org/rpms/torque/c/5f8d64fc9a899f4b94e63685a29f4cc95ef2f829
but the package is tagged into rawhide.

But the package needs to be obsoleted anyway. I'll add it to the PR above.

Zbyszek
-- 
___
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: Donate 1 minute of your time to test upgrades from F41 to F42

2025-03-05 Thread Dan Čermák
Miroslav Suchý  writes:

> Do you want to make Fedora 42 better? Please spend 1 minute of your time and 
> try to run:
>
> dnf --releasever=42 --enablerepo=updates-testing --assumeno --best distro-sync

I got a new (= not yet reported) failure:

Problem 1: installed package python3-qt5-webkit-5.15.10-11.fc41.x86_64 requires 
python3-qt5(x86-64) = 5.15.10-11.fc41, but none of the providers can be 
installed
  - python3-qt5-5.15.10-11.fc41.x86_64 does not belong to a distupgrade 
repository
  - problem with installed package
-- 
___
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


CANCELLED - F42 Beta Go/No-Go Meeting, March 6

2025-03-05 Thread Aoife Moloney via devel-announce
Hi all,

Please be advised that due to a number of outstanding unresolved
blockers[1] for F42 beta, we are cancelling this week's go/no-go meeting
tomorrow, March 6.

We will instead meet next Thursday, March 13 @ 1700 UTC in
#fedora-meeting[2] to determine the status of Fedora Linux 42 Beta. The new
target release date is Tuesday March 18 for F42 Beta. The release
schedule[3] has been updated accordingly and an email reminder will be sent
on Monday 10 March ahead of the Go/No-Go meeting.


Kindest regards,
Aoife

[1] https://qa.fedoraproject.org/blockerbugs/milestone/42/beta/buglist
[2] https://calendar.fedoraproject.org/Fedora%20release/2025/3/10/#m11003
[3] https://fedorapeople.org/groups/schedule/f-42/f-42-key-tasks.html

-- 

Aoife Moloney

Fedora Operations Architect

Fedora Project

Matrix: @amoloney:fedora.im

IRC: amoloney
-- 
___
devel-announce mailing list -- devel-annou...@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-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-annou...@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


Scriptlet to replace a directory can cause infinite loop in update

2025-03-05 Thread Jarek Prokop

Hi,

recently we were faced with a bug that caused an infinite loop in a 
container. It was from a package (node.js) retaining a scriptlet to 
replace a directory as recommended in Fedora Guidelines [0].


There the errno and reason returned [1] is effectively ignored. Only 
whether the operation succeed is checked.
There is no differentiation whether the rename failed because the 
directory exists which will correctly
cause a rename with a numerical index appended to the directory name. Or 
if the rename failed due to any of the other reasons
we might consider as a fail where jumping out of a scriptlet is 
preferable to even attempting a rename.
The next numerical index is found with a trial-and-error that runs in a 
loop until some index succeeds in the rename, therein lies the potential 
for infinite loop.


Conclusion, before I get to the long longer "why". I propose we change 
the form from:


~~~
path = "/path/to/dir"
st = posix.stat(path)
if st and st.type == "directory" then
  status = os.rename(path, path .. ".rpmmoved")
  if not status then
    suffix = 0
    while not status do
  suffix = suffix + 1
  status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. 
suffix)

    end
    os.rename(path, path .. ".rpmmoved")
  end
end
~~~
to something along the lines of:
~~~
path = "/path/to/dir"
st = posix.stat(path)
reason = nil
if st and st.type == "directory" then
  status, reason, errno  = os.rename(path, path .. ".rpmmoved")
  if not status and errno == 17 then
    suffix = 0
    while not status and errno == 17 do
  suffix = suffix + 1
  status, reason, errno = os.rename(path .. ".rpmmoved", path .. 
".rpmmoved." .. suffix)

  if errno ~= 17 then
print("Failed to rename a directory. " .. reason)
    break
  end
    end
    os.rename(path, path .. ".rpmmoved")
  else
    print("Failed to rename a directory. " .. reason)
  end
end
~~~
Not the best I have ever written but it adds checks that it failed for 
an expected reason where we intend to continue.


A bit of Lua & overlayFS background of why this is happening.

The scriptlet uses `os.rename`, which maps quite closely, from what I 
can tell from the behavior, to the C function `rename`.


OverlayFS does not like to rename directories from lower layers (which 
could be a layer created by let's say `RUN mkdir /opt/foo`
directive in a Containerfile) to upper layers without some specific 
mount options, like `metacopy` or `redirect_dir` enabled that
enables the rename operation to succeed [2]. If there is not metacopy or 
redirect_dir, the operation will fail with errno 18 EXDEV.


From what I understand, when one `podman run`s a container, there is a 
new upper layer for separating what happens in the running container,
giving the temporary nature to changes in a running container. Or this 
"new" layer atop lower layers can also be observed when attempting to 
build a container.
So this is a concern for both the situation of container build and the 
situation of container running.


In both of those cases, if we attempt to rename a directory with that 
call it will fail without the mentioned mount options. However thanks
to the loop that ignores the exact errno and just blindly tries to find 
an index until the `os.rename` returns `true` instead of `nil`, we get 
into a
situation where the scriptlet, on package upgrade, goes into an infinite 
loop.


A simple reproducer for this issue:
~~~
podman run -it --rm quay.io/fedora/fedora:41 bash -c 'dnf install -y lua 
>/dev/null && lua -e "status, str, code = os.rename(\"/var/games\", 
\"/var/games.moved\"); print(status, str, code)"; cat /proc/mounts | 
grep overlay'

~~~

This will attempt the rename close to what we'd expect in a scriptlet, 
and print the reason and specific errno code. Additionally prints how 
the overlay is mounted, to inspect options.
This operation will succeed if there is either `redirect_dir=on` or the 
`metacopy=on` present in the mount options on the last line printed from 
running the container.
`/var/games` was chosen due to no particular reason other than the 
directory being present on lower layers and not strictly necessary for 
runtime, allowing for experimentation.


Specifically with node.js, it happened simply because there was already 
an existing container, similar to quay.io/fedora/nodejs-22 and an 
attempt to update via build was made in style of:

~~~
FROM quay.io/fedora/nodejs-22

USER 0
RUN dnf update -y
USER default
~~~

This was enough to trigger the problem. This is very similar to the 
reproducer: `os.rename` was called on an already existing directory. 
However the directory was in a lower layer, making the fail related to 
the errno 18 EXDEV
instead of errno 17 EEXIST which we would regard as a valid errno where 
we can continue.


Thoughts? Feedback?

Regards,
Jarek Prokop

[0] 
https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/#_scriptlet_to_replace_a_directory

[1] https://www.lua.org/man

Re: force merging of the remaining pull requests for sysusers

2025-03-05 Thread Michal Schorm
I started testing the patches in MariaDB and MySQL.
I merged PRs to other packages, but since MariaDB and MySQL share the
same user and group config, I want to check if it works fine for them
in various combinations.

However I noticed a behavior that surprised me:
When installing MariaDB on Fedora 42 or Rawhide, the current scriptlet
(now, before the sysusers patch) does not guarantee the user / group
ID number anymore.

| # rpm -q --scripts mariadb-server
| preinstall scriptlet (using /bin/sh):
| /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
| /usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /sbin/nologin \
|   -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :

Results in:
| Finished unknown scriptlet: mariadb-server-3:10.11.11-1.fc42.x86_64
| Scriptlet output:
| Creating group 'mysql' with GID 990.
| Creating user 'mysql' (MariaDB) with UID 990 and GID 990.

And the UID/GID 27 will remain unused, free.

While on Fedora 41 and older it guarantees the UID/GID 27.

I checked the Fedora changes for F42 by title and the
RPMSuportForSystemdSysusers in full, but none seem to mention this.

Do you have any idea what causes it, whether it is an expected change
in behavior or whether it is somehow related to your Change?

Michal

--

Michal Schorm
Software Engineer
Databases Team
Red Hat

--

On Mon, Mar 3, 2025 at 7:35 PM Emmanuel Seyman  wrote:
>
> * Zbigniew Jędrzejewski-Szmek [03/03/2025 10:43] :
> >
> > https://src.fedoraproject.org/rpms/perl-Net-Statsd-Server/pull-request/1
>
> Merged.
>
> Emmanuel
> --
> ___
> 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


[Fedocal] Reminder meeting : ELN SIG

2025-03-05 Thread yselkowitz
Dear all,

You are kindly invited to the meeting:
   ELN SIG on 2025-03-06 from 15:00:00 to 16:00:00 US/Eastern
   At meet...@fedoraproject.org

The meeting will be about:



Source: https://calendar.fedoraproject.org//meeting/10979/

-- 
___
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: [Fedora-packaging] Scriptlet to replace a directory can cause infinite loop in update

2025-03-05 Thread Zbigniew Jędrzejewski-Szmek
On Wed, Mar 05, 2025 at 10:47:36AM +0100, Jarek Prokop via packaging wrote:
> Hi,
> 
> recently we were faced with a bug that caused an infinite loop in a
> container. It was from a package (node.js) retaining a scriptlet to replace
> a directory as recommended in Fedora Guidelines [0].
> Thoughts? Feedback?

Let's take a step back. Does it make sense to implement complicated
and fragile scriptlets in packages? Or even: will packagers remember
to check if the package update they are doing replaces directories by
symlinks or vice versa and remember to add the complicated scriptlet?

The answer to the second question is no: quite naturally we forget
about this all the time, and only add the scriptlet when somebody
reports an rpm transaction error.

The answer to the first question is more subjective, but IMO, it's
also "no". Can we *please* get rid of this footgun that has been a
continous source of problems?

We are making efforts to move away from scriptlets in packaging.
With the ongoing sysusers change we managed to absorb a significant
percentage of complex scriptlets into rpm.

Let's do the same with the directory/symlink replacement scriptlets:
let rpm do the rename to '.rpmmoved' if it detects a type mismatch.
The end result will be _exactly_ the same as if we had the scriptlet
in the package, but it'll only be implemented once.

Zbyszek
-- 
___
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


Fedora rawhide compose report: 20250305.n.0 changes

2025-03-05 Thread Fedora Rawhide Report
OLD: Fedora-Rawhide-20250304.n.0
NEW: Fedora-Rawhide-20250305.n.0

= SUMMARY =
Added images:0
Dropped images:  0
Added packages:  6
Dropped packages:1
Upgraded packages:   104
Downgraded packages: 0

Size of added packages:  2.80 MiB
Size of dropped packages:23.41 KiB
Size of upgraded packages:   3.32 GiB
Size of downgraded packages: 0 B

Size change of upgraded packages:   21.37 MiB
Size change of downgraded packages: 0 B

= ADDED IMAGES =

= DROPPED IMAGES =

= ADDED PACKAGES =
Package: python-toml-cli-0.7.0-1.fc43
Summary: Read and write keys/values to/from toml files
RPMs:python3-toml-cli toml-cli
Size:25.71 KiB

Package: rust-audiopus_sys-0.2.2-1.fc43
Summary: FFI-Binding to Opus, dynamically or statically linked for Windows and 
UNIX
RPMs:rust-audiopus_sys+default-devel rust-audiopus_sys+dynamic-devel 
rust-audiopus_sys+static-devel rust-audiopus_sys-devel
Size:43.77 KiB

Package: rust-ocb3-0.1.0-1.fc43
Summary: Pure Rust implementation of the Offset Codebook Mode v3
RPMs:rust-ocb3+alloc-devel rust-ocb3+arrayvec-devel rust-ocb3+default-devel 
rust-ocb3+getrandom-devel rust-ocb3+heapless-devel rust-ocb3+rand_core-devel 
rust-ocb3+std-devel rust-ocb3+stream-devel rust-ocb3+zeroize-devel 
rust-ocb3-devel
Size:88.18 KiB

Package: rust-sequoia-openpgp1-1.22.0-1.fc43
Summary: OpenPGP data types and associated machinery
RPMs:rust-sequoia-openpgp1+__implicit-crypto-backend-for-tests-devel 
rust-sequoia-openpgp1+allow-experimental-crypto-devel 
rust-sequoia-openpgp1+allow-variable-time-crypto-devel 
rust-sequoia-openpgp1+compression-bzip2-devel 
rust-sequoia-openpgp1+compression-deflate-devel 
rust-sequoia-openpgp1+compression-devel 
rust-sequoia-openpgp1+crypto-nettle-devel 
rust-sequoia-openpgp1+crypto-openssl-devel 
rust-sequoia-openpgp1+crypto-rust-devel rust-sequoia-openpgp1+default-devel 
rust-sequoia-openpgp1-devel
Size:2.39 MiB

Package: rust-sspi-0.15.2-1.fc43
Summary: Rust implementation of the Security Support Provider Interface
RPMs:rust-sspi+__install-crypto-provider-devel 
rust-sspi+__rustls-used-devel rust-sspi+default-devel 
rust-sspi+dns_resolver-devel rust-sspi+network_client-devel 
rust-sspi+ring-devel rust-sspi+tsssp-devel rust-sspi-devel
Size:242.97 KiB

Package: rust-target-triple-0.1.4-1.fc43
Summary: TARGET and HOST triples
RPMs:rust-target-triple+default-devel rust-target-triple-devel
Size:21.24 KiB


= DROPPED PACKAGES =
Package: python-nose-testconfig-0.10-35.fc42
Summary: Test configuration plugin for nosetests
RPMs:python3-nose-testconfig
Size:23.41 KiB


= UPGRADED PACKAGES =
Package:  NetworkManager-1:1.53.1-1.fc43
Old package:  NetworkManager-1:1.51.90-1.fc43
Summary:  Network connection manager and user applications
RPMs: NetworkManager NetworkManager-adsl NetworkManager-bluetooth 
NetworkManager-cloud-setup NetworkManager-config-connectivity-fedora 
NetworkManager-config-server NetworkManager-libnm NetworkManager-libnm-devel 
NetworkManager-ovs NetworkManager-ppp NetworkManager-team NetworkManager-tui 
NetworkManager-wifi NetworkManager-wwan
Size: 25.83 MiB
Size change:  -68.74 KiB
Changelog:
  * Tue Mar 04 2025 igo Huguet  - 1:1.53.1-1
  - Update to 1.53.1 release (development)


Package:  ProDy-2.4.1-12.fc43
Old package:  ProDy-2.4.1-11.fc42
Summary:  Application for protein structure, dynamics and sequence analysis
RPMs: python3-ProDy
Size: 54.66 MiB
Size change:  -201.07 KiB
Changelog:
  * Tue Mar 04 2025 Antonio Trande  - 2.4.1-12
  - Remove deprecated dependency (rhbz#2349829)


Package:  android-tools-1:35.0.2-2.fc43
Old package:  android-tools-1:35.0.1-4.fc42
Summary:  Android platform tools(adb, fastboot)
RPMs: android-tools
Size: 3.87 MiB
Size change:  125.11 KiB
Changelog:
  * Tue Mar 04 2025 Ivan Afonichev  - 1:35.0.2-2
  - RPMAUTOSPEC: unresolvable merge


Package:  apache-commons-net-3.11.1-10.fc43
Old package:  apache-commons-net-3.11.1-9.fc42
Summary:  Internet protocol suite Java library
RPMs: apache-commons-net
Dropped RPMs: apache-commons-net-javadoc
Size: 306.66 KiB
Size change:  -608.00 KiB
Changelog:
  * Mon Mar 03 2025 Mikolaj Izdebski  - 3.11.1-10
  - Remove javadoc subpackage


Package:  apptainer-1.4.0~rc.2-1.fc43
Old package:  apptainer-1.4.0~rc.1-1.fc42
Summary:  Application and environment virtualization formerly known as 
Singularity
RPMs: apptainer apptainer-suid
Size: 148.19 MiB
Size change:  3.00 MiB
Changelog:
  * Tue Mar 04 2025 Dave Dykstra  - 1.4.0~rc.2
  - Update to upstream 1.4.0-rc.2
  - Remove starter patch


Package:  autogen-5.18.16-29.fc43
Old package:  autogen-5.18.16-22.fc41
Summary:  Automated text file generator
RPMs: autogen autogen-libopts autogen-libopts-devel
Size: 3.02 MiB
Size change:  -2.32 KiB
Changelog:
  * Wed Jul 17 2024 Miroslav Such

Re: force merging of the remaining pull requests for sysusers

2025-03-05 Thread Zbigniew Jędrzejewski-Szmek
On Wed, Mar 05, 2025 at 03:26:44PM +0100, Michal Schorm wrote:
> I started testing the patches in MariaDB and MySQL.
> I merged PRs to other packages, but since MariaDB and MySQL share the
> same user and group config, I want to check if it works fine for them
> in various combinations.
> 
> However I noticed a behavior that surprised me:
> When installing MariaDB on Fedora 42 or Rawhide, the current scriptlet
> (now, before the sysusers patch) does not guarantee the user / group
> ID number anymore.
> 
> | # rpm -q --scripts mariadb-server
> | preinstall scriptlet (using /bin/sh):
> | /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || :
> | /usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /sbin/nologin \
> |   -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || :
> 
> Results in:
> | Finished unknown scriptlet: mariadb-server-3:10.11.11-1.fc42.x86_64
> | Scriptlet output:
> | Creating group 'mysql' with GID 990.
> | Creating user 'mysql' (MariaDB) with UID 990 and GID 990.
> 
> And the UID/GID 27 will remain unused, free.
> 
> While on Fedora 41 and older it guarantees the UID/GID 27.
> 
> I checked the Fedora changes for F42 by title and the
> RPMSuportForSystemdSysusers in full, but none seem to mention this.

The output shown above is from sysusers. So it looks like there's a
sysusers config for 'mysql'. Oh, there was a second sysusers file
already provided by the package, just without the uid.
I updated the PR.

Zbyszek
-- 
___
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: Possible to use 'fedpkg mockbuild' with a side tag?

2025-03-05 Thread Ankur Sinha
On Wed, Mar 05, 2025 13:16:04 -0800, Neal Gompa wrote:
> On Wed, Mar 5, 2025 at 1:08 PM Michael Catanzaro  
> wrote:
> >
> > Hi, I am wondering if it is possible to use 'fedpkg mockbuild' to
> > easily build for a side tag.
> >
> > I know that it's possible by using 'koji mock-config' and then 'fedpkg
> > mockbuild --mock-config' but this is not easy since it requires
> > creating a local mock configuration file. Would be nice if it were
> > possible to do something like 'fedpkg mockbuild --target' which would
> > function just like the --target argument in 'fedpkg build --target'.
> >
> 
> $ fedpkg mockbuild -- \
> --addrepo=https://kojipkgs.fedoraproject.org/repos//latest/$basearch/

This is super useful! I've opened a PR for it to be added to package
maintainer docs here:

https://pagure.io/fedora-docs/package-maintainer-docs/pull-request/177

-- 
Thanks,
Regards,
Ankur Sinha "FranciscoD" (He / Him / His) | 
https://fedoraproject.org/wiki/User:Ankursinha
Time zone: Europe/London


signature.asc
Description: 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
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue


Possible to use 'fedpkg mockbuild' with a side tag?

2025-03-05 Thread Michael Catanzaro
Hi, I am wondering if it is possible to use 'fedpkg mockbuild' to 
easily build for a side tag.


I know that it's possible by using 'koji mock-config' and then 'fedpkg 
mockbuild --mock-config' but this is not easy since it requires 
creating a local mock configuration file. Would be nice if it were 
possible to do something like 'fedpkg mockbuild --target' which would 
function just like the --target argument in 'fedpkg build --target'.


Michael


--
___
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: Possible to use 'fedpkg mockbuild' with a side tag?

2025-03-05 Thread Neal Gompa
On Wed, Mar 5, 2025 at 1:08 PM Michael Catanzaro  wrote:
>
> Hi, I am wondering if it is possible to use 'fedpkg mockbuild' to
> easily build for a side tag.
>
> I know that it's possible by using 'koji mock-config' and then 'fedpkg
> mockbuild --mock-config' but this is not easy since it requires
> creating a local mock configuration file. Would be nice if it were
> possible to do something like 'fedpkg mockbuild --target' which would
> function just like the --target argument in 'fedpkg build --target'.
>

$ fedpkg mockbuild -- \
--addrepo=https://kojipkgs.fedoraproject.org/repos//latest/$basearch/




--
真実はいつも一つ!/ Always, there's only one truth!
-- 
___
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