summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* metadata/install-qa-check.d: Check for subdirs in /bin and its friendsUlrich Müller2023-08-171-1/+5
| | | | | Bug: https://bugs.gentoo.org/912354 Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* install-qa-check.d: Fix 60python-pyc to test pypy3.* as wellMichał Górny2023-05-171-1/+2
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* metadata/install-qa-check.d: don't use nonfatal on older EAPIs in 60python-pycSam James2022-09-191-1/+3
| | | | | | Bug: https://bugs.gentoo.org/869182 Fixes: c310e44692ad91777c71394dda97cd1f33f72589 Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: add 60noop-testsuitesmatoro2022-08-211-0/+28
| | | | | | | | | | | | This attempts to catch autotools-based tests that will pass without actually executing any tests due to automagic-based rules like the presence/absence of a dependency. (sam: This was written based on my notes for implementation.) Bug: https://bugs.gentoo.org/848579 Closes: https://github.com/gentoo/gentoo/pull/26237 Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: don't fail if has_version diedSam James2022-08-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | During Python target migrations, if portage[-ipc], portageq can't be invoked as a binary (which has_version does behind the scenes w/ -ipc), so just call it w/ nonfatal, to avoid aborting the emerge and possibly hurting the system (imagine python-exec gets upgraded but portage wasn't yet). Fails like: ``` ${EPREFIX}/Gentoo/usr/lib/python-exec/python3.9/portageq: this Python implementation (python3.9) is not supported by the script. * ERROR: app-admin/perl-cleaner-2.30::gentoo_prefix failed: * has_version: unexpected portageq exit code: 127 * * Call stack: * misc-functions.sh, line 1334: Called install_qa_check * misc-functions.sh, line 138: Called source 'install_symlink_html_docs' * 60python-pyc, line 118: Called python_pyc_check * 60python-pyc, line 22: Called has_version 'install_hooks' * phase-helpers.sh, line 986: Called ___best_version_and_has_version_common '${EPREFIX}/Gentoo/var/db/repos/gentoo/metadata/install-qa-check.d/60python-pyc' * phase-helpers.sh, line 973: Called die * The specific snippet of code: * die "${FUNCNAME[1]}: unexpected portageq exit code: ${retval}" ``` Bug: https://bugs.gentoo.org/778014 Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: only check images w/ site-packagesSam James2022-08-031-0/+3
| | | | | | | | Avoid noise on all merges even if no Python files installed. No need to use siteimpl function as > Python 2.7 (and .. 3.6? 3.7?) it's all standard anyway. Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: drop -b from has_version in 60python-pycSam James2022-08-031-1/+1
| | | | | | | Only for EAPI 7+, duh. Not going with the faff of --host-root for EAPI 6 etc for now given it's just an optional check. Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: skip 60python-pc if gpep517 too oldSam James2022-08-031-0/+5
| | | | | | | | | | | | | | | When building libseccomp, say: ``` * Verifying compiled files for python3.9 usage: /usr/lib/python-exec/python3.9/gpep517 [-h] {get-backend,build-wheel,install-wheel} ... /usr/lib/python-exec/python3.9/gpep517: error: argument command: invalid choice: 'verify-pyc' (choose from 'get-backend', 'build-wheel', 'install-wheel') strip: i686-pc-linux-gnu-strip --strip-unneeded -N __gentoo_check_ldflags__ -R .comment -R .GCC.command.line -R .note.gnu.gold-version ``` The gpep517 >= dep is in distutils-r1 but this check applies to other ebuilds. So, use has_version -b. Signed-off-by: Sam James <sam@gentoo.org>
* install-qa-check.d: Rewrite 60python-pyc to use gpep517Michał Górny2022-08-021-72/+96
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d: Enable 60python-pyc in EAPI 8Michał Górny2022-07-161-1/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d/60udev-eclass: check for udev_reload in pkg_postrmMike Gilbert2022-06-071-0/+5
| | | | | Bug: https://bugs.gentoo.org/847436 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* metadata/install-qa-check.d: further fix 60libtool-la library checkIonen Wolkens2022-05-061-1/+1
| | | | | | | Without -t, the delimiter (newline) is not stripped and so elements do not end in .la to be replaced by .a Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
* metadata/install-qa-check.d: fix check for static library in 60libtool-laSam James2022-05-061-5/+1
| | | | | Thanks-to: Ionen Wolkens <ionen@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: add missing whitespace in 60udev-eclassAgostino Sarubbo2022-05-021-1/+1
| | | | Signed-off-by: Agostino Sarubbo <ago@gentoo.org>
* metadata/install-qa-check.d: add new QA check for udev rulesSam James2022-04-301-0/+63
| | | | | | | | | | | | | | | | | | | | Very similar to tmpfiles.eclass check (60tmpfiles-paths). Three checks: 1) Verify packages don't install udev rules to /etc/udev/rules.d, which is a forbidden (user-configuration) location; 2) Check whether packages inherit udev.eclass if they're installing files to /lib/udev/rules.d/.. (This helps to catch packages not calling udev_reload in pkg_postinst). 3) Check for missing udev_process calls in pkg_postinst. Bug: https://bugs.gentoo.org/433916 See: c7fe1066a8fcd35f965de4ea16c9cd1001830642 Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: fix minor typo in commentSam James2022-04-281-2/+2
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: avoid -d'' in readarraySam James2022-04-271-1/+2
| | | | | | Needs newer Bash. Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: try to silence libtool-la stderrSam James2022-04-271-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: use readarraySam James2022-04-261-1/+1
| | | | | | | Otherwise we end up not splitting correctly in the loop over files (file contains two entries). Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: clarify QA warningSam James2022-04-191-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* Revert "metadata/install-qa-check.d: swap libltdl check to 'has'"Sam James2022-04-191-1/+1
| | | | | | | | | | This reverts commit 8226609cee46af93656676350895135dbd910793. This ends up not matching things like "dev-libs/libltdl:0" and breaks (false positive) on e.g. imagemagick. Closes: https://bugs.gentoo.org/839387 Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: swap libltdl check to 'has'Sam James2022-04-171-1/+1
| | | | | | | | It's a bit cleaner and will hopefully mean we don't catch a hypothetical libltdl2. Not too stressed over such a possibility anyway. Thanks-to: michael Orlitzky <mjo@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: add 60libtool-la (check for unnecessary .la files)Sam James2022-04-171-0/+45
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: update 60python-pyc to refer to Python guideSam James2022-03-041-2/+2
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: fix 60gtk-doc-paths check for EAPI 7+Sam James2022-03-041-5/+5
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: drop 60distutils-use-setuptools againMike Gilbert2022-02-011-2/+0
| | | | | Bug: https://bugs.gentoo.org/832446 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* metadata/install-qa-check.d: add stub for 60distutils-use-setuptoolsMike Gilbert2022-01-311-0/+2
| | | | | | | Work around broken rsync master script. Bug: https://bugs.gentoo.org/832446 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* install-qa-check.d: Remove 60distutils-use-setuptoolsMichał Górny2022-01-161-97/+0
| | | | | | | | | Remove the DISTUTILS_USE_SETUPTOOLS correctness check that is misfiring once again (with setuptools-60+). All the special cases it was supposed to detect are no longer relevant, and the upcoming PEP 517 mode deprecates DUS entirely. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* metadata/install-qa-check.d: skip some checks when TMPFILES_OPTIONAL is setSam James2021-08-191-6/+6
| | | | | | | | | This is a good enough proxy for "this package has a complicated relationship with tmpfiles" and replaces the hardcoded list of exemptions. Closes: https://bugs.gentoo.org/808781 Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: add check for missing tmpfiles_process callGeorgy Yakovlev2021-08-161-10/+24
| | | | | | See: https://archives.gentoo.org/gentoo-dev/message/7bdfdc9a7560fd07436defd0253af0b8 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: add exemptions for some packages wrt inheritSam James2021-08-161-0/+8
| | | | | | | | | | | | Both sys-apps/systemd and sys-libs/pam need to install some files to these directories without inheriting the eclass. For future work, we should have a standardised way on opting out of installed files QA checks, but other QA checks are already suffering from this issue. See: https://archives.gentoo.org/gentoo-dev/message/0a96793036a4fdd9ac311a46950d7e7b Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: only trigger on tmpfiles in forbidden locationSam James2021-08-161-1/+6
| | | | | | | It's okay to use "keepdir" on /etc/tmpfiles.d. See: https://archives.gentoo.org/gentoo-dev/message/50558b55dc34f37b238807fc4759640d Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: add 60tmpfiles-path QA checkSam James2021-08-161-0/+37
| | | | | | | | | | | | | | This adds two tmpfiles related QA checks: 1) Verify packages don't install tmpfiles to /etc/tmpfiles.d, which is a forbidden (user-configuration) location; 2) Check whether packages inherit tmpfiles.eclass if they're installing files to /usr/lib/tmpfiles.d. (This helps to catch packages not calling tmpfiles_process in pkg_postinst). Signed-off-by: Sam James <sam@gentoo.org>
* install-qa-check.d: Switch DUS entry point check to pure bdependMichał Górny2021-08-021-12/+6
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* metadata/install-qa-check.d: Skip DUS tests w/ DISTUTILS_OPTIONALMichał Górny2021-07-031-0/+9
| | | | | | | | | DISTUTILS_OPTIONAL skips setting the dependency on setuptools entirely, so skip checking for its correctness, and verbosely complain if it's set. Closs: https://bugs.gentoo.org/800147 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* metadata/install-qa-check.d: adjust 60libcrypt-depsGeorgy Yakovlev2021-07-011-1/+1
| | | | | | check if ebuild has a dep on sys-libs/libxcrypt and return Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
* metadata/install-qa-check.d: add QA Notice string to all checksGeorgy Yakovlev2021-06-286-12/+15
| | | | | | | and re-wrap some lines to fit into 80 char limit Bug: https://bugs.gentoo.org/728046 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
* metadata/install-qa-check.d: add "QA Notice:" string to some checksGeorgy Yakovlev2021-06-282-4/+3
| | | | | Bug: https://bugs.gentoo.org/728046 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
* metadata/install-qa-check.d: add libcrypt tracker bugGeorgy Yakovlev2021-06-271-0/+1
| | | | Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
* metadata/install-qa-check.d: link wiki (developer guidance) in 60libcrypt-depsSam James2021-06-271-2/+3
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* metadata/install-qa-check.d: fix some issues with 60libcrypt-depsGeorgy Yakovlev2021-06-261-4/+11
| | | | | Thanks-to: [Arfrever] Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
* metadata/install-qa-check.d: add virtual/libcrypt dep checkGeorgy Yakovlev2021-06-261-0/+38
| | | | | Bug: https://bugs.gentoo.org/699422 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
* install-qa-check.d: Check for missing tests in distutils-r1 ebuildsMichał Górny2021-05-291-0/+32
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d: expect unset DUS for bdependMichał Górny2021-05-251-1/+5
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d: Make DUS aware of gui_scriptsMichał Górny2021-04-291-1/+1
| | | | | | | Make DISTUTILS_USE_SETUPTOOLS check aware of gui_scripts in addition to console_scripts. Thanks to Arfrever for reporting. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d: Future-proof entry point values for DUSMichał Górny2021-04-291-6/+14
| | | | | | | | | | | | | | | Accept both 'rdepend' and 'bdepend' as DISTUTILS_USE_SETUPTOOLS values for packages installing entry points. Starting with Python 3.8, these packages do not require any runtime dependency. However, we do not want to proactively bother people with updating everything and instead provide the option to start performing opt-in updates. Note that technically PyPy3 (that implements Python 3.7 at the moment) continues requiring additional dependencies for entry point support. However, we do not support PyPy3 target in stable and generally do not consider it important enough to maintain extra complexity for. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d: Extend DUS check to handle no egg-infoMichał Górny2021-04-291-1/+4
| | | | | | | | If the package does not install any .egg-info files, i.e. distutils is probably not used at all, we do not the eclass to create a setuptools dependency. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d: Make DUS check distinguish entry pointsMichał Górny2021-04-291-8/+8
| | | | | | | | Make DISTUTILS_USE_SETUPTOOLS check explicitly distinguish rdepend due to entry points from explicit rdepend. This currently does not change the result but it will change in the future. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* metadata/install-qa-check.d: disable non-applicable QA checks for EAPI 5Sam James2021-04-101-2/+2
| | | | | | Fixes: bdcfb21ca5a84567e9c9d6a456374a05e798f78e Closes: https://bugs.gentoo.org/781878 Signed-off-by: Sam James <sam@gentoo.org>
* install-qa-check.d/60distutils...: silence requires.txt errorMichał Górny2020-10-171-1/+2
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>