updated for version 2.1.0

This commit is contained in:
Dimitris Zlatanidis 2014-11-28 17:45:55 +02:00
parent 3057fff167
commit 09010cb3b6
20 changed files with 146 additions and 66 deletions

View file

@ -1,10 +1,16 @@
Version 2.1.0
28-11-2014
[Updated] - Fix change build path.
- Fix creating directories if not exists.
- Added Studioware repository.
Version 2.0.9
26-11-2014
[Updated] - Fix setup.py to install configuration files after checksum.
- Fix view slpkg config file.
Version 2.0.8
25-11-2014

View file

@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: slpkg
Version: 2.0.9
Version: 2.1.0
Author: dslackw
Author-email: d zlatanidis at gmail com
Maintainer: dslackw

View file

@ -11,9 +11,9 @@
Latest Release:
- Version: 2.0.9
- Version: 2.1.0
- `Package <https://sourceforge.net/projects/slpkg/files/slpkg/binary/>`_
- `Source <https://github.com/dslackw/slpkg/archive/v2.0.9.tar.gz>`_
- `Source <https://github.com/dslackw/slpkg/archive/v2.1.0.tar.gz>`_
- `CHANGELOG <https://github.com/dslackw/slpkg/blob/master/CHANGELOG>`_
.. image:: https://raw.githubusercontent.com/dslackw/images/master/slpkg/logo.png
@ -31,21 +31,24 @@ Slpkg is `Open Source <http://en.wikipedia.org/wiki/Open_source>`_ software writ
Python language. It's use is for managing packages in Slackware linux distribution.
Supported Repositories:
- SBo - `slackbuilds.org <http://slackbuilds.org/>`_
- SBo - `Reposiory <http://slackbuilds.org/>`_
Arch: {x86, x86_64}
Versions: {11.0, 12.0, 12.1, 12.2, 13.0, 13.1, 13.37, 14.0, 14.1}
- Slack - `slackware.com <http://www.slackware.com/>`_
- Slack - `Repository <http://www.slackware.com/>`_
Arch: {x86, x86_64}
Versions: {3.3, 8.1, 9.0, 9.1, 10.0, 10.1, 10.2, 11.0, 12.0, 12.2, 13.0, 13.37, 14.0, 14.1, current}
- Alien - `alien bob <http://www.slackware.com/~alien/slackbuilds/>`_
- Alien - `Repository <http://www.slackware.com/~alien/slackbuilds/>`_
Arch: {x86, x86_64}
Versions: {11.0, 12.0, 12.1, 12.2, 13.0, 13.1, 13.37, 14.0, 14.1, current}
- Slacky - `slacky.eu <http://repository.slacky.eu/>`_
- Slacky - `Repository <http://repository.slacky.eu/>`_
Arch: {x86, x86_64}
Versions: {11.0, 12.0, 12.1, 12.2, 13.0, 13.1, 13.37, 14.0, 14.1}
- Robby's - `rworkman's <http://rlworkman.net/pkgs/>`_
- Robby's - `Repository <http://rlworkman.net/pkgs/>`_
Arch: {x86, x86_64}
Versions: {11.0, 12.0, 12.1, 12.2, 13.0, 13.1, 13.37, 14.0, 14.1}
- Studioware - `Repository <http://studioware.org/packages>`_
Arch: {x86, x86_64}
Versions: {13.37, 14.0, 14.1}
Slpkg works in accordance with the standards of the organization slackbuilds.org
to builds packages. Also uses the Slackware linux instructions for installation,
@ -112,8 +115,8 @@ Untar the archive and run install.sh script:
.. code-block:: bash
$ tar xvf slpkg-2.0.9.tar.gz
$ cd slpkg-2.0.9
$ tar xvf slpkg-2.1.0.tar.gz
$ cd slpkg-2.1.0
$ ./install.sh
From SourceForge:
@ -194,7 +197,7 @@ Command Line Tool Usage
-r, [package...] remove binary packages
-d, [package...] display the contents
Repositories: <slack, sbo, alien, slacky, rlw>
Repositories: <slack, sbo, alien, slacky, rlw, studio>
Colors = [red, green, yellow, cyan, grey]
Slpkg Examples

View file

@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=slpkg
VERSION=${VERSION:-2.0.9}
VERSION=${VERSION:-2.1.0}
TAG=${TAG:-_dsw}
# Installation script.

View file

@ -57,7 +57,7 @@ It's a quick and easy way to manage your packages in slackware to a command.
-r, [package...] remove binary packages
-d, [package...] display the contents
Repositories: <slack, sbo, alien, slacky, rlw>
Repositories: <slack, sbo, alien, slacky, rlw, studio>
Colors = [red, green, yellow, cyan, grey]\fP
.SH GLOBAL OPTIONS

View file

@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=slpkg
VERSION=${VERSION:-2.0.9}
VERSION=${VERSION:-2.1.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_dsw}

View file

@ -26,7 +26,7 @@ import os
__all__ = "slpkg"
__author__ = "dslackw"
__version_info__ = (2, 0, 9)
__version_info__ = (2, 1, 0)
__version__ = "{0}.{1}.{2}".format(*__version_info__)
__license__ = "GNU General Public License v3 (GPLv3)"
__email__ = "d.zlatanidis@gmail.com"
@ -84,30 +84,31 @@ if os.path.isfile("/etc/slpkg/slpkg.conf"):
# repositories
repositories = [
"sbo",
"slack",
"rlw",
"alien",
"slacky"
'slack',
'sbo',
'rlw',
'alien',
'slacky',
'studio'
]
if use_colors == "on":
color = {
'RED': "\x1b[31m",
'GREEN': "\x1b[32m",
'YELLOW': "\x1b[33m",
'CYAN': "\x1b[36m",
'GREY': "\x1b[38;5;247m",
'ENDC': "\x1b[0m"
'RED': '\x1b[31m',
'GREEN': '\x1b[32m',
'YELLOW': '\x1b[33m',
'CYAN': '\x1b[36m',
'GREY': '\x1b[38;5;247m',
'ENDC': '\x1b[0m'
}
else:
color = {
'RED': "",
'GREEN': "",
'YELLOW': "",
'CYAN': "",
'GREY': "",
'ENDC': ""
'RED': '',
'GREEN': '',
'YELLOW': '',
'CYAN': '',
'GREY': '',
'ENDC': ''
}
# file spacer

View file

@ -56,7 +56,7 @@ def options():
" -o, [package...] reinstall binary packages",
" -r, [package...] remove binary packages",
" -d, [package...] display the contents\n",
"Repositories: <slack, sbo, alien, slacky, rlw>",
"Repositories: <slack, sbo, alien, slacky, rlw, studio>",
"Colors = [red, green, yellow, cyan, grey]\n",
]
for opt in arguments:

View file

@ -44,7 +44,8 @@ class PkgDesc(object):
'slack': Initialization().slack,
'rlw': Initialization().rlw,
'alien': Initialization().alien,
'slacky': Initialization().slacky
'slacky': Initialization().slacky,
'studio': Initialization().studioware
}
init_repos[self.repo]()
color_text = {
@ -62,7 +63,8 @@ class PkgDesc(object):
'slack': 'slack_repo/PACKAGES.TXT',
'rlw': 'rlw_repo/PACKAGES.TXT',
'alien': 'alien_repo/PACKAGES.TXT',
'slacky': 'slacky_repo/PACKAGES.TXT'
'slacky': 'slacky_repo/PACKAGES.TXT',
'studio': 'studio_repo/PACKAGES.TXT'
}
self.lib = lib_path + repos[self.repo]

View file

@ -52,11 +52,11 @@ class Initialization(object):
if not os.path.exists("/tmp/slpkg/"):
os.mkdir("/tmp/slpkg/")
if not os.path.exists(build_path):
os.mkdir(build_path)
os.makedirs(build_path)
if not os.path.exists(slpkg_tmp_packages):
os.mkdir(slpkg_tmp_packages)
os.makedirs(slpkg_tmp_packages)
if not os.path.exists(slpkg_tmp_patches):
os.mkdir(slpkg_tmp_patches)
os.makedirs(slpkg_tmp_patches)
def slack(self):
'''
@ -162,6 +162,31 @@ class Initialization(object):
self.write(log, log_file, changelog_txt)
self.remote(log, log_file, changelog_txt, lib, lib_file, packages_txt)
def studioware(self):
'''
Creating alien local library
'''
ar = ""
arch = os.uname()[4]
repo = Repo().studioware()
log = log_path + "studio/"
lib = lib_path + "studio_repo/"
lib_file = "PACKAGES.TXT"
log_file = "ChangeLog.txt"
if not os.path.exists(log):
os.mkdir(log)
if not os.path.exists(lib):
os.mkdir(lib)
if arch == "x86_64":
ar = "64"
packages_txt = "{0}slackware{1}-{2}/{3}".format(repo, ar, slack_ver(),
lib_file)
changelog_txt = "{0}slackware{1}-{2}/{3}".format(repo, ar, slack_ver(),
log_file)
self.write(lib, lib_file, packages_txt)
self.write(log, log_file, changelog_txt)
self.remote(log, log_file, changelog_txt, lib, lib_file, packages_txt)
@staticmethod
def write(path, files, file_url):
'''

View file

@ -72,6 +72,9 @@ class Case(object):
def slacky_install(self):
OthersInstall(self.package, "slacky", self.release).start()
def studioware_install(self):
OthersInstall(self.package, "studio", self.release).start()
def sbo_upgrade(self):
SBoCheck().start()
@ -87,6 +90,9 @@ class Case(object):
def slacky_upgrade(self):
OthersUpgrade("slacky", self.release).start()
def studioware_upgrade(self):
OthersUpgrade("studio", self.release).start()
def main():
@ -115,11 +121,12 @@ def main():
elif len(args) == 3 and args[0] == "-c" and args[2] == "--upgrade":
pkg = Case("")
upgrade = {
"sbo": pkg.sbo_upgrade,
"slack": pkg.slack_upgrade,
"rlw": pkg.rlw_upgrade,
"alien": pkg.alien_upgrade,
"slacky": pkg.slacky_upgrade
'sbo': pkg.sbo_upgrade,
'slack': pkg.slack_upgrade,
'rlw': pkg.rlw_upgrade,
'alien': pkg.alien_upgrade,
'slacky': pkg.slacky_upgrade,
'studio': pkg.studioware_upgrade
}
if args[1] in repositories:
upgrade[args[1]]()
@ -129,17 +136,18 @@ def main():
pkg = Case(args[2])
if args[1] in repositories:
install = {
"sbo": pkg.sbo_install,
"slack": pkg.slack_install,
"rlw": pkg.rlw_install,
"alien": pkg.alien_install,
"slacky": pkg.slacky_install
'sbo': pkg.sbo_install,
'slack': pkg.slack_install,
'rlw': pkg.rlw_install,
'alien': pkg.alien_install,
'slacky': pkg.slacky_install,
'studio': pkg.studioware_install
}
install[args[1]]()
else:
usage()
elif len(args) == 3 and args[0] == "-t" and args[1] in ["sbo", "alien",
"rlw", "slacky"]:
elif (len(args) == 3 and args[0] == "-t" and args[1] in repositories
and args[1] != "slack"):
track_dep(args[2], args[1])
elif len(args) == 2 and args[0] == "-n":
SBoNetwork(args[1]).view()

View file

@ -75,6 +75,15 @@ class OthersUpgrade(object):
self.mirror = "{0}slackware{1}-{2}/".format(repos.slacky(), arch,
slack_ver())
self.step = self.step * 2
elif self.repo == "studio":
lib = lib_path + "studio_repo/PACKAGES.TXT"
arch = ""
if os.uname()[4] == "x86_64":
arch = "64"
self.mirror = "{0}slackware{1}-{2}/".format(repos.studioware(),
arch, slack_ver())
self.step = self.step * 2
f = open(lib, "r")
self.PACKAGES_TXT = f.read()
f.close()
@ -86,7 +95,8 @@ class OthersUpgrade(object):
repository = {
'rlw': Initialization().rlw,
'alien': Initialization().alien,
'slacky': Initialization().slacky
'slacky': Initialization().slacky,
'studio': Initialization().studioware
}
repository[self.repo]()
@ -155,8 +165,8 @@ class OthersUpgrade(object):
data[3]):
inst_pkg = split_package(pkg)
repo_pkg = split_package(name[:-4])
if repo_pkg[0] == inst_pkg[0] and name[:-4] > pkg \
and inst_pkg[0] not in black:
if (repo_pkg[0] == inst_pkg[0] and
name[:-4] > pkg and inst_pkg[0] not in black):
# store downloads packages by repo
dwn.append("{0}{1}/{2}".format(self.mirror, loc, name))
install.append(name)
@ -172,7 +182,8 @@ class OthersUpgrade(object):
repository = {
'rlw': '_rlw',
'alien': 'alien',
'slacky': 'sl'
'slacky': 'sl',
'studio': 'se'
}
repo = repository[self.repo]
for pkg in os.listdir(pkg_path):
@ -190,7 +201,8 @@ def views(upgrade_all, comp_sum, repository):
align = {
'rlw': ' ' * 3,
'alien': ' ',
'slacky': ''
'slacky': '',
'studio': ''
}
repository += align[repository]
for pkg, comp in zip(upgrade_all, comp_sum):

View file

@ -61,7 +61,7 @@ def repo_data(PACKAGES_TXT, step, repo, version):
rsize,
runsize
) = alien_filter(name, location, size, unsize, version)
elif repo == "slacky":
elif repo in ["slacky", "studio"]:
rname, rlocation, rsize, runsize = name, location, size, unsize
return [rname, rlocation, rsize, runsize]

View file

@ -84,6 +84,15 @@ class OthersInstall(object):
self.mirror = "{0}slackware{1}-{2}/".format(repos.slacky(), arch,
slack_ver())
self.step = self.step * 2
elif self.repo == "studio":
lib = lib_path + "studio_repo/PACKAGES.TXT"
arch = ""
if os.uname()[4] == "x86_64":
arch = "64"
self.mirror = "{0}slackware{1}-{2}/".format(repos.studioware(),
arch, slack_ver())
self.step = self.step * 2
f = open(lib, "r")
self.PACKAGES_TXT = f.read()
f.close()
@ -98,9 +107,10 @@ class OthersInstall(object):
if not os.path.isfile(lib_path + "slack_repo/PACKAGES.TXT"):
Initialization().slack()
repository = {
"rlw": Initialization().rlw,
"alien": Initialization().alien,
"slacky": Initialization().slacky
'rlw': Initialization().rlw,
'alien': Initialization().alien,
'slacky': Initialization().slacky,
'studio': Initialization().studioware
}
repository[self.repo]()
@ -218,9 +228,10 @@ def views(install_all, comp_sum, repository, dependencies):
count = pkg_sum = uni_sum = upg_sum = 0
# fix repositories align
align = {
"rlw": ' ' * 3,
"alien": ' ',
"slacky": ''
'rlw': ' ' * 3,
'alien': ' ',
'slacky': '',
'studio': ''
}
repository += align[repository]
for pkg, comp in zip(install_all, comp_sum):

View file

@ -38,7 +38,8 @@ def search_pkg(name, repo):
repo_dir = {
"rlw": "rlw_repo/PACKAGES.TXT",
"alien": "alien_repo/PACKAGES.TXT",
"slacky": "slacky_repo/PACKAGES.TXT"
"slacky": "slacky_repo/PACKAGES.TXT",
"studio": "studio_repo/PACKAGES.TXT"
}
with open(lib_path + repo_dir[repo], "r") as PACKAGES_TXT:
for line in PACKAGES_TXT:

View file

@ -81,7 +81,7 @@ class BuildPackage(object):
if sbo_check_md5 == "on":
check_md5(sbo_md5, src)
shutil.copy2(src, self.prgnam)
os.chdir(self.path + self.prgnam)
os.chdir(self.path + "/" + self.prgnam)
# change permissions
subprocess.call("chmod +x {0}.SlackBuild".format(self.prgnam),
shell=True)

View file

@ -292,6 +292,7 @@ class PackageManager(object):
'rlw': '_rlw',
'alien': 'alien',
'slacky': 'sl',
'studio': 'se',
'all': ''
}
search = pkg_list[pattern]

View file

@ -68,3 +68,9 @@ class Repo(object):
Slacky.eu repository
'''
return "http://repository.slacky.eu/"
def studioware(self):
'''
Studioware repository
'''
return "http://studioware.org/files/packages/"

View file

@ -35,6 +35,7 @@ def split_package(package):
rlw = "_rlw"
alien = "alien"
slacky = "sl"
studio = "se"
build = split[-1]
if build.endswith(sbo):
build = split[-1][:-4] # and remove .t?z extension
@ -46,6 +47,8 @@ def split_package(package):
build = split[-1][:-len(alien)]
elif build.endswith(slacky):
build = split[-1][:-len(slacky)]
elif build.endswith(studio):
build = split[-1][:-len(studio)]
arch = split[-2]
ver = split[-3]
name = "-".join(split[:-3])

View file

@ -52,7 +52,8 @@ def track_dep(name, repo):
'slack': Initialization().slack,
'rlw': Initialization().rlw,
'alien': Initialization().alien,
'slacky': Initialization().slacky
'slacky': Initialization().slacky,
'studio': Initialization().studioware
}
init_repos[repo]()
sys.stdout.write("{0}Reading package lists ...{1}".format(color['GREY'],