[ 
https://issues.apache.org/jira/browse/BIGTOP-713?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Roman Shaposhnik reassigned BIGTOP-713:
---------------------------------------

    Assignee: Roman Shaposhnik
    
> use newer debhelper and source format 3.0 (quilt) for Debian and Ubuntu 
> packaging
> ---------------------------------------------------------------------------------
>
>                 Key: BIGTOP-713
>                 URL: https://issues.apache.org/jira/browse/BIGTOP-713
>             Project: Bigtop
>          Issue Type: Improvement
>          Components: Debian
>    Affects Versions: 0.5.0
>            Reporter: Erich Schubert
>            Assignee: Roman Shaposhnik
>            Priority: Minor
>
> debhelper can automate a lot of common things in debian package creation.
> The current packages use an old style of debhelper, that often is 
> unnecessarily complicated, making it harder to fix things.
> For example, current Hadoop (0.23.3) does not compile on Debian because of 
> the new GCC version. The fix is a simple "include <unistd.h>" in the 
> HadoopPipes.cc file.
> Modern Debian packaging with "quilt" has an excellent mechanism for managing 
> such patches. However, in order to use this with the current Bigtop 
> packaging, one has to 1. create debian/source/format to use "3.0 (quilt)" 2. 
> manually add quilt patching to the debian/rules targets. 3. making sure the 
> .debian.tar.gz is also copied instead of the old .diff.gz
> You will be surprised how many things debhelper does well on its own with a 
> rules file consisting just of little more than the automagic:
> %:
>         dh $@
> Furthermore, "java-wrappers" is a Debian and Ubuntu package that helps with 
> setting up classpaths and choosing the JVM. It can do all of bigtop-utils and 
> more, and it is used by other Java packages. IMHO it should be preferred 
> instead.
> If the packaging would be more Debian-standard, it would be alot easier to 
> get the packages at some point accepted into Debian mainline. It may even be 
> desirable to build the various hadoop components (-commmon, -yarn etc.) 
> independently if they are isolated well enough upstream.
> Don't get me wrong. I think the packages are pretty good already. In 
> particularly I like the split into namenode and datanode packages and the use 
> of update-alternatives, for example. I just found it rather hard to get a 
> grip of the process and to get my fixes into the package. For example, I had 
> to manually set JAVA_HOME before building, some build dependencies were 
> missing (cmake, but it probably is a new requirement), some paths have 
> changed (probably the yarn promotion to a top level project?)
> I understand that you want to have as much common code for all distributions 
> as possible, as opposed to having per-distribution packaging. However, if 
> every project uses its own specific version of java-wrappers and build 
> process, things will not really be better than if it is at least consistent 
> across the various distributions.
> But ideally, there should be very little packaging code needed anyway, and 
> most things be done by an appropriate installation process upstream.
> And seriously, /usr/lib/hadoop/lib is a **mess**. There even is a package in 
> there with a "*" in the file name. Plus, a lot of these jars are available in 
> Debian, and could be shared across packages if the packages would accept them 
> to be managed by the distribution instead of shipping their own...
> Even within the bigtop packages this leads to a totally unnecessary overlap:
> 995720 Sep 25 14:18 /usr/lib/hadoop-hdfs/lib/snappy-java-1.0.3.2.jar
> 995720 Sep 25 14:18 /usr/lib/hadoop-mapreduce/lib/snappy-java-1.0.3.2.jar
> 995720 Sep 25 14:18 /usr/lib/hadoop-yarn/lib/snappy-java-1.0.3.2.jar
> [...]

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to