+1 g, -1 a/c/d/f
On Tue, Apr 1, 2014 at 2:14 PM, Billie Rinaldi <[email protected]>wrote: > +1 to g > > > On Tue, Apr 1, 2014 at 10:11 AM, Christopher <[email protected]> wrote: > > > RPM/DEB building in Maven is currently quite convoluted. There's some > > question as to whether we should even be performing this task or > > whether we should defer to downstream maintainers for system > > packaging. Whether or not we continue supporting RPM/DEB binary > > packages or if we defer that to downstream maintainers, we should > > probably not maintain them within the main maven build. Here's some > > reasons why: > > > > 1) The maven complexity is enormous, and every change to the binary > > tarball packaging requires an equivalent change in at least two more > > places: the RPM build config, and DEB build config. > > > > 2) The RPMs and DEBs have different packaging conventions, because > > their target systems have different packaging conventions. It's not > > easy to discern whether these differences are bugs or intended in the > > current scheme. > > > > 3) The breakage of the RPMs/DEBs should not block a release. They can > > be packaged after an official release, to correspond to the target > > systems. Changes to packaging should also not require a bump in the > > version of Accumulo itself. > > > > 4) The current scheme does not allow for source packages (deb sources > > and SRPMs) for rebuilding. > > > > 5) I don't know DEBs, and do not have the expertise necessary to > > maintain their packaging. Whoever knows DEBs probably does not know > > RPMs. Maintenance of these logically make more sense as contribs, > > maintained by their respective downstream maintainers. > > > > 6) DEBs may require packaging different init scripts for modern > > systems (upstart-compatible scripts for Ubuntu, systemd scripts for > > Fedora/RHEL7, or SysV init scripts for RHEL6). Convergence in our > > build is not possible, and would introduce even more complexity. > > > > There are many possible downstream maintainers: Apache BigTop, Linux > > distribution-specific maintainers, Homebrew formula maintainer for > > Mac, etc. We should make it easy for them to build their packages, but > > we should probably not be in the business of trying to create them in > > our build directly. It may be the case that supporting these different > > systems will still involve package maintainers who are also upstream > > developers... and that's fine. We could even create contrib repos for > > maintaining those things, but they should be separate from the > > upstream build. > > > > Currently, I believe the DEBs are broken... but I don't know exactly > > how, and don't know enough about DEB packaging to fix them (I could > > learn, but not without possibly delaying the 1.6.0 release). So, the > > question is, should we (select all that are appropriate): > > > > a) Fix before 1.6.0 is released. > > b) Release 1.6.0 and fix later. > > c) Include RPMs/DEBs in 1.6.0 release. > > d) Build packages within the main build. > > e) Create contrib repos for RPM/DEB packaging. > > f) Create contrib branches for RPM/DEB packaging. > > g) Strip them out and defer to whatever downstream maintainers decide to > > do. > > > > -- > > Christopher L Tubbs II > > http://gravatar.com/ctubbsii > > > -- // Bill Havanki // Solutions Architect, Cloudera Govt Solutions // 443.686.9283
