r1510 - packages/trunk/mknonfreepkg
Gonéri Le Bouder
goneri-guest at costa.debian.org
Wed Sep 6 18:00:41 UTC 2006
Author: goneri-guest
Date: 2006-09-06 18:00:29 +0000 (Wed, 06 Sep 2006)
New Revision: 1510
Modified:
packages/trunk/mknonfreepkg/mknonfreepkg
Log:
some improvement but still in a dev stage
Modified: packages/trunk/mknonfreepkg/mknonfreepkg
===================================================================
--- packages/trunk/mknonfreepkg/mknonfreepkg 2006-09-05 20:56:54 UTC (rev 1509)
+++ packages/trunk/mknonfreepkg/mknonfreepkg 2006-09-06 18:00:29 UTC (rev 1510)
@@ -4,11 +4,26 @@
version="0.0.1"
sharedir='/usr/share/mknonfreepkg/'
-buildarea='/var/cache/mknonfreepkg/build'
+vardir='/var/cache/mknonfreepkg'
+tmpdir=vardir+'/tmp'
+tarballsdir=vardir+'/tarballs'
+buildarea=vardir+'/build'
import os
import sys
+import urllib
+def run(cmd):
+ try:
+ err = os.system(cmd)
+ except Exception, value:
+ print >> sys.stderr, value
+ sys.exit(1) # of course, it needs a better error endler
+
+ if (err != 0):
+ print >> sys.stderr, 'this cmd failed: %s\n' % cmd
+ sys.exit(1) # of course, it needs a better error endler
+
class Params:
def add(self, name, val):
print 'set %s in %s parameter' % val, name
@@ -16,34 +31,42 @@
def get(self, name):
return 'totor'
+class RemoteObject:
+ def __init__(self, pkgname, urls):
+ # TODO read the 'urls' list and find the best URL
+ self.url = 'http://localhost.localdomain/totorRi-li-1.2.0.tar.gz'
+ self.dirname, self.filename = os.path.split(self.url)
+ self.localpath = tarballsdir+'/'+self.filename
+ self.localtmppath = tmpdir+'/'+self.filename
+ self.preparefile = sharedir+'/'+pkgname+ '/prepare.make'
+ self.retrieve()
+ def retrieve(self):
+ if os.path.exists(self.localpath):
+ print 'The file is already on the system\n'
+ return
+
+ run('wget -c -O %s %s' % (self.localtmppath, self.url))
+ run('cd %s && make -f %s' % (tmpdir, self.preparefile))
+
+
class MkNonFreePkg:
def __init__(self):
self.urls = []
print 'MkNonFreePkg object created\n'
- def extractCtrlFiles(self):
+ def installDebianFiles(self):
ctrlfile = sharedir+self.pkgname+'/control.tar.gz'
print 'Extracting ctrl.tar.gz in the build tree\n'
- self.run('cd %s;tar xfz %s' % (buildarea+'/'+self.pkgname, ctrlfile))
+ run('cd %s;tar xfz %s' % (buildarea+'/'+self.pkgname, ctrlfile))
+ run('cp -r %s %s' % (sharedir+self.pkgname+'/debian',/buildarea+'/'+self.pkgname))
- def run(self,cmd):
- try:
- err = os.system(cmd)
- except Exception, value:
- print >> sys.stderr, value
- sys.exit(1) # of course, it needs a better error endler
- if (err != 0):
- print >> sys.stderr, 'this cmd failed: %s\n' % cmd
- sys.exit(1) # of course, it needs a better error endler
-
-
def setPkgname(self, pkgname):
self.pkgname = pkgname
+# TODO add ability to deal with more than one tarball
def loadUrls(self):
- #urlfile = "/usr/share/"+self.pkgname+"/totor/url.lst"
urlfile = sharedir+self.pkgname+"/url.lst"
print 'Opening urlfile: '+urlfile+'\n'
try:
@@ -59,11 +82,14 @@
self.urls.append(line)
fd.close()
- def download(self):
- self.loadUrls()
- for url in self.urls:
- print 'Downloading pkg %s from %s' % (self.pkgname, url)
+# def download(self):
+# self.loadUrls()
+# for url in self.urls:
+# print 'Downloading pkg %s from %s' % (self.pkgname, url)
+ def getPkgRelease(self):
+ #TODO retrieve current package release
+
def prepare(self):
print 'preparing %s build tree\n' % self.pkgname
@@ -73,11 +99,16 @@
###########
def create(self):
print 'create %s\n' % self.pkgname
- self.run('mkdir -p %s/%s' % (buildarea, self.pkgname))
+ run('mkdir -p %s/%s' % (buildarea, self.pkgname))
+ run('mkdir -p %s' % (tmpdir))
+ run('mkdir -p %s' % (tarballsdir))
- self.download()
+# self.download()
+ self.loadUrls()
+ self.getPkgRelease()
+ remoteobject = RemoteObject(self.pkgname, self.urls)
self.prepare()
- self.extractCtrlFiles()
+ self.installDebianFiles()
self.build()
self.clean()
@@ -104,13 +135,13 @@
cmd = sys.argv[1]
-self = MkNonFreePkg()
+mknonfreepkg = MkNonFreePkg()
if cmd == 'create':
if len(sys.argv) == 3:
print '->'+sys.argv[2]+'\n'
- self.setPkgname(sys.argv[2])
- self.create()
+ mknonfreepkg.setPkgname(sys.argv[2])
+ mknonfreepkg.create()
sys.exit(0)
else:
print 'Usage: %s create pkgname\n' % sys.argv[0]
More information about the Pkg-games-commits
mailing list