Skip to content

Resolve "repoman" complaints #46

@leycec

Description

@leycec

Ebuilds autogenerated by g-cpan fail repoman checks... badly. This is bad, because many third-party overlays – including mine – internally run repoman under Travis CI to automatically validate the sanity and correctness of incoming pull requests.

Of course, g-cpan breaks that. For example, here's the litany of complaints for a recently generated Test::Directory ebuild:

$ repoman

RepoMan scours the neighborhood...
>>> Creating Manifest for /home/leycec/bash/raiagent/dev-perl/Test-Directory

  KEYWORDS.unsorted             1
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild contains unsorted keywords
  dependency.bad [fatal]        12
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild: DEPEND: alpha(default/linux/alpha/17.0)
['dev-perl/Test-Exception', 'dev-lang/perl', 'dev-lang/perl:=[-build(-)]']
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild: RDEPEND: alpha(default/linux/alpha/17.0)
['dev-lang/perl:=[-build(-)]']
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild: DEPEND: alpha(default/linux/alpha/17.0/desktop)
['dev-perl/Test-Exception', 'dev-lang/perl', 'dev-lang/perl:=[-build(-)]']
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild: RDEPEND: alpha(default/linux/alpha/17.0/desktop)
['dev-lang/perl:=[-build(-)]']
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild: DEPEND: alpha(default/linux/alpha/17.0/desktop/gnome)
['dev-perl/Test-Exception', 'dev-lang/perl', 'dev-lang/perl:=[-build(-)]']
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild: RDEPEND: alpha(default/linux/alpha/17.0/desktop/gnome)
['dev-lang/perl:=[-build(-)]']
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild: DEPEND: alpha(default/linux/alpha/17.0/desktop/gnome/systemd)
['dev-perl/Test-Exception', 'dev-lang/perl', 'dev-lang/perl:=[-build(-)]']
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild: RDEPEND: alpha(default/linux/alpha/17.0/desktop/gnome/systemd)
['dev-lang/perl:=[-build(-)]']
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild: DEPEND: alpha(default/linux/alpha/17.0/developer)
['dev-perl/Test-Exception', 'dev-lang/perl', 'dev-lang/perl:=[-build(-)]']
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild: RDEPEND: alpha(default/linux/alpha/17.0/developer)
['dev-lang/perl:=[-build(-)]']
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild: DEPEND: riscv(default/linux/riscv/17.0/rv64gc)
['dev-perl/Test-Exception', 'dev-lang/perl', 'dev-lang/perl:=[-build(-)]']
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild: RDEPEND: riscv(default/linux/riscv/17.0/rv64gc)
['dev-lang/perl:=[-build(-)]']
  ebuild.badheader              1
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild: line 3: Non-blank line after header
  ebuild.minorsyn               1
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild: line 10: Useless blank line
  ebuild.notadded               1
   dev-perl/Test-Directory/Test-Directory-0.051.ebuild
  metadata.missing [fatal]      1
   dev-perl/Test-Directory/metadata.xml

Note: use --include-dev (-d) to check dependencies for 'dev' profiles

Please fix these important QA issues first.
RepoMan sez: "Make your QA payment on time and you'll never see the likes of me."

The fatal keyword issues are clearly the worst. Ideally, g-cpan should only add keywords that are actually supported. In this case, removing alpha and riscv from the KEYWORDS variable in the autogenerated Test-Directory-0.051.ebuild file temporarily solves the issue – but only until the next g-cpan -u. <mournful_sigh/>

Likewise, a trivial metadata.xml file should also be autogenerated: e.g.,

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
	<maintainer type="project">
		<email>g-cpan@gentoo.org</email>
		<name>g-cpan</name>
	</maintainer>
</pkgmetadata>

The remaining complaints are non-fatal and hopefully trivial to solve. Thanks again for all the thankless volunteerism, stalwart g-cpan heroes! ⚔️

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions