public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Michal Schorm <mschorm@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/nemo] rawhide: Remove circular dependency: nemo-extensions no longer Requires nemo
Date: Sun, 26 Jul 2026 20:57:57 GMT	[thread overview]
Message-ID: <178509947738.1.2291419794046656450.rpms-nemo-4eaa4bbc7349@fedoraproject.org> (raw)

            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.

                 reply	other threads:[~2026-07-26 20:57 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178509947738.1.2291419794046656450.rpms-nemo-4eaa4bbc7349@fedoraproject.org \
    --to=mschorm@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox