Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:15-SP4
rpmlint.30137
0001-split-wrong-script-interpreter-into-env-sc...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-split-wrong-script-interpreter-into-env-script-inter.patch of Package rpmlint.30137
From a4618650898aece5c4838e71853310b54f6e29fa Mon Sep 17 00:00:00 2001 From: Dirk Mueller <dirk@dmllr.de> Date: Sun, 1 Oct 2017 22:08:20 +0200 Subject: [PATCH] split wrong-script-interpreter into env-script-interpreter For mere mortals, details message for wrong-script-interpreter does not explain why the env as shebang is an issue. Splitting that case into a separate diagnostic allows a more detailed info message alongside that gives a better rationale. --- FilesCheck.py | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) Index: rpmlint-rpmlint-1.10/FilesCheck.py =================================================================== --- rpmlint-rpmlint-1.10.orig/FilesCheck.py +++ rpmlint-rpmlint-1.10/FilesCheck.py @@ -863,12 +863,15 @@ class FilesCheck(AbstractCheck.AbstractC elif interpreter or mode_is_exec or script_regex.search(f): if interpreter: res = interpreter_regex.search(interpreter) - is_wrong_interpreter = (not res or (res and - res.group(1) == 'env')) - if ((mode_is_exec or script_regex.search(f)) and - is_wrong_interpreter): - printError(pkg, 'wrong-script-interpreter', - f, interpreter, interpreter_args) + if (mode_is_exec or script_regex.search(f)): + if res and res.group(1) == 'env': + printError(pkg, 'env-script-interpreter', + f, interpreter, + interpreter_args) + elif not res: + printError(pkg, 'wrong-script-interpreter', + f, interpreter, + interpreter_args) elif not nonexec_file and not \ (lib_path_regex.search(f) and f.endswith('.la')): @@ -1303,6 +1306,22 @@ Alternatively, if the file isn't suppose it is not marked as being executable. ''', +'env-script-interpreter', +'''This script uses 'env' as an interpreter. +For the rpm runtime dependency detection to work, the shebang +#!/usr/bin/env python + +needs to be patched into +#!/usr/bin/python + +otherwise the package dependency generator merely adds a dependency +on /usr/bin/env rather than the actual interpreter /usr/bin/python. + +Alternatively, if the file should not be executed, then ensure that +it is not marked as executable or don't install it in a path that +is reserved for executables. +''', + 'non-executable-script', '''This text file contains a shebang or is located in a path dedicated for executables, but lacks the executable bits and cannot thus be executed. If
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