Fedora Account System
Red Hat Associate
Red Hat Customer
Created attachment 2098085 [details] Example package to reproduce the problem Description of problem: I'm packaging pontos (from https://github.com/greenbone/pontos) with pyproject-rpm-macros. When trying to run rpmlint on the resulting package it (understandably) takes https://github.com/greenbone/pontos/blob/main/pontos/updateheader/templates/AGPL-3.0-or-later/template.sh and it's cousins for shell scripts and tries to check for bashisms resulting in: % rpmlint -v --file .rpmlintrc pontos.spec rpmbuild/SRPMS/pontos-25.6.0-1liu1.el10.src.rpm rpmbuild/RPMS/noarch/pontos-25.6.0-1liu1.el10.noarch.rpm rpmbuild/RPMS/noarch/pontos-doc-25.6.0-1liu1.el10.noarch.rpm /bin/sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) (none): E: fatal error while reading rpmbuild/RPMS/noarch/pontos-25.6.0-1liu1.el10.noarch.rpm: [Errno 2] No such file or directory: 'dash' Traceback (most recent call last): File "/usr/bin/rpmlint", line 8, in <module> sys.exit(lint()) ^^^^^^ File "/usr/lib/python3.12/site-packages/rpmlint/cli.py", line 176, in lint sys.exit(lint.run()) ^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/rpmlint/lint.py", line 108, in run return self._run() ^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/rpmlint/lint.py", line 76, in _run self.validate_files(self.options['rpmfile']) File "/usr/lib/python3.12/site-packages/rpmlint/lint.py", line 246, in validate_files self.validate_file(pkg, pkg == packages[-1]) File "/usr/lib/python3.12/site-packages/rpmlint/lint.py", line 272, in validate_file raise e File "/usr/lib/python3.12/site-packages/rpmlint/lint.py", line 265, in validate_file self.run_checks(pkg, is_last) File "/usr/lib/python3.12/site-packages/rpmlint/lint.py", line 281, in run_checks fn(pkg) File "/usr/lib/python3.12/site-packages/rpmlint/checks/AbstractCheck.py", line 17, in check return self.check_binary(pkg) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/rpmlint/checks/AbstractCheck.py", line 60, in check_binary raise err File "/usr/lib64/python3.12/concurrent/futures/thread.py", line 59, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/rpmlint/checks/BashismsCheck.py", line 39, in check_file self.file_cache[pkgfile.md5] = list(self.check_bashisms(pkg, filepath, filename)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/rpmlint/checks/BashismsCheck.py", line 53, in check_bashisms r = subprocess.run(['dash', '-n', filepath], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/subprocess.py", line 550, in run with Popen(*popenargs, **kwargs) as process: ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/subprocess.py", line 1028, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "/usr/lib64/python3.12/subprocess.py", line 1963, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) FileNotFoundError: [Errno 2] No such file or directory: 'dash' Version-Release number of selected component (if applicable): % rpmlint --version 2.7.0 How reproducible: Always Steps to Reproduce: Run rpmlint (on epel10) on the attached rpm. Actual results: Complaints about: (none): E: fatal error while reading rpmbuild/RPMS/noarch/pontos-25.6.0-1liu1.el10.noarch.rpm: [Errno 2] No such file or directory: 'dash' Expected results: Errors but no errors fatal to rpmlint. Additional info: grep dash /usr/lib/python3.12/site-packages/rpmlint/checks/BashismsCheck.py Run dash and then checkbashism on file r = subprocess.run(['dash', '-n', filepath], I presume the requirement on dash is disabled on rhel because dash isn't packaged for epel (https://bugzilla.redhat.com/show_bug.cgi?id=2335416) but then perhaps rpmlint/checks/BashismsCheck.py shouldn't be included either?
Yes, the check needs to be disabled. Perhaps https://src.fedoraproject.org/rpms/rpmlint/c/1a851a987dbb855fd89988ed0b6d41a05d1ba189?branch=rawhide was not 100 % correct. Will you be able to submit a PR for this?
I could take a stab at it next week.
I just created https://src.fedoraproject.org/rpms/rpmlint/pull-request/52, it's my first pull request to a Fedora package so i have some questions. I created it against the rawhide branch, should it have been the epel10 branch instead? I assumed you'd want to handle the release tag and changelog. Despite waiting for a long time after adding an ssh key to Fas src.fedoraproject.org never stopped saying "You need to upload SSH key to be able to clone over SSH", in the end i made the changes through the web editor, do you happen to know what i should have done?
Also the green "merge" button in my pull request concerns me somewhat, have i somehow gotten permissions to do that?
(In reply to Ulrik Haugen from comment #3) > I just created https://src.fedoraproject.org/rpms/rpmlint/pull-request/52, > it's my first pull request to a Fedora package so i have some questions. Congratulations! > I created it against the rawhide branch, should it have been the epel10 > branch instead? Depends on the package in question. Here we have epel10 and rawhide branches more or less in sync, so it doesn't really matter. You can open 2 PR form the smwe branch, so the CI build runs on rawhide + EPEL and we can verify the results. > I assumed you'd want to handle the release tag and changelog. Nah, it's better if you add that to your PR. > Despite waiting for a long time after adding an ssh key to Fas > src.fedoraproject.org never stopped saying "You need to upload SSH key to be > able to clone over SSH", in the end i made the changes through the web > editor, do you happen to know what i should have done? If you are not in the packager group, you cannot push via SSH, you need to push via HTTPS. See https://docs.fedoraproject.org/en-US/ci/pull-requests/#_you_are_not_a_packager (In reply to Ulrik Haugen from comment #4) > Also the green "merge" button in my pull request concerns me somewhat, have > i somehow gotten permissions to do that? I think this is just a Pagure UI fail, the merge button will unroll a set of options, and you will see none. See https://pagure.io/pagure/issue/5251
(In reply to Miro Hrončok from comment #5) > (In reply to Ulrik Haugen from comment #3) > > I created it against the rawhide branch, should it have been the epel10 > > branch instead? > > Depends on the package in question. Here we have epel10 and rawhide branches > more or less in sync, so it doesn't really matter. You can open 2 PR form > the smwe branch, so the CI build runs on rawhide + EPEL and we can verify > the results. Ok, i'll hold off on the second pull request until after lunch to see if i get some more feedback in the first one. > > I assumed you'd want to handle the release tag and changelog. > > Nah, it's better if you add that to your PR. Ok, i added that just now. > > Despite waiting for a long time after adding an ssh key to Fas > > src.fedoraproject.org never stopped saying "You need to upload SSH key to be > > able to clone over SSH", in the end i made the changes through the web > > editor, do you happen to know what i should have done? > > If you are not in the packager group, you cannot push via SSH, you need to > push via HTTPS. See > https://docs.fedoraproject.org/en-US/ci/pull-requests/ > #_you_are_not_a_packager I see, thank you for the pointer!
FEDORA-EPEL-2025-cedf160322 (rpmlint-2.7.0-6.el10_1) has been submitted as an update to Fedora EPEL 10.1. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2025-cedf160322
FEDORA-EPEL-2025-cedf160322 has been pushed to the Fedora EPEL 10.1 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2025-cedf160322 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-EPEL-2025-cedf160322 (rpmlint-2.7.0-6.el10_1) has been pushed to the Fedora EPEL 10.1 stable repository. If problem still persists, please make note of it in this bug report.