summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* metadata/install-qa-check.d: make the FHS paths warning easier to readEli Schwartz2024-03-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * QA Notice: The ebuild is installing to one or more unexpected paths: * * /var/tmp/portage/sys-cluster/legion-9999/image/usr/bin/legion_prof_files * /var/tmp/portage/sys-cluster/legion-9999/image/usr/bin/serializer_examples * * Please fix the ebuild to use correct FHS/Gentoo policy paths. This message is hard to understand. Is it saying that the resulting package contains files prefixed with ${D} which would be immensely broken? Is it saying that these paths are *directories* and the FHS does not approve of directories in /usr/bin/*/? In fact, it's the latter. Fix this in two ways: - clarify that it's an unexpected directory, not just some kind of path - strip ${D} so that people can better visualize what sort of path gets installed. This has the downside of not being able to copy/paste the path in order to inspect the image directory, but I think this is a very small downside. Usually by the time you see this message, portage has cleaned up. And if it hasn't, you can still copy/paste that from: Completed installing sys-cluster/legion-9999 into /var/tmp/portage/sys-cluster/legion-9999/image Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org>
* install-qa-check.d/60python-site: Check for deprecated .egg* filesMichał Górny2024-01-081-0/+20
| | | | | | | | | Check for deprecated .egg and .egg-info files. While at it, fix stray file check not to barf on *.egg files. Signed-off-by: Michał Górny <mgorny@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/34660 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d/60python-site: allow site-packages/README.txtMichał Górny2024-01-081-1/+2
| | | | | | | | This is installed by dev-lang/python and dev-python/pypy*. Historically, we didn't need to exempt them since the check was in distutils-r1 and these ebuilds did not use it. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d/60python-site: Check for out-of-sitepkg installMichał Górny2024-01-081-1/+27
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d/60python-site: Check for UNKNOWN package nameMichał Górny2024-01-081-3/+3
| | | | | Bug: https://bugs.gentoo.org/836765 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d/60python-site: Add check for wrong libdirMichał Górny2024-01-081-0/+12
| | | | | | Bug: https://bugs.gentoo.org/702016 Bug: https://bugs.gentoo.org/770961 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d/60python-site: Forbid lib & usr package namesMichał Górny2024-01-081-0/+2
| | | | | | | | Forbid `lib`, `$(get_libdir)` and `usr` as package names, to catch accidentally duplicating sitedir as prefix. Bug: https://bugs.gentoo.org/618134 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d/60python-site: Add bad version checkMichał Górny2024-01-081-0/+21
| | | | | | This was a case e.g. with =dev-python/pyrqlite-2.2.0. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d/60python-site: Add invalid site-packages checkMichał Górny2024-01-081-1/+46
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* install-qa-check.d: Generalize 60python-{pyc → site}Michał Górny2024-01-081-9/+10
| | | | | | | Rename `60python-pyc` check to `60python-site`, as it will be used to perform other checks on the site-packages directory. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* 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>