Author |
Message |
abushcrafter

Joined: 30 Oct 2009 Posts: 1438 Location: England
|
Posted: Fri 11 Jun 2010, 08:41 Post subject:
Improving The Wrappers From Xarchive Subject description: Adding support for more formats. |
|
My aim is for all the formats that Peazip supports for Xarchiver to support too. I could do with a lot of help with adding the formats left as my bash knowledge is near to none.
Achievements:
One of the new formats that xarchive can now support is PET at last! It only need 4 extra characters added to the tar-wrap.sh!
Green means format is tested and should work.
To Do:
Add support for:
- swf
- SLP (Stampede Linux packages)
- pea
Check wherever these added formats work:
7zip-wrap.sh
- gnm
- 7z
- cab
- chm
- cpio
- dmg
- hfs
- iso
- lzh
- msi
- nsis
- udf
- wim
- xar
- exe
- swm
- chw
- hxs
zip-wrap.sh
- ear
- war
- pak
- pk3
- pk4
- smzip
- up3
- xpi
- ods
- ots
- odb
- odf
- odg
- otg
- odp
- otp
- odt
- ott
- oth
- odm
- odt
- oxt
- pup
tar-wrap.sh
- tar.7z
- pet
- tar.xz/txz/pxt (Added: Sun13/6/2010 Version:002)
- (NEW: Wed7/7/2010 Version:003)tar.lzma, tar.lz, tlz
(NEW: Sat25/9/2010) lha-wrap.sh
(NEW: Sat25/9/2010) uu-wrap.sh
(NEW: Sat25/9/2010) zoo-wrap.sh
(NEW: THU26/5/2011) pupzip
Latest version of p7zip binary is here:
Puppy Linux Discussion Forum :: View topic - [PET] p7zip 9.13 Full
Latest version of ZOO binary is here:
Puppy Linux Discussion Forum :: View topic - [PET] ZOO 2.10-21
Latest version of LHA binary is here:
Puppy Linux Discussion Forum :: View topic - [PET] LHA 1.17
To use, extract to "/".
PV=Package Version
 |
Description |
|

Download |
Filename |
ImprovedPupZipAndXarchiveWrappers.PV007.tar.bz2 |
Filesize |
9.96 KB |
Downloaded |
1520 Time(s) |
Last edited by abushcrafter on Wed 25 May 2011, 18:54; edited 24 times in total
|
Back to top
|
|
 |
sc0ttman

Joined: 16 Sep 2009 Posts: 2572 Location: UK
|
Posted: Fri 11 Jun 2010, 13:31 Post subject:
|
|
Good luck with this, great idea.. if I knew how to help, I would..
Maybe the authors of unrar, undeb, etc, can post their wrappers as examples?
_________________ Akita Linux, VLC-GTK, Pup Search, Pup File Search
|
Back to top
|
|
 |
abushcrafter

Joined: 30 Oct 2009 Posts: 1438 Location: England
|
Posted: Fri 11 Jun 2010, 16:33 Post subject:
|
|
sc0ttman wrote: | Maybe the authors of unrar, undeb, etc, can post their wrappers as examples? | Puppy comes with the wrapper for unrar it just needs the unrar binary. Puppy comes the the deb binary so that works out of the box.
sc0ttman wrote: | Good luck with this, great idea.. if I knew how to help, I would.. | Thanks. It's ok. No hard feelings.
|
Back to top
|
|
 |
abushcrafter

Joined: 30 Oct 2009 Posts: 1438 Location: England
|
Posted: Fri 11 Jun 2010, 17:22 Post subject:
|
|
Update!
|
Back to top
|
|
 |
technosaurus

Joined: 18 May 2008 Posts: 4787 Location: Kingwood, TX
|
Posted: Fri 11 Jun 2010, 21:43 Post subject:
|
|
I have already patched it to work with lzma and xz (and also to be more compatible with busybox versions) - sent it to Barry a few months ago ... should be in any new package since then. If not it is easy to reproduce using tar.gz as a template for lzma and xz ... for busybox compatibility just use short options instead of long versions
_________________ Check out my github repositories. I may eventually get around to updating my blogspot.
|
Back to top
|
|
 |
abushcrafter

Joined: 30 Oct 2009 Posts: 1438 Location: England
|
Posted: Sun 13 Jun 2010, 18:21 Post subject:
|
|
Thanks technosaurus. Added tar.xz support. Still need to add lzma support.
Update!
|
Back to top
|
|
 |
