diff options
author | Leon | 2016-05-08 23:49:50 +0800 |
---|---|---|
committer | Leon | 2016-05-08 23:49:50 +0800 |
commit | 25db395316bd2ea042dee53058bcd42153dc62e8 (patch) | |
tree | 986f903b37d146f4db33e7489f49e8d646749607 | |
download | aur-25db395316bd2ea042dee53058bcd42153dc62e8.tar.gz |
1.5.86.4849
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | PKGBUILD | 161 | ||||
-rw-r--r-- | b1freearchiver.install | 70 |
4 files changed, 255 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..628f2b6afa01 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,19 @@ +# Generated by makepkg 5.0.1 +# Sun May 8 15:48:53 UTC 2016 +pkgbase = b1freearchiver + pkgdesc = Most friendly and simple free file archiver + pkgver = 1.5.86.4849 + pkgrel = 1 + url = http://www.b1.org + install = b1freearchiver.install + arch = i686 + arch = x86_64 + license = custom + depends = qtwebkit + depends = python + options = strip + source = http://b1.org/download-start/0/os=deb64/b1freearchiver_current_stable_amd64.deb + md5sums = SKIP + +pkgname = b1freearchiver + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..5840a22b1d73 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +* +!.gitignore +!PKGBUILD +!b1freearchiver.install +!.SRCINFO diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..615c39677640 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,161 @@ +#Contributor: Leon <leon.tty1@gmail.com> + +pkgname=b1freearchiver +pkgdesc="Most friendly and simple free file archiver" +pkgver=1.5.86.4849 +pkgrel=1 +arch=('i686' 'x86_64') +depends=(qtwebkit python) +url="http://www.b1.org" +license=('custom') +options=(strip) +install=$pkgname.install + +case "$CARCH" in + 'i686') + _arch1=32 + _arch2=i386 + md5sums=(SKIP) + ;; + 'x86_64') + _arch1=64 + _arch2=amd64 + md5sums=(SKIP) + ;; +esac + +source=("http://b1.org/download-start/0/os=deb${_arch1}/b1freearchiver_current_stable_${_arch2}.deb") + + +package() { + cd "$srcdir" + tar zxpf data.tar.gz -C "$pkgdir" + mv "$pkgdir"/usr/bin/b1-kde/* "$pkgdir/usr/lib/$pkgname/" + rmdir "$pkgdir"/usr/bin/b1-kde + chmod a+x "$pkgdir"/usr/lib/$pkgname/* + + # These python scripts are total mess, I rewrote them. + patch "$pkgdir"/usr/lib/b1freearchiver/AddToArchive <<'_EOF_' +--- AddToArchive 2014-02-15 00:23:46.000000000 +0800 ++++ AddToArchive 2016-05-08 23:18:23.265395809 +0800 +@@ -3,26 +3,30 @@ + import sys + import os + import os.path ++import subprocess as subp ++import tempfile + + if __name__ == "__main__": + if len(sys.argv) < 2: +- print "Error: invalid arguments." ++ sys.stderr.write("Error: invalid arguments."+os.linesep) + sys.exit(1) + +- os.system("rm -f /tmp/b1.lst") ++ with tempfile.NamedTemporaryFile('w+') as w: ++ for f in sys.argv[1: len(sys.argv)]: ++ w.write(f) ++ w.write(os.linesep) ++ w.flush() + +- f = file("/tmp/b1.lst",'a') +- for str in sys.argv[1: len(sys.argv)]: +- f.write(str) +- f.write("\n") +- f.close() +- +- real_dir = os.path.dirname(str) +- command_line = "b1manager a " +- command_line += "\"*" + os.path.basename(real_dir) + ".zip\" " +- command_line += "\"@/tmp/b1.lst\"" +- +- print command_line +- os.chdir(real_dir) +- os.system(command_line); +- sys.exit(0) ++ real_dir = os.path.dirname(os.path.abspath(sys.argv[-1])) ++ if len(sys.argv) == 2: ++ outname = os.path.splitext(sys.argv[1])[0] ++ else: ++ outname = real_dir ++ command_line = ['b1manager','a', ++ '*{}.zip'.format(os.path.basename(outname)), ++ '@{}'.format(w.name)] ++ ++ #print(command_line) ++ os.chdir(real_dir) ++ ret = subp.call(command_line) ++ sys.exit(ret) +_EOF_ + + patch "$pkgdir"/usr/lib/b1freearchiver/ExtractTo <<'_EOF_' +--- ExtractTo 2014-02-15 00:23:46.000000000 +0800 ++++ ExtractTo 2016-05-08 23:29:22.584108648 +0800 +@@ -3,20 +3,18 @@ + import sys + import os + import os.path ++import subprocess as subp + + def extaract_file(filename): +- command_line = "b1manager x " +- command_line += "\"" + filename + "\" " +- command_line += "\"*" + os.path.dirname(filename) + "\"" +- print command_line +- os.system(command_line) ++ command_line = ["b1manager", "x", filename, ++ "*{}".format(os.path.dirname(os.path.abspath(filename)))] ++ subp.call(command_line) + + if __name__ == "__main__": + if len(sys.argv) < 2: +- print "Error: invalid arguments." ++ sys.stderr.write("Error: invalid arguments.") ++ sys.stderr.write(os.linesep) + sys.exit(1) + +- for str in sys.argv[1: len(sys.argv)]: +- extaract_file(str) +- +- sys.exit(0) ++ for f in sys.argv[1: len(sys.argv)]: ++ extaract_file(f) +_EOF_ + + patch "$pkgdir"/usr/lib/b1freearchiver/ExtractHere <<'_EOF_' +--- ExtractHere 2014-02-15 00:23:46.000000000 +0800 ++++ ExtractHere 2016-05-08 23:30:55.405958018 +0800 +@@ -3,20 +3,17 @@ + import sys + import os + import os.path ++import subprocess as subp + + def extaract_file(filename): +- command_line = "b1manager x " +- command_line += "\"" + filename + "\" " +- command_line += "\"" + os.path.dirname(filename) + "\"" +- print command_line +- os.system(command_line) ++ command_line = ["b1manager","x",filename,os.path.dirname(os.path.abspath(filename))] ++ subp.call(command_line) + + if __name__ == "__main__": + if len(sys.argv) < 2: +- print "Error: invalid arguments." ++ sys.stderr.write("Error: invalid arguments.") ++ sys.stderr.write(os.linesep) + sys.exit(1) + +- for str in sys.argv[1: len(sys.argv)]: +- extaract_file(str) +- +- sys.exit(0) ++ for f in sys.argv[1: len(sys.argv)]: ++ extaract_file(f) +_EOF_ + + sed -i 's:Exec=/usr/bin/b1/:Exec=/usr/lib/'$pkgname'/:' \ + "$pkgdir"/usr/share/kde4/services/*.desktop + find "$pkgdir" -type d -print0 | xargs -0 chmod 755 +} diff --git a/b1freearchiver.install b/b1freearchiver.install new file mode 100644 index 000000000000..0919198a3752 --- /dev/null +++ b/b1freearchiver.install @@ -0,0 +1,70 @@ +update_desktop() { + + xdg-icon-resource forceupdate --theme hicolor &>/dev/null + update-mime-database /usr/share/mime &>/dev/null + update-desktop-database -q + +} + +post_install() { + +update_desktop + +echo "Starting python script for procesing uuid." + +python - <<END + +CONFIG_DIR = '/etc/xdg/b1.org' +CONFIG_INI = '/etc/xdg/b1.org/B1Manager.conf' + +import sys +import os +import uuid +from configparser import RawConfigParser as ConfParser +from configparser import Error + +p = ConfParser() +p.optionxform = str + +try: + results = p.read(CONFIG_INI) +except Error as msg: + if not os.path.exists(CONFIG_DIR): + os.makedirs(CONFIG_DIR) + with open('example.cfg', 'w') as configfile: + configfile.write('[General]\n') + configfile.write('UID = {%s}\n'%str(uuid.uuid1())) + sys.exit(0) +else: + if 'General' in p.sections(): + b1_uuid = p.get('General', 'UID') + else: + b1_uuid = None + + if (b1_uuid is not None) and (len(b1_uuid) > 0): + sys.exit(0) + else: + p.add_section('General') + + p.set('General', 'UID', '{%s}'%str(uuid.uuid1())) + if not os.path.exists(CONFIG_DIR): + os.makedirs(CONFIG_DIR) + with open(CONFIG_INI, 'w') as configfile: + p.write(configfile) + sys.exit(0) + +END + +} + +post_upgrade() { + + update_desktop + +} + +post_remove() { + + update_desktop + +} |