Çağlar ile konuştuk. ebuild2pisi'yi kullanacağız.
This commit is contained in:
@@ -1,5 +0,0 @@
|
||||
all:
|
||||
python main.py
|
||||
PORTDIR=PORTDIR_OVERLAY_KLASÖRÜ sudo python portage2pisi.py
|
||||
clean:
|
||||
sudo rm -rf packages
|
||||
@@ -1,7 +0,0 @@
|
||||
cd PORTDIR_OVERLAY_KLASÖRÜNÜZ
|
||||
ln -s /usr/portage/eclass/
|
||||
ln -s /usr/portage/profiles/
|
||||
|
||||
Makefile içindeki PORTDIR=PORTDIR_OVERLAY_KLASÖRÜ düzeltilecek
|
||||
|
||||
Sonrasınra make ve make clean
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import os
|
||||
import string
|
||||
|
||||
os.mkdir('packages')
|
||||
for i in string.ascii_letters:
|
||||
os.mkdir('packages' + '/' + i)
|
||||
@@ -1,147 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import sys
|
||||
import os
|
||||
import datetime
|
||||
|
||||
sys.path.insert(0, "/usr/lib/portage/pym")
|
||||
import portage
|
||||
from portage import catpkgsplit
|
||||
|
||||
def packageVersion(pkg):
|
||||
if len(pkg) > 1:
|
||||
parts = catpkgsplit(pkg)
|
||||
if parts == None:
|
||||
return ""
|
||||
|
||||
if parts[3] != 'r0':
|
||||
version = parts[2] + "-" + parts[3]
|
||||
else:
|
||||
version = parts[2]
|
||||
return version
|
||||
else:
|
||||
return False
|
||||
|
||||
db = portage.portdb
|
||||
|
||||
ebuilds = []
|
||||
for p in db.cp_all():
|
||||
for pv in db.cp_list(p):
|
||||
ebuilds.append(pv)
|
||||
|
||||
try:
|
||||
for pkg in ebuilds:
|
||||
|
||||
try:
|
||||
homepage, description, license, URI, depend, rdepend = portage.portdb.aux_get(pkg, ["HOMEPAGE", "DESCRIPTION", "LICENSE", "SRC_URI", "DEPEND", "RDEPEND"])
|
||||
except KeyError:
|
||||
homepage, description, license, URI, depend, rdepend = "", "", ""
|
||||
pass
|
||||
|
||||
''' Package name without version '''
|
||||
PackageName = catpkgsplit(pkg)[1]
|
||||
|
||||
''' Category and Package name with version '''
|
||||
(category, name) = pkg.split("/")
|
||||
|
||||
''' Version and release '''
|
||||
if '-' in packageVersion(pkg):
|
||||
(version, release) = packageVersion(pkg).split("-")
|
||||
release = release.replace("r","")
|
||||
else:
|
||||
version = packageVersion(pkg)
|
||||
release = ''
|
||||
|
||||
''' Type of archieve file '''
|
||||
if URI[-2:] == 'gz':
|
||||
type = 'targz'
|
||||
elif URI[-3:] == 'bz2':
|
||||
type = 'tarbz2'
|
||||
elif URI[-3:] == 'tar':
|
||||
type = 'tar'
|
||||
elif URI[-3:] == 'zip':
|
||||
type = 'zip'
|
||||
|
||||
''' Current date '''
|
||||
date = datetime.date.today()
|
||||
|
||||
''' Build Dependencies '''
|
||||
buildDep = ""
|
||||
for dep in portage.flatten(portage.tokenize(depend)):
|
||||
buildDep += " <Dependency>" + dep + "</Dependency>\n"
|
||||
|
||||
''' Runtime Dependencies '''
|
||||
runDep = ""
|
||||
for dep in portage.flatten(portage.tokenize(rdepend)):
|
||||
runDep += " <Dependency>" + dep + "</Dependency>\n"
|
||||
|
||||
template='''<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
|
||||
<!DOCTYPE PSPEC SYSTEM "http://www.uludag.org.tr/projeler/pisi/pisi-spec.dtd">
|
||||
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>%s</Name>
|
||||
<Homepage>%s</Homepage>
|
||||
<Packager>
|
||||
<Name>PACKAGER</Name>
|
||||
<Email>PACKAGER_EMAIL</Email>
|
||||
</Packager>
|
||||
<License>%s</License>
|
||||
<IsA>category</IsA>
|
||||
<PartOf>component</PartOf>
|
||||
<Description>%s</Description>
|
||||
<Archive type="%s" sha1sum="SUM">%s</Archive>
|
||||
<BuildDependencies>
|
||||
|
||||
%s
|
||||
</BuildDependencies>
|
||||
<History>
|
||||
<Update>
|
||||
<Date>%s</Date>
|
||||
<Version>%s</Version>
|
||||
<Release>%s</Release>
|
||||
</Update>
|
||||
</History>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>%s</Name>
|
||||
<Summary xml:lang="en">%s</Summary>
|
||||
<RuntimeDependencies>
|
||||
|
||||
%s
|
||||
</RuntimeDependencies>
|
||||
<Description>%s</Description>
|
||||
<Files>FILES</Files>
|
||||
<History>
|
||||
<Update>
|
||||
<Date>%s</Date>
|
||||
<Version>%s</Version>
|
||||
<Release>%s</Release>
|
||||
</Update>
|
||||
</History>
|
||||
</Package>
|
||||
|
||||
</PISI>
|
||||
''' % ( PackageName, homepage, license, description, type, URI, buildDep, date, version, release, PackageName, description, \
|
||||
runDep, description, date, version, release )
|
||||
|
||||
''' package/a/acpid-1.2.0/acpid.pspec '''
|
||||
filename = "packages/" + name[:1] + "/" + name + "/" + name + ".pspec"
|
||||
|
||||
try:
|
||||
os.mkdir("packages/" + name[:1] + "/" + name )
|
||||
except OSError, e:
|
||||
print "Directort exist %s" % e
|
||||
pass
|
||||
|
||||
''' Write to file '''
|
||||
entry = open( filename, 'w' )
|
||||
entry.write( template )
|
||||
entry.close()
|
||||
|
||||
except KeyboardInterrupt:
|
||||
sys.exit(1)
|
||||
|
||||
print "Total: " + str(len(ebuilds)) + " ebuilds has been converted to pspec..."
|
||||
Reference in New Issue
Block a user