abushcrafter

Joined: 30 Oct 2009 Posts: 1438 Location: England
|
Posted: Wed 07 Jul 2010, 09:38 Post subject:
|
|
Updated!
Package Version (PV)=003
tar-wrap.sh:
Code: | # 2010-06-13 Alexander .S.T. Ross (abushcrafter) Email: <http://www.google.com/recaptcha/mailhide/d?k=01uNeUuXxeNm9FA3Zciuoqzw==&c=nVfKeb7kjqZVVIQanqJwEC2DP5zrALkSERTopYvj_pU=>
# * 0.0.2: Added support for tar.xz, txz, pxt, and t7z files.
# * 0.0.2: Added the changelog. |
7z-wrap.sh: Code: |
# 2010-06-30 Alexander S.T. Ross (abushcrafter) Email: <http://www.google.com/recaptcha/mailhide/d?k=01uNeUuXxeNm9FA3Zciuoqzw==&c=nVfKeb7kjqZVVIQanqJwEC2DP5zrALkSERTopYvj_pU=>
# * 0.0.3: Added support for tar.lzma, tar.lz, tlz files.
# * 0.0.3: Fixed missing info from the changelog. |
_________________ adobe flash is rubbish!
My Quote:"Humans are stupid, though some are clever but stupid." http://www.dependent.de/media/audio/mp3/System_Syn_Heres_to_You.zip http://www.systemsyn.com/
|
Back to top
|
|
 |
amigo
Joined: 02 Apr 2007 Posts: 2641
|
Posted: Wed 07 Jul 2010, 14:10 Post subject:
|
|
Here's a chunk of code for you which covers quite a few formats:
gitunpack:
Code: | #! /bin/sh
###############################################################################
### ###
### GNU Interactive Tools unpack script ###
### Copyright (C) 1997-2000, 2006-2007 Free Software Foundation, Inc. ###
### ###
### This file is part of gnuit. ###
### ###
### gnuit is free software: you can redistribute it and/or modify it ###
### under the terms of the GNU General Public License as published ###
### by the Free Software Foundation, either version 3 of the ###
### License, or (at your option) any later version. ###
### ###
### gnuit is distributed in the hope that it will be useful, but ###
### WITHOUT ANY WARRANTY; without even the implied warranty of ###
### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ###
### GNU General Public License for more details. ###
### ###
### You should have received a copy of the GNU General Public ###
### License along with this program. If not, see ###
### http://www.gnu.org/licenses/. ###
### ###
### Written by Tudor Hulubei and Viorel Anghel. ###
### ###
###############################################################################
# We can have one or two arguments.
if test "$#" -lt 2; then
echo "usage: $0 destdir archives..."
exit 1
fi
destdir="$1"
shift
srcdir=`pwd`
cd "$destdir" 2> /dev/null
if test "$?" -ne 0; then
gitmkdirs "$destdir"
if test "$?" -ne 0; then
exit 1;
fi
cd "$destdir"
if test "$?" -ne 0; then
exit 1;
fi
fi
exit_code=0
while [ $# -gt 0 ] ; do
archive=$1
if [ ! -e "$archive" ] ; then
echo "$0: $archive: not found"
elif [ -d "$archive" ] ; then
echo "$0: $archive: not a regular file" >&2
exit_code=1
else
# `ln' will fail if $destdir is the same as $srcdir.
ln -s "$srcdir/$archive" "$archive" 2> /dev/null
link_created=$?
lcarchive="$(echo "$archive"|tr '[:upper:]' '[:lower:]')"
case "$lcarchive" in
*.tar|*.cbt) tar -xvf "$archive";;
*.tar.bz) bzip -dc "$archive"|tar -xvf -;;
*.tar.bz2) bzip2 -dc "$archive"|tar -xvf -;;
*.tar.gz) gzip -dc -- "$archive"|tar -xvf -;;
*.tar.z) uncompress -dc "$archive"|tar -xvf -;;
*.tar.z) uncompress -dc "$archive"|tar -xvf -;;
*.tar.7z) 7z x -y -so -- "$archive" | tar -xvf -;;
*.tar.lzma) lzma -c -d -- "$archive" | tar -xvf -;;
*.cpio) cat "$archive"|cpio -i -d;;
*.cpio.bz) bzip -dc "$archive"|cpio -i -d;;
*.cpio.bz2) bzip2 -dc "$archive"|cpio -i -d;;
*.cpio.gz) gzip -dc -- "$archive"|cpio -i -d;;
*.cpio.z) uncompress -dc "$archive"|cpio -i -d;;
*.cpio.7z) 7z x -y -so -- "$archive" | cpio -i -d;;
*.cpio.lzma) lzma -c -d -- "$archive" | cpio -i -d;;
*.7z) 7z x -- "$archive";;
*.lzma) lzma -d -- "$archive";;
*.tgz) gzip -dc -- "$archive"|tar -xvf -;;
*.t[ar]z) uncompress -dc "$archive"|tar -xvf -;;
*.jar) jar -xvf "$archive";;
*.zip|*.cbz) unzip -o "$archive";;
*.arj|*.a[0-9][0-9]) unarj x "$archive";;
*.rar|*.cbr|*.r[0-9][0-9]) rar x -y -r -v "$archive";;
*.lha|*.lzh) lha -xvf "$archive";;
*.z) uncompress "$archive";;
*.bz) bzip -d "$archive";;
*.bz2) bzip2 -d "$archive";;
*.gz) gunzip "$archive";;
*.shar) sh "$archive";;
*.uu) uudecode "$archive";;
*.rpm) rpm2cpio "$archive"|cpio -v -i -d;;
*.deb) ar -xv "$archive";;
*.a) ar -xv "$archive";;
*.zoo) zoo --extract "$archive";;
*) echo "$0: $archive: unknown archive type" >&2
exit_code=1
esac
if test $? -ne 0; then
exit_code=$?
fi
if test "$link_created" -eq 0; then
rm "$archive"
fi
fi
shift
done
exit $exit_code
|
I started once to adapt the code so it would check to make sure the indicated decompressor is available and warn if not.
|
Back to top
|
|
 |
abushcrafter

Joined: 30 Oct 2009 Posts: 1438 Location: England
|
Posted: Wed 07 Jul 2010, 17:36 Post subject:
|
|
I will try this out and see how it compares to unp unp installation and configuration in debian.
_________________ adobe flash is rubbish!
My Quote:"Humans are stupid, though some are clever but stupid." http://www.dependent.de/media/audio/mp3/System_Syn_Heres_to_You.zip http://www.systemsyn.com/
|
Back to top
|
|
 |
vovchik

Joined: 23 Oct 2006 Posts: 1447 Location: Ukraine
|
Posted: Wed 07 Jul 2010, 19:21 Post subject:
|
|
Dear puppians,
Here is unp 2.0~pre4 (Debian Sid) as a pet.
With kind regards,
vovchik
Description |
|

Download |
Filename |
unp-2.0.pet |
Filesize |
12.12 KB |
Downloaded |
1153 Time(s) |
|
Back to top
|
|
 |
amigo
Joined: 02 Apr 2007 Posts: 2641
|
Posted: Thu 08 Jul 2010, 02:04 Post subject:
|
|
The bas things about unp is it is a perl script...
|
Back to top
|
|
 |
abushcrafter

Joined: 30 Oct 2009 Posts: 1438 Location: England
|
Posted: Sun 11 Jul 2010, 17:46 Post subject:
|
|
Thanks for the new version of unp. I have decided to stick with unp as it is very powerful. For example it supports PET out of the box. Not because it knows about the .pet extension but because (I think. Do correct me if I am wrong.) it is able to find out what it's MIME is/what archive type it is. Another feature I like is the "-u" parameter.
Now to extract code from that gitunpack script for xarchiver which I get around to it . Remind me if I forget to do it.
_________________ adobe flash is rubbish!
My Quote:"Humans are stupid, though some are clever but stupid." http://www.dependent.de/media/audio/mp3/System_Syn_Heres_to_You.zip http://www.systemsyn.com/
|
Back to top
|
|
 |
abushcrafter

Joined: 30 Oct 2009 Posts: 1438 Location: England
|
Posted: Sat 25 Sep 2010, 15:48 Post subject:
Update! |
|
New wrappers and a few miner bug fixes.
Thanks to amigofor the suggestion/info. New wrappers:
- lha-wrap.sh
- uu-wrap.sh
- zoo-wrap.sh
I have begun work on a CPIO wrapper but have got stuck due to lack of knowledge and probably time and the ability to face it .
So someone please finish it! Here it is:
Description |
|

