[Pkg-uml-commit] r119 - in tags/src/rootstrap: . 0.3.22-1

Mattia Dongili malattia at costa.debian.org
Thu Jun 1 17:35:19 UTC 2006


Author: malattia
Date: 2006-06-01 17:35:18 +0000 (Thu, 01 Jun 2006)
New Revision: 119

Added:
   tags/src/rootstrap/0.3.22-1/
   tags/src/rootstrap/0.3.22-1/rootstrap
Removed:
   tags/src/rootstrap/0.3.22-1/rootstrap
Log:
tagging new rootstrap release 0.3.22-1

Copied: tags/src/rootstrap/0.3.22-1 (from rev 116, trunk/src/rootstrap)

Deleted: tags/src/rootstrap/0.3.22-1/rootstrap
===================================================================
--- trunk/src/rootstrap/rootstrap	2006-05-29 18:37:22 UTC (rev 116)
+++ tags/src/rootstrap/0.3.22-1/rootstrap	2006-06-01 17:35:18 UTC (rev 119)
@@ -1,152 +0,0 @@
-#!/usr/bin/env python
-
-#     vim: tabstop=4 noexpandtab
-#
-#     rootstrap - Quickly and easily build Linux filesystem images
-#     Copyright (C) 2002 Matt Zimmerman <mdz at debian.org>
-#
-#     This program is free software; you can redistribute it and/or modify
-#     it under the terms of the GNU General Public License as published by
-#     the Free Software Foundation; either version 2 of the License, or
-#     (at your option) any later version.
-#
-#     This program is distributed in the hope that it will be useful,
-#     but WITHOUT ANY WARRANTY; without even the implied warranty of
-#     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#     GNU General Public License for more details.
-#
-#     You should have received a copy of the GNU General Public License
-#     along with this program; if not, write to the Free Software
-#     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#
-
-import os
-import sys
-import getopt
-import ConfigParser
-import shutil
-
-def usage(exitcode):
-    sys.stderr.write("Usage: rootstrap [options] <output image file>\n")
-    sys.exit(exitcode)
-
-config = ConfigParser.ConfigParser()
-config.readfp(open('/etc/rootstrap/rootstrap.conf'))
-config.read(('rootstrap.conf',))
-
-try:
-    (optlist,args) = getopt.getopt(sys.argv[1:], 's:u:o:c:',
-                                   ['image-size=', 'umlarg=', 'config='])
-except getopt.GetoptError:
-    usage(1)
-
-if len(args) < 1:
-    usage(1)
-
-# So that we can find tune2fs, resize2fs and such
-os.environ['PATH'] += ':/sbin:/usr/sbin'
-# So that we can find uml_net when installed in /usr/lib/uml
-os.environ['PATH'] += ':/usr/lib/uml'
-
-imagefile = args[0]
-imagesize = config.getint('global', 'initialsize')
-log = sys.stdout
-umlargs = ['linux']
-umlargs_extra = []
-
-for opt,arg in optlist:
-    if opt in ('-s', '--image-size'):
-        imagesize = long(arg)
-    elif opt in ('-o',):
-        log = open(arg,"w")
-        os.dup2(log.fileno(), sys.stdout.fileno())
-    elif opt in ('-c', '--config'):
-        umlargs_extra.append('rsconfig=%s' % os.path.abspath(os.path.expanduser(arg)))
-    elif opt in ('-u', '--umlarg'):
-        umlargs_extra.extend(arg.split())
-
-if config.has_option('network', 'interface'):
-    netif = config.get('network', 'interface', None)
-    if netif != None:
-        transport = config.get('network', 'transport')
-        if transport == 'tuntap':
-            if config.has_option('network','host_if'):
-                # Preconfigured tap
-                host_if = config.get('network','host_if')
-            else:
-                host_if = ''
-            hostaddr = config.get('network', 'host')
-            umlargs.append('%s=%s,%s,,%s' % (netif,transport,host_if,hostaddr))
-        elif transport == 'slirp':
-            umlargs.append('%s=slirp,,%s' % (netif, config.get('network','slirp','slirp')))
-        elif transport == 'daemon':
-            if config.has_option('network', 'control'):
-                umlargs.append('%s=daemon,,,%s' % (netif,
-                                                   config.get('network', 'control'),
-                                                   ))
-            else:
-                umlargs.append('%s=daemon' % netif)
-        else:
-            sys.stderr.write('Unsupported transport: %s' % transport)
-            sys.exit(1)
-
-umlargs.extend(umlargs_extra)
-
-umlargs.extend(['con0=fd:0',
-                'con=pts',
-		'root=/dev/root',
-		'rootflags=/',
-		'rootfstype=hostfs',
-                'ubd1=' + imagefile,
-                'init=/usr/lib/rootstrap/builder',
-                'devfs=nomount',
-                'rsworkdir=' + os.getcwd()])
-if config.has_option('global', 'umlargs'):
-    umlargs.extend(config.get('global', 'umlargs').split())
-
-if os.path.isfile(imagefile):
-    os.remove(imagefile)
-
-if not os.path.exists(imagefile):
-    image = open(imagefile,'w')
-    image.truncate(imagesize * 1048576L)
-    image.close()
-
-if os.spawnvpe(os.P_WAIT,umlargs[0], umlargs, os.environ) != 0:
-    sys.stderr.write("UML exited with non-zero status, aborting\n")
-    sys.exit(1)
-
-if config.has_option('global', 'freespace') and os.path.isfile(imagefile):
-    freespace_wanted = long(config.getint('global', 'freespace'))
-    if freespace_wanted != 0:
-        tune2fs = os.popen('tune2fs -l ' + imagefile)
-        freeblocks_natural = -1L
-        block_size = -1L
-        for line in tune2fs.readlines():
-            if line.find(':') == -1:
-                continue
-            label, value = line.split(':', 1)
-            if label == 'Block count':
-                size_natural = long(value)
-            elif label == 'Free blocks':
-                freeblocks_natural = long(value)
-            elif label == 'Block size':
-                block_size = long(value)
-                
-        tune2fs.close()
-                
-        if block_size == -1:
-            sys.stderr.write("Warning: Unable to determine block size, not resizing\n")
-        else:
-            print "Resizing filesystem..."
-            if freeblocks_natural == -1:
-                sys.stderr.write("Warning: Unable to determine free space, not resizing\n")
-            else:
-                freeblocks_wanted = freespace_wanted * block_size
-                if freeblocks_natural != freeblocks_wanted:
-                    size_wanted = size_natural - freeblocks_natural + freeblocks_wanted
-                    resize2fs = os.popen('resize2fs -f %s %s 2>&1' % (imagefile, size_wanted))
-                    sys.stdout.write(resize2fs.read())
-                    image = open(imagefile, 'r+')
-                    image.truncate(size_wanted * block_size)
-                    image.close()

Copied: tags/src/rootstrap/0.3.22-1/rootstrap (from rev 118, trunk/src/rootstrap/rootstrap)




More information about the Pkg-uml-commit mailing list