taslak pisi-build şeysi
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from specfile import SpecFile
|
||||
import fetcher
|
||||
import archive
|
||||
import pisipackage
|
||||
import pisiutils # patch, fileutils?
|
||||
|
||||
class PisiBuildError(Exception):
|
||||
pass
|
||||
|
||||
class PisiBuild:
|
||||
"""PisiBuild class, provides the package build and creation rutines"""
|
||||
def __init__(self, pspecfile):
|
||||
self.pspecfile = pspecfile
|
||||
self.pspec = SpecFile(pspecfile)
|
||||
# pspec.getTag("tagname"), pspec.getAttribute("tagname","attribute"), vs.
|
||||
# fonksiyonları olacak bu amcanın
|
||||
|
||||
def usage(progname = "pisi-build"):
|
||||
print """
|
||||
Usage:
|
||||
%s [options] package-name.pspec
|
||||
""" %(progname)
|
||||
|
||||
def main():
|
||||
import sys
|
||||
import getopt
|
||||
|
||||
# wrapper for usage(progname) function
|
||||
help = lambda: usage(sys.argv[0])
|
||||
|
||||
# getopt magic
|
||||
try:
|
||||
opts, args = getopt.getopt(sys.argv[1:],"h",["help"])
|
||||
except getopt.GetoptError:
|
||||
help()
|
||||
sys.exit(1)
|
||||
|
||||
for opt, arg in opts:
|
||||
if opt == "-h":
|
||||
help()
|
||||
sys.exit(1)
|
||||
|
||||
# pspec(PISI Spec) to be used for package
|
||||
pspec = ""
|
||||
|
||||
# TODO: We accept only one pspec file (at a time) currently,
|
||||
# but pisi-build may build many packages (pspecs given in order)
|
||||
# sequentially.
|
||||
if len(args) != 1:
|
||||
help()
|
||||
raise PisiBuildError, "pisi-build excepts one (and only one) pspec file currently"
|
||||
else:
|
||||
pspec = args[0]
|
||||
|
||||
|
||||
# doing the real job... vs. vs...
|
||||
pb = PisiBuild(pspec)
|
||||
pb.fetchArchive()
|
||||
pb.unpackArchive()
|
||||
pb.applyPatches()
|
||||
pb.buildSource()
|
||||
pb.installTarget()
|
||||
pb.buildPisiPackage()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user