m (→Fedora-Rebuild) |
|||
Line 32: | Line 32: | ||
== Fedora-Rebuild == | == Fedora-Rebuild == | ||
Problem: annual Perl rebuild took more than month. No tooling is provided by Fedora nor rpm/yum-tools. | |||
Solution: Fedora::Rebuild is able to count build order of packages based on their dependencies. | |||
Comment: rebuilds of every new release should make easier finding bugs in other packages sooner and make rebuild shorter. | |||
* Assignee: [[User:ppisar]] | * Assignee: [[User:ppisar]] | ||
* Optimize pure-perl resolver | * Optimize pure-perl resolver |
Revision as of 13:45, 21 May 2014
Version normalization
Problem: sometimes new version could be in form acceptable for CPAN, but not for RPM.
Example: package had version 1.00 and new release is 1.000324. It works for CPAN, where version is just a string, but not for RPM.
Solution: instead of manual change (also provides might be wrong) can be version normalized by Perl itself (module version can do it).
- After taking over Perl dependency generator
- Macros for simplified packaging
- the version translator
- the perl() wrapper
- common snippets for EU::MM, Module::Build, etc.
version->parse->normal
normalization in macros and generator- Normalize RPM package version?
- Teach Fedora upstream monitoring cnucnu(1)
Dependency generator
Problem: dependency generator in RPM has lot of incorrect data, which leads to complicated filtering of provides/requires
Solution: dependency generator will be removed from RPM and owned by Perl team.
Comment: More improvements in main generator are not possible because contyk's smarter scaner has many dependencies. At least contyk's scaner could be used for generating new packages and updates.
- Take over dependency generator. Assignee: User:jplesnik, User:mmaslano
- Tests. Assignee: User:jplesnik
- Support no, base, parent, Moose's with, POE's extensions, Test::Requires, other frameworks, see Module::ScanDeps::scan_chunk()
- Receive explicit Requires from spec file to merge them with generated ones
- Refactoring
- How many dependencies has Module-ScanDeps? Assignee: User:psabata. Module-ScanDeps reads META.yml. It's not useful. ✓
Fedora-Rebuild
Problem: annual Perl rebuild took more than month. No tooling is provided by Fedora nor rpm/yum-tools.
Solution: Fedora::Rebuild is able to count build order of packages based on their dependencies.
Comment: rebuilds of every new release should make easier finding bugs in other packages sooner and make rebuild shorter.
- Assignee: User:ppisar
- Optimize pure-perl resolver
- Finished in git tree. ✓
- Release new version.
- Implement hawkey-based resolver
- XS wrapper for hawkey
- YUM repository filter for Fedora-Rebuild dependency filter
- YUM repostory downloader
- Augment Fedora-Rebuild to download YUM repository, filter it, and do hawkey queries over it.
- Copr mode
- Copr is missing way how to retrieve binary package made of only exact source package
- Select binary packages from Copr's YUM repository
- Requires YUM downloaded and metadata parser
Continuous rebuilds
- Fedmsg binding to Perl
- Use fedmsg to gather updated packages
- I have already GIT based checker
- Use fedmsg to include new packages
- Use fedmsg to exclude retired packages
Dependency cycle breaker
- YUM repository reader
repoquery --whatprovides
is to slow due to reinitialization
- Gather boot-strapped dependencies from local SRPMs
- Use graph algorithms to identify cycles
- Semi-automated recommendation for cycle break-points
YUM repository parser
- YUM metadata downloader
- YUM metadata reader
- YUM metadata filter/writer
- YUM package downloader
Macros for simplified packaging
- Version normalizer
- perl() wrapper
- This will mask SCL modifications
- Dependency filter abstraction
- One syntax for Fedora and EPEL
- One syntax for SCL
- Provide standard EU::MM, Module::Build, Module::Bild::Tiny, &c. %build and %install implementations
- Standard implementations for CPAN packages
- URL
- Sourece0
- %prep
- Pack files scriptlets editor
- Allow Fatpacker and inc::Module::Build bundler to work on packaged modules
- Mark POD files as documentation
Spec file generator
- Fork cpan2spec
- Static dependency analysis
- Rewrite Perl-Scan without eval. Assignee: User:psabata
- Dynamic dependency analysis
- Compare analyses against RPM package
- Comment annotations in spec
- Structured build-, run-, test- dependencies
- Differences calculator
- Useful when upgrading a package
- False provides checker
- RPM package should not provide privately redefined modules
Fedora Upstream monitoring
- Monitor upstream on our own if Fedora's system will not be improved
- The maintainer wants CPAN wildcard
- Monitor all RPM packages
- Update them before each mass rebuild
Developer Assistant
- Templates for standard build systems
- Templates for web frameworks
Upstream monitoring
- Not all packages are registered in Fedora Upstream Monitoring service
- Not all packagers upgrades
- Monitor upstream on our own
- Use CPAN
- Adjust versions where done in Fedora
- File bugs or do the upgrade directly or spam perl-devel mailing list
- CPAN mirrors provides signed digests of CPAN distributions
- Verify them against Fedora look-aside cache
- Add the check into spectool(1). Assignee: User:ppisar
- Reported against rpmdevtools as a bug #1093712.
Perl Next
- While perl is a base package, other CPAN code will go into server or workstation. We need to be ready and implement Next requirements
- Propose to delay perl 5.20 upgrade to Fedora 22. Assignee: User:ppisar ✓