Hi, I'd like to survey the opinion of the team about CPAN modules packaged as bundles. There are two samples: libcatalyst-modules-perl and libcatalyst-modules-extra-perl. First I tried to make their maintenance easier, with main goal making the upgrades more accountable by having modules' sources tracked expanded in the packaging Git. This worked fine with libcatalyst-modules-perl. You may want to compare that to libcatalyst-modules-extra-perl, which still uses tarballs instead of expanded sources. Despite the not so bad result with libcatalyst-modules-perl, I am still irritated at bundles. Applying patches needs a hack to ~/.quiltrc to make it as easy as it is with non-bundled packages (but you still have to figure out which module you want and where in build-area is it ordered). The patch description lintian checks don't work when the patches are in debian/patches/$module/. Two of the bundled modules are deprecated upstream, and I am not sure how to proceed with them. Outright removal from the bundle seems too drastic. Keeping them forever seems silly, and using NEWS.Debian seems too noisy. All in all, after working on libcatalyst-modules-perl, I wish it was not a bundle. Improving the bundle management makes things easier, but still not as much as the ordinary non-bundled packages. So, what do others think about bundles? I know at some point there was a concern that FTP masters don't like too small packages. This may no longer be true, and even if it is, libcatalyst-modules-perl for sure has quite some modules that are not "small" by any measures: SLOC Directory SLOC-by-Language (Sorted) 3172 Catalyst-Authentication-Store-DBIx-Class perl=3172 2973 Catalyst-Model-DBIC-Schema perl=2973 2575 Catalyst-Plugin-Session-Store-DBI perl=2575 2390 Catalyst-Plugin-Authorization-ACL perl=2390 1618 Catalyst-Plugin-Authentication perl=1618 1546 Catalyst-Plugin-I18N perl=1546 1542 Catalyst-Component-InstancePerContext perl=1542 1509 Catalyst-View-JSON perl=1509 1367 Catalyst-Plugin-Session perl=1367 1366 Catalyst-Action-RenderView perl=1366 1094 Catalyst-Controller-FormBuilder perl=1094 836 Catalyst-Controller-HTML-FormFu perl=836 747 Catalyst-View-Mason perl=747 602 Catalyst-View-Email perl=602 577 Catalyst-Plugin-Cache perl=577 439 Catalyst-Plugin-Static-Simple perl=439 409 Catalyst-Log-Log4perl perl=409 371 Catalyst-Plugin-ConfigLoader perl=371 322 Catalyst-Plugin-StackTrace perl=322 309 Catalyst-Plugin-Session-Store-DBIC perl=309 305 Catalyst-Authentication-Credential-Authen-Simple perl=305 252 Catalyst-Plugin-Session-State-Cookie perl=252 198 Catalyst-Plugin-Unicode perl=198 145 Catalyst-Plugin-Session-Store-Delegate perl=145 139 Catalyst-Plugin-Authorization-Roles perl=139 129 Catalyst-Plugin-SubRequest perl=129 102 CatalystX-Component-Traits perl=102 93 Catalyst-Plugin-Session-Store-FastMmap perl=93 91 Catalyst-Model-DBI perl=91 78 Catalyst-Plugin-Cache-Store-FastMmap perl=78 63 Catalyst-Plugin-Session-Store-File perl=63 21 Catalyst-Plugin-Session-Store-Cache perl=21 (generated using David A. Wheeler's 'SLOCCount') So what do others think? To bundle or to split? --dam
Attachment:
signature.asc
Description: Digital signature