public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/nemo] rawhide: Remove circular dependency: nemo-extensions no longer Requires nemo
@ 2026-07-26 20:57 Michal Schorm
0 siblings, 0 replies; only message in thread
From: Michal Schorm @ 2026-07-26 20:57 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/nemo
Branch : rawhide
Commit : 4eaa4bbc73496e237b80814a25a5b36bc80209fe
Author : Michal Schorm <mschorm@redhat.com>
Date : 2026-07-26T19:23:55+02:00
Stats : +0/-1 in 1 file(s)
URL : https://src.fedoraproject.org/rpms/nemo/c/4eaa4bbc73496e237b80814a25a5b36bc80209fe?branch=rawhide
Log:
Remove circular dependency: nemo-extensions no longer Requires nemo
The nemo-extensions subpackage ships 'libnemo-extension.so.*' (the
shared library) and the 'Nemo-3.0.typelib' GI binding. The main nemo
binary links against this library, so nemo correctly Requires
nemo-extensions. The reverse dependency (nemo-extensions Requires
nemo) creates a circular dependency.
History: the circular dep has existed since the initial import
(commit 1b1b0d3, 2012-09-25). There is no evidence it was a
deliberate design choice — both directions were added in the same
commit and never revisited.
Cross-distro comparison:
- nautilus (GNOME equivalent): identical architecture, NO circular
dep. 'nautilus-extensions' does NOT require 'nautilus'. Extension
packages (file-roller-nautilus, nautilus-dropbox, etc.) depend
only on the soname. This pattern has worked in Fedora for years.
- Debian: splits nemo into 'libnemo-extension-1-0' (the library)
which does NOT depend on 'nemo'. One-way only.
- Arch: monolithic package, no split. Not comparable.
Impact analysis — reverse dependencies on nemo-extensions:
Already have explicit nemo Requires (no change):
nemo-devel, nemo-python, nemo-megasync, gtkhash-nemo,
nemo-gsconnect (via nemo-python)
Depend only on soname libnemo-extension.so.1 (behavioral change):
nemo-fileroller, nemo-seahorse, nemo-dropbox,
nemo-image-converter
The 4 soname-only packages would no longer transitively pull in
nemo. This matches nautilus behavior and is correct: the library
subpackage is a pure shared library. If a specific extension
package needs the nemo binary, it should declare its own Requires.
Removing also fixes rpmlint/rpminspect circular-dependency warnings.
Co-Authored-By: Claude AI <noreply@anthropic.com>
---
diff --git a/nemo.spec b/nemo.spec
index 09e39b2..028c034 100644
--- a/nemo.spec
+++ b/nemo.spec
@@ -65,7 +65,6 @@ It is also responsible for handling the icons on the Cinnamon desktop.
%package extensions
Summary: Nemo extensions library
License: LGPL-2.0-or-later
-Requires: %{name}%{?_isa} = %{version}-%{release}
%description extensions
This package provides the libraries used by nemo extensions.
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-26 20:57 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-26 20:57 [rpms/nemo] rawhide: Remove circular dependency: nemo-extensions no longer Requires nemo Michal Schorm
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox