From owner-freebsd-ports-bugs@FreeBSD.ORG Mon Jul 11 22:00:24 2011 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AEAE3106566C for ; Mon, 11 Jul 2011 22:00:24 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 346C48FC14 for ; Mon, 11 Jul 2011 22:00:23 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p6BM0N2a082060 for ; Mon, 11 Jul 2011 22:00:23 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p6BM0NAM082059; Mon, 11 Jul 2011 22:00:23 GMT (envelope-from gnats) Resent-Date: Mon, 11 Jul 2011 22:00:23 GMT Resent-Message-Id: <201107112200.p6BM0NAM082059@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Rusty Nejdl Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 565821065670 for ; Mon, 11 Jul 2011 21:58:07 +0000 (UTC) (envelope-from rnejdl@tethys.ringofsaturn.com) Received: from tethys.ringofsaturn.com (tethys.ringofsaturn.com [71.252.219.43]) by mx1.freebsd.org (Postfix) with ESMTP id 0CF838FC14 for ; Mon, 11 Jul 2011 21:58:06 +0000 (UTC) Received: from ASSP.nospam (localhost [127.0.0.1]) by tethys.ringofsaturn.com (8.14.4/8.14.4) with ESMTP id p6BLw6wH025558 for ; Mon, 11 Jul 2011 16:58:06 -0500 (CDT) (envelope-from rnejdl@tethys.ringofsaturn.com) Received: from tethys.ringofsaturn.com ([127.0.0.1] helo=tethys.ringofsaturn.com) by ASSP.nospam with ESMTPS(AES256-SHA) (ASSP 1.9.1.1); 11 Jul 2011 16:58:05 -0500 Received: (from rnejdl@localhost) by tethys.ringofsaturn.com (8.14.4/8.14.4/Submit) id p6BLw5c0025557; Mon, 11 Jul 2011 16:58:05 -0500 (CDT) (envelope-from rnejdl) Message-Id: Date: Mon, 11 Jul 2011 16:58:05 -0500 (CDT) From: Rusty Nejdl To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/158818: Update ports deskutils/calibre to 0.8.9, fix ICU in Makefile, and update patch for mounting ebooks X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Rusty Nejdl List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jul 2011 22:00:24 -0000 >Number: 158818 >Category: ports >Synopsis: Update ports deskutils/calibre to 0.8.9, fix ICU in Makefile, and update patch for mounting ebooks >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Mon Jul 11 22:00:22 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Rusty Nejdl >Release: FreeBSD 8.2-STABLE amd64 >Organization: >Environment: System: FreeBSD tethys.ringofsaturn.com 8.2-STABLE FreeBSD 8.2-STABLE #1: Tue Jun 14 22:35:36 CDT 2011 root@tethys.ringofsaturn.com:/usr/obj/usr/src/sys/GENERIC amd64 >Description: This patch updates calibre from 0.8.6 to 0.8.9. It also includes a fix for the recent ICU update. Finally, it includes an updated patch from Denver Hull (denverh@comcast.net) that updates the code for mounting ebooks and integrating them within calibre. >How-To-Repeat: The current port doesn't compile with the new ICU. >Fix: --- calibre.diff begins here --- diff -ruN calibre/Makefile calibre.new/Makefile --- calibre/Makefile 2011-07-10 16:06:36.000000000 -0500 +++ calibre.new/Makefile 2011-07-11 16:23:17.000000000 -0500 @@ -6,8 +6,7 @@ # PORTNAME= calibre -PORTVERSION= 0.8.6 -PORTREVISION= 1 +PORTVERSION= 0.8.9 CATEGORIES= deskutils python MASTER_SITES= SF/${PORTNAME}/${PORTVERSION}/ @@ -19,7 +18,7 @@ poppler-qt4.3:${PORTSDIR}/graphics/poppler-qt4 \ wmflite:${PORTSDIR}/graphics/libwmf \ chm.0:${PORTSDIR}/misc/chmlib \ - icudata.46:${PORTSDIR}/devel/icu + icudata.48:${PORTSDIR}/devel/icu BUILD_DEPENDS= py*-setuptools>=0:${PORTSDIR}/devel/py-setuptools \ py*-sip>=0:${PORTSDIR}/devel/py-sip \ py*-qt4-core>=0:${PORTSDIR}/devel/py-qt4-core \ diff -ruN calibre/distinfo calibre.new/distinfo --- calibre/distinfo 2011-06-20 21:26:46.000000000 -0500 +++ calibre.new/distinfo 2011-07-11 12:43:22.000000000 -0500 @@ -1,2 +1,2 @@ -SHA256 (calibre-0.8.6.tar.gz) = 811a967fa44b59a34d313eda984c19f575cf2c5fe774170e08b4c536e9e22b72 -SIZE (calibre-0.8.6.tar.gz) = 28494397 +SHA256 (calibre-0.8.9.tar.gz) = d46709e2a81679dd0678b36696f8ce96aff112aebff494478c1674ec76612f14 +SIZE (calibre-0.8.9.tar.gz) = 29084120 diff -ruN calibre/files/patch-device.py calibre.new/files/patch-device.py --- calibre/files/patch-device.py 2011-06-19 15:45:21.000000000 -0500 +++ calibre.new/files/patch-device.py 2011-07-11 15:45:03.000000000 -0500 @@ -1,192 +1,203 @@ ---- src/calibre/devices/usbms/device.py.orig 2011-06-19 09:41:50.000000000 -0500 -+++ src/calibre/devices/usbms/device.py 2011-06-19 08:20:32.000000000 -0500 -@@ -17,7 +17,7 @@ - from calibre.devices.interface import DevicePlugin - from calibre.devices.errors import DeviceError, FreeSpaceError - from calibre.devices.usbms.deviceconfig import DeviceConfig --from calibre.constants import iswindows, islinux, isosx, plugins -+from calibre.constants import iswindows, islinux, isosx, isfreebsd, plugins - from calibre.utils.filenames import ascii_filename as sanitize, shorten_components_to - - if isosx: -@@ -698,7 +698,152 @@ - self._card_a_prefix = self._card_b_prefix - self._card_b_prefix = None +--- src/calibre/devices/usbms/device.py.orig 2011-07-11 15:41:16.000000000 -0500 ++++ src/calibre/devices/usbms/device.py 2011-07-11 15:44:07.000000000 -0500 +@@ -704,105 +704,104 @@ + # ------------------------------------------------------ + # + # open for FreeBSD +-# find the device node or nodes that match the S/N we already have from the scanner +-# and attempt to mount each one +-# 1. get list of disk devices from sysctl +-# 2. compare that list with the one from camcontrol +-# 3. and see if it has a matching s/n +-# 6. find any partitions/slices associated with each node +-# 7. attempt to mount, using calibre-mount-helper, each one +-# 8. when finished, we have a list of mount points and associated device nodes ++# find the device node or nodes that match the S/N we already have from the scanner ++# and attempt to mount each one ++# 1. get list of disk devices from sysctl ++# 2. find the ones with matching s/n ++# 3. find any partitions/slices associated with each node ++# 4. attempt to mount each one using calibre-mount-helper ++# 5. when finished, we have a list of mount points and associated device nodes + # + def open_freebsd(self): +- # this gives us access to the S/N, etc. of the reader that the scanner has found +- # and the match routines for some of that data, like s/n, vendor ID, etc. +- d=self.detected_device - -+# ------------------------------------------------------ -+# -+# open for FreeBSD -+# find the device node or nodes that match the S/N we already have from the scanner -+# and attempt to mount each one -+# 1. get list of disk devices from sysctl -+# 2. compare that list with the one from camcontrol -+# 3. and see if it has a matching s/n -+# 6. find any partitions/slices associated with each node -+# 7. attempt to mount, using calibre-mount-helper, each one -+# 8. when finished, we have a list of mount points and associated device nodes -+# -+ def open_freebsd(self): -+ -+ # this gives us access to the S/N, etc. of the reader that the scanner has found -+ # and the match routines for some of that data, like s/n, vendor ID, etc. -+ d=self.detected_device -+ -+ if not d.serial: -+ raise DeviceError("Device has no S/N. Can't continue") -+ return False -+ -+ devs={} -+ di=0 -+ ndevs=4 # number of possible devices per reader (main, carda, cardb, launcher) -+ -+ #get list of disk devices -+ p=subprocess.Popen(["sysctl", "kern.disks"], stdout=subprocess.PIPE) -+ kdsks=subprocess.Popen(["sed", "s/kern.disks: //"], stdin=p.stdout, stdout=subprocess.PIPE).communicate()[0] -+ p.stdout.close() -+ #print kdsks -+ for dvc in kdsks.split(): -+ # for each one that's also in the list of cam devices ... -+ p=subprocess.Popen(["camcontrol", "devlist"], stdout=subprocess.PIPE) -+ devmatch=subprocess.Popen(["grep", dvc], stdin=p.stdout, stdout=subprocess.PIPE).communicate()[0] -+ p.stdout.close() -+ if devmatch: -+ #print "Checking ", devmatch -+ # ... see if we can get a S/N from the actual device node -+ sn=subprocess.Popen(["camcontrol", "inquiry", dvc, "-S"], stdout=subprocess.PIPE).communicate()[0] -+ sn=sn[0:-1] # drop the trailing newline -+ #print "S/N = ", sn -+ if sn and d.match_serial(sn): -+ # we have a matching s/n, record this device node -+ #print "match found: ", dvc -+ devs[di]=dvc -+ di += 1 -+ -+ # sort the list of devices -+ for i in range(1,ndevs+1): -+ for j in reversed(range(1,i)): -+ if devs[j-1] > devs[j]: -+ x=devs[j-1] -+ devs[j-1]=devs[j] -+ devs[j]=x -+ #print devs -+ -+ # now we need to see if any of these have slices/partitions -+ mtd=0 -+ label="READER" # could use something more unique, like S/N or productID... -+ cmd = '/usr/local/bin/calibre-mount-helper' -+ cmd = [cmd, 'mount'] -+ for i in range(0,ndevs): -+ cmd2="ls /dev/"+devs[i]+"*" -+ p=subprocess.Popen(cmd2, shell=True, stdout=subprocess.PIPE) -+ devs[i]=subprocess.Popen(["cut", "-d", "/", "-f" "3"], stdin=p.stdout, stdout=subprocess.PIPE).communicate()[0] -+ p.stdout.close() -+ -+ # try all the nodes to see what we can mount -+ for dev in devs[i].split(): -+ mp='/media/'+label+'-'+dev -+ #print "trying ", dev, "on", mp -+ try: -+ p = subprocess.Popen(cmd + ["/dev/"+dev, mp]) -+ except OSError: -+ raise DeviceError(_('Could not find mount helper: %s.')%cmd[0]) -+ while p.poll() is None: -+ time.sleep(0.1) -+ -+ if p.returncode == 0: -+ #print " mounted", dev -+ if i == 0: -+ self._main_prefix = mp -+ self._main_dev = "/dev/"+dev -+ #print "main = ", self._main_dev, self._main_prefix -+ if i == 1: -+ self._card_a_prefix = mp -+ self._card_a_dev = "/dev/"+dev -+ #print "card a = ", self._card_a_dev, self._card_a_prefix -+ if i == 2: -+ self._card_b_prefix = mp -+ self._card_b_dev = "/dev/"+dev -+ #print "card b = ", self._card_b_dev, self._card_b_prefix -+ -+ mtd += 1 -+ break -+ -+ if mtd > 0: -+ return True -+ else : -+ return False -+# -+# ------------------------------------------------------ -+# -+# this one is pretty simple: -+# just umount each of the previously -+# mounted filesystems, using the mount helper -+# -+ def eject_freebsd(self): -+ cmd = '/usr/local/bin/calibre-mount-helper' -+ cmd = [cmd, 'eject'] -+ -+ if self._main_prefix: -+ #print "umount main:", cmd, self._main_dev, self._main_prefix -+ try: -+ p = subprocess.Popen(cmd + [self._main_dev, self._main_prefix]) -+ except OSError: -+ raise DeviceError( -+ _('Could not find mount helper: %s.')%cmd[0]) -+ while p.poll() is None: -+ time.sleep(0.1) -+ -+ if self._card_a_prefix: -+ #print "umount card a:", cmd, self._card_a_dev, self._card_a_prefix -+ try: -+ p = subprocess.Popen(cmd + [self._card_a_dev, self._card_a_prefix]) -+ except OSError: -+ raise DeviceError( -+ _('Could not find mount helper: %s.')%cmd[0]) -+ while p.poll() is None: -+ time.sleep(0.1) -+ -+ if self._card_b_prefix: -+ #print "umount card b:", cmd, self._card_b_dev, self._card_b_prefix -+ try: -+ p = subprocess.Popen(cmd + [self._card_b_dev, self._card_b_prefix]) -+ except OSError: -+ raise DeviceError( -+ _('Could not find mount helper: %s.')%cmd[0]) -+ while p.poll() is None: -+ time.sleep(0.1) -+ -+ self._main_prefix = None -+ self._card_a_prefix = None -+ self._card_b_prefix = None -+# ------------------------------------------------------ - - def open(self, library_uuid): - time.sleep(5) -@@ -709,6 +854,14 @@ - except DeviceError: - time.sleep(7) - self.open_linux() -+ if isfreebsd: -+ self._main_dev = self._card_a_dev = self._card_b_dev = None -+ try: -+ self.open_freebsd() -+ except DeviceError: -+ subprocess.Popen(["camcontrol", "rescan", "all"]) -+ time.sleep(2) -+ self.open_freebsd() - if iswindows: - try: - self.open_windows() -@@ -797,6 +950,11 @@ - self.eject_linux() - except: - pass -+ if isfreebsd: -+ try: -+ self.eject_freebsd() -+ except: -+ pass - if iswindows: - try: - self.eject_windows() +- if not d.serial: +- raise DeviceError("Device has no S/N. Can't continue") +- return False +- +- devs={} +- di=0 +- ndevs=4 # number of possible devices per reader (main, carda, cardb, launcher) +- +- #get list of disk devices +- p=subprocess.Popen(["sysctl", "kern.disks"], stdout=subprocess.PIPE) +- kdsks=subprocess.Popen(["sed", "s/kern.disks: //"], stdin=p.stdout, stdout=subprocess.PIPE).communicate()[0] +- p.stdout.close() +- #print kdsks +- for dvc in kdsks.split(): +- # for each one that's also in the list of cam devices ... +- p=subprocess.Popen(["camcontrol", "devlist"], stdout=subprocess.PIPE) +- devmatch=subprocess.Popen(["grep", dvc], stdin=p.stdout, stdout=subprocess.PIPE).communicate()[0] +- p.stdout.close() +- if devmatch: +- #print "Checking ", devmatch +- # ... see if we can get a S/N from the actual device node +- sn=subprocess.Popen(["camcontrol", "inquiry", dvc, "-S"], stdout=subprocess.PIPE).communicate()[0] +- sn=sn[0:-1] # drop the trailing newline +- #print "S/N = ", sn +- if sn and d.match_serial(sn): +- # we have a matching s/n, record this device node +- #print "match found: ", dvc +- devs[di]=dvc +- di += 1 +- +- # sort the list of devices +- for i in range(1,ndevs+1): +- for j in reversed(range(1,i)): +- if devs[j-1] > devs[j]: +- x=devs[j-1] +- devs[j-1]=devs[j] +- devs[j]=x +- #print devs +- +- # now we need to see if any of these have slices/partitions +- mtd=0 +- label="READER" # could use something more unique, like S/N or productID... +- cmd = '/usr/local/bin/calibre-mount-helper' +- cmd = [cmd, 'mount'] +- for i in range(0,ndevs): +- cmd2="ls /dev/"+devs[i]+"*" +- p=subprocess.Popen(cmd2, shell=True, stdout=subprocess.PIPE) +- devs[i]=subprocess.Popen(["cut", "-d", "/", "-f" "3"], stdin=p.stdout, stdout=subprocess.PIPE).communicate()[0] +- p.stdout.close() +- +- # try all the nodes to see what we can mount +- for dev in devs[i].split(): +- mp='/media/'+label+'-'+dev +- #print "trying ", dev, "on", mp +- try: +- p = subprocess.Popen(cmd + ["/dev/"+dev, mp]) +- except OSError: +- raise DeviceError(_('Could not find mount helper: %s.')%cmd[0]) +- while p.poll() is None: +- time.sleep(0.1) +- +- if p.returncode == 0: +- #print " mounted", dev +- if i == 0: +- self._main_prefix = mp +- self._main_dev = "/dev/"+dev +- #print "main = ", self._main_dev, self._main_prefix +- if i == 1: +- self._card_a_prefix = mp +- self._card_a_dev = "/dev/"+dev +- #print "card a = ", self._card_a_dev, self._card_a_prefix +- if i == 2: +- self._card_b_prefix = mp +- self._card_b_dev = "/dev/"+dev +- #print "card b = ", self._card_b_dev, self._card_b_prefix +- +- mtd += 1 +- break +- +- if mtd > 0: +- return True +- else : +- return False +-# ++ # this gives us access to the S/N, etc. of the reader that the scanner has found ++ # and the match routines for some of that data, like s/n, vendor ID, etc. ++ d=self.detected_device ++ ++ if not d.serial: ++ raise DeviceError("Device has no S/N. Can't continue") ++ return False ++ ++ devs={} ++ di=0 ++ ndevs=4 # number of possible devices per reader (main, carda, cardb, launcher) ++ ++ #get list of disk devices ++ #kdsks="da4 da3 da2 da1" ++ try: ++ kdsks=subprocess.Popen("/sbin/sysctl kern.disks | /usr/bin/sed 's/kern.disks: //'", shell=True, stdout=subprocess.PIPE).communicate()[0] ++ except: ++ print "sysctl failed" ++ print kdsks ++ for dvc in kdsks.split(): ++ # just check the /dev/da* devices ++ if dvc.startswith("da"): ++ # see if we can get a S/N from the actual device node ++ print "Checking ", dvc ++ #sn="08004610011F550C" ++ try: ++ sn=subprocess.Popen("/sbin/camcontrol inquiry "+dvc+" -S", shell=True, stdout=subprocess.PIPE).communicate()[0] ++ except: ++ print "inquiry failed:" ++ sn=sn[0:-1] # drop the trailing newline ++ print "S/N = ", sn ++ if sn and d.match_serial(sn): ++ # we have a matching s/n, record this device node ++ print "match found: ", dvc ++ devs[di]=dvc ++ di += 1 ++ ++ # sort the list of devices ++ for i in range(1,ndevs+1): ++ for j in reversed(range(1,i)): ++ if devs[j-1] > devs[j]: ++ x=devs[j-1] ++ devs[j-1]=devs[j] ++ devs[j]=x ++ print devs ++ ++ # now we need to see if any of these have slices/partitions ++ mtd=0 ++ label="READER" # could use something more unique, like S/N or productID... ++ cmd = '/usr/local/bin/calibre-mount-helper' ++ for i in range(0,ndevs): ++ try: ++ devs[i]=subprocess.Popen("/bin/ls /dev/"+devs[i]+"* | /usr/bin/cut -d'/' -f3", shell=True, stdout=subprocess.PIPE).communicate()[0] ++ except: ++ print "ls failed" ++ ++ # try all the nodes to see what we can mount ++ for dev in devs[i].split(): ++ mp='/mnt/'+label+'-'+dev+'/' ++ print "trying ", dev, "on", mp ++ try: ++ p = subprocess.Popen([cmd, "mount", "/dev/"+dev, mp]) ++ except: ++ print "mount failed:" ++ while p.poll() is None: ++ time.sleep(0.1) ++ ++ if p.returncode == 0: ++ print " mounted", dev, "on", mp ++ if i == 0: ++ self._main_prefix = mp ++ self._main_dev = "/dev/"+dev ++ print "main = ", self._main_dev, self._main_prefix ++ if i == 1: ++ self._card_a_prefix = mp ++ self._card_a_dev = "/dev/"+dev ++ print "card a = ", self._card_a_dev, self._card_a_prefix ++ if i == 2: ++ self._card_b_prefix = mp ++ self._card_b_dev = "/dev/"+dev ++ print "card b = ", self._card_b_dev, self._card_b_prefix ++ ++ mtd += 1 ++ break ++ if mtd > 0: ++ return True ++ else : ++ return False + # ------------------------------------------------------ + # + # this one is pretty simple: diff -ruN calibre/files/patch-linux_mount_helper.c calibre.new/files/patch-linux_mount_helper.c --- calibre/files/patch-linux_mount_helper.c 2011-06-19 15:45:25.000000000 -0500 +++ calibre.new/files/patch-linux_mount_helper.c 1969-12-31 18:00:00.000000000 -0600 @@ -1,52 +0,0 @@ ---- src/calibre/devices/linux_mount_helper.c.orig 2011-06-19 09:35:30.000000000 -0500 -+++ src/calibre/devices/linux_mount_helper.c 2011-06-14 16:48:50.000000000 -0500 -@@ -65,14 +65,24 @@ - snprintf(uids, 100, "%d", getuid()); - snprintf(gids, 100, "%d", getgid()); - #else -+#ifdef __FreeBSD__ -+ snprintf(options, 1000, "rw,noexec,nosuid,sync,-u=%d,-g=%d",getuid(),getgid()); -+#else - snprintf(options, 1000, "rw,noexec,nosuid,sync,nodev,quiet,shortname=mixed,uid=%d,gid=%d,umask=077,fmask=0177,dmask=0077,utf8,iocharset=iso8859-1", getuid(), getgid()); - #endif -+#endif -+ - ensure_root(); -+ - #ifdef __NetBSD__ - execlp("mount_msdos", "mount_msdos", "-u", uids, "-g", gids, "-o", options, dev, mp, NULL); - #else -+#ifdef __FreeBSD__ -+ execlp("mount", "mount", "-t", "msdosfs", "-o", options, dev, mp, NULL); -+#else - execlp("mount", "mount", "-t", "auto", "-o", options, dev, mp, NULL); - #endif -+#endif - errsv = errno; - fprintf(stderr, "Failed to mount with error: %s\n", strerror(errsv)); - return EXIT_FAILURE; -@@ -92,8 +102,12 @@ - #ifdef __NetBSD__ - execlp("eject", "eject", dev, NULL); - #else -+#ifdef __FreeBSD__ -+ execlp("umount", "umount", dev, NULL); -+#else - execlp("eject", "eject", "-s", dev, NULL); - #endif -+#endif - /* execlp failed */ - errsv = errno; - fprintf(stderr, "Failed to eject with error: %s\n", strerror(errsv)); -@@ -121,7 +135,11 @@ - - if (pid == 0) { /* Child process */ - ensure_root(); -+#ifdef __FreeBSD__ -+ execlp("umount", "umount", mp, NULL); -+#else - execlp("umount", "umount", "-l", mp, NULL); -+#endif - /* execlp failed */ - errsv = errno; - fprintf(stderr, "Failed to umount with error: %s\n", strerror(errsv)); diff -ruN calibre/pkg-plist calibre.new/pkg-plist --- calibre/pkg-plist 2011-06-20 21:26:46.000000000 -0500 +++ calibre.new/pkg-plist 2011-07-11 16:50:52.000000000 -0500 @@ -111,6 +111,13 @@ lib/calibre/calibre/devices/usbms/deviceconfig.py lib/calibre/calibre/devices/usbms/driver.py lib/calibre/calibre/devices/usbobserver/test.py +lib/calibre/calibre/db/__init__.py +lib/calibre/calibre/db/backend.py +lib/calibre/calibre/db/locking.py +lib/calibre/calibre/db/schema_upgrades.py +lib/calibre/calibre/db/errors.py +lib/calibre/calibre/db/tables.py +lib/calibre/calibre/db/cache.py lib/calibre/calibre/ebooks/BeautifulSoup.py lib/calibre/calibre/ebooks/__init__.py lib/calibre/calibre/ebooks/chardet/__init__.py @@ -181,6 +188,7 @@ lib/calibre/calibre/ebooks/html/input.py lib/calibre/calibre/ebooks/html/meta.py lib/calibre/calibre/ebooks/html/output.py +lib/calibre/calibre/ebooks/html/to_zip.py lib/calibre/calibre/ebooks/htmlz/__init__.py lib/calibre/calibre/ebooks/htmlz/oeb2html.py lib/calibre/calibre/ebooks/htmlz/output.py @@ -469,6 +477,7 @@ lib/calibre/calibre/gui2/actions/restart.py lib/calibre/calibre/gui2/actions/save_to_disk.py lib/calibre/calibre/gui2/actions/show_book_details.py +lib/calibre/calibre/gui2/actions/show_quickview.py lib/calibre/calibre/gui2/actions/similar_books.py lib/calibre/calibre/gui2/actions/store.py lib/calibre/calibre/gui2/actions/tweak_epub.py @@ -598,6 +607,8 @@ lib/calibre/calibre/gui2/dialogs/plugin_updater.py lib/calibre/calibre/gui2/dialogs/progress.py lib/calibre/calibre/gui2/dialogs/progress_ui.py +lib/calibre/calibre/gui2/dialogs/quickview_ui.py +lib/calibre/calibre/gui2/dialogs/quickview.py lib/calibre/calibre/gui2/dialogs/restore_library.py lib/calibre/calibre/gui2/dialogs/saved_search_editor.py lib/calibre/calibre/gui2/dialogs/saved_search_editor_ui.py @@ -698,48 +709,52 @@ lib/calibre/calibre/gui2/search_restriction_mixin.py lib/calibre/calibre/gui2/shortcuts.py lib/calibre/calibre/gui2/shortcuts_ui.py -lib/calibre/calibre/gui2/store/beam_ebooks_de_plugin.py -lib/calibre/calibre/gui2/store/gandalf_plugin.py -lib/calibre/calibre/gui2/store/pragmatic_bookshelf_plugin.py -lib/calibre/calibre/gui2/store/nexto_plugin.py -lib/calibre/calibre/gui2/store/whsmith_uk_plugin.py -lib/calibre/calibre/gui2/store/zixo_plugin.py -lib/calibre/calibre/gui2/store/epubbud_plugin.py -lib/calibre/calibre/gui2/store/oreilly_plugin.py -lib/calibre/calibre/gui2/store/woblink_plugin.py -lib/calibre/calibre/gui2/store/archive_org_plugin.py -lib/calibre/calibre/gui2/store/weightless_books_plugin.py -lib/calibre/calibre/gui2/store/epubbuy_de_plugin.py -lib/calibre/calibre/gui2/store/wizards_tower_books_plugin.py -lib/calibre/calibre/gui2/store/bewrite_plugin.py -lib/calibre/calibre/gui2/store/baen_webscription_plugin.py lib/calibre/calibre/gui2/store/search_ui.py lib/calibre/calibre/gui2/store/__init__.py -lib/calibre/calibre/gui2/store/eharlequin_plugin.py -lib/calibre/calibre/gui2/store/waterstones_uk_plugin.py -lib/calibre/calibre/gui2/store/ebooks_com_plugin.py -lib/calibre/calibre/gui2/store/gutenberg_plugin.py -lib/calibre/calibre/gui2/store/amazon_de_plugin.py lib/calibre/calibre/gui2/store/mobileread_store_dialog_ui.py -lib/calibre/calibre/gui2/store/bn_plugin.py lib/calibre/calibre/gui2/store/web_control.py lib/calibre/calibre/gui2/store/web_store_dialog_ui.py -lib/calibre/calibre/gui2/store/feedbooks_plugin.py lib/calibre/calibre/gui2/store/search_result.py lib/calibre/calibre/gui2/store/basic_config.py -lib/calibre/calibre/gui2/store/kobo_plugin.py -lib/calibre/calibre/gui2/store/smashwords_plugin.py -lib/calibre/calibre/gui2/store/open_library_plugin.py +lib/calibre/calibre/gui2/store/opensearch_store.py lib/calibre/calibre/gui2/store/web_store_dialog.py -lib/calibre/calibre/gui2/store/foyles_uk_plugin.py -lib/calibre/calibre/gui2/store/diesel_ebooks_plugin.py -lib/calibre/calibre/gui2/store/manybooks_plugin.py -lib/calibre/calibre/gui2/store/amazon_plugin.py -lib/calibre/calibre/gui2/store/amazon_uk_plugin.py lib/calibre/calibre/gui2/store/basic_config_widget_ui.py -lib/calibre/calibre/gui2/store/legimi_plugin.py -lib/calibre/calibre/gui2/store/ebookshoppe_uk_plugin.py -lib/calibre/calibre/gui2/store/virtualo_plugin.py +lib/calibre/calibre/gui2/store/stores/beam_ebooks_de_plugin.py +lib/calibre/calibre/gui2/store/stores/gandalf_plugin.py +lib/calibre/calibre/gui2/store/stores/pragmatic_bookshelf_plugin.py +lib/calibre/calibre/gui2/store/stores/nexto_plugin.py +lib/calibre/calibre/gui2/store/stores/whsmith_uk_plugin.py +lib/calibre/calibre/gui2/store/stores/zixo_plugin.py +lib/calibre/calibre/gui2/store/stores/epubbud_plugin.py +lib/calibre/calibre/gui2/store/stores/oreilly_plugin.py +lib/calibre/calibre/gui2/store/stores/woblink_plugin.py +lib/calibre/calibre/gui2/store/stores/archive_org_plugin.py +lib/calibre/calibre/gui2/store/stores/weightless_books_plugin.py +lib/calibre/calibre/gui2/store/stores/epubbuy_de_plugin.py +lib/calibre/calibre/gui2/store/stores/wizards_tower_books_plugin.py +lib/calibre/calibre/gui2/store/stores/bewrite_plugin.py +lib/calibre/calibre/gui2/store/stores/baen_webscription_plugin.py +lib/calibre/calibre/gui2/store/stores/__init__.py +lib/calibre/calibre/gui2/store/stores/eharlequin_plugin.py +lib/calibre/calibre/gui2/store/stores/waterstones_uk_plugin.py +lib/calibre/calibre/gui2/store/stores/ebooks_com_plugin.py +lib/calibre/calibre/gui2/store/stores/gutenberg_plugin.py +lib/calibre/calibre/gui2/store/stores/amazon_de_plugin.py +lib/calibre/calibre/gui2/store/stores/bn_plugin.py +lib/calibre/calibre/gui2/store/stores/feedbooks_plugin.py +lib/calibre/calibre/gui2/store/stores/kobo_plugin.py +lib/calibre/calibre/gui2/store/stores/smashwords_plugin.py +lib/calibre/calibre/gui2/store/stores/foyles_uk_plugin.py +lib/calibre/calibre/gui2/store/stores/diesel_ebooks_plugin.py +lib/calibre/calibre/gui2/store/stores/manybooks_plugin.py +lib/calibre/calibre/gui2/store/stores/amazon_plugin.py +lib/calibre/calibre/gui2/store/stores/amazon_uk_plugin.py +lib/calibre/calibre/gui2/store/stores/legimi_plugin.py +lib/calibre/calibre/gui2/store/stores/ebookshoppe_uk_plugin.py +lib/calibre/calibre/gui2/store/stores/virtualo_plugin.py +lib/calibre/calibre/gui2/store/stores/open_books_plugin.py +lib/calibre/calibre/gui2/store/stores/libri_de_plugin.py +lib/calibre/calibre/gui2/store/stores/google_books_plugin.py lib/calibre/calibre/gui2/store/config/__init__.py lib/calibre/calibre/gui2/store/config/search_widget_ui.py lib/calibre/calibre/gui2/store/config/store.py @@ -754,17 +769,16 @@ lib/calibre/calibre/gui2/store/config/chooser/adv_search_builder_ui.py lib/calibre/calibre/gui2/store/config/chooser/chooser_widget.py lib/calibre/calibre/gui2/store/config/chooser/chooser_widget_ui.py -lib/calibre/calibre/gui2/store/google_books_plugin.py -lib/calibre/calibre/gui2/store/mobileread/__init__.py -lib/calibre/calibre/gui2/store/mobileread/adv_search_builder.py -lib/calibre/calibre/gui2/store/mobileread/adv_search_builder_ui.py -lib/calibre/calibre/gui2/store/mobileread/models.py -lib/calibre/calibre/gui2/store/mobileread/store_dialog.py -lib/calibre/calibre/gui2/store/mobileread/cache_progress_dialog_ui.py -lib/calibre/calibre/gui2/store/mobileread/cache_update_thread.py -lib/calibre/calibre/gui2/store/mobileread/cache_progress_dialog.py -lib/calibre/calibre/gui2/store/mobileread/store_dialog_ui.py -lib/calibre/calibre/gui2/store/mobileread/mobileread_plugin.py +lib/calibre/calibre/gui2/store/stores/mobileread/__init__.py +lib/calibre/calibre/gui2/store/stores/mobileread/adv_search_builder.py +lib/calibre/calibre/gui2/store/stores/mobileread/adv_search_builder_ui.py +lib/calibre/calibre/gui2/store/stores/mobileread/models.py +lib/calibre/calibre/gui2/store/stores/mobileread/store_dialog.py +lib/calibre/calibre/gui2/store/stores/mobileread/cache_progress_dialog_ui.py +lib/calibre/calibre/gui2/store/stores/mobileread/cache_update_thread.py +lib/calibre/calibre/gui2/store/stores/mobileread/cache_progress_dialog.py +lib/calibre/calibre/gui2/store/stores/mobileread/store_dialog_ui.py +lib/calibre/calibre/gui2/store/stores/mobileread/mobileread_plugin.py lib/calibre/calibre/gui2/store/search/results_view.py lib/calibre/calibre/gui2/store/search/search_ui.py lib/calibre/calibre/gui2/store/search/__init__.py @@ -773,7 +787,10 @@ lib/calibre/calibre/gui2/store/search/models.py lib/calibre/calibre/gui2/store/search/search.py lib/calibre/calibre/gui2/store/search/adv_search_builder_ui.py -lib/calibre/calibre/gui2/tag_view.py +lib/calibre/calibre/gui2/tag_browser/__init__.py +lib/calibre/calibre/gui2/tag_browser/ui.py +lib/calibre/calibre/gui2/tag_browser/view.py +lib/calibre/calibre/gui2/tag_browser/model.py lib/calibre/calibre/gui2/threaded_jobs.py lib/calibre/calibre/gui2/throbber.py lib/calibre/calibre/gui2/tools.py @@ -890,6 +907,7 @@ lib/calibre/calibre/utils/ipc/job.py lib/calibre/calibre/utils/ipc/launch.py lib/calibre/calibre/utils/ipc/server.py +lib/calibre/calibre/utils/ipc/proxy.py lib/calibre/calibre/utils/ipc/worker.py lib/calibre/calibre/utils/localization.py lib/calibre/calibre/utils/lock.py @@ -902,6 +920,10 @@ lib/calibre/calibre/utils/mreplace.py lib/calibre/calibre/utils/network.py lib/calibre/calibre/utils/ordered_dict.py +lib/calibre/calibre/utils/opensearch/__init__.py +lib/calibre/calibre/utils/opensearch/description.py +lib/calibre/calibre/utils/opensearch/url.py +lib/calibre/calibre/utils/opensearch/query.py lib/calibre/calibre/utils/osx_symlinks.py lib/calibre/calibre/utils/pdftk.py lib/calibre/calibre/utils/podofo/__init__.py @@ -1381,8 +1403,9 @@ @dirrm lib/calibre/calibre/utils/wmf @dirrm lib/calibre/calibre/utils/pyconsole @dirrm lib/calibre/calibre/utils/podofo -@dirrm lib/calibre/calibre/utils/magick +@dirrm lib/calibre/calibre/utils/opensearch @dirrm lib/calibre/calibre/utils/ipc +@dirrm lib/calibre/calibre/utils/magick @dirrm lib/calibre/calibre/utils/fonts @dirrm lib/calibre/calibre/utils/chm @dirrm lib/calibre/calibre/utils @@ -1397,11 +1420,13 @@ @dirrm lib/calibre/calibre/library @dirrm lib/calibre/calibre/gui2/wizard @dirrm lib/calibre/calibre/gui2/viewer -@dirrm lib/calibre/calibre/gui2/store/mobileread +@dirrm lib/calibre/calibre/gui2/tag_browser +@dirrm lib/calibre/calibre/gui2/store/stores/mobileread @dirrm lib/calibre/calibre/gui2/store/config/search @dirrm lib/calibre/calibre/gui2/store/config/chooser @dirrm lib/calibre/calibre/gui2/store/config @dirrm lib/calibre/calibre/gui2/store/search +@dirrm lib/calibre/calibre/gui2/store/stores @dirrm lib/calibre/calibre/gui2/store @dirrm lib/calibre/calibre/gui2/progress_indicator @dirrm lib/calibre/calibre/gui2/preferences @@ -1460,6 +1485,7 @@ @dirrm lib/calibre/calibre/ebooks/chm @dirrm lib/calibre/calibre/ebooks/chardet @dirrm lib/calibre/calibre/ebooks +@dirrm lib/calibre/calibre/db @dirrm lib/calibre/calibre/devices/usbobserver @dirrm lib/calibre/calibre/devices/usbms @dirrm lib/calibre/calibre/devices/user_defined --- calibre.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted: