summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeon2016-05-08 23:49:50 +0800
committerLeon2016-05-08 23:49:50 +0800
commit25db395316bd2ea042dee53058bcd42153dc62e8 (patch)
tree986f903b37d146f4db33e7489f49e8d646749607
downloadaur-25db395316bd2ea042dee53058bcd42153dc62e8.tar.gz
1.5.86.4849
-rw-r--r--.SRCINFO19
-rw-r--r--.gitignore5
-rw-r--r--PKGBUILD161
-rw-r--r--b1freearchiver.install70
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
+
+}