[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

To bundle or not to bundle (libcatalyst-modules(-extra)-perl)


I'd like to survey the opinion of the team about CPAN modules packaged 
as bundles.

There are two samples: libcatalyst-modules-perl and 

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?


Attachment: signature.asc
Description: Digital signature

Reply to: