Author: tack
Date: Sat Dec 30 05:04:26 2006
New Revision: 2312

Added:
   trunk/beacon/MANIFEST.in
   trunk/mevas/MANIFEST.in
   trunk/record/MANIFEST.in
   trunk/xine/MANIFEST.in
Removed:
   trunk/mevas/kaa-mevas.spec
Modified:
   trunk/base/setup.py
   trunk/base/src/distribution/core.py
   trunk/beacon/setup.py
   trunk/display/setup.py
   trunk/epg/setup.py
   trunk/evas/setup.py
   trunk/imlib2/setup.py
   trunk/metadata/setup.py
   trunk/mevas/setup.py
   trunk/popcorn/setup.py
   trunk/record/setup.py
   trunk/xine/setup.py

Log:
Better support for RPM packaging via distutils bdist_rpm command.


Modified: trunk/base/setup.py
==============================================================================
--- trunk/base/setup.py (original)
+++ trunk/base/setup.py Sat Dec 30 05:04:26 2006
@@ -60,10 +60,14 @@
     print "inotify supported by glibc; good."
     extensions.append(inotify_ext)
 
-
 # call setup
 setup(
     module       = 'base',
-    version      = '0.1.1',
+    version      = '0.1.2',
     license      = 'LGPL',
+    summary      = 'Base module for all Kaa modules.',
+    rpminfo      = {
+        'requires':       'glib2 >= 2.6.0, python-sqlite2 >= 2.3.0, 
libxml2-python >= 2.6.0',
+        'build_requires': 'glib2-devel >= 2.6.0, python-devel >= 2.4.0'
+    },
     ext_modules  = extensions)

Modified: trunk/base/src/distribution/core.py
==============================================================================
--- trunk/base/src/distribution/core.py (original)
+++ trunk/base/src/distribution/core.py Sat Dec 30 05:04:26 2006
@@ -35,6 +35,7 @@
 import stat
 import re
 import tempfile
+import time
 import distutils.core
 import distutils.sysconfig
 
@@ -418,7 +419,7 @@
         kwargs['packages'].append(python_dirname)
 
 
-    if not kwargs.has_key('module'):
+    if 'module' not in kwargs:
         raise AttributeError('\'module\' not defined')
 
     # create name
@@ -452,7 +453,7 @@
 
     # check version.py information
     write_version = False
-    if kwargs.has_key('version') and not kwargs['module'] == 'base':
+    if 'version' in kwargs and not kwargs['module'] == 'base':
         write_version = True
         # check if a version.py is there
         if os.path.isfile('src/version.py'):
@@ -479,18 +480,70 @@
         f.close()
 
     # add some missing keywords
-    if not kwargs.has_key('author'):
+    if 'author' not in kwargs:
         kwargs['author'] = 'Freevo Development Team'
-    if not kwargs.has_key('author_email'):
+    if 'author_email' not in kwargs:
         kwargs['author_email'] = '[email protected]'
-    if not kwargs.has_key('url'):
+    if 'url' not in kwargs:
         kwargs['url'] = 'http://freevo.sourceforge.net/kaa'
 
+    # We use summary and description as keywords that map to distutils
+    # description and long_description
+    if 'description' in kwargs:
+        kwargs['long_description'] = kwargs['description']
+        del kwargs['description']
+    if 'summary' in kwargs:
+        kwargs['description'] = kwargs['summary']
+        if 'long_description' not in kwargs:
+            kwargs['long_description'] = kwargs['summary']
+        del kwargs['summary']
+
     # add extra commands
     if not 'cmdclass' in kwargs:
         kwargs['cmdclass'] = {}
     kwargs['cmdclass']['build_py'] = build_py
     kwargs['cmdclass']['ebuild'] = GentooEbuild
-    
+
+    if sys.argv[1] == 'bdist_rpm':
+        dist = None
+        release = "1"
+        if '--dist' in sys.argv:
+            # TODO: determine this automatically
+            idx = sys.argv.index('--dist')
+            sys.argv.pop(idx)
+            dist = sys.argv.pop(idx)
+
+        if '--release' in sys.argv:
+            idx = sys.argv.index('--release')
+            sys.argv.pop(idx)
+            release = sys.argv.pop(idx)
+
+        if '--snapshot' in sys.argv:
+            # If --snapshot is specified on the command line, set the release
+            # to contain today's date, for bundling svn snapshots.
+            release = "0.%s" % time.strftime("%Y%m%d")
+            sys.argv.remove('--snapshot')
+
+        if dist:
+            release += "." + dist
+
+        sys.argv.append('--release=%s' % release)
+
+        if 'rpminfo' in kwargs:
+            # Grab rpm metadata from setup kwargs and expose as cmdline 
+            # parameters to distutils.
+            rpminfo = kwargs['rpminfo']
+            if dist in rpminfo:
+                # dist-specific parameters take precedence
+                for key, value in rpminfo[dist].items():
+                    rpminfo[key] = value
+            for param in ('requires', 'build_requires', 'conflicts', 
'obsoletes', 'provides'):
+                if param in rpminfo:
+                    sys.argv.append("--%s=%s" % (param.replace('_', '-'), 
rpminfo[param]))
+
+
+    if 'rpminfo' in kwargs:
+        del kwargs['rpminfo']
+
     # run the distutils.setup function
     return distutils.core.setup(**kwargs)

Added: trunk/beacon/MANIFEST.in
==============================================================================
--- (empty file)
+++ trunk/beacon/MANIFEST.in    Sat Dec 30 05:04:26 2006
@@ -0,0 +1,5 @@
+recursive-include src *.py
+recursive-include src *.c
+recursive-include src *.h
+
+include MANIFEST README COPYING TODO AUTHORS

Modified: trunk/beacon/setup.py
==============================================================================
--- trunk/beacon/setup.py       (original)
+++ trunk/beacon/setup.py       Sat Dec 30 05:04:26 2006
@@ -63,8 +63,13 @@
 
 
 setup (module      = 'beacon',
-       version     = '0.1',
-       description = "Media-oriented virtual filesystem",
+       version     = '0.1.0',
+       license     = 'LGPL',
+       summary     = "Media-oriented virtual filesystem",
        scripts     = [ 'bin/kaa-thumb', 'bin/beacon' ],
+       rpminfo     = {
+           'requires':       'kaa-base >= 0.1.2, imlib2 >= 1.2.1',
+           'build_requires': 'kaa-base >= 0.1.2, imlib2-devel >= 1.2.1, 
python-devel >= 2.4.0'
+       },
        ext_modules = ext_modules
       )

Modified: trunk/display/setup.py
==============================================================================
--- trunk/display/setup.py      (original)
+++ trunk/display/setup.py      Sat Dec 30 05:04:26 2006
@@ -159,8 +159,23 @@
     print "- SDL"
 
 
+requires_common       = 'kaa-base >= 0.1.2, pygame >= 1.6.0, kaa-imlib2 >= 
0.2.0,' \
+                        'imlib2 >= 1.2.1, kaa-evas >= 0.1.0, evas >= 0.9.9.032'
+build_requires_common = 'kaa-base >= 0.1.2, pygame-devel >= 1.6.0, kaa-imlib2 
>= 0.2.0,' \
+                        'imlib2-devel >= 1.2.1, kaa-evas >= 0.1.0, evas-devel 
>= 0.9.9.032'
+
 setup(module  = 'display',
-      version = '0.1',
+      version     = '0.1.0',
+      license     = 'LGPL',
+      summary     = 'Python API providing Low level support for various 
displays, such as X11 or framebuffer.',
+      rpminfo     = {
+          'requires':       'libX11 >= 1.0.0, ' + requires_common,
+          'build_requires': 'libX11-devel >= 1.0.0, ' + build_requires_common,
+          'fc4': {
+              'requires':       'xorg-x11 >= 6.8.0, ' + requires_common,
+              'build_requires': 'xorg-x11-devel >= 6.8.0, ' + 
build_requires_common
+          }
+      },
       ext_modules = modules
 )
 

Modified: trunk/epg/setup.py
==============================================================================
--- trunk/epg/setup.py  (original)
+++ trunk/epg/setup.py  Sat Dec 30 05:04:26 2006
@@ -38,6 +38,11 @@
 
 
 setup(module       = 'epg',
-      version      = '0.1',
-      description  = "Python EPG module",
+      version      = '0.1.0',
+      license      = 'LGPL',
+      summary      = 'Electronic Program Guide',
+      rpminfo      = {
+          'requires':       'kaa-base >= 0.1.2',
+          'build_requires': 'kaa-base >= 0.1.2'
+      }
       )

Modified: trunk/evas/setup.py
==============================================================================
--- trunk/evas/setup.py (original)
+++ trunk/evas/setup.py Sat Dec 30 05:04:26 2006
@@ -57,6 +57,12 @@
 evasso.config('#define BENCHMARK')
 evasso.config('#define EVAS_VERSION %d' % 
evasso.get_library('evas').get_numeric_version())
 setup(module      = 'evas',
-      version     = '0.1',
+      version     = '0.1.0',
+      license     = 'LGPL',
+      summary     = 'Python bindings for Evas',
+      rpminfo     = {
+          'requires':       'kaa-base >= 0.1.2, evas >= 0.9.9.032',
+          'build_requires': 'kaa-base >= 0.1.2, evas-devel >= 0.9.9.032'
+      },
       ext_modules = [ evasso ]
 )

Modified: trunk/imlib2/setup.py
==============================================================================
--- trunk/imlib2/setup.py       (original)
+++ trunk/imlib2/setup.py       Sat Dec 30 05:04:26 2006
@@ -57,6 +57,12 @@
 
 
 setup(module      = 'imlib2',
-      version     = '0.1',
+      version     = '0.2.0',
+      license     = 'LGPL',
+      summary     = 'Python bindings for Imlib2',
+      rpminfo     = {
+          'requires':       'kaa-base >= 0.1.2, imlib2 >= 1.2.1',
+          'build_requires': 'kaa-base >= 0.1.2, imlib2-devel >= 1.2.1'
+      },
       ext_modules = [ imlib2so ]
 )

Modified: trunk/metadata/setup.py
==============================================================================
--- trunk/metadata/setup.py     (original)
+++ trunk/metadata/setup.py     Sat Dec 30 05:04:26 2006
@@ -43,7 +43,7 @@
 cdrom = Extension('kaa/metadata/disc/_cdrom', ['src/disc/cdrommodule.c'])
 
 # check for libdvdread
