profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/spotrh/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

OSAS/strapping-mediawiki 147

base skin for MediaWiki, based on Bootstrap — layer your own style (fonts, graphics, color) on top

RedHatOfficial/CO.LAB 57

An open source repository for the learning materials that are used by the CO.LAB program.

OSAS/rh-events 26

Data for Red Hat's conference & talk page

OSAS/ansible-role-ansible_bastion 18

Ansible module to deploy a ansible deployment bastion

OSAS/tos-repository 8

Instructional materials for teaching Open Source topics (formerly os-curriculum)

OSAS/community-website 6

Official location for the Red Hat Community website source. OBSOLETE

OSAS/Practical-OSS-Exploration-textbook 5

This textbook teaches the basic skills of open source development incrementally, through real involvement in meaningful projects, for students and self-learners.

OSAS/amqp-client 3

Java-based AMQP client

OSAS/twitter-stats 3

Python scripting utility to automatically extract Twitter follower stats

OSAS/apps.fp.o 2

A landing page for Fedora Apps

pull request commentrpm-software-management/rpmlint

fix loading of rpmlintrc from cmdline

Well, that explains why you were trying to iterate over a list. :) Apologies for breaking your branch!

spotrh

comment created time in 6 days

pull request commentrpm-software-management/rpmlint

fix loading of rpmlintrc from cmdline

Looks like this is a broken test. It is not possible to pass in a List object via the CLI, the only way to do so is via a direct call of the Lint() function like the test does, and even in this case, there is no need for a List to send over a single Path object. Adjusting the test to not put TEST_RPMLINTRC in a list object (no []) resolves the test failure (which I just added to this PR).

spotrh

comment created time in 7 days

push eventspotrh/rpmlint

Tom spot Callaway

commit sha d87156a727a96f2bf22c2dee720bd9fdf16e2eac

fix broken test Signed-off-by: Tom spot Callaway <spot@fedoraproject.org>

view details

push time in 7 days

PR opened rpm-software-management/rpmlint

fix loading of rpmlintrc from cmdline

Signed-off-by: Tom spot Callaway spot@fedoraproject.org

As reported in Fedora Bugzilla, rpmlint errors out if you try to pass an rpmlintrc file value.

$ touch /tmp/empty
$ /usr/bin/rpmlint -r /tmp/empty x86_64/miniz-2.2.0-1.fc36.x86_64.rpm 
Traceback (most recent call last):
  File "/usr/bin/rpmlint", line 33, in <module>
    sys.exit(load_entry_point('rpmlint==2.1.0', 'console_scripts', 'rpmlint')())
  File "/usr/lib/python3.10/site-packages/rpmlint/cli.py", line 173, in lint
    lint = Lint(options)
  File "/usr/lib/python3.10/site-packages/rpmlint/lint.py", line 38, in __init__
    self._load_rpmlintrc()
  File "/usr/lib/python3.10/site-packages/rpmlint/lint.py", line 164, in _load_rpmlintrc
    for rcfile in self.options['rpmlintrc']:
TypeError: 'PosixPath' object is not iterable

Looking at the code, the rpmlintrc option value is assigned as a Path (PosixPath) which is indeed, not iterable. (If the Path object is a dir, you can pass .iterdir to it and get an iterable list of the contents, but that is not applicable here). Given that there is no obvious way in the code currently to pass more than one rpmlintrc option (it permits multiple invocations of -r, but only keeps the last one), it seemed simpler to align with that and assume that the result of self.options['rpmlintrc'], if it exists, is indeed a Path object and treat it accordingly. I did add a simple check to confirm that the rpmlintrc Path object is a file before trying to load it, and tossing a E print_warning if not. This does, however, in practice, result in output like this:

[spot@localhost perl-Text-Template]$ rpmlint -r /tmp noarch/perl-Text-Template-1.60-1.fc36.noarch.rpm 
(none): E: the specified rpmlintrc value "/tmp" is not a file and was not loaded.
=============================================================================== rpmlint session starts ===============================================================================
rpmlint: 2.1.0
configuration:
    /usr/lib/python3.9/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: /tmp
