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

Re: reproducing the build and the upload process of libhtmlcleaner-java



On 05/19/2013 01:33 AM, Geert Stappers wrote:
> Hello Alexandre,
> Hello People reading ITP libhtmlcleaner-java,
> and hello Debian Java People,
> 
> Summary:
>   Please document the maintainers workflow for libhtmlcleaner-java,
>   have a debian/README.soure in the git repository.
>        
> This is an e-mail about wanting to help, but being helpless.
> About wanting to go beyond helpless and being helpfull.
> 
> There is Debian Bug report #707093
>  ITP: libhtmlcleaner-java -- Java HTML Parser library
> ( http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=707093 )
> 
> Alexandre Rossi did the packing work, but has no upload privilege.
> Geert Stappers has upload privilege, but can't review the work of Alexandre.
> 
> It is part my ignorance and part missing documentation.
> 
> To solve my ignorance am I, stappers, willing to learn. To solve missing documentation
> is my proposal add a debian/README.source file. See http://wiki.debian.org/Java/JavaVcs
> for minimal content.
> 
> In the README.source having documented how to "convert" the .zip from upstream
> into the git repository would also be a good thing.
> 
> 
> The command `dpkg-buildpackage -uc -us` gives this
> <output>
>  dpkg-source -b libhtmlcleaner-java
> dpkg-source: error: can't build with source format '3.0 (quilt)': no upstream tarball found at ../libhtmlcleaner-java_2.2.orig.tar.{bz2,gz,lzma,xz}
> dpkg-buildpackage: error: dpkg-source -b libhtmlcleaner-java gave error exit status 255
> </output>
> 
> If something else as `dpkg-buildpackage` should be used, please document it.

Hi Geert, Alexandre:

In general the issue appears to be that there's no orig.tar.gz file and
not documentation about how to create one.  Alexandre, on May 10th you
posted to the bug report that you uploaded the packages (presumably one
of which was libhtmlcleaner-java) to mentors.debian.net, but I'm not
able to find them.  That source package would have included an
.orig.tar.gz file.

While it's possible to recreate the upstream orig.tar.gz from the
upstream branch in the git repository using git-archive, it would be
preferable going forward to use pristine-tar to create a pristine-tar
branch.  (Since you already have an upstream branch it won't take up
much extra space.)

And from that, was able to build a package using "debuild -us -uc".
However, the packaging repo in pkg-java/libhtmlcleaner-java.git is kind
of a mess.  Newer upstream versions 2.2.1 and 2.4 have already been
committed and merged, but the files in debian/ (changelog and patches)
are for the 2.2 version.  Thus, the package can't build when the master
branch of the git repository has been merged with upstream/2.4, but the
debian/changelog is expecting an orig.tar.gz version 2.2.

If you just want to see how it build, you can follow these steps:

# clone the pkg-java repo
git clone git+ssh://git.debian.org/git/pkg-java/libhtmlcleaner-java.git
cd libhtmlcleaner-java

# (re)create the upstream tarball for the 2.2 version
git archive upstream/2.2 --prefix=libhtmlcleaner-java-2.2/ -o
../libhtmlcleaner-java_2.2.orig.tar.gz

# clean up the 2.4 sources that are currently there
# (as an alternative, you could copy ./debian/ to a new folder)
rm -rf .git __MACOSX src

# restore the 2.2 sources
tar --strip-components=1 -xvf ../libhtmlcleaner-java_2.2.orig.tar.gz

# build!
debuild -us -uc


While this "works," it's completely and deeply flawed from a
git-buildpackage work-flow point of view.  Alexandre, what I recommend
doing is to:

1) Get a working source package for whatever version it is you want to
package and then make that package available on mentors.debian.net.
Iterate over that package until your sponsor feels it is ready for Debian.

2) Completely erase the existing pkg-java/libhtmlcleaner-java.git repo
so we can start over fresh.

3) Use git-import-dsc to create a local gbp repository for your package.

4) Verify that your package builds with git-buildpackage.

5) Push the newly created repository, including the upstream and
pristine-tar branches, to pkg-java/libhtmlcleaner-java.git.

Hope that helps,
tony



Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: