Commit graph

236 commits

Author SHA1 Message Date
Alexandre Aubin
16bb33b884 Fix path traversal issue detection, the alias folder also needs to end with / for path traversal to happen 2020-03-31 18:45:42 +02:00
Alexandre Aubin
acc32c9796 Improve path traversal issue detection with proper nginx conf parser 2020-03-31 18:45:42 +02:00
Alexandre Aubin
25f9b06517 Deprecate yunohost service regen-conf 2020-03-31 18:44:50 +02:00
Alexandre Aubin
54e5541a78 Let's just get rid of this test that comes from a pretty old era... Not really relevant anymore 2020-03-31 05:47:02 +02:00
Alexandre Aubin
7b473212ad Also check _common.sh 2020-03-31 05:45:51 +02:00
Alexandre Aubin
bb1eba88bf Be more agressive and report these old helpers as errors. 2020-03-31 05:26:03 +02:00
Alexandre Aubin
1c26f84174 Be happy and thankful when not even a warning 2020-03-31 04:43:48 +02:00
Alexandre Aubin
3ff0e10d11 Remove some false negative about ynh_die/exit check 2020-03-31 04:31:15 +02:00
Alexandre Aubin
1775202a26 Only check for ssowatconf at the end of the file, which is typically where it's useless 2020-03-31 04:30:57 +02:00
Alexandre Aubin
73741c225f Allow sudo -u as a legit usage of sudo since ynh_exec_as ain't official 2020-03-31 04:30:11 +02:00
Alexandre Aubin
794abd57fd Wording 2020-03-31 04:29:12 +02:00
Alexandre Aubin
4d9b1050c3 Idk, let's have this just as an info ... seems like not so many people are convinced by this 2020-03-31 04:28:53 +02:00
Alexandre Aubin
804bfbd55d Cache license from spdx to avoid a 1-2 sec delay each time it's ran ... 2020-03-31 04:27:41 +02:00
moutonjr
4a1a8ef0f2
Update package_linter.py
Avoid misunderstandings with error message

