diff --git a/tools/Makefile b/tools/Makefile
new file mode 100644
index 00000000..ed4d760d
--- /dev/null
+++ b/tools/Makefile
@@ -0,0 +1,5 @@
+all:
+ python main.py
+ PORTDIR=PORTDIR_OVERLAY_KLASÖRÜ sudo python portage2pisi.py
+clean:
+ sudo rm -rf packages
diff --git a/tools/README b/tools/README
new file mode 100644
index 00000000..853ca466
--- /dev/null
+++ b/tools/README
@@ -0,0 +1,7 @@
+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
diff --git a/tools/main.py b/tools/main.py
new file mode 100644
index 00000000..46445b9a
--- /dev/null
+++ b/tools/main.py
@@ -0,0 +1,8 @@
+#!/usr/bin/python
+
+import os
+import string
+
+os.mkdir('packages')
+for i in string.ascii_letters:
+ os.mkdir('packages' + '/' + i)
diff --git a/tools/portage2pisi.py b/tools/portage2pisi.py
new file mode 100644
index 00000000..d1ee9807
--- /dev/null
+++ b/tools/portage2pisi.py
@@ -0,0 +1,147 @@
+#!/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 += " " + dep + "\n"
+
+ ''' Runtime Dependencies '''
+ runDep = ""
+ for dep in portage.flatten(portage.tokenize(rdepend)):
+ runDep += " " + dep + "\n"
+
+ template='''
+
+
+
+
+
+ %s
+ %s
+
+ PACKAGER
+ PACKAGER_EMAIL
+
+ %s
+ ISA
+ PARTOF
+ %s
+ %s
+
+
+%s
+
+
+
+ %s
+ %s
+ %s
+
+
+
+
+
+ %s
+ %s
+
+
+%s
+
+ %s
+ FILES
+
+
+ %s
+ %s
+ %s
+
+
+
+
+
+''' % ( 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..."