tag 700411 -patch thanks. Hi Carlos, On Sun, May 05, 2013 at 07:41:04PM +0200, Carlos Alberto Lopez Perez wrote: > tags 700411 patch > thanks > > On 12/02/13 14:37, Raphaël Hertzog wrote: > > > > git-import-orig will happily import upstream tarballs that contain a > > debian directory and when the upstream debian dir changes, git-import-orig > > will try to merge those changes in the real debian packaging available on > > the master branch. > > > > In the best case, it fails, in the worst case it leads to indesirable > > changes. > > > > I tried to work-around this problem with --filter='debian/*' but there's > > no safe pattern to use... because this one will also strip > > "src/plugins/debian" from the upstream tarball and we don't really want > > this by default. > > > > So I would suggest that git-import-orig should automatically remove the > > top-level "debian" directory when it does its work. > > > > I'm not sure how git-import-dsc behaves in the same situation but it > > should probably adjust its behaviour depending on the source format. > > With 3.0 (quilt), you want this behaviour since the debian directory > > is always coming from a separate tarball and thus both debian directories > > are entirely unrelated. With "3.0 (native)" you want to keep the debian > > directory because it only exists in the upstream tarball. With "1.0" it > > depends... > > > > Hi! > > I have been also affected by this issue. > > I have cooked a patch to fix this. It checks if the unpacked upstream > tarball contains a "debian/" directory, then it checks if the current > package is native or not. If it's not native, then it wipes the debian/ > directory from the unpacked upstream tarball before doing the import.
It's a great start but before applying it we should also make sure git-import-dsc behaves consistently and also not do it for 1.0 packages since these are expected to have a patch that applies against the upstream tarball. Cheers, -- Guido > > The patch attached is against git-buildpackage=0.6.0~git20130414 > --- a/gbp/scripts/import_orig.py > +++ b/gbp/scripts/import_orig.py > @@ -21,11 +21,13 @@ > import os > import sys > import tempfile > +import shutil > import gbp.command_wrappers as gbpc > from gbp.deb import (DebianPkgPolicy, parse_changelog_repo) > from gbp.deb.uscan import (Uscan, UscanError) > from gbp.deb.changelog import ChangeLog, NoChangeLogError > from gbp.deb.git import (GitRepositoryError, DebianGitRepository) > +from gbp.deb.source import DebianSource > from gbp.config import GbpOptionParserDebian, GbpOptionGroup, > no_upstream_branch_msg > from gbp.errors import GbpError > import gbp.log > @@ -283,6 +285,13 @@ > tmpdir = tempfile.mkdtemp(dir='../') > source.unpack(tmpdir, options.filters) > gbp.log.debug("Unpacked '%s' to '%s'" % (source.path, > source.unpacked)) > + if os.path.isdir("%s" %(os.path.join(source.unpacked,"debian"))): > + try: > + if not DebianSource('.').is_native(): > + shutil.rmtree("%s" > %(os.path.join(source.unpacked,"debian"))) > + gbp.log.info("Deleted 'debian/' directory from > unpacked upstream tarball before import") > + except Exception as e: > + raise GbpError("Can't determine package type: %s" % e) > > if source.needs_repack(options): > gbp.log.debug("Filter pristine-tar: repacking '%s' from '%s'" % > (source.path, source.unpacked)) -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org