From a11ffe362b094d02416c4838f4cc1cc51220bc05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=2E=C3=87a=C4=9Flar=20Onur?= Date: Mon, 13 Feb 2006 03:33:05 +0000 Subject: [PATCH] =?UTF-8?q?buna=20gerek=20yok,=20taglar=20aras=C4=B1nda=20?= =?UTF-8?q?e=C4=9Fer=20gerekirse=20mevcut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/ebuild2pisi.py | 194 ------------------------------------------- 1 file changed, 194 deletions(-) delete mode 100755 tools/ebuild2pisi.py diff --git a/tools/ebuild2pisi.py b/tools/ebuild2pisi.py deleted file mode 100755 index e30b9004..00000000 --- a/tools/ebuild2pisi.py +++ /dev/null @@ -1,194 +0,0 @@ -#!/usr/bin/python -# -# Copyright (C) 2005, TUBITAK/UEKAE -# -# 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. -# -# Please read the COPYING file. -# - -import sys -import re -import datetime - -sys.path.insert(0, "/usr/lib/portage/pym") -import portage - -PSPEC_TEMPLATE=''' - - - - - - %(packagename)s - %(homepage)s - - PACKAGER - PACKAGER_EMAIL - - %(license)s - - - %(description)s - %(description)s - %(archiveUri)s - -%(patches)s - - -%(buildDep)s - - - - - %(packagename)s - -%(runDep)s - - -FILES - - - - - - - %(updateDate)s - %(updateVersion)s - First release. - PACKAGER - PACKAGER_EMAIL - - - -''' - -def packageVersion(pkg): - if len(pkg) > 1: - parts = portage.catpkgsplit(pkg) - if parts == None: - return "" - - if parts[3] != 'r0': - version = parts[2] + "-" + parts[3] - else: - version = parts[2] - return version - else: - return False - -def getArchiveType(uri): - if uri.endswith("gz"): - return "targz" - elif uri.endswith("bz2"): - return "tarbz2" - elif uri.endswith("tar"): - return "tar" - elif uri.endswith("zip"): - return "zip" - return "UNKNOWN_TYPE" - -def getDepString(deps): - depString = "Dependencies should be reformated and check for correctness" - for dep in portage.flatten(portage.tokenize(deps)): - depString += "\n "+dep+"" - - return depString - - -def getPatches(filename, pkgName, version): - fileObj = open(filename) - patchList=[] - - # ebuild variables - rc = re.compile - dispatcher = { - rc("\$\{FILESDIR\}"): "", - rc('"'): "", - rc('^/'): "", - rc("\$\{P\}|\$\{PF\}"): "-".join([pkgName,version]), - rc("\$\{PN\}"): pkgName - } - - patched = False - for line in fileObj: - line = line.strip() - if line.startswith('#'): - continue - - p = rc("\Aepatch ").search(line) - if not p: - p = rc("\Apatch ").search(line) - if p: - patched = True - line = line[p.end():] - for r in dispatcher.keys(): - m = r.search(line) - while m: - line = line[:m.start()] + dispatcher[r] + line[m.end():] - m = r.search(line) - - patchList.append(line) - - patchString = "Patches should be checked for correctness" - for patch in patchList: - patchString += "\n "+patch+"" - - return patchString - -def main(ebuild): - dict = {} - db = portage.portdb - getKeys = lambda x: db.aux_get(ebuild, [x]) - getKey = lambda x: getKeys(x)[0] - - dict["homepage"] = getKey("HOMEPAGE") - dict["archiveUri"] = getKey("SRC_URI").split()[0] - dict["archiveType"] = getArchiveType(dict["archiveUri"]) - dict["packagename"] = portage.catpkgsplit(ebuild)[1] - dict["license"] = getKey("LICENSE") - dict["description"] = getKey("DESCRIPTION") - dict["updateDate"] = datetime.date.today() - - # version & release - if '-' in packageVersion(ebuild): - (version, release) = packageVersion(ebuild).split("-") - release = release.replace("r","") - else: - version = packageVersion(ebuild) - release = '' - dict["updateVersion"] = version - dict["updateRelease"] = release - - # buildDep & runDep - deps = getKeys("DEPEND") - dict["buildDep"] = getDepString(deps) - dict["runDep"] = getDepString(getKeys("RDEPEND")) - - # patches - dict["patches"] = getPatches(db.findname(ebuild), - dict["packagename"], - dict["updateVersion"]) - - print PSPEC_TEMPLATE % dict - -if __name__ == "__main__": - usage = """Usage: -PORTDIR=/path/to/portage/overlay %s category/ebuild - -Example: -PORTDIR=/trunk/ %s app-admin/fam-2.7.0-r2 - -You don't have to define PORTDIR if you are converting a package from -the main portage repository. -""" - try: - ebuild = sys.argv[1] - except: - print usage - sys.exit(1) - - main(ebuild)