-
Notifications
You must be signed in to change notification settings - Fork 7
Resolve "repoman" complaints #46
Description
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! ⚔️