changeset 3597:ec349cfebdc1

Implement all misssing root packages as optional binary ipkg sources.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Tue, 10 Jul 2007 14:21:24 +0200
parents 24cf613a9fb6
children 56c37402a9a1
files gub/specs/root-image.py
diffstat 1 files changed, 35 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/gub/specs/root-image.py	Tue Jul 10 14:20:52 2007 +0200
+++ b/gub/specs/root-image.py	Tue Jul 10 14:21:24 2007 +0200
@@ -12,30 +12,46 @@
             'busybox',
             'dhcp',
             'dropbear',
-            #'fuser', -> psmisc
             'psmisc',
-            #'initscripts',
-            #'linux-hotplug',
-            #'makedevs',
-            #'module-init-tools-depmod',
-            #'modutils-depmod',
-            #'modutils-initscripts',
-            #'netbase',
-            #'nxpp-dvbh',
-            #'nxpp-esgplayer-autostart',
-            #'nxpp-pointercal',
-            #'nxpp-runme',
-            #'portmap',
-            #'setserial',
-            #'strace',
             'sysvinit',
-            #'sysvinit-inittab',
-            #'sysvinit-pidof',
+            ]
+    def get_ipkg_dependencies (self):
+        return [
+            'initscripts',
+            'linux-hotplug',
+            'makedevs',
+            'module-init-tools-depmod',
+            'modutils-depmod',
+            'modutils-initscripts',
+            'netbase',
+            'nxpp-dvbh',
+            'nxpp-esgplayer-autostart',
+            'nxpp-pointercal',
+            'nxpp-runme',
+            'portmap',
+            'setserial',
+            'strace',
+            'sysvinit-inittab',
+            'sysvinit-pidof',
 #            'tinylogin',
 #Reading pipe: tar -tzf "/home/janneke/vc/gub-samco/uploads/linux-arm-vfp/sysvinit-2.86.linux-arm-vfp.gup"
 #already have file ./sbin/sulogin: tinylogin
-            #'tslib-conf',
-            #'update-rc.d',
+            'tslib-conf',
+            'update-rc.d',
             ]
     def get_subpackage_names (self):
         return ['']
+    def install_ipkg (self, i):
+        import glob
+        for f in glob.glob (self.expand ('%(downloads)s/ipk/%(i)s_*.ipk',
+                                         locals ())):
+            v = ''
+            if self.verbose >= self.os_interface.level['command']:
+                v = 'v'
+            self.system ('''
+cd %(install_root)s && ar p %(f)s data.tar.gz | tar -zx%(v)sf -
+''', locals ())
+    def install (self):
+        gubb.NullBuildSpec.install (self)
+        for i in self.get_ipkg_dependencies ():
+            self.install_ipkg (i)