<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">Hi, I'm trying to PPA some code that's in git but not having much luck finding useful documentation for source format 3.0 (git). I have looked at git-buildpackage but it looks like it wants me to create a branch and these are huge projects. It looks like the 3.0 (git) format will let me maintain just the debian bits but haven't found much documentation. Even having a few sample packages to look at would help.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">The specific PPAs are for Apache Hadoop and related projects. I want to package the files needed for 'edge nodes'. That is:</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"> - some binaries<br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"> - some shared libraries</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"> - some sample configuration files</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"> - some jars</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">We can manually copy files from one of the compute nodes but it would be a lot more convenient to install a client jar + library. This would also ensure we have all necessary libraries for the handful of CLI tools. A number of projects in the Hadoop ecosystem have CLI tools.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">I know there have been a few prior efforts on Launchpad but they're out of date and mostly (entirely?) limited to just the Hadoop project itself. We need more recent versions of Hadoop and other projects in the ecosystem.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">Aside: we also need to be able to build packages for multiple versions. I don't know if the best approach is one source package per version - hadoop-2.5, hadoop-2.6, hadoop-2.7, or to use a single package (hadoop) and have a way to build the different packages. We need it for 2016.04 LTS but it would be nice to support additional releases.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">Aside 2: only 2014.04 LTS builds are documented. Doing 2016.04 is straightforward but you have to rebuild the 2014.04 protobuf package in the 2016.04 environment since Hadoop requires 2.5.0 specifically and the 2016.04 version is 3.0.0. It's only a build dependency and doesn't affect the final packages.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">I can set up the environment for git-buildpackage (but haven't built it using gbp) with:</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">  $ git clone <a href="https://github.com/apache/hadoop" target="_blank">https://github.com/apache/<wbr>hadoop</a></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">  $ cd hadoop</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">  $ git checkout release-2.7.1</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">  $ git checkout -b upstream</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">  $ git checkout -b master</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">and that gives me the code as of that release in master. But it also means that I push everything when I do a git commit. I would greatly prefer to somehow specify a dozen lines from my .git/config file and the new files under debian/.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">I tried running gbp import-dsc but it complained about the format of my .dsc file. Not particularly surprising.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">I've also looked at the maven build helper but it looks like it's a bad match. It seems to want the dependencies added as Build-Depends but I need a different version of some jars and will have to package a number of other jars. It's easiest to run 'mvn' and pull files from the standard maven archive, or lacking that (since I couldn't figure out how to do that without needing access to /root/.m2/repository despite using 'fakeroot') to pre-downloading the jars and putting them in debian/repo. It's only 122 MB. (sigh.)</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">Anyway any pointers to appropriate documentation would be appreciated. I've looked at the debian wiki but it's either been too basic or assumed that the reader already knew a lot about the topic. It would definitely help to list a few projects that use the tools.</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">(Hmm, I guess I could write a crawler that downloads each source package, unpacks it, and scans the debian/source/format file myself....)</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">Thanks,</div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000"><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;color:#000000">Bear</div></div>