checks: 31, packages: 1

================================================ 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 badness; has taken 0.0 s ================================================

This is a little confusing because the output lists /tmp as the rpmlintrc value, despite being told by the error that it is not loaded, but changing _print_header to only output the rpmlintrc value if it was valid seemed like a step beyond what I wanted to do to resolve this issue. After all, the user did pass that, should the tool confirm that, even if it is not a file and was not loaded? I defer that design decision to you, dear upstream. :)

+4 -1

0 comment

1 changed file

pr created time in 7 days

push eventspotrh/rpmlint

Tom spot Callaway

commit sha f3cbb2d095266d5ee387f45c3c01e19847caf809

fix loading of rpmlintrc from cmdline Signed-off-by: Tom spot Callaway <spot@fedoraproject.org>

view details

push time in 7 days

create barnchspotrh/rpmlint

branch : rpmlintrc-from-cmdline-fix

created branch time in 7 days

push eventspotrh/rpmlint

Tom spot Callaway

commit sha 9bd4b8cc176ce29b6d1458d9162cffc0d0945535

update generate-isocodes to include collective language codes found in iso-639-2, but not in iso-639-3 Signed-off-by: Tom spot Callaway <spot@fedoraproject.org>

view details

Carl Smedstad

commit sha d49a12caed22fc684de822942fcf29d85d19ade1

Skip test requiring RPM database if not present

view details

Carl Smedstad

commit sha f7f4f492972afe87787d4a9683c83600050fad3b

Set indent size for yaml to 2 in .editorconfig

view details

Carl Smedstad

commit sha 2ca41bfc3cd35c7aa8e22c38990a594b98f93da7

Add CI matrix entries testing without optional deps

view details

Carl Smedstad

commit sha 7acea110d254d1fabbab096715a1b2829baf8c72

Rename docker -> container

view details

Martin Liška

commit sha 2b74c8cbc76877cbc50d4100d6e6eaab9c39559d

Merge pull request #690 from carlsmedstad/skip-test-requiring-rpmdb Skip test requiring rpmdb

view details

Martin Liska

commit sha 255426fadc9c15e85288c40d30ab50ee64f9d365

Support also /usr/lib/modules as kernel modules path.

view details

Martin Liska

commit sha 11e48aafcbcb2285b162cecf4915c4995900f7ff

Add /usr/share/dbus-1/system.d/ to DBUS config folders. Fixes #692.

view details

Martin Liška

commit sha 0eca27c7d3fa63b4203ee04e56ac984dc4e12621

Merge pull request #693 from marxin/dbus-locations Add /usr/share/dbus-1/system.d/ to DBUS config folders.

view details

Martin Liska

commit sha f47432d940af69490f0da6cad323be13b9643958

Handle empty glibc archives (starting with version 2.34). The release provides a couple of empty .a files that are used for backward compatibility. Skip `lto-no-text-in-archive` check for them.

view details

Martin Liška

commit sha bca81c046ffb78bc8016bc21a5dacc6fae175f48

Merge pull request #694 from marxin/fix-glibc-lto-no-text-in-archive Handle empty glibc archives (starting with version 2.34).

view details

Martin Liska

commit sha a6d5189728077ae4a200357c1ea8f4acc6b4213d

Fix PieExecutables matching. It's important matching entire regex for a given binary. Not doing so, we end up with: `non-position-independent-executable (Badness: 10000) /usr/bin/supertux2` when `/usr/bin/su` lives in PieExecutables regexes.

view details

Martin Liška

commit sha 8a29e612ae4d9b21fbdf8abed9526315bc2be224

Merge pull request #697 from marxin/fix-PieExecutables-matching Fix PieExecutables matching.

view details

Martin Liska

commit sha b03a6c261f9a85d3b29a8801dc9bf51661ee2b47

Skip .cargo-checksum.json files in `hidden-file-or-dir`. Fixes #699.

view details

Martin Liška

commit sha 10a06da0523534b48e0eb09ba7b009277e34dd23

Merge pull request #700 from marxin/skip-.cargo-checksum.json-files Skip .cargo-checksum.json files in `hidden-file-or-dir`.

view details

push time in 7 days

push eventspotrh/o3de-fedora

Tom spot Callaway

commit sha b559e9e971dfd47eb641adf41bedc5bffe82d6e0

add o3de work in progress, NOTE: bundled builds do not work on Fedora, I cannot get a qt5 build that it likes. *sigh*. committing this work so I can pick it up again later when I have more time.

view details

push time in a month

PR opened rpm-software-management/rpmlint

update generate-isocodes to include collective language codes

While reviewing why rpmlint was generating this error: E: invalid-lc-messages-dir /usr/share/locale/ber/LC_MESSAGES/shutter.mo

I had the privilege of learning about the difference between ISO-639-2 and ISO-639-3. Specifically, the fact that ISO-639-3 does not contain any of the "collective language" codes from ISO-639-2. It does not conflict with them, just does not include them. "ber" ("Berber languages") happens to be one of those cases.

Since "ber" (and other collective language codes from ISO-639-2) are valid locales, I updated tools/generate-isocodes.py to check ISO-639-2 for any codes that were not found in ISO-639-3, and then add the alpha_2 code (if any) or the alpha_3 code to the langs list. I ran the updated tool and replaced rpmlint/isocodes.py with the result.

I also corrected the URLs in the tool (as the debian gitlab server uses "main" for its default branch now).

Signed-off-by: Tom spot Callaway spot@fedoraproject.org

+77 -2

0 comment

2 changed files

pr created time in a month

push eventspotrh/rpmlint

Tom spot Callaway

commit sha 670e854f88d92296e103341ed87ef56d83d787b7

update generate-isocodes to include collective language codes found in iso-639-2, but not in iso-639-3 Signed-off-by: Tom spot Callaway <spot@fedoraproject.org>

view details

push time in a month

create barnchspotrh/rpmlint

branch : iso-639-2-country-codes

created branch time in a month

fork spotrh/rpmlint

Tool for checking common errors in rpm packages

fork in a month

push eventspotrh/o3de-fedora

Tom spot Callaway

commit sha fce10d7ddd789739e531d501a09e4b1e7e80b779

mcpp fork

view details

push time in 2 months

push eventspotrh/o3de-fedora

Tom spot Callaway

commit sha 16a45842dbddf249e5d2e55b3f684d2068ab63aa

o3de-azslc

view details

push time in 2 months

PublicEvent

push eventspotrh/o3de-fedora

Tom spot Callaway

commit sha e9d599c6e45704541feb8299e3602d819fae5fd3

SPIRV-Cross

view details

push time in 2 months

issue openedrpm-software-management/rpmlint

license parsing corner case

I think the license regexes needs some adjustment for a corner case. In Fedora, we have a package pending review (sip6) that has this as a license tag:

License: (GPLv2 or GPLv3) and (GPLv2+ with exceptions)

rpmlint returns:

