From 09010cb3b694902f112966fd21e580498154bca6 Mon Sep 17 00:00:00 2001 From: Dimitris Zlatanidis Date: Fri, 28 Nov 2014 17:45:55 +0200 Subject: [PATCH] updated for version 2.1.0 --- CHANGELOG | 8 +++++++- PKG-INFO | 2 +- README.rst | 23 +++++++++++++---------- install.sh | 2 +- man/slpkg.8 | 2 +- slackbuild/slpkg.SlackBuild | 2 +- slpkg/__metadata__.py | 37 +++++++++++++++++++------------------ slpkg/arguments.py | 2 +- slpkg/desc.py | 6 ++++-- slpkg/init.py | 31 ++++++++++++++++++++++++++++--- slpkg/main.py | 32 ++++++++++++++++++++------------ slpkg/others/check.py | 22 +++++++++++++++++----- slpkg/others/greps.py | 2 +- slpkg/others/install.py | 23 +++++++++++++++++------ slpkg/others/search.py | 3 ++- slpkg/pkg/build.py | 2 +- slpkg/pkg/manager.py | 1 + slpkg/repositories.py | 6 ++++++ slpkg/splitting.py | 3 +++ slpkg/tracking.py | 3 ++- 20 files changed, 146 insertions(+), 66 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 98360b24..5a7fdc3c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -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 diff --git a/PKG-INFO b/PKG-INFO index 28cba944..b98eecc2 100644 --- a/PKG-INFO +++ b/PKG-INFO @@ -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 diff --git a/README.rst b/README.rst index 32fcfedc..fa51c520 100644 --- a/README.rst +++ b/README.rst @@ -11,9 +11,9 @@ Latest Release: -- Version: 2.0.9 +- Version: 2.1.0 - `Package `_ -- `Source `_ +- `Source `_ - `CHANGELOG `_ .. image:: https://raw.githubusercontent.com/dslackw/images/master/slpkg/logo.png @@ -31,21 +31,24 @@ Slpkg is `Open Source `_ software writ Python language. It's use is for managing packages in Slackware linux distribution. Supported Repositories: -- SBo - `slackbuilds.org `_ +- SBo - `Reposiory `_ 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 `_ +- Slack - `Repository `_ 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 `_ +- Alien - `Repository `_ 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 `_ +- Slacky - `Repository `_ 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 `_ +- Robby's - `Repository `_ 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 `_ + 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: + Repositories: Colors = [red, green, yellow, cyan, grey] Slpkg Examples diff --git a/install.sh b/install.sh index 30d49b63..5aaef005 100755 --- a/install.sh +++ b/install.sh @@ -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. diff --git a/man/slpkg.8 b/man/slpkg.8 index ab097ac4..2eb4f28c 100644 --- a/man/slpkg.8 +++ b/man/slpkg.8 @@ -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: + Repositories: Colors = [red, green, yellow, cyan, grey]\fP .SH GLOBAL OPTIONS diff --git a/slackbuild/slpkg.SlackBuild b/slackbuild/slpkg.SlackBuild index afdcd487..e51f94ca 100755 --- a/slackbuild/slpkg.SlackBuild +++ b/slackbuild/slpkg.SlackBuild @@ -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} diff --git a/slpkg/__metadata__.py b/slpkg/__metadata__.py index 55e9d7b5..6917be5a 100644 --- a/slpkg/__metadata__.py +++ b/slpkg/__metadata__.py @@ -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 diff --git a/slpkg/arguments.py b/slpkg/arguments.py index 9b9b881a..339ce7cd 100755 --- a/slpkg/arguments.py +++ b/slpkg/arguments.py @@ -56,7 +56,7 @@ def options(): " -o, [package...] reinstall binary packages", " -r, [package...] remove binary packages", " -d, [package...] display the contents\n", - "Repositories: ", + "Repositories: ", "Colors = [red, green, yellow, cyan, grey]\n", ] for opt in arguments: diff --git a/slpkg/desc.py b/slpkg/desc.py index ebad10d5..56c29a34 100755 --- a/slpkg/desc.py +++ b/slpkg/desc.py @@ -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] diff --git a/slpkg/init.py b/slpkg/init.py index 150de9b9..4cd5e92b 100755 --- a/slpkg/init.py +++ b/slpkg/init.py @@ -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): ''' diff --git a/slpkg/main.py b/slpkg/main.py index 3dfc4766..33aa6087 100755 --- a/slpkg/main.py +++ b/slpkg/main.py @@ -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() diff --git a/slpkg/others/check.py b/slpkg/others/check.py index e43226eb..575c27b1 100755 --- a/slpkg/others/check.py +++ b/slpkg/others/check.py @@ -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): diff --git a/slpkg/others/greps.py b/slpkg/others/greps.py index 299ffbeb..775944db 100755 --- a/slpkg/others/greps.py +++ b/slpkg/others/greps.py @@ -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] diff --git a/slpkg/others/install.py b/slpkg/others/install.py index 9a809b40..4774734b 100755 --- a/slpkg/others/install.py +++ b/slpkg/others/install.py @@ -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): diff --git a/slpkg/others/search.py b/slpkg/others/search.py index 758ddd8f..4849451c 100755 --- a/slpkg/others/search.py +++ b/slpkg/others/search.py @@ -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: diff --git a/slpkg/pkg/build.py b/slpkg/pkg/build.py index 16fc57a8..5f51ae5a 100755 --- a/slpkg/pkg/build.py +++ b/slpkg/pkg/build.py @@ -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) diff --git a/slpkg/pkg/manager.py b/slpkg/pkg/manager.py index 8b4e96be..0d82011d 100755 --- a/slpkg/pkg/manager.py +++ b/slpkg/pkg/manager.py @@ -292,6 +292,7 @@ class PackageManager(object): 'rlw': '_rlw', 'alien': 'alien', 'slacky': 'sl', + 'studio': 'se', 'all': '' } search = pkg_list[pattern] diff --git a/slpkg/repositories.py b/slpkg/repositories.py index e50a7ebd..1af91211 100755 --- a/slpkg/repositories.py +++ b/slpkg/repositories.py @@ -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/" diff --git a/slpkg/splitting.py b/slpkg/splitting.py index c386302c..5f7a5619 100755 --- a/slpkg/splitting.py +++ b/slpkg/splitting.py @@ -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]) diff --git a/slpkg/tracking.py b/slpkg/tracking.py index f34c7b5e..49a77a7c 100755 --- a/slpkg/tracking.py +++ b/slpkg/tracking.py @@ -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'],