Package: gitpkg
Version: 0.6
Severity: important
Tags: patch
When I run git-debimport with an absolute path, I get the error shown below:
$ git-debimport /absolute/path/to/package
Initialized empty Git repository in .git/
Initial import of /absolute/path/to/package/package_1.0.orig.tar.gz
tar: ..//absolute/path/to/package/package_1.0.orig.tar.gz: Cannot
open: No such file or directory
tar: Error is not recoverable: exiting now
But it works when I git-debimport it for the same directory location
but with a relative path.
git-debimport ../../../path/to/package
It appears that ../ is prefixed always in the get-debimport script
when looking up the original tar ball, which caused it to fail for
absolute paths.
I've attached a patch that fixes this and I've tested it for both
relative and absolute directories, and it seems to work. Appreciate if
you could review, and consider this for inclusion. Thanks.
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.24-1-686 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
-- no debconf information
--
Anuradha Weeraman
http://www.linux.lk/~anu/
http://www.gnuromancer.org
--- git-debimport 2008-05-22 15:50:08.000000000 -0400
+++ git-debimport.new 2008-05-22 15:49:52.000000000 -0400
@@ -63,6 +63,11 @@
PACKAGE_NAME="${1##*/}"
PACKAGE_DIFFS="$(find $PACKAGES_DIR -type f -name ${PACKAGE_NAME}_*.diff.gz | sort)"
CACHE_DIR="../${PACKAGE_NAME}-import-cache"
+FIRST_CH=`echo "$PACKAGES_DIR" | head -c 1`
+
+if [ "$FIRST_CH" != "/" ]; then
+ PREFIX="../"
+fi
if [ -z "$PACKAGE_DIFFS" ]; then
echo "No ${1}_*.diff.gz files found, aborting."
@@ -130,7 +135,7 @@
rm -rf "$CACHE_DIR"
mkdir -p "$CACHE_DIR/${PACKAGE_NAME}-${UPSTREAM_VERSION}.orig"
- tar -xf "../$PACKAGES_DIR/${PACKAGE_NAME}_${UPSTREAM_VERSION}.orig.tar.gz" \
+ tar -xf "${PREFIX}$PACKAGES_DIR/${PACKAGE_NAME}_${UPSTREAM_VERSION}.orig.tar.gz" \
-C "$CACHE_DIR/${PACKAGE_NAME}-${UPSTREAM_VERSION}.orig" --strip 1
for i in $(ls -A "$CACHE_DIR/${PACKAGE_NAME}-${UPSTREAM_VERSION}.orig"); do
cp -al "$CACHE_DIR/${PACKAGE_NAME}-${UPSTREAM_VERSION}.orig/$i" .
@@ -183,7 +188,7 @@
for i in $(ls -A "$CACHE_DIR/${PACKAGE_NAME}-${UPSTREAM_VERSION}.orig"); do
cp -al "$CACHE_DIR/${PACKAGE_NAME}-${UPSTREAM_VERSION}.orig/$i" .
done
- zcat "../$f" | patch -p1
+ zcat "${PREFIX}$f" | patch -p1
chmod 755 debian/rules
DATE=$(dpkg-parsechangelog | sed -n 's/Date: //p')