sip6.src: W: invalid-license-exception exceptions) sip6.src: W: invalid-license (GPLv2+

created time in 2 months

issue commentrpm-software-management/rpmlint

rpmlint run against installed packages does not work properly

Thanks for the quick fix, confirmed on my end.

spotrh

comment created time in 3 months

issue openedrpm-software-management/rpmlint

rpmlint run against installed packages does not work properly

Originally reported here, when rpmlint -i is used on an installed package, the results are not correct.

The original reporter noticed that it appears to be trying to check files in /tmp rather than the installed files, but it seems like the type of check results in different errors.

For example, for R-core:

[spot@localhost ~]$ rpm -q R-core
R-core-4.1.0-1.fc35.x86_64
[spot@localhost ~]$ rpmlint -i R-core
Traceback (most recent call last):
  File "/usr/bin/rpmlint", line 33, in <module>
    sys.exit(load_entry_point('rpmlint==2.0.0', 'console_scripts', 'rpmlint')())
  File "/usr/lib/python3.9/site-packages/rpmlint/cli.py", line 174, in lint
    sys.exit(lint.run())
  File "/usr/lib/python3.9/site-packages/rpmlint/lint.py", line 100, in run
    return self._run()
  File "/usr/lib/python3.9/site-packages/rpmlint/lint.py", line 69, in _run
    self.validate_installed_packages(self._load_installed_rpms(self.options['installed']))
  File "/usr/lib/python3.9/site-packages/rpmlint/lint.py", line 205, in validate_installed_packages
    self.run_checks(pkg)
  File "/usr/lib/python3.9/site-packages/rpmlint/lint.py", line 258, in run_checks
    fn(pkg)
  File "/usr/lib/python3.9/site-packages/rpmlint/checks/AbstractCheck.py", line 17, in check
    return self.check_binary(pkg)
  File "/usr/lib/python3.9/site-packages/rpmlint/checks/AbstractCheck.py", line 49, in check_binary
    raise err
  File "/usr/lib64/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.9/site-packages/rpmlint/checks/BashismsCheck.py", line 31, in check_file
    self.check_bashisms(pkg, filepath, filename)
  File "/usr/lib/python3.9/site-packages/rpmlint/checks/BashismsCheck.py", line 47, in check_bashisms
    raise FileNotFoundError(filename)
FileNotFoundError: /usr/bin/R
[spot@localhost ~]$ ls -l /usr/bin/R
-rwxr-xr-x. 1 root root 8954 Sep 25  2018 /usr/bin/R
[spot@localhost ~]$ 

And evolution:

[spot@localhost ~]$ rpm -q evolution
evolution-3.40.2-1.fc34.x86_64
[spot@localhost ~]$ rpmlint -i evolution
Traceback (most recent call last):
  File "/usr/bin/rpmlint", line 33, in <module>
    sys.exit(load_entry_point('rpmlint==2.0.0', 'console_scripts', 'rpmlint')())
  File "/usr/lib/python3.9/site-packages/rpmlint/cli.py", line 174, in lint
    sys.exit(lint.run())
  File "/usr/lib/python3.9/site-packages/rpmlint/lint.py", line 100, in run
    return self._run()
  File "/usr/lib/python3.9/site-packages/rpmlint/lint.py", line 69, in _run
    self.validate_installed_packages(self._load_installed_rpms(self.options['installed']))
  File "/usr/lib/python3.9/site-packages/rpmlint/lint.py", line 205, in validate_installed_packages
    self.run_checks(pkg)
  File "/usr/lib/python3.9/site-packages/rpmlint/lint.py", line 258, in run_checks
    fn(pkg)
  File "/usr/lib/python3.9/site-packages/rpmlint/checks/AbstractCheck.py", line 17, in check
    return self.check_binary(pkg)
  File "/usr/lib/python3.9/site-packages/rpmlint/checks/AbstractCheck.py", line 52, in check_binary
    self.check_file(pkg, filename)
  File "/usr/lib/python3.9/site-packages/rpmlint/checks/MenuXDGCheck.py", line 60, in check_file
    self.parse_desktop_file(pkg, root, f, filename)
  File "/usr/lib/python3.9/site-packages/rpmlint/checks/MenuXDGCheck.py", line 35, in parse_desktop_file
    with codecs.open(f, encoding='utf-8') as inputf:
  File "/usr/lib64/python3.9/codecs.py", line 905, in open
    file = builtins.open(filename, mode, buffering)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/rpmlint.evolution.7727umhz/usr/share/applications/org.gnome.Evolution.desktop'
[spot@localhost ~]$ 

created time in 3 months