-ifoparser = Extension('kaa/metadata/disc/_ifoparser', ['src/disc/ifomodule.c'],
+ifoparser = Extension('kaa.metadata.disc._ifoparser', ['src/disc/ifomodule.c'],
                       libraries=[ 'dvdread' ])
 
 try:
@@ -61,10 +61,14 @@
     ext_modules = [ cdrom ]
     
 setup (module      = 'metadata',
-       version     = '0.6',
+       version     = '0.6.0',
        license     = 'GPL',
-       description = 'Module for retrieving information about media files',
+       summary     = 'Module for retrieving information about media files',
        author      = "Thomas Schueppel, Dirk Meyer",
        scripts     = [ 'bin/mminfo' ],
+       rpminfo = {
+           'requires':        'kaa-base >= 0.1.2, libdvdread >= 0.9.4',
+           'build_requires':  'kaa-base >= 0.1.2, libdvdread-devel >= 0.9.4, 
python-devel >= 2.3.0'
+       },
        ext_modules = ext_modules
       )

Added: trunk/mevas/MANIFEST.in
==============================================================================
--- (empty file)
+++ trunk/mevas/MANIFEST.in     Sat Dec 30 05:04:26 2006
@@ -0,0 +1,5 @@
+recursive-include src *.py
+recursive-include src *.c
+recursive-include src *.h
+
+include MANIFEST README COPYING TODO AUTHORS

Modified: trunk/mevas/setup.py
==============================================================================
--- trunk/mevas/setup.py        (original)
+++ trunk/mevas/setup.py        Sat Dec 30 05:04:26 2006
@@ -37,4 +37,12 @@
     print 'kaa.base not installed'
     sys.exit(1)
     
-setup(module = 'mevas', version = '0.1')
+setup(module = 'mevas', 
+     version = '0.1.0',
+     license = 'LGPL',
+     summary = 'MeBox Canvas library',
+     rpminfo = {
+         'requires':       'kaa-base >= 0.1.2, kaa-imlib2 >= 0.2.0',
+         'build_requires': 'kaa-base >= 0.1.2'
+    }
+)

Modified: trunk/popcorn/setup.py
==============================================================================
--- trunk/popcorn/setup.py      (original)
+++ trunk/popcorn/setup.py      Sat Dec 30 05:04:26 2006
@@ -44,4 +44,12 @@
 else:
     print "- libvisual support disabled"
 
-setup(module = 'popcorn', version = '0.1', ext_modules = ext_modules)
+setup(module = 'popcorn', 
+      version = '0.1.0', 
+      license = 'GPL',
+      summary = 'Media player abstraction library supporting multiple 
backends',
+      rpminfo = {
+          'requires':       'kaa-base >= 0.1.2, kaa-xine >= 0.9.0',
+          'build_requires': 'kaa-base >= 0.1.2'
+      },
+      ext_modules = ext_modules)

Added: trunk/record/MANIFEST.in
==============================================================================
--- (empty file)
+++ trunk/record/MANIFEST.in    Sat Dec 30 05:04:26 2006
@@ -0,0 +1,5 @@
+recursive-include src *.py
+recursive-include src *.c
+recursive-include src *.h
+
+include MANIFEST README COPYING TODO AUTHORS

Modified: trunk/record/setup.py
==============================================================================
--- trunk/record/setup.py       (original)
+++ trunk/record/setup.py       Sat Dec 30 05:04:26 2006
@@ -62,6 +62,12 @@
     ext_modules.append(vbi)
     
 setup(module      = 'record',
-      version     = '0.1',
+      version     = '0.1.0',
+      license     = 'GPL',
+      summary     = 'Python library for recording from different types of tv 
cards to different outputs.',
+      rpminfo     = {
+          'requires':       'kaa-base >= 0.1.2',
+          'build_requires': 'kaa-base >= 0.1.2'
+      },
       ext_modules = ext_modules
 )

Added: trunk/xine/MANIFEST.in
==============================================================================
--- (empty file)
+++ trunk/xine/MANIFEST.in      Sat Dec 30 05:04:26 2006
@@ -0,0 +1,5 @@
+recursive-include src *.py
+recursive-include src *.c
+recursive-include src *.h
+
+include MANIFEST README COPYING TODO AUTHORS

Modified: trunk/xine/setup.py
==============================================================================
--- trunk/xine/setup.py (original)
+++ trunk/xine/setup.py Sat Dec 30 05:04:26 2006
@@ -47,8 +47,7 @@
         ]
 
 
-xineso = Extension('kaa.xine._xinemodule', files,
-                   extra_compile_args = ['-DPIC'])
+xineso = Extension('kaa.xine._xinemodule', files, extra_compile_args = 
['-DPIC'])
 
 if not xineso.check_library('xine', '1.1.1'):
     print 'xine >= 1.1.1 not found'
@@ -84,8 +83,21 @@
 elif arch == "i386":
     config.define('ARCH_X86')
 
+requires_common =       'kaa-base >= 0.1.2, kaa-display >= 0.1.0, xine-lib >= 
1.1.0'
+build_requires_common = 'kaa-base >= 0.1.2, xine-lib-devel >= 1.1.0, 
python-devel >= 2.4.0'
+
 setup(module      = 'xine',
-      version     = '0.9', # We're almost feature complete :)
+      version     = '0.9.0',
+      license     = 'GPL',
+      summary     = 'Python bindings for xine-lib',
+      rpminfo     = {
+          'requires':       'libX11 >= 1.0.0, mesa-libGL >= 6.5.0, ' + 
requires_common,
+          'build_requires': 'libX11-devel >= 1.0.0, mesa-libGL-devel >= 6.5.0, 
' + build_requires_common,
+          'fc4': {
+              'requires':       'xorg-x11 >= 6.8.0, ' + requires_common,
+              'build_requires': 'xorg-x11-devel >= 6.8.0, ' + 
build_requires_common
+          }
+      },
       ext_modules = [ xineso ]
 )
 

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to