sys-fs/udev-206-r1 and sys-fs/udev-206-r2 are NOT in package.mask in profiles/ or /etc/portage and has KEYWORDS in place, yet they are skipped by 'repoman full' for unknown reason: ssuominen@null ~/gentoo-x86/sys-fs/udev $ repoman full RepoMan scours the neighborhood... upstream.workaround 6 sys-fs/udev/udev-204.ebuild: Upstream parallel compilation bug (ebuild calls emake -j1 on line: 324) sys-fs/udev/udev-204.ebuild: Upstream ABI change workaround on line: 362 sys-fs/udev/udev-204.ebuild: Upstream ABI change workaround on line: 451 sys-fs/udev/udev-206.ebuild: Upstream parallel compilation bug (ebuild calls emake -j1 on line: 327) sys-fs/udev/udev-206.ebuild: Upstream ABI change workaround on line: 364 sys-fs/udev/udev-206.ebuild: Upstream ABI change workaround on line: 457 Note: use --include-dev (-d) to check dependencies for 'dev' profiles RepoMan sez: "You're only giving me a partial QA payment? I'll take it this time, but I'm not happy." ssuominen@null ~/gentoo-x86/sys-fs/udev $ grep j1 *.ebuild udev-204.ebuild: emake -j1 DESTDIR="${D}" "${targets[@]}" udev-206.ebuild: emake -j1 DESTDIR="${D}" "${targets[@]}" udev-206-r1.ebuild: emake -j1 DESTDIR="${D}" "${targets[@]}" udev-206-r1.ebuild: emake -j1 DESTDIR="${D}" "${targets[@]}" udev-206-r2.ebuild: emake -j1 DESTDIR="${D}" "${targets[@]}" udev-206-r2.ebuild: emake -j1 DESTDIR="${D}" "${targets[@]}" udev-9999.ebuild: emake -j1 DESTDIR="${D}" "${targets[@]}" udev-9999.ebuild: emake -j1 DESTDIR="${D}" "${targets[@]}"
If I call 'repoman full --include-dev', it will scan 'm68k' as it's marked as a dev profile and then catch these: dependency.badindev 40 [ ... ] sys-fs/udev/udev-206-r2.ebuild: RDEPEND: ~m68k(default/linux/m68k/13.0/developer) ['>=dev-libs/gobject-introspection-1.31.1'] However in the same scan, the -r1 and -r2 are skipped for 'upstream.workaround' again: upstream.workaround 6 sys-fs/udev/udev-204.ebuild: Upstream parallel compilation bug (ebuild calls emake -j1 on line: 324) sys-fs/udev/udev-204.ebuild: Upstream ABI change workaround on line: 362 sys-fs/udev/udev-204.ebuild: Upstream ABI change workaround on line: 451 sys-fs/udev/udev-206.ebuild: Upstream parallel compilation bug (ebuild calls emake -j1 on line: 327) sys-fs/udev/udev-206.ebuild: Upstream ABI change workaround on line: 364 sys-fs/udev/udev-206.ebuild: Upstream ABI change workaround on line: 457 RepoMan sez: "You're only giving me a partial QA payment? I'll take it this time, but I'm not happy."
Same issue still present with --without-mask, just to proof the case it's really not p.masked anywhere: $ repoman full --without-mask RepoMan scours the neighborhood... upstream.workaround 6 sys-fs/udev/udev-204.ebuild: Upstream parallel compilation bug (ebuild calls emake -j1 on line: 324) sys-fs/udev/udev-204.ebuild: Upstream ABI change workaround on line: 362 sys-fs/udev/udev-204.ebuild: Upstream ABI change workaround on line: 451 sys-fs/udev/udev-206.ebuild: Upstream parallel compilation bug (ebuild calls emake -j1 on line: 327) sys-fs/udev/udev-206.ebuild: Upstream ABI change workaround on line: 364 sys-fs/udev/udev-206.ebuild: Upstream ABI change workaround on line: 457
And if I delete udev-206.ebuild and udev-206-r1.ebuild, it still doesn't scan udev-206-r2.ebuild: $ repoman full RepoMan scours the neighborhood... upstream.workaround 3 sys-fs/udev/udev-204.ebuild: Upstream parallel compilation bug (ebuild calls emake -j1 on line: 324) sys-fs/udev/udev-204.ebuild: Upstream ABI change workaround on line: 362 sys-fs/udev/udev-204.ebuild: Upstream ABI change workaround on line: 451 Note: use --include-dev (-d) to check dependencies for 'dev' profiles RepoMan sez: "You're only giving me a partial QA payment? I'll take it this time, but I'm not happy." $ ls *.ebuild udev-204.ebuild udev-206-r2.ebuild udev-9999.ebuild
And if I change KEYWORDS from udev-206-r2.ebuild to stable 'amd64', it will still not scan for 'upstream.workaround': RepoMan scours the neighborhood... upstream.workaround 3 sys-fs/udev/udev-204.ebuild: Upstream parallel compilation bug (ebuild calls emake -j1 on line: 324) sys-fs/udev/udev-204.ebuild: Upstream ABI change workaround on line: 362 sys-fs/udev/udev-204.ebuild: Upstream ABI change workaround on line: 451 dependency.bad 27 sys-fs/udev/udev-206-r2.ebuild: DEPEND: amd64(default/linux/amd64/13.0) ['>=sys-apps/kmod-14-r1'] [ ... ]
The emake -j1 check has been limited to src_compile and src_install since this commit: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=9e98d397ef79873783fc35144d9b9fa68497d601 It doesn't trigger for udev-206-r1.ebuild since the emake -j1 call is in a function called multilib_src_install.
The commit says that the it's trying to avoid false-positives in src_test. So, we could change the code to skip the check just in src_test.
and multilib_src_test, so best to make it skip *src_test if possible
Or, we could just make it stop checking the function name. It's arguable that forcing -j1 is undesirable regardless of the function name. It's possible to disable warnings like these by appending #nowarn to the relevant line in the ebuild.
repoman support has been removed per bug 835013. Please file a new bug (or, I suppose, reopen this one) if you feel this check is still applicable to pkgcheck and doesn't already exist.