Download |
Filename |
cpio-wrap.sh.001.InDev.tar.bz2 |
Filesize |
3.04 KB |
Downloaded |
966 Time(s) |
_________________ adobe flash is rubbish!
My Quote:"Humans are stupid, though some are clever but stupid." http://www.dependent.de/media/audio/mp3/System_Syn_Heres_to_You.zip http://www.systemsyn.com/
|
Back to top
|
|
 |
abushcrafter

Joined: 30 Oct 2009 Posts: 1438 Location: England
|
Posted: Mon 11 Oct 2010, 16:25 Post subject:
Update! See First Post! |
|
I have successfully extracted a "pup" archive with this new version.
"zip-wrap.sh":
Code: |
#ChangeLog ----------------------------------------------------------------------
# 2010-10-02-Sat 10:03:28 Alexander S.T. Ross (abushcrafter) Email: <http://www.google.com/recaptcha/mailhide/d?k=01uNeUuXxeNm9FA3Zciuoqzw==&c=nVfKeb7kjqZVVIQanqJwEC2DP5zrALkSERTopYvj_pU=>
# * 0.0.2: Added support for "pup". |
"tar-wrap.sh":
Code: |
#ChangeLog ----------------------------------------------------------------------
# 2010-10-02-Sat 10:03:28 Alexander S.T. Ross (abushcrafter) Email: <http://www.google.com/recaptcha/mailhide/d?k=01uNeUuXxeNm9FA3Zciuoqzw==&c=nVfKeb7kjqZVVIQanqJwEC2DP5zrALkSERTopYvj_pU=>
# * 0.0.5: Removed suport for "pup" as it is a "zip" not a "tar.gz".
|
I have attached a ".tar.bz2" which contains just the "tar-wrap.sh" and the "zip-wrap.sh" updated wrappers.
I also added to the first post, links to the threads for the ZOO and LHA PETs I made.
Description |
|

Download |
Filename |
JustTheTARAndZIPXarchiveWrappersFromPV006.tar.bz2 |
Filesize |
4.39 KB |
Downloaded |
966 Time(s) |
_________________ adobe flash is rubbish!
My Quote:"Humans are stupid, though some are clever but stupid." http://www.dependent.de/media/audio/mp3/System_Syn_Heres_to_You.zip http://www.systemsyn.com/
|
Back to top
|
|
 |
Karl Godt

Joined: 20 Jun 2010 Posts: 4208 Location: Kiel,Germany
|
Posted: Tue 08 Feb 2011, 18:51 Post subject:
|
|
I would like to suggest to change the error output from the wrapper files from ">/dev/stderr" ["> /dev/stderr"] to something like this :
">>/tmp/xarchive_errs.log" , because many times my /tmp/xerrs.log becomes unreadable and/or overwritten .
Code: | cd /usr/local/lib/xarchive/wrappers
for i in *; do cat $i | sed 's#> /dev/stderr#>>/tmp/xarchive_errs.log#g' > $i; done
for i in *; do cat $i | sed 's#>/dev/stderr#>>/tmp/xarchive_errs.log#g' > $i; done |
also interesting to have :
Code: | for FILE in *; do L=`grep -n 'E_UNSUPPORTED=' $FILE | cut -f 1 -d ':'` ; echo $L ; SEDINSL=`expr $L - 2`; SEDINS='echo >>/tmp/xarchive_errs.log' ; sed -i "$SEDINSL i $SEDINS" $FILE ; done
for FILE in *; do L=`grep -n 'opt="$1"' $FILE | cut -f 1 -d ':'` ; echo $L ; SEDINSL=`expr $L + 1`; SEDINS='echo opt $opt >>/tmp/xarchive_errs.log' ; sed -i "$SEDINSL i $SEDINS" $FILE ; done
for FILE in *; do L=`grep -n 'archive="$1"' $FILE | cut -f 1 -d ':'` ; echo $L ; SEDINSL=`expr $L + 1`; SEDINS='echo archive $archive >>/tmp/xarchive_errs.log' ; sed -i "$SEDINSL i $SEDINS" $FILE ; done |
The output of
Quote: | grep -n 'archive="$1"' *
7za-wrap.sh:56:archive="$1" |
and
Quote: | for FILE in *; do L=`grep -n 'archive="$1"' $FILE` ;echo $L; done
56:archive="$1" |
differ slightly , so i put in "echo $L"
|
Back to top
|
|
 |
|