[arch-commits] Commit in flumotion/trunk (PKGBUILD fix-import.patch twisted-13.patch)

Balló György bgyorgy at archlinux.org
Thu Jan 8 22:36:47 UTC 2015


    Date: Thursday, January 8, 2015 @ 23:36:46
  Author: bgyorgy
Revision: 125634

upgpkg: flumotion 0.10.1-4

Fix dependencies, apply some compatibility fixes

Added:
  flumotion/trunk/fix-import.patch
  flumotion/trunk/twisted-13.patch
Modified:
  flumotion/trunk/PKGBUILD

------------------+
 PKGBUILD         |   28 +++++--
 fix-import.patch |   63 +++++++++++++++++
 twisted-13.patch |  192 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 275 insertions(+), 8 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2015-01-08 22:12:24 UTC (rev 125633)
+++ PKGBUILD	2015-01-08 22:36:46 UTC (rev 125634)
@@ -5,7 +5,7 @@
 
 pkgname=flumotion
 pkgver=0.10.1
-pkgrel=3
+pkgrel=4
 arch=('i686' 'x86_64')
 pkgdesc="A streaming media server"
 url="http://www.flumotion.net"
@@ -12,15 +12,25 @@
 license=('GPL')
 backup=(etc/flumotion/workers/default.xml
 	etc/flumotion/managers/default/planet.xml)
