voxik created an issue (rpm-software-management/rpm#3586)

**Describe the bug**

Working on 
[this](https://src.fedoraproject.org/rpms/rubygem-selenium-webdriver/pull-request/3)
 PR, there is following error:

~~~
... snip ...

Processing files: rubygem-selenium-webdriver-4.27.0-3.fc43.noarch
Provides: rubygem(selenium-webdriver) = 4.27.0 rubygem-selenium-webdriver = 
4.27.0-3.fc43
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 
4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: (rubygem(base64) >= 0.2 with rubygem(base64) < 1) (rubygem(logger) >= 
1.4 with rubygem(logger) < 2) (rubygem(rexml) >= 3.2 with rubygem(rexml) < 4 
with rubygem(rexml) >= 3.2.5) (rubygem(rubyzip) >= 1.2.2 with rubygem(rubyzip) 
< 3.0) (rubygem(websocket) >= 1.0 with rubygem(websocket) < 2) ruby(rubygems) > 
1.3.1
Recommends: chromedriver chromium chromium-headless
error: Arch dependent binaries in noarch package
    Arch dependent binaries in noarch package
~~~

Which is (while not really visible from the log, which is unfortunate on 
itself) triggered by this line:

~~~
+ ln -sf %{_bindir}/selenium-manager %{buildroot}%{gem_instdir}/bin/linux/
~~~

My thinking is that RPM should treat this just as a symbolic link and should 
not care about where it points to. I believe that the resolver is smart enough 
to install the correct arch specific `selenium-manager` package.


**To Reproduce**
Steps to reproduce the behavior:
1. Create `BuildArch: noarch` package
2. List symlink to arch specific binary in `%files` section
3. `error: Arch dependent binaries in noarch package`

<details>

https://src.fedoraproject.org/rpms/rubygem-selenium-webdriver/blob/fb66c6ea51ed89e0ca497b2257bf3c19fcc89ac9/f/rubygem-selenium-webdriver.spec

~~~
>From 66305f34d7a540da65e80686cb232aeb4f6bb514 Mon Sep 17 00:00:00 2001
From: tjuhasz <tjuh...@redhat.com>
Date: Feb 19 2025 14:28:16 +0000
Subject: Added support for selenium-manager


---

diff --git a/rubygem-selenium-webdriver.spec b/rubygem-selenium-webdriver.spec
index 1b0d518..4eafaa1 100644
--- a/rubygem-selenium-webdriver.spec
+++ b/rubygem-selenium-webdriver.spec
@@ -15,8 +15,6 @@ Source1: %{gem_name}-%{version}-spec.tar.gz
 # Needed for integration `spec/integration`
 # git -C selenium archive -v -o selenium-webdriver-4.27.0-web.tar.gz 
selenium-4.27.0 common/src/web
 Source2: %{gem_name}-%{version}-web.tar.gz
-# `selenium-manager` stub replacing the bundled binary blobs.
-Source3: selenium-manager
 # Ruby 3.4 `Hash#inspect` compatibility.
 # https://github.com/SeleniumHQ/selenium/issues/14934
 Patch0: 
rubygem-selenium-webdriver-4.27.0-Hash-inspect-formatting-for-Ruby-3.4-compatibili.patch
@@ -26,6 +24,8 @@ Patch0: 
rubygem-selenium-webdriver-4.27.0-Hash-inspect-formatting-for-Ruby-3.4-c
 Recommends: chromedriver
 Recommends: chromium chromium-headless
 
+Requires: selenium-manager
+BuildRequires: selenium-manager
 BuildRequires: ruby(release)
 BuildRequires: rubygems-devel
 BuildRequires: ruby
@@ -80,8 +80,6 @@ cd %{builddir}
 # BTW: python-selenium package is struggling with the same issue:
 # https://bugzilla.redhat.com/show_bug.cgi?id=2278096#c13
 %gemspec_remove_file Dir.glob('bin/{windows,macos}/selenium-manager{,.exe}')
-# Provide minimal `selenium-manager` stub.
-mv %{SOURCE3} bin/linux/
 
 %build
 gem build ../%{gem_name}-%{version}.gemspec
@@ -92,10 +90,16 @@ mkdir -p %{buildroot}%{gem_dir}
 cp -a .%{gem_dir}/* \
         %{buildroot}%{gem_dir}/
 
+#Delete packaged binaries and create symlink to the selenium-manager from repos
+ln -sf %{_bindir}/selenium-manager %{buildroot}%{gem_instdir}/bin/linux/
+
 %check
 pushd .%{gem_instdir}
+
 ln -s %{_builddir}/rb/spec .
 
+#Delete packaged binaries and create symlink to the selenium-manager from repos
+ln -sf %{_bindir}/selenium-manager 
%{builddir}/%{gem_name}-%{version}/bin/linux/
 # `DevTools` are part of separate `selenium-devtools` gem.
 mv spec/unit/selenium/devtools_spec.rb{,.disable}
 mv spec/unit/selenium/devtools/cdp_client_generator_spec.rb{,.disable}
~~~
</details>

**Expected behavior**
Symlink to arch specific binary is just fine in noar package

**Environment**
 - OS / Distribution: Fedora Rawhide
 - Version: rpm-build-0:4.20.0-8.fc42.x86


-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/3586
You are receiving this because you are subscribed to this thread.

Message ID: <rpm-software-management/rpm/issues/3...@github.com>
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
https://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to