Co-Authored-By: Kayou <pierre.moltess@gmail.com>
2019-11-05 11:00:47 +01:00
Moutonjr Geoff
d9ea9253b9 Adding apps.json new repository paradigm on linter
since YunoHost 3.6 release (https://forum.yunohost.org/t/yunohost-3-6-release-sortie-de-yunohost-3-6/8359),
apps.json is the standard repo for packaging Apps, making YEP1.2 obsolete.

The code has been changed but other documentation and misc must be updated as well,
consider this PR as collaborative.
2019-11-04 23:09:03 +01:00
Alexandre Aubin
28f5c5bb10
Merge pull request #72 from yalh76/master
adding labriqueinternet as autorized repository
2019-05-30 15:33:00 +02:00
yalh76
21ab4c25cb fix ynh_add_extra_apt_repos 2019-05-24 14:20:24 +02:00
yalh76
affb4fd693 adding labriqueinternet as autorized repository 2019-05-22 19:16:12 +02:00
Alexandre Aubin
209e1367c7
Merge pull request #70 from YunoHost/improve-sources-list-detection
Improve sources list detection + report messing with sources.list as an error (if not using the helpers)
2019-05-03 01:19:24 +02:00
Alexandre Aubin
eec5c67af3 Add warning about unecessary use of 'app ssowatconf' 2019-04-29 20:23:50 +02:00
Alexandre Aubin
0bdd518046 Add check for description which are too long... 2019-04-25 23:14:45 +02:00
Alexandre Aubin
729e95fec2 Report usage of extra repo / messing up with sources.list as error 2019-04-19 17:58:12 +02:00
Alexandre Aubin
c1f328894e Improve detection of apps messing with sources.list 2019-04-19 17:42:40 +02:00
Alexandre Aubin
73a1eb528a More gentle warning when failing to parse lines 2019-04-19 16:58:57 +02:00
Kayou
f3935cdfaa
fix sudo detection 2019-04-02 20:57:19 +02:00
Alexandre Aubin
3664802f29 Show a warning if 'optional' critera for argument ain't a bool 2019-03-27 14:52:10 +01:00
Alexandre Aubin
9181e08814
Report "source _common.sh" as warning instead of error 2019-03-19 00:10:26 +01:00
Alexandre Aubin
5f2a9101a4
Merge branch 'master' into check-custom-apt-source 2019-03-18 00:21:45 +01:00
Alexandre Aubin
c4d3b27a21
Merge branch 'master' into check-for-path-traversal-issue 2019-03-18 00:20:14 +01:00
Alexandre Aubin
f0b497d996
Merge pull request #64 from YunoHost/check-required-yunohost-version
Add a warning if required YunoHost version is still 2.x
2019-03-18 00:19:41 +01:00
Alexandre Aubin
a343165390
Merge pull request #63 from YunoHost/check-for-duplicated-key-in-json
Check for duplicated key in json + empty description
2019-03-18 00:19:28 +01:00
Alexandre Aubin
4ce3e0c023
Merge pull request #60 from YunoHost/explain-what-ispublic-means
Encourage packagers to detail what is_public means
2019-03-18 00:19:10 +01:00
Alexandre Aubin
711312d73b
Merge pull request #57 from Mickael-Martin/services_check_manifest
add check service in install file match with manifest (new services)
2019-03-18 00:18:55 +01:00
Alexandre Aubin
febac1761c
Merge pull request #56 from Mickael-Martin/checksource
Add test of common file
2019-03-18 00:18:45 +01:00
Alexandre Aubin
dc2194dfcf Add a warning if required YunoHost version is still 2.x 2019-03-09 20:26:30 +01:00
Alexandre Aubin
9867d11ff8 Check for duplicated key in json + empty description 2019-03-09 19:54:55 +01:00
Alexandre Aubin
f99f2ff5a1 Additional check to avoid trying to read binary file in some edge case 2019-03-09 19:40:46 +01:00
Alexandre Aubin
af751292ca Check and report usage of custom apt sources 2019-03-09 19:36:52 +01:00
Alexandre Aubin
82b715f068 Handle case were { is on a newline 2019-03-09 19:22:43 +01:00
Alexandre Aubin
fbcdf54cdf Force script order 2019-03-09 18:47:48 +01:00
Alexandre Aubin
f6e98894cf Check for path traversal issue 2019-03-09 18:38:37 +01:00
Alexandre Aubin
74e60bab86
Uhoh not checking the right file 2019-03-09 18:35:15 +01:00
Alexandre Aubin
652d6bacb3 Encourage packagers to detail what is_public means 2019-03-09 17:52:08 +01:00
Alexandre Aubin
ecb7483694 Rework check_source_common 2019-03-09 17:39:00 +01:00
Mickael
46e6439233 add check ./common.sh
cf kay0u ;-)
2019-03-09 17:33:35 +01:00
Mickael
9f32e06dcc add test of common file 2019-03-09 17:29:44 +01:00
Mickael
02ba265abd add check service in install file match with manifest (new services) 2019-03-09 17:15:10 +01:00
Alexandre Aubin
1ccebdbab3 check_helper_consistency is now an app method instead of script 2019-03-02 02:24:13 +01:00
Alexandre Aubin
1c8bc4abc4 Move script checks as method of class Script 2019-03-02 02:10:54 +01:00
Alexandre Aubin
6c63667638 Rework formatting of multi-line strings 2019-03-02 02:06:43 +01:00
Alexandre Aubin
0c4e86d098 Move general checks as methods of App class 2019-03-02 01:43:29 +01:00
Alexandre Aubin
a0e435c271 Move license_mentionned_in_readme inside check_manifest 2019-03-02 01:34:44 +01:00
Alexandre Aubin
26c383d0b3 check_files_exist -> misc_file_checks and other tweaks 2019-03-02 01:30:58 +01:00
Alexandre Aubin
b089229482 Begin to factorize script loading in an app class 2019-03-02 01:19:40 +01:00
Alexandre Aubin
01085f49fc Rework script parsing : line-per-line (still using shlex) 2019-02-23 20:14:56 +01:00
Alexandre Aubin
d0dd509ca2 Sometimes there are folders in conf/ ;P 2019-02-13 21:17:24 +01:00
Alexandre Aubin
a4844e0924
Merge pull request #46 from YunoHost/recommend-ynh-print-info
Recommend ynh_print_info or ynh_script_progression usage in the install script
2019-02-13 17:49:56 +01:00
Alexandre Aubin
b27a848203 Recommend ynh_print_info or ynh_script_progression usage in the install script 2019-02-10 14:12:25 +01:00
Alexandre Aubin
8a5083e858 Warn about the use of add_header in nginx conf 2019-02-09 16:30:35 +01:00
Alexandre Aubin
daee832af4 Report missing argument type as a warning instead of error 2019-02-07 19:51:46 +01:00
Alexandre Aubin
af96b17a48 Typo 2019-02-07 15:55:47 +01:00
Alexandre Aubin
a9c60d39f5
Merge branch 'master' into report-arg-type-issues 2019-02-07 15:48:29 +01:00
Alexandre Aubin
20a280e2d2
print_wrong -> print_error 2019-02-07 15:47:38 +01:00
Alexandre Aubin
6bddff93d2
Typo 2019-02-07 15:06:28 +01:00
Alexandre Aubin
a31bd52de2
Fix known service list 2019-02-05 17:01:13 +01:00
Alexandre Aubin
247c78c95c Fix broken link 2019-01-29 01:42:03 +01:00
Alexandre Aubin
7e4fecf6e6 Improve tip about the description 2019-01-29 01:36:53 +01:00
Alexandre Aubin
a0c400f946 Small tip about the url field in manifest 2019-01-29 01:10:12 +01:00
Alexandre Aubin
0587845acb print_wrong -> print_error 2019-01-29 00:44:33 +01:00
Alexandre Aubin
657f30a94d Complain if 'yunohost service add' is not matched with a 'yunohost service remove' 2019-01-29 00:44:21 +01:00
Alexandre Aubin
171617cb8a Complain about attempts to restart nginx 2019-01-29 00:35:23 +01:00
Alexandre Aubin
2e976bcdf3 Shlex behavior is fucked up. 2019-01-29 00:34:46 +01:00
Alexandre Aubin
fcb9c17edc Big ugly refactoring commit. Boooh. Not cool :|. 2019-01-28 23:33:27 +01:00
Alexandre Aubin
5a45d7b7bb Remove commented lines when reading file in raw mode 2019-01-28 20:35:07 +01:00
Alexandre Aubin
c7f40ca566 Recommend ynh_string_random instead of 'dd' or 'openssl rand' 2019-01-28 20:05:38 +01:00
Alexandre Aubin
8060598fed Ugh ... major bug, shlex actually split the whole file in words. If we look for 'rm -rf' occurrences for instances, those are two separate words ... used a raw read instead 2019-01-28 20:04:28 +01:00
Alexandre Aubin
910a3b2006 Report missing or bad manifest arg type, or unecessary 'choices' usage 2019-01-28 19:26:41 +01:00
Alexandre Aubin
f31bebc644 Rework and add deprecated helpers usage and deprecated practices 2019-01-27 16:32:04 +01:00
ljf (zamentur)
48075f80e3
[enh] Check fail if rm -rf 2018-12-13 22:48:49 +01:00
Alexandre Aubin
132ee456e0
Misc fixes for confusion between full path, script name, and content 2018-12-13 20:47:49 +01:00
Alexandre Aubin
29d647ce20 Update advice about 'sudo' and others 2018-12-02 17:59:45 +01:00
Alexandre Aubin
4a68c76089 Use read_file() to get file content without comments 2018-12-02 17:56:45 +01:00
Alexandre Aubin
21cb506419 Update url for official helpers doc 2018-12-02 17:54:54 +01:00
Jean-Baptiste Holcroft
a40342c278 Merge branch 'check_ynh_install_app_dependencies' into dependencies_consistency 2018-05-27 12:03:26 +02:00
Jean-Baptiste Holcroft
0d18196949 Improve text and code style 2018-05-27 12:01:38 +02:00
Jean-Baptiste Holcroft
e3f689441e Add consistency check for dependencies 2018-05-27 11:54:28 +02:00
Jean-Baptiste Holcroft
834ac35b96 Add link to official and experimental helpers 2018-05-26 20:42:14 +02:00
Jean-Baptiste Holcroft
29ac976ba0 Add basic unix command detection 2018-05-26 20:40:27 +02:00
Jean-Baptiste Holcroft
7402117dbc Add check for dependencies helpers 2018-05-26 20:27:24 +02:00
Alexandre Aubin
fe9e184b06
Microdecision: wording/syntax 2018-01-16 15:20:22 +01:00
Laurent Peuch
6327ea030b
Merge pull request #35 from Jibec/patch-1
remove `clear`
2018-01-14 16:56:28 +01:00
Jean-Baptiste
99c7014059
remove clear 2017-12-16 01:04:24 +01:00
Alexandre Aubin
86c1913449
Fix license test + improve message 2017-11-14 22:11:09 +01:00
ljf
8c70d51c6b [enh] Add warning and some test 2017-08-31 02:01:29 +02:00
Moul
cda98505ba [mod] some pep8 fixes. 2017-04-11 10:10:29 +02:00
Moul
74315b2718 [mod] do not return an error value for verifications_done_before_modifying_system. 2017-04-11 09:48:42 +02:00
Moul
64f9360d80 [enh] do not throw an error if 'backup' or 'restore script is missing. 2017-04-11 09:44:13 +02:00
Moul
fdda64aaf7 [mod] #18, #22: do not return an error value on env var check. 2017-04-06 17:19:26 +02:00
M5oul
dc2b02dcbe Merge pull request #23 from YunoHost/rm_sudo_check
[mod] #5: remove 'sudo' cmd prefix check for YnH 2.6.
2017-04-05 20:49:44 +02:00
Jocelyn Delalande
1cea3c75f8 [fix] search for "exit" more accurately
Currently, any occurence of the "exit" string is considered as a use of the exit
shell function. While my solution is still clumsy (we should be using a bash
parser), I think it's a bit less clumsy, it triggers less false positives :)
2017-03-31 17:43:29 +02:00
Moul
70fe13bd4e [mod] #5: remove 'sudo' cmd prefix check for YnH 2.6. 2017-03-23 19:36:57 +01:00
Moul
0ee36ae94e [enh] #18: check arguments retrieval is done with env var.
- '$1' arg retrieval is now deprecated.
2017-03-07 13:59:37 +01:00
Moul
6b15f16902 [fix] close #19: crash if 'sources' folder do not exists. 2017-02-09 17:59:47 +01:00
Moul
5f075c6c6c [enh] sources management check: check if there is more than 5 files on 'sources' folder to say if using local stored sources. 2017-02-07 19:33:21 +01:00
Moul
2d28219a9a [enh] add sources management copy/paste check. 2017-02-04 08:48:57 +01:00
julienmalik
9916146a81 Explicitely specify utf-8 encoding 2017-01-31 09:15:18 +01:00
Moul
ed392f0e4e [enh] #17: check 'set -(e)u': check it's present on five first lines. 2017-01-28 12:01:49 +01:00
Moul
be1f2b2eb5 [enh] #17: check 'set -(e)u' usage on scripts. 2017-01-28 11:55:50 +01:00
Moul
7806446235 [enh] don't do some checks on extra scripts. 2017-01-28 10:47:09 +01:00
Moul
54201c50cf [mod] #16: temporarily comment license field check. 2017-01-27 22:11:54 +01:00
Moul
9f30350c99 Merge branch 'master' of github.com:/YunoHost/package_linter 2017-01-27 22:01:15 +01:00
Moul
9253514432 [mod] #13: remove bash header check. 2017-01-27 22:00:52 +01:00
M5oul
dddc15f941 Merge pull request #13 from YunoHost/clean_comments
[fix] don't take comments into account
2017-01-27 21:59:18 +01:00
Laurent Peuch
0de5e00421 [enh] script returns 1 if there are errors fix #12 2016-12-23 18:21:39 +01:00
Laurent Peuch
ef437e255e [fix] don't take comments into account 2016-12-23 18:07:39 +01:00
Moul
b14023d2f3 [mod] call one time 'print()'. 2016-12-19 10:10:09 +04:00
Moul
664993985c [enh] use more explicit variables names. 2016-12-19 10:10:09 +04:00
Moul
6e4fc3ae54 [fix] use 'enumerate' for line_nbr. Relicat. 2016-12-19 10:10:04 +04:00
Laurent Peuch
78661a4c66 [mod] more pythonic style 2016-12-18 02:37:07 +01:00
Laurent Peuch
45b320cf9c [fix] unexisting variable 2016-12-18 02:36:58 +01:00
Moul
8ecf91dac8 [mod] remove todo comments. Move them to #8 and #9. 2016-11-25 18:05:13 +01:00
Moul
640b3cd5aa [enh] add check for deprecated methods to manage app settings and propose helpers. 2016-11-25 16:14:49 +01:00
Moul
b89eb4c3e8 [enh] also check 'ynh_die' helper, as 'exit' command,…
…is used before system modifications.
2016-11-15 13:46:07 +01:00
Moul
468e6ff936 [fix] do not check swap files from Vim which make the linter fail. 2016-11-05 20:09:10 +01:00
Moul
81ddabf580 [enh] handle checking extra script file containing functions. 2016-11-03 19:42:00 +01:00
Moul
5dad4c184c [mod] autopep8: two tabs converted to four spaces. 2016-11-03 19:09:07 +01:00
Moul
c5f0ca39ae [fix] remove curl and wget check which doesn't works. 2016-06-25 21:03:23 +02:00
Moul
f223d7a571 [enh] manifest: add check of 'requirements' key. 2016-06-15 20:40:46 +00:00
opi
201b4bf14a [fix] Wording. 2016-06-01 09:44:20 +02:00
opi
734ff54363 [enh] Improve sudo error display. 2016-06-01 09:36:02 +02:00
Moul
59274abbd7 [enh] manifest: enhance package_format key check.
- Check point by point and display an error message if a check fail
- display success message if all tests succeed.
2016-05-31 18:28:31 +02:00
Moul
10a7cadcfd [enh] do not check the file and consider the file is not here when the file is empty. 2016-05-25 23:01:16 +02:00
Moul
d762f9f4f1 [enh] manifest: add succeed message for 'multi_instance' key check. 2016-04-28 23:32:13 +02:00
Moul
ce2a11b0ba [enh] manifest: check new rule 'packaging_format' and it's value. 2016-04-28 23:28:28 +02:00
Moul
90b77f8094 [enh] manifest: 'multi_instance' key are now boolean values type. 2016-04-28 19:31:33 +02:00
Moul
f66e1e3cc1 [enh] rename repository: checker –> linter. 2016-04-28 19:15:41 +02:00
Renamed from package_checker.py (Browse further)