changeset 3400:82e1a185d8a2

Update debian-* to get_cross_build_dependencies. Resolve debian packages using version from Packages; do not use lp.org's partly mirror.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Thu, 03 May 2007 12:41:24 +0200
parents adebe2263494
children bc06eb1d4dca
files TODO gub/config_cache.py gub/debian-arm.py gub/debian.py gub/gup.py gub/installer.py gub/mipsel.py gub/misc.py gub/settings.py gub/specs/debian/cross/gcc-34.py gub/specs/debian/cross/gcc.py gub/specs/debian/libc6-dev.py gub/specs/debian/libc6.py gub/specs/debian/libdbi0-dev.py gub/specs/debian/libqt4-dev.py gub/specs/debian/linux-kernel-headers.py gub/specs/linux-headers.py
diffstat 17 files changed, 93 insertions(+), 103 deletions(-) [+]
line wrap: on
line diff
--- a/TODO	Thu May 03 12:38:55 2007 +0200
+++ b/TODO	Thu May 03 12:41:24 2007 +0200
@@ -1,6 +1,4 @@
 * update platform packages to use get_cross_build_dependencies
-  - debian-*
-  - mipsel
   - linux-arm-...
 
   DONE
@@ -25,8 +23,6 @@
 
 - better name for gubb.py
 
-- rename mipsel to debian-mipsel.py (and other debian-based platforms)
-
 - Split gub/*py into packager, builder, platform
 
 - Explode inheritance, and use membership in GUP
--- a/gub/config_cache.py	Thu May 03 12:38:55 2007 +0200
+++ b/gub/config_cache.py	Thu May 03 12:41:24 2007 +0200
@@ -266,6 +266,7 @@
 
 config_cache['debian'] = config_cache['linux-x86']
 config_cache['debian-arm'] = config_cache['arm']
+config_cache['debian-mipsel'] = config_cache['mipsel']
 config_cache['linux-arm-softfloat'] = config_cache['arm']
 config_cache['linux-arm-vfp'] = config_cache['arm']
 config_cache['freebsd-x86'] = config_cache['freebsd6-x86']
--- a/gub/debian-arm.py	Thu May 03 12:38:55 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-def get_cross_packages (settings):
-    # obsolete
-    return []
-
-def get_cross_build_dependencies (settings):
-    from gub import debian
-    # FIXME: urg, must override in debian/cross/gcc.py
-    debian.gcc_version = '3.4.3' # only change
-    return debian.get_cross_build_dependencies (settings)
-
-def change_target_package (p):
-    from gub import cross
-    cross.change_target_package (p)
-    return p
--- a/gub/debian.py	Thu May 03 12:38:55 2007 +0200
+++ b/gub/debian.py	Thu May 03 12:41:24 2007 +0200
@@ -91,6 +91,12 @@
     package.url = mirror + '/' + d['Filename']
     package.format = 'deb'
 
+    pkg_name = d['Package']
+    def name (self):
+        return pkg_name
+    package.name = instancemethod (name, package, package_class)
+
+    package.ball_version = d['Version']
     from gub import repository
     package.vc_repository = repository.TarBall (settings.downloads,
                                                 package.url,
--- a/gub/gup.py	Thu May 03 12:38:55 2007 +0200
+++ b/gub/gup.py	Thu May 03 12:41:24 2007 +0200
@@ -448,7 +448,7 @@
         from gub import cygwin
         cygwin.init_dependency_resolver (settings)
         name_to_deps = name_to_dependencies_via_cygwin
-    elif settings.platform in ('debian-arm', 'debian', 'mipsel'):
+    elif settings.platform.startswith ('debian'):
         from gub import debian
         debian.init_dependency_resolver (settings)
         name_to_deps = name_to_dependencies_via_debian
--- a/gub/installer.py	Thu May 03 12:38:55 2007 +0200
+++ b/gub/installer.py	Thu May 03 12:41:24 2007 +0200
@@ -327,7 +327,11 @@
 def get_installer (settings, args=[]):
 
     installer_class = {
+        # TODO: ipkg/dpkg
+        'debian' : Shar,
         'debian-arm' : Shar,
+        'debian-mipsel' : Shar,
+        
         'darwin-ppc' : DarwinBundle,
         'darwin-x86' : DarwinBundle,
         'freebsd-x86' : Shar,
@@ -340,7 +344,6 @@
         'linux-ppc' : Shar,
         'mingw' : Nsis,
 #        'mingw' : MingwRoot,
-        'mipsel' : Shar,
     }
 
     return installer_class[settings.platform] (settings)
--- a/gub/mipsel.py	Thu May 03 12:38:55 2007 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-
-#
-from gub import cross
-from gub import mirrors
-from gub import gubb
-from gub import linux
-from gub import misc
-from gub import targetpackage
-
-class Mipsel_runtime (gubb.BinarySpec, gubb.SdkBuildSpec):
-    pass
-
-class Gcc_34 (cross.Gcc):
-    def languages (self):
-        return  ['c']
-        
-    def configure_command (self):
-        return misc.join_lines (cross.Gcc.configure_command (self)
-                               + '''
---program-suffix=-3.4
---with-ar=%(cross_prefix)s/bin/%(target_architecture)s-ar
---with-nm=%(cross_prefix)s/bin/%(target_architecture)s-nm
-''')
-
-    def configure (self):
-        cross.Gcc.configure (self)
-        #FIXME: --with-ar, --with-nm does not work?
-        for i in ('ar', 'nm', 'ranlib'):
-            self.system ('cd %(cross_prefix)s/bin && ln -sf %(target_architecture)s-%(i)s %(target_architecture)s-%(i)s-3.4', env=locals ())
-                
-    def install (self):
-        cross.Gcc.install (self)
-        # get rid of duplicates
-        self.system ('''
-rm -f %(install_root)s/usr/lib/libgcc_s.so
-rm -f %(install_root)s/usr/lib/libgcc_s.so.1
-rm -f %(install_root)s/usr/cross/lib/libiberty.a
-rm -rf %(install_root)s/usr/cross/mipsel-linux/lib/libiberty.a
-rm -rf %(install_root)s/usr/cross/info
-rm -rf %(install_root)s/usr/cross/man
-rm -rf %(install_root)s/usr/cross/share/locale
-''')
-        if 'c++' in self.languages ():
-            self.system ('''
-rm -rf %(install_root)s/usr/lib/libsupc++.la
-rm -rf %(install_root)s/usr/lib/libstdc++.la
-rm -rf %(install_root)s/usr/lib/libstdc++.so.6
-rm -rf %(install_root)s/usr/lib/libstdc++.so
-rm -rf %(install_root)s/usr/cross/mipsel-linux/lib/libsupc++.a
-rm -rf %(install_root)s/usr/cross/mipsel-linux/lib/libstdc++.a
-rm -rf %(install_root)s/usr/cross/mipsel-linux/lib/debug/libstdc++.a
-''')
-
-def get_cross_packages (settings):
-    from gub import debian
-    return debian.get_cross_packages (settings) + [
-        Gcc_34 (settings).with (version='3.4.6',
-                             mirror=(mirrors.gnubase
-                                     + '/gcc/gcc-3.4.6/gcc-3.4.6.tar.bz2'),
-                             format='bz2'),
-        ]
-
-def change_target_package (package):
-    cross.change_target_package (package)
-    return package
--- a/gub/misc.py	Thu May 03 12:38:55 2007 +0200
+++ b/gub/misc.py	Thu May 03 12:41:24 2007 +0200
@@ -145,7 +145,7 @@
 
 def download_url (url, dest_dir):
     print 'Downloading', url
-    _download_url (url, dest_dir)
+    _download_url (url, dest_dir, sys.stderr)
     
 def _download_url (url, dest_dir, stderr):
     if not os.path.isdir (dest_dir):
--- a/gub/settings.py	Thu May 03 12:38:55 2007 +0200
+++ b/gub/settings.py	Thu May 03 12:41:24 2007 +0200
@@ -3,15 +3,16 @@
 from gub import oslog
 from gub import distcc
 from gub import gubb
-
-from context import *
+from gub import context
 
 platforms = {
+    'debian': 'i686-linux',
     'debian-arm': 'arm-linux',
+    'debian-mipsel': 'mipsel-linux',
+    'debian-x86': 'i686-linux',
     'cygwin': 'i686-cygwin',
     'darwin-ppc': 'powerpc-apple-darwin7',
     'darwin-x86': 'i686-apple-darwin8',
-    'debian': 'i686-linux',
     'freebsd-x86': 'i686-freebsd4',
     
     'freebsd4-x86': 'i686-freebsd4',
@@ -23,14 +24,13 @@
     'linux-ppc': 'powerpc-linux',
     'local': 'local',
     'mingw': 'i686-mingw32',
-    'mipsel': 'mipsel-linux',
 }
 
-distros = ('debian-arm', 'cygwin', 'debian', 'mipsel')
+distros = ('cygwin')
             
-class Settings (Context):
+class Settings (context.Context):
     def __init__ (self, options):
-        Context.__init__ (self)
+        context.Context.__init__ (self)
         self.platform = options.platform
 
         if self.platform not in platforms.keys ():
@@ -57,7 +57,8 @@
         self.target_architecture = platforms[self.platform]
         self.cpu = self.target_architecture.split ('-')[0]
         self.build_source = False
-        self.is_distro = self.platform in distros
+        self.is_distro = (self.platform in distros
+                          or self.platform.startswith ('debian'))
 
         self.topdir = os.getcwd ()
         self.logdir = self.topdir + '/log'
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gub/specs/debian/cross/gcc-34.py	Thu May 03 12:41:24 2007 +0200
@@ -0,0 +1,43 @@
+from gub import cross
+
+class Gcc_34__debian__mipsel (cross.Gcc):
+    def languages (self):
+        return  ['c']
+        
+    def configure_command (self):
+        return misc.join_lines (cross.Gcc.configure_command (self)
+                               + '''
+--program-suffix=-3.4
+--with-ar=%(cross_prefix)s/bin/%(target_architecture)s-ar
+--with-nm=%(cross_prefix)s/bin/%(target_architecture)s-nm
+''')
+
+    def configure (self):
+        cross.Gcc.configure (self)
+        #FIXME: --with-ar, --with-nm does not work?
+        for i in ('ar', 'nm', 'ranlib'):
+            self.system ('cd %(cross_prefix)s/bin && ln -sf %(target_architecture)s-%(i)s %(target_architecture)s-%(i)s-3.4', env=locals ())
+                
+    def install (self):
+        cross.Gcc.install (self)
+        # get rid of duplicates
+        self.system ('''
+rm -f %(install_root)s/usr/lib/libgcc_s.so
+rm -f %(install_root)s/usr/lib/libgcc_s.so.1
+rm -f %(install_root)s/usr/cross/lib/libiberty.a
+rm -rf %(install_root)s/usr/cross/mipsel-linux/lib/libiberty.a
+rm -rf %(install_root)s/usr/cross/info
+rm -rf %(install_root)s/usr/cross/man
+rm -rf %(install_root)s/usr/cross/share/locale
+''')
+        if 'c++' in self.languages ():
+            self.system ('''
+rm -rf %(install_root)s/usr/lib/libsupc++.la
+rm -rf %(install_root)s/usr/lib/libstdc++.la
+rm -rf %(install_root)s/usr/lib/libstdc++.so.6
+rm -rf %(install_root)s/usr/lib/libstdc++.so
+rm -rf %(install_root)s/usr/cross/mipsel-linux/lib/libsupc++.a
+rm -rf %(install_root)s/usr/cross/mipsel-linux/lib/libstdc++.a
+rm -rf %(install_root)s/usr/cross/mipsel-linux/lib/debug/libstdc++.a
+''')
+
--- a/gub/specs/debian/cross/gcc.py	Thu May 03 12:38:55 2007 +0200
+++ b/gub/specs/debian/cross/gcc.py	Thu May 03 12:41:24 2007 +0200
@@ -17,4 +17,5 @@
     def __init__ (self, settings):
         cross.Gcc.__init__ (self, settings)
         self.with_tarball (mirror=mirrors.gnu, version='3.4.6', format='bz2')
-    
+
+
--- a/gub/specs/debian/libc6-dev.py	Thu May 03 12:38:55 2007 +0200
+++ b/gub/specs/debian/libc6-dev.py	Thu May 03 12:41:24 2007 +0200
@@ -5,9 +5,11 @@
 class Libc6_dev (gubb.BinarySpec, gubb.SdkBuildSpec):
     def __init__ (self, settings):
         gubb.BinarySpec.__init__ (self, settings)
-        self.with (version=debian.glibc_version,
+        self.with (version=debian.get_packages ()['libc6-dev'].version (),
                    strip_components=0,
-                   mirror=mirrors.lilypondorg_deb,
+                   mirror=mirrors.glibc_deb,
+# FIXME: we do not mirror all 12 debian arch's,
+#                   mirror=mirrors.lilypondorg_deb,
                    format='deb')
     def untar (self):
         gubb.BinarySpec.untar (self)
--- a/gub/specs/debian/libc6.py	Thu May 03 12:38:55 2007 +0200
+++ b/gub/specs/debian/libc6.py	Thu May 03 12:41:24 2007 +0200
@@ -5,9 +5,11 @@
 class Libc6 (gubb.BinarySpec, gubb.SdkBuildSpec):
     def __init__ (self, settings):
         gubb.BinarySpec.__init__ (self, settings)
-        self.with (version=debian.glibc_version,
+        self.with (version=debian.get_packages ()['libc6'].version (),
                    strip_components=0,
-                   mirror=mirrors.lilypondorg_deb,
+                   mirror=mirrors.glibc_deb,
+# FIXME: we do not mirror all 12 debian arch's,
+#                   mirror=mirrors.lilypondorg_deb,
                    format='deb')
     def patch (self):
         self.system ('cd %(srcdir)s && rm -rf usr/sbin/ sbin/ bin/ usr/bin')
--- a/gub/specs/debian/libdbi0-dev.py	Thu May 03 12:38:55 2007 +0200
+++ b/gub/specs/debian/libdbi0-dev.py	Thu May 03 12:41:24 2007 +0200
@@ -1,2 +1,4 @@
+from gub import gubb
+
 class Libdbi0_dev (gubb.BinarySpec, gubb.SdkBuildSpec):
     pass
--- a/gub/specs/debian/libqt4-dev.py	Thu May 03 12:38:55 2007 +0200
+++ b/gub/specs/debian/libqt4-dev.py	Thu May 03 12:41:24 2007 +0200
@@ -1,3 +1,5 @@
+from gub import gubb
+
 class Libqt4_dev (gubb.BinarySpec, gubb.SdkBuildSpec):
     def untar (self):
         gubb.BinarySpec.untar (self)
--- a/gub/specs/debian/linux-kernel-headers.py	Thu May 03 12:38:55 2007 +0200
+++ b/gub/specs/debian/linux-kernel-headers.py	Thu May 03 12:41:24 2007 +0200
@@ -5,9 +5,11 @@
 class Linux_kernel_headers (gubb.BinarySpec, gubb.SdkBuildSpec):
     def __init__ (self, settings):
         gubb.BinarySpec.__init__ (self, settings)
-        self.with (version=debian.linux_version,
+        self.with (version=debian.get_packages ()['linux-kernel-headers'].version (),
                    strip_components=0,
-                   mirror=mirrors.lilypondorg_deb,
+                   mirror=mirrors.lkh_deb,
+# FIXME: we do not mirror all 12 debian arch's,
+#                   mirror=mirrors.lilypondorg_deb,
                    format='deb')
     def get_subpackage_names (self):
         return ['']
--- a/gub/specs/linux-headers.py	Thu May 03 12:38:55 2007 +0200
+++ b/gub/specs/linux-headers.py	Thu May 03 12:41:24 2007 +0200
@@ -26,13 +26,21 @@
 
 #urg, shoot /me in foot
 #from gub import debian
-from gub import misc
+#from gub import misc
 debian = misc.load_spec ('debian/linux-kernel-headers')
 
+
 class Linux_headers__debian (debian.Linux_kernel_headers):
     def __init__ (self, settings):
         debian.Linux_kernel_headers.__init__ (self, settings)
-        self.with (name='linux-kernel-headers')
+        self.with (name='linux-kernel-headers',
+                   version=debian.get_packages ()['linux-kernel-headers'].version (),
+# FIXME: we do not mirror all 12 debian arch's,
+#                   mirror=mirrors.lilypondorg_deb,
+#                   version='2.5.999-test7-bk-17',
+                   mirror=mirrors.lkh_deb,
+                   strip_components=0,
+                   format='deb')
 
 Linux_headers__linux__ppc = Linux_headers__debian
 #Linux_headers__linux__64 = Linux_headers__debian