Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 480322 - =sys-apps/portage-2.2.0_alpha191: repoman doesn't scan for emake -j1 in functions other than src_compile and src_install
Summary: =sys-apps/portage-2.2.0_alpha191: repoman doesn't scan for emake -j1 in funct...
Status: RESOLVED WONTFIX
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Repoman (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-09 06:09 UTC by Samuli Suominen (RETIRED)
Modified: 2022-07-12 03:18 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Samuli Suominen (RETIRED) gentoo-dev 2013-08-09 06:09:36 UTC
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[@]}"
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2013-08-09 06:12:02 UTC
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."
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2013-08-09 06:27:11 UTC
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
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2013-08-09 06:32:19 UTC
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
Comment 4 Samuli Suominen (RETIRED) gentoo-dev 2013-08-09 06:33:49 UTC
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']
[ ... ]
Comment 5 Zac Medico gentoo-dev 2013-08-09 08:29:17 UTC
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.
Comment 6 Zac Medico gentoo-dev 2013-08-09 08:31:27 UTC
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.
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2013-08-09 08:35:48 UTC
and multilib_src_test, so best to make it skip *src_test if possible
Comment 8 Zac Medico gentoo-dev 2013-08-09 08:39:03 UTC
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.
Comment 9 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-07-12 03:18:27 UTC
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.