7383a6345e
Copy from Base:System/rpmlint based on submit request 17759 from user thomasbiege OBS-URL: https://build.opensuse.org/request/show/17759 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rpmlint?expand=0&rev=43
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
# vim:sw=4:et
|
|
#############################################################################
|
|
# File : CheckIconSizes.py
|
|
# Package : rpmlint
|
|
# Author : Dirk Mueller
|
|
# Purpose : Check for common scaling errors in icons
|
|
#############################################################################
|
|
|
|
from Filter import *
|
|
import AbstractCheck
|
|
import rpm
|
|
import re
|
|
import commands
|
|
import stat
|
|
import Config
|
|
import os
|
|
import string
|
|
|
|
class IconSizesCheck(AbstractCheck.AbstractCheck):
|
|
def __init__(self):
|
|
AbstractCheck.AbstractCheck.__init__(self, "CheckIconSizes")
|
|
self.file_size_regex = re.compile('/icons/[^/]+/(\d+)x(\d+)/')
|
|
self.info_size_regex = re.compile('(\d+) x (\d+)')
|
|
|
|
def check(self, pkg):
|
|
|
|
if pkg.isSource():
|
|
return
|
|
|
|
for fname, pkgfile in pkg.files().items():
|
|
res = self.file_size_regex.search(fname)
|
|
if res:
|
|
sizes = (res.group(1), res.group(2))
|
|
res = self.info_size_regex.search(pkgfile.magic)
|
|
if res:
|
|
actualsizes = (res.group(1), res.group(2))
|
|
|
|
if abs(int(sizes[0])-int(actualsizes[0])) > 2 or \
|
|
abs(int(sizes[1])-int(actualsizes[1])) > 2:
|
|
printError(pkg,"wrong-icon-size", fname, "expected:",
|
|
"x".join(sizes), "actual:", "x".join(actualsizes))
|
|
|
|
|
|
check=IconSizesCheck()
|
|
|
|
if Config.info:
|
|
addDetails(
|
|
'wrong-icon-size',
|
|
"""Your icon file is installed in a fixed-size directory, but has a largely incorrect size.
|
|
Some desktop environments (e.g. GNOME) display them incorrectly."""
|
|
)
|