Giter VIP home page Giter VIP logo

rpmlint-checks's Introduction

rpmlint-checks's People

Contributors

ajaeger avatar antlarr-suse avatar bitstreamout avatar conan-kudo avatar coolo avatar crrodriguez avatar dimstar77 avatar dirkmueller avatar e4t avatar jobermayr avatar jsegitz avatar kstreitova avatar lnussel avatar matwey avatar mcepl avatar mgerstner avatar mvyskocil avatar scarabeusiv avatar steelman avatar stefanbruens avatar sysrich avatar thkukuk avatar toddrme2178 avatar vogtinator avatar vuntz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rpmlint-checks's Issues

False positive: systemd-service-without-service_del_postun if service restart is disabled

The sddm service must not be restarted on upgrades, so the %postun scriptlet contains:

%postun
# Don't restart on upgrades (boo#1161826)
%if 0%{?suse_version} > 1500
%service_del_postun_without_restart sddm.service
%else
%service_del_postun -n sddm.service
%endif

This leads to:

[  129s] sddm.x86_64: E: systemd-service-without-service_del_postun sddm.service
[  129s] The package contains a systemd service but doesn't contain a %postun with a
[  129s] call to service_del_postun.

The expanded scriptlet does not mention the unit names at all:

postuninstall scriptlet (using /bin/sh):
# Don't restart on upgrades (boo#1161826)

if [ -x /usr/bin/systemctl ]; then
        /usr/bin/systemctl daemon-reload || :
fi

shlib-policy-name-error thrown for packages which have more than a library

Tumbleweed build:

pgagroal.x86_64: E: shlib-policy-name-error (Badness: 10000) libpgagroal0
drwxr-xr-x    2 root     root                        0 Apr  9 23:45 /etc/pgagroal
-rw-r--r--    1 root     root                      223 Feb 20 12:47 /etc/pgagroal/pgagroal.conf
-rw-r--r--    1 root     root                       79 Feb 20 12:47 /etc/pgagroal/pgagroal_hba.conf
-rwxr-xr-x    1 root     root                    26904 Apr  9 23:45 /usr/bin/pgagroal
-rwxr-xr-x    1 root     root                    18656 Apr  9 23:45 /usr/bin/pgagroal-admin
-rwxr-xr-x    1 root     root                    14496 Apr  9 23:45 /usr/bin/pgagroal-cli
lrwxrwxrwx    1 root     root                       20 Apr  9 23:45 /usr/lib64/libpgagroal.so.0 -> libpgagroal.so.0.5.0
-rwxr-xr-x    1 root     root                   120856 Apr  9 23:45 /usr/lib64/libpgagroal.so.0.5.0
drwxr-xr-x    2 root     root                        0 Apr  9 23:45 /usr/share/doc/packages/pgagroal
-rw-r--r--    1 root     root                     7807 Feb 20 12:47 /usr/share/doc/packages/pgagroal/ARCHITECTURE.md
-rw-r--r--    1 root     root                     5514 Feb 26 16:42 /usr/share/doc/packages/pgagroal/CONFIGURATION.md
-rw-r--r--    1 root     root                     7235 Feb 28 18:08 /usr/share/doc/packages/pgagroal/GETTING_STARTED.md
-rw-r--r--    1 root     root                     1856 Feb 20 12:47 /usr/share/doc/packages/pgagroal/PERFORMANCE.md
drwxr-xr-x    2 root     root                        0 Apr  9 23:45 /usr/share/doc/packages/pgagroal/images
-rw-r--r--    1 root     root                    26392 Feb 20 12:47 /usr/share/doc/packages/pgagroal/images/perf-extended.png
-rw-r--r--    1 root     root                    27976 Feb 20 12:47 /usr/share/doc/packages/pgagroal/images/perf-prepared.png
-rw-r--r--    1 root     root                    26643 Feb 20 12:47 /usr/share/doc/packages/pgagroal/images/perf-readonly.png
-rw-r--r--    1 root     root                    28110 Feb 20 12:47 /usr/share/doc/packages/pgagroal/images/perf-simple.png
drwxr-xr-x    2 root     root                        0 Apr  9 23:45 /usr/share/licenses/pgagroal
-rw-r--r--    1 root     root                     1457 Feb 20 12:47 /usr/share/licenses/pgagroal/LICENSE
-rw-r--r--    1 root     root                      746 Apr  9 23:45 /usr/share/man/man1/pgagroal-admin.1.gz
-rw-r--r--    1 root     root                      851 Apr  9 23:45 /usr/share/man/man1/pgagroal-cli.1.gz
-rw-r--r--    1 root     root                      723 Apr  9 23:45 /usr/share/man/man1/pgagroal.1.gz
-rw-r--r--    1 root     root                     1457 Apr  9 23:45 /usr/share/man/man5/pgagroal.conf.5.gz
-rw-r--r--    1 root     root                      762 Apr  9 23:45 /usr/share/man/man5/pgagroal_databases.conf.5.gz
-rw-r--r--    1 root     root                      818 Apr  9 23:45 /usr/share/man/man5/pgagroal_hba.conf.5.gz

rpmlint fix systemd unit checks

HI,

CHECKED_UNITS = ['service', 'socket', 'target']
'path' should be added to this list

but more importantly, it does not make sense to complain
about parametrized scripts without parameter, so any script
matching '@.' like '[email protected]' needs to be skipped (or even
produce a warning if it is listed for any of the systemctl calls
as this is plain wrong).

Skip branding checks for default themes

desktop-data-openSUSE requires dmz-icon-theme-cursors, which makes sense, considering we want the cursors to not look like Xorg's default when desktop doesn't provide their own alternative. However that trips suse-branding-specific-branding-req rule, which should not happen for default themes.

Archive the repository

After the 2.1 release of rpmlint and after the acceptance of the package to openSUSE:Factory, this repository should be archived.

do not try to unpack test case data in the zip check

or at least handle the error from it.

you can log something like "W: suspicious password protect archive".

right now it does:

[   46s] 1 packages and 0 specfiles checked; 0 errors, 6 warnings.
[   46s] Traceback (most recent call last):
[   46s]   File "rpmlint.py", line 378, in <module>
[   46s]   File "rpmlint.py", line 166, in main
[   46s]   File "rpmlint.py", line 224, in runChecks
[   46s]   File "ZipCheck.py", line 43, in check
[   46s]   File "./zipfile.py", line 1270, in testzip
[   46s]   File "./zipfile.py", line 1406, in open
[   46s] RuntimeError: File 'file1.txt' is encrypted, password required for extraction

osc rbl home:darix:apps rubygem-rubyzip openSUSE_Tumbleweed x86_64

move rpmlint-tests here and add CI?

I'm new to this rpmlint code, but I'm wondering why the tests are in a separate repo? If they were in this repo, then we could add CI (e.g. via Travis or similar) to ensure that any changes to code have the necessary corresponding changes to the test suite. It would also make it possible to automate local runs of the test suite. Am I missing something? Thanks!

New realname in .changes makes rpmlint confused.

osc vc now adds real name to .changes
I have an ø in my name (special Nordic letters are æøå (ÆØÅ)):

+Wed Aug 29 13:06:29 UTC 2018 - Bjørn Lie <[email protected]>
+
+- Dummy entry.
+
 -------------------------------------------------------------------

This leads to the following rpmlint report:

[   25s] RPMLINT report:
[   25s] ===============
[   26s] dconf-devel.x86_64: W: no-version-in-last-changelog
[   26s] dconf.src: W: no-version-in-last-changelog
[   26s] dconf.x86_64: W: no-version-in-last-changelog
[   26s] gsettings-backend-dconf.x86_64: W: no-version-in-last-changelog
[   26s] libdconf1.x86_64: W: no-version-in-last-changelog
[   26s] The latest changelog entry doesn't contain a version. Please insert the
[   26s] version that is coherent with the version of the package and rebuild it.

Branding checks don't accept RPM native logical operations

[   80s] gfxboot-branding-openSUSE.noarch: W: suse-branding-excessive-supplement (gfxboot and branding-openSUSE)
[   80s] grub2-branding-openSUSE.noarch: W: suse-branding-excessive-supplement (grub2 and branding-openSUSE)
[   80s] libreoffice-branding-openSUSE.noarch: W: suse-branding-excessive-supplement (libreoffice and branding-openSUSE)
[   80s] yast2-qt-branding-openSUSE.noarch: W: suse-branding-excessive-supplement (libyui-qt and branding-openSUSE)
[   80s] plymouth-branding-openSUSE.noarch: W: suse-branding-excessive-supplement (plymouth and branding-openSUSE)
[   80s] systemd-icon-branding-openSUSE.noarch: W: suse-branding-excessive-supplement (systemd and branding-openSUSE)
[   80s] xfce4-splash-branding-openSUSE.noarch: W: suse-branding-excessive-supplement (xfce4-session and branding-openSUSE)
[   80s] gfxboot-branding-openSUSE.noarch: W: suse-branding-supplement-missing packageand(gfxboot:branding-openSUSE)
[   80s] grub2-branding-openSUSE.noarch: W: suse-branding-supplement-missing packageand(grub2:branding-openSUSE)
[   80s] libreoffice-branding-openSUSE.noarch: W: suse-branding-supplement-missing packageand(libreoffice:branding-openSUSE)
[   80s] plymouth-branding-openSUSE.noarch: W: suse-branding-supplement-missing packageand(plymouth:branding-openSUSE)
[   80s] systemd-icon-branding-openSUSE.noarch: W: suse-branding-supplement-missing packageand(systemd-icon:branding-openSUSE)
[   80s] wallpaper-branding-openSUSE.noarch: W: suse-branding-supplement-missing packageand(wallpaper:branding-openSUSE)
[   80s] xfce4-splash-branding-openSUSE.noarch: W: suse-branding-supplement-missing packageand(xfce4-splash:branding-openSUSE)
[   80s] yast2-qt-branding-openSUSE.noarch: W: suse-branding-supplement-missing packageand(yast2-qt:branding-openSUSE)
[   80s] branding packages should provide a supplement in the form Supplements:
[   80s] packageand(basepackage:branding-<flavour>)

packageand is zypp specific, the packageand should be discouraged in place of (.. and ..)

Check for existing %license

As submission requests are declined when there is no %license tag, rpmlint should also require it (warning or whatever).

Missing square brackets in join()

path = '.'.join(f, profile)

Should it be "path = '.'.join([f, profile])" (add square brackets)?
It seemed to cause RPMLINT error in Open Build Service as follows:

https://build.opensuse.org/package/live_build_log/home:belphegor_belbel:KDE3/hal/openSUSE_Tumbleweed/x86_64

[ 109s] RPMLINT report:
[ 109s] ===============
[ 111s] 0 packages and 0 specfiles checked; 0 errors, 13 warnings.
[ 111s] Traceback (most recent call last):
[ 111s] File "rpmlint.py", line 378, in
[ 111s] File "rpmlint.py", line 166, in main
[ 111s] File "rpmlint.py", line 224, in runChecks
[ 111s] File "CheckPolkitPrivs.py", line 335, in check
[ 111s] File "CheckPolkitPrivs.py", line 173, in check_perm_files
[ 111s] TypeError: join() takes exactly one argument (2 given)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.