-depends=('gtk2' 'pygtk' 'gstreamer0.10-python' 'kiwi' 'gstreamer0.10-good-plugins'
-	'gstreamer0.10-base-plugins' 'python2-pyopenssl' 'python2-twisted' 'gnome-vfs')
-makedepends=('perlxml')
-source=(http://www.flumotion.net/src/$pkgname/$pkgname-$pkgver.tar.bz2)
-md5sums=('fbbb2f4ccf0624742c5ca8238f3ec5e0')
+depends=('gstreamer0.10-base-plugins' 'gstreamer0.10-good-plugins' 'gstreamer0.10-python' 'kiwi'
+	 'pygtk' 'python2-crypto' 'python2-pyopenssl' 'python2-twisted')
+makedepends=('perl-xml-parser')
+source=(http://www.flumotion.net/src/$pkgname/$pkgname-$pkgver.tar.bz2
+        twisted-13.patch
+        fix-import.patch)
+md5sums=('fbbb2f4ccf0624742c5ca8238f3ec5e0'
+         '67c870a226d14afb6d391ae6386a0fa3'
+         '8f8f1859059b91ebd9e9828f2f52a701')
 
-build() {
+prepare() {
   cd "$srcdir/$pkgname-$pkgver"
 
+  # Compatibily fix with twisted 13
+  patch -Np1 -i ../twisted-13.patch
+
+  # Fix import with recent python2
+  patch -Np1 -i ../fix-import.patch
+
   # python2 fix
   sed -i 's_candidate in python_candidate in python2_' configure
   for file in $(find . -name '*.py' -print); do
@@ -27,9 +37,11 @@
     sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' $file
     sed -i 's_^#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
   done
+}
 
+build() {
+  cd "$srcdir/$pkgname-$pkgver"
   ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/bin
-
   make
 }
 

Added: fix-import.patch
===================================================================
--- fix-import.patch	                        (rev 0)
+++ fix-import.patch	2015-01-08 22:36:46 UTC (rev 125634)
@@ -0,0 +1,63 @@
+From ebd389075f48253a12a71e457445a05f4373fe5e Mon Sep 17 00:00:00 2001
+From: Tim 'mithro' Ansell <mithro at mithis.com>
+Date: Mon, 28 Jul 2014 01:01:59 +0930
+Subject: [PATCH] Removing the _PatchedModuleImporter hook.
+
+The _PatchedModuleImporter didn't pass through the level argument which is
+needed for the future absolute_import to work properly.
+
+```python
+from __future__ import absolute_import
+```
+---
+ flumotion/common/package.py | 30 +-----------------------------
+ 1 file changed, 1 insertion(+), 29 deletions(-)
+
+diff --git a/flumotion/common/package.py b/flumotion/common/package.py
+index 5dbb05c..d41c04a 100644
+--- a/flumotion/common/package.py
++++ b/flumotion/common/package.py
+@@ -31,29 +31,6 @@
+ __version__ = "$Rev$"
+ 
+ 
+-class _PatchedModuleImporter(ihooks.ModuleImporter):
+-    """
+-    I am overriding ihook's ModuleImporter's import_module() method to
+-    accept (and ignore) the 'level' keyword argument that appeared in
+-    the built-in __import__() function in python2.5.
+-
+-    While no built-in modules in python2.5 seem to use that keyword
+-    argument, 'encodings' module in python2.6 does and so it breaks if
+-    used together with ihooks.
+-
+-    I make no attempt to properly support the 'level' argument -
+-    ihooks didn't make it into py3k, and the only use in python2.6
+-    we've seen so far, in 'encodings', serves as a performance hint
+-    and it seems that can be ignored with no difference in behaviour.
+-    """
+-
+-    def import_module(self, name, globals=None, locals=None, fromlist=None,
+-                      level=-1):
+-        # all we do is drop 'level' as ihooks don't support it, anyway
+-        return ihooks.ModuleImporter.import_module(self, name, globals,
+-                                                   locals, fromlist)
+-
+-
+ class PackageHooks(ihooks.Hooks):
+     """
+     I am an import Hooks object that makes sure that every package that gets
+@@ -106,12 +83,7 @@ def install(self):
+         self.debug('installing custom importer')
+         self._hooks = PackageHooks()
+         self._hooks.packager = self
+-        if sys.version_info < (2, 6):
+-            self._importer = ihooks.ModuleImporter()
+-        else:
+-            self.debug('python2.6 or later detected - using patched'
+-                       ' ModuleImporter')
+-            self._importer = _PatchedModuleImporter()
++        self._importer = ihooks.ModuleImporter()
+         self._importer.set_hooks(self._hooks)
+         self._importer.install()
+ 

Added: twisted-13.patch
===================================================================
--- twisted-13.patch	                        (rev 0)
+++ twisted-13.patch	2015-01-08 22:36:46 UTC (rev 125634)
@@ -0,0 +1,192 @@
+From cd9c9cf9f93bc4043522e5994410bb92cb281209 Mon Sep 17 00:00:00 2001
+From: equinox <equinox at chaos-at-home.org>
+Date: Thu, 30 Jan 2014 22:49:17 +0100
+Subject: [PATCH] fixed usage of deprecated functions listenWith and
+ connectWith
+
+Hi,
+
+Beginning with python twisted 13 the deprecated functions listenWith
+and connectWith were removed. This prevents flumotion from being used
+on current Ubuntu releases and will be unusable with Debian Jessie.
+My attached patch fixes the problem.
+
+regards
+ christian
+
+Signed-off-by: Christian Pointner <equinox at spreadspace.org>
+---
+ flumotion/component/common/streamer/streamer.py   | 12 ++++++------
+ flumotion/component/feed.py                       |  6 ++++--
+ flumotion/component/misc/httpserver/httpserver.py | 10 ++++++----
+ flumotion/component/misc/porter/porter.py         | 18 ++++++++++++------
+ flumotion/job/main.py                             |  5 +++--
+ flumotion/worker/base.py                          |  8 +++++++-
+ flumotion/worker/feedserver.py                    |  8 ++++++--
+ 7 files changed, 44 insertions(+), 23 deletions(-)
+
+diff --git a/flumotion/component/common/streamer/streamer.py b/flumotion/component/common/streamer/streamer.py
+index cc6591f..194c5cb 100644
+--- a/flumotion/component/common/streamer/streamer.py
++++ b/flumotion/component/common/streamer/streamer.py
+@@ -561,9 +561,9 @@ def updatePorterDetails(self, path, username, password):
+                 self._pbclient.stopTrying() # Stop trying to connect with the
+                                             # old connector.
+                 self._pbclient.resetDelay()
+-                reactor.connectWith(
+-                    fdserver.FDConnector, self._porterPath,
+-                    self._pbclient, 10, checkPID=False)
++                c = fdserver.FDConnector(self._porterPath, self._pbclient,
++                                         10, checkPID=False, reactor=reactor)
++                c.connect()
+         else:
+             raise errors.WrongStateError(
+                 "Can't specify porter details in master mode")
+@@ -624,9 +624,9 @@ def do_setup(self):
+ 
+             self.info("Starting porter login at \"%s\"", self._porterPath)
+             # This will eventually cause d to fire
+-            reactor.connectWith(
+-                fdserver.FDConnector, self._porterPath,
+-                self._pbclient, 10, checkPID=False)
++            c = fdserver.FDConnector(self._porterPath, self._pbclient,
++                                     10, checkPID=False, reactor=reactor)
++            c.connect()
+         else:
+             # Streamer is standalone.
+             try:
+diff --git a/flumotion/component/feed.py b/flumotion/component/feed.py
+index 2f23ac2..9646975 100644
+--- a/flumotion/component/feed.py
++++ b/flumotion/component/feed.py
+@@ -135,8 +135,10 @@ def startConnecting(self, host, port, authenticator, timeout=30,
+         """
+         assert self._factory is None
+         self._factory = FeedClientFactory(self)
+-        reactor.connectWith(PassableClientConnector, host, port,
+-                            self._factory, timeout, bindAddress)
++        c = PassableClientConnector(host, port, self._factory, timeout,
++                                    bindAddress, reactor=reactor)
++        c.connect()
++
+         return self._factory.login(authenticator)
+ 
+     def requestFeed(self, host, port, authenticator, fullFeedId):
+diff --git a/flumotion/component/misc/httpserver/httpserver.py b/flumotion/component/misc/httpserver/httpserver.py
+index c83b943..40fe10b 100644
+--- a/flumotion/component/misc/httpserver/httpserver.py
++++ b/flumotion/component/misc/httpserver/httpserver.py
+@@ -408,8 +408,9 @@ def do_setup(self):
+             self._pbclient.startLogin(creds, self._pbclient.medium)
+             self.info("Logging to porter on socketPath %s", self._porterPath)
+             # This will eventually cause d to fire
+-            reactor.connectWith(fdserver.FDConnector, self._porterPath,
+-                self._pbclient, 10, checkPID=False)
++            c = fdserver.FDConnector(self._porterPath, self._pbclient, 10,
++                                     checkPID=False, reactor=reactor)
++            c.connect()
+         else:
+             # File Streamer is standalone.
+             try:
+@@ -500,8 +501,9 @@ def _updatePath(self, path):
+         self._pbclient.stopTrying()
+ 
+         self._pbclient.resetDelay()
+-        reactor.connectWith(fdserver.FDConnector, self._porterPath,
+-                            self._pbclient, 10, checkPID=False)
++        c = fdserver.FDConnector(self._porterPath, self._pbclient, 10,
++                                 checkPID=False, reactor=reactor)
++        c.connect()
+ 
+     def _timeoutRequests(self):
+         self._timeoutRequestsCallLater = None
+diff --git a/flumotion/component/misc/porter/porter.py b/flumotion/component/misc/porter/porter.py
+index 58a30e0..d76c485 100644
+--- a/flumotion/component/misc/porter/porter.py
++++ b/flumotion/component/misc/porter/porter.py
+@@ -323,9 +323,15 @@ def do_setup(self):
+             except OSError:
+                 pass
+ 
+-            self._socketlistener = reactor.listenWith(
+-                fdserver.FDPort, self._socketPath,
+-                serverfactory, mode=self._socketMode)
++            # listenWith is deprecated but the function never did much anyway
++            #
++            # self._socketlistener = reactor.listenWith(
++            #    fdserver.FDPort, self._socketPath,
++            #    serverfactory, mode=self._socketMode)
++            self._socketlistener = fdserver.FDPort(self._socketPath,
++                serverfactory, reactor=reactor, mode=self._socketMode)
++            self._socketlistener.startListening()
++
+             self.info("Now listening on socketPath %s", self._socketPath)
+         except error.CannotListenError:
+             self.warning("Failed to create socket %s" % self._socketPath)
+@@ -350,9 +356,9 @@ def do_setup(self):
+         # appropriate protocol (HTTP, RTSP, etc.)
+         factory = PorterProtocolFactory(self, proto)
+         try:
+-            reactor.listenWith(
+-                fdserver.PassableServerPort, self._port, factory,
+-                    interface=self._interface)
++            p = fdserver.PassableServerPort(self._port, factory,
++                      interface=self._interface, reactor=reactor)
++            p.startListening()
+             self.info("Now listening on interface %r on port %d",
+                       self._interface, self._port)
+         except error.CannotListenError:
+diff --git a/flumotion/job/main.py b/flumotion/job/main.py
+index 4109643..2241df0 100644
+--- a/flumotion/job/main.py
++++ b/flumotion/job/main.py
+@@ -52,8 +52,9 @@ def main(args):
+     log.info('job', 'Connecting to worker on socket %s' % (socket))
+ 
+     job_factory = job.JobClientFactory(avatarId)
+-    reactor.connectWith(fdserver.FDConnector, socket, job_factory,
+-        10, checkPID=False)
++    c = fdserver.FDConnector(socket, job_factory, 10, checkPID=False,
++                             reactor=reactor)
++    c.connect()
+ 
+     reactor.addSystemEventTrigger('before', 'shutdown',
+         job_factory.medium.shutdownHandler)
+diff --git a/flumotion/worker/base.py b/flumotion/worker/base.py
+index 2ed613e..0c9e5d6 100644
+--- a/flumotion/worker/base.py
++++ b/flumotion/worker/base.py
+@@ -183,7 +183,13 @@ def listen(self):
+         # our particular Port, which creates Transports that we know how to
+         # pass FDs over.
+         self.debug("Listening for FD's on unix socket %s", self._socketPath)
+-        port = reactor.listenWith(fdserver.FDPort, self._socketPath, f)
++
++        # listenWith is deprecated but the function never did much anyway
++        #
++        # port = reactor.listenWith(fdserver.FDPort, self._socketPath, f)
++        port = fdserver.FDPort(self._socketPath, f, reactor=reactor)
++        port.startListening()
++
+         self._port = port
+ 
+     ### portal.IRealm method
+diff --git a/flumotion/worker/feedserver.py b/flumotion/worker/feedserver.py
+index c581b6b..e0d7ee1 100644
+--- a/flumotion/worker/feedserver.py
++++ b/flumotion/worker/feedserver.py
+@@ -61,8 +61,12 @@ def listen(self, bouncer, portNum, unsafeTracebacks=0):
+         factory = pb.PBServerFactory(portal,
+                                      unsafeTracebacks=unsafeTracebacks)
+ 
+-        tport = reactor.listenWith(fdserver.PassableServerPort, portNum,
+-                                   factory)
++        # listenWith is deprecated but the function never did much anyway
++        #
++        # tport = reactor.listenWith(fdserver.PassableServerPort, portNum,
++        #                            factory)
++        tport = fdserver.PassableServerPort(portNum, factory, reactor=reactor)
++        tport.startListening()
+ 
+         self._tport = tport
+         self.debug('Listening for feed requests on TCP port %d',



More information about the arch-commits mailing list