Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.2
rpmlint-tests
suse-pkg-config-check.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File suse-pkg-config-check.diff of Package rpmlint-tests
--- rpmlint-rpmlint-1.10.orig/TagsCheck.py +++ rpmlint-rpmlint-1.10/TagsCheck.py @@ -416,6 +416,7 @@ lib_devel_number_regex = re.compile(r'^l invalid_url_regex = re.compile(Config.getOption('InvalidURL'), re.IGNORECASE) lib_package_regex = re.compile(r'(?:^(?:compat-)?lib.*?(\.so.*)?|libs?[\d-]*)$', re.IGNORECASE) leading_space_regex = re.compile(r'^\s+') +pkg_config_regex = re.compile(r'^/usr/(?:lib\d*|share)/pkgconfig/') license_regex = re.compile(r'\(([^)]+)\)|\s(?:and|or|AND|OR)\s') invalid_version_regex = re.compile(r'([0-9](?:rc|alpha|beta|pre).*)', re.IGNORECASE) # () are here for grouping purpose in the regexp @@ -635,10 +636,12 @@ class TagsCheck(AbstractCheck.AbstractCh base = is_devel.group(1) dep = None has_so = False + has_pc = False for fname in pkg.files(): if fname.endswith('.so'): has_so = True - break + if pkg_config_regex.match(fname) and fname.endswith('.pc'): + has_pc = True if has_so: base_or_libs = base + '/' + base + '-libs/lib' + base # try to match *%_isa as well (e.g. "(x86-64)", "(x86-32)") @@ -675,6 +678,15 @@ class TagsCheck(AbstractCheck.AbstractCh if prov not in (x[0] for x in pkg.provides()): printWarning(pkg, 'no-provides', prov) + if has_pc: + found_pkg_config_dep = False + for p in (x[0] for x in pkg.provides()): + if (p.startswith("pkgconfig(")): + found_pkg_config_dep = True + break + if not found_pkg_config_dep: + printWarning(pkg, 'no-pkg-config-provides') + # List of words to ignore in spell check ignored_words = set() for pf in pkg.files(): @@ -1108,6 +1120,11 @@ once.''', 'no-url-tag', '''The URL tag is missing. Please add a http or ftp link to the project location.''', +'no-pkg-config-provides', +'''The package installs a .pc file but does not provide pkgconfig(..) provides. +The most likely reason for that is that it was built without BuildRequires: pkg-config. +Please double check your build dependencies.''', + 'name-repeated-in-summary', '''The name of the package is repeated in its summary. This is often redundant information and looks silly in various programs' output. Make the summary
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor