Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does not work on 64bit cygwin and for packages with are xz compressed #39

Closed
GoogleCodeExporter opened this issue Feb 24, 2016 · 2 comments

Comments

@GoogleCodeExporter
Copy link

1. Cygwin package path has been altered to differenciate 32bit (x86) and 64-bit 
(x86_64) and installation fails

2. Some of the packages (like vim) are packed with lzlm compression with 
extension .xz and hence bzip2 doesn't handle this

The given patch fixes both these issues

Original issue reported on code.google.com by logsna...@gmail.com on 19 Dec 2013 at 7:43

Attachments:

@GoogleCodeExporter
Copy link
Author

--- apt-cyg-orig        2013-12-20 00:48:38.542186400 +0530
+++ /usr/bin/apt-cyg    2013-12-20 01:07:43.772186400 +0530
@@ -21,15 +21,22 @@

 WGET=`which wget 2> /dev/null`
 BZIP2=`which bzip2 2> /dev/null`
+XZ=`which xz 2> /dev/null`
 TAR=`which tar 2> /dev/null`
 GAWK=`which awk 2> /dev/null`
+FILE=`which file 2> /dev/null`
 if test "-$WGET-" = "--" || test "-$BZIP2-" = "--" || test "-$TAR-" = "--" \
-  || test "-$GAWK-" = "--"
+  || test "-$XZ-" = "--" || test "-$GAWK-" = "--" || test "-$FILE-" = "--"
 then
-  echo You must install wget, tar, gawk and bzip2 to use apt-cyg.
+  echo You must install wget, tar, gawk bzip2 xz and file to use apt-cyg.
   exit 1
 fi

+arch=x86
+if uname -m|grep 'x86_64' > /dev/null 2>&1 ; then
+   arch=x86_64
+fi
+
 function usage()
 {
   echo apt-cyg: Installs and removes Cygwin packages.
@@ -80,12 +87,12 @@
   then
     mirror="`head -1 /etc/setup/last-mirror`"
   fi
-  mirrordir="`echo "$mirror" | sed -e "s/:/%3a/g" -e "s:/:%2f:g"`"
+  mirrordir="`echo "$mirror/" | sed -e "s/:/%3a/g" -e "s:/:%2f:g"`"

   echo Working directory is $cache
   echo Mirror is $mirror
-  mkdir -p "$cache/$mirrordir"
-  cd "$cache/$mirrordir"
+  mkdir -p "$cache/$mirrordir/$arch"
+  cd "$cache/$mirrordir/$arch"
 }


@@ -95,14 +102,14 @@
   then
     touch setup.ini
     mv setup.ini setup.ini-save
-    wget -N $mirror/setup.bz2
+    wget -N $mirror/$arch/setup.bz2
     if test -e setup.bz2 && test $? -eq 0
     then
       bunzip2 setup.bz2
       mv setup setup.ini
       echo Updated setup.ini
     else
-      wget -N $mirror/setup.ini
+      wget -N $mirror/$arch/setup.ini
       if test -e setup.ini && test $? -eq 0
       then
         echo Updated setup.ini
@@ -350,7 +357,12 @@
     fi

     echo "Unpacking..."
-    cat $file | bunzip2 | tar > "/etc/setup/$pkg.lst" xvf - -C /
+
+    if file $file|grep "XZ compressed" > /dev/null 2>&1 ; then
+       cat $file | unxz | tar > "/etc/setup/$pkg.lst" xvf - -C /
+    else
+       cat $file | bunzip2 | tar > "/etc/setup/$pkg.lst" xvf - -C /
+    fi
     gzip -f "/etc/setup/$pkg.lst"
     cd ../..

Original comment by logsna...@gmail.com on 19 Dec 2013 at 7:47

@GoogleCodeExporter
Copy link
Author

Fixed in 0.59.

Original comment by i...@skl.me on 19 Feb 2014 at 8:43

  • Changed state: Verified

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant