diff --git a/CHANGELOG b/CHANGELOG
index 5a7fdc3c..53d387ed 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,12 @@
+Version 2.1.1-dev
+02-12-2014
+
+[Feature] - Added options in /etc/slpkg/slpkg.conf file to select
+ repositories.
+ - Added options to skip unsupported and untested packages.
+
+[Updated] - Bugfix TypeError for unsupported/untested sbo packages.
+
Version 2.1.0
28-11-2014
@@ -14,13 +23,13 @@ Version 2.0.9
Version 2.0.8
25-11-2014
-[Updated] - Add more options in slpkg configuration file.
+[Updated] - Added more options in slpkg configuration file.
Version 2.0.7
22-11-2014
-[Feature] - Add more option in slpkg.conf file.
- - Add slackware-mirrors file in /etc/slpkg
+[Feature] - Added more option in slpkg.conf file.
+ - Added slackware-mirrors file in /etc/slpkg
[Updated] - Fix upgrade Slackware packages if installed.
@@ -32,19 +41,19 @@ Version 2.0.6
Version 2.0.5
18-11-2014
-[Feature] - Add /etc/slpkg.conf file.
+[Feature] - Added /etc/slpkg.conf file.
- Move "--current" switch in /etc/slpkg.conf file.
- - Add local PACKAGES.TXT for Slackware repository.
- - Add options to view package description.
- - Add all repositories in tracking dependencies options '-t'.
- - Add configuration file managment
+ - Added local PACKAGES.TXT for Slackware repository.
+ - Added options to view package description.
+ - Added all repositories in tracking dependencies options '-t'.
+ - Added configuration file managment
[Updated] - Bugfix upgrading binary packages.
Version 2.0.4
07-11-2014
-[Feature] - Add Robby Workman, Alien Bob (Eric Hameleers) and
+[Feature] - Added Robby Workman, Alien Bob (Eric Hameleers) and
slacky.eu repositories.
[Updated] - Fix remove list reference.
diff --git a/PKG-INFO b/PKG-INFO
index b98eecc2..2cb9ac52 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: slpkg
-Version: 2.1.0
+Version: 2.1.1
Author: dslackw
Author-email: d zlatanidis at gmail com
Maintainer: dslackw
diff --git a/README.rst b/README.rst
index fa51c520..e2a8bd0c 100644
--- a/README.rst
+++ b/README.rst
@@ -11,9 +11,9 @@
Latest Release:
-- Version: 2.1.0
+- Version: 2.1.1
- `Package `_
-- `Source `_
+- `Source `_
- `CHANGELOG `_
.. image:: https://raw.githubusercontent.com/dslackw/images/master/slpkg/logo.png
@@ -50,6 +50,9 @@ Supported Repositories:
Arch: {x86, x86_64}
Versions: {13.37, 14.0, 14.1}
+* Choose repositories you need to work from file '/etc/slpkg/slpkg.conf' default is all repositories.
+
+
Slpkg works in accordance with the standards of the organization slackbuilds.org
to builds packages. Also uses the Slackware linux instructions for installation,
upgrading or removing packages.
@@ -115,8 +118,8 @@ Untar the archive and run install.sh script:
.. code-block:: bash
- $ tar xvf slpkg-2.1.0.tar.gz
- $ cd slpkg-2.1.0
+ $ tar xvf slpkg-2.1.1.tar.gz
+ $ cd slpkg-2.1.1
$ ./install.sh
From SourceForge:
@@ -136,6 +139,9 @@ Upgrade
In each slpkg upgrade should track the configuration files in the file '/etc/slpkg' for
new updates.
+*** IMPORTANT :
+*** Recommended to replace '/etc/slpkg/slpkg.conf' file with '/etc/slpkg/slpkg.conf.new' file.
+
Configuration files
-------------------
@@ -197,8 +203,6 @@ Command Line Tool Usage
-r, [package...] remove binary packages
-d, [package...] display the contents
- Repositories:
- Colors = [red, green, yellow, cyan, grey]
Slpkg Examples
--------------
@@ -700,7 +704,7 @@ Print package description:
.. code-block:: bash
- $ slpkg -p alien vlc
+ $ slpkg -p alien vlc --color=green
vlc (multimedia player for various audio and video formats)
diff --git a/conf/slpkg.conf b/conf/slpkg.conf
index c1d2f444..55de32d8 100644
--- a/conf/slpkg.conf
+++ b/conf/slpkg.conf
@@ -23,6 +23,10 @@
# Slackware version 'stable' or 'current'.
VERSION=stable
+# Choose repositories want to work.
+# Available repositories : slack, sbo, alien, rlw, slacky, studio
+REPOSITORIES=slack,sbo,alien,rlw,slacky,studio
+
# Build directory for repository slackbuilds.org. In this directory
# downloaded sources and scripts for building.
BUILD=/tmp/slpkg/build/
@@ -55,6 +59,9 @@ DEFAULT_ANSWER=n
# Choose 'y' if you do not want to question.
REMOVE_DEPS_ANSWER=n
+# If you want build UNSUPPORTED or UNTESTED packages choose 'y'.
+SKIP_UNST=n
+
# Delete package dependencies if DEL_DEPS is on.
DEL_DEPS=on
diff --git a/install.sh b/install.sh
index 5aaef005..24c6ce00 100755
--- a/install.sh
+++ b/install.sh
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=slpkg
-VERSION=${VERSION:-2.1.0}
+VERSION=${VERSION:-2.1.1}
TAG=${TAG:-_dsw}
# Installation script.
diff --git a/man/slpkg.8 b/man/slpkg.8
index 2eb4f28c..65eb3b86 100644
--- a/man/slpkg.8
+++ b/man/slpkg.8
@@ -15,51 +15,52 @@
.SH NAME
slpkg - Utility for easy management packages in Slackware
.SH SYNOPSIS
- \fBUsage: slpkg [-h] [-v] [-a script.tar.gz [sources...]]
- [-b --list, --add, --remove [...]]
- [-q --list, [...] --add, --remove]
- [ --build, --install, --build-install]
- [-g --config, --config=[editor]]
- [-l [repository], all, noarch]
- [-c [repository] --upgrade]
- [-s [repository] [package][
- [-t [repository] [package]]
- [-p [repository] [package] --color=]
- [-f] [-n] [-i [...]] [-u [...]]
- [-o [...]] [-r [...]] [-d [...]]\fp
+Usage: slpkg [-h] [-v] [-a script.tar.gz [sources...]]
+ [-b --list, --add, --remove [...]]
+ [-q --list, [...] --add, --remove]
+ [ --build, --install, --build-install]
+ [-g --config, --config=[editor]]
+ [-l [repository], all, noarch]
+ [-c [repository] --upgrade]
+ [-s [repository] [package][
+ [-t [repository] [package]]
+ [-p [repository] [package] --color=]
+ [-f] [-n] [-i [...]] [-u [...]]
+ [-o [...]] [-r [...]] [-d [...]]
.SH DESCRIPTION
\fBslpkg\fP is a terminal multitool in order to easy use Slackware packages.
.PP
It's a quick and easy way to manage your packages in slackware to a command.
.SH EXAMPLES
-\fB
- Utility for easy management packages in Slackware
+Utility for easy management packages in Slackware
- Optional arguments:
- -h, --help show this help message and exit
- -v, --version print version and exit
- -a, script.tar.gz [source...] auto build SBo packages
- -b, --list, [package...] --add, --remove add, remove packages in blacklist
- -q, --list, [package...] --add, --remove add, remove SBo packages in queue
- --build, --install, --build-install build, install packages from queue
- -g, --config, --config= configuration file management
- -l, [repository], all, noarch list of installed packages
- -c, [repository] --upgrade check for updated packages
- -s, [repository] [package] download, build & install
- -t, [repository] [package] tracking dependencies
- -p, [repository] [package] --color=[] print package description
- -f, [package] find installed packages
- -n, [package] view packages from SBo
- -i, [package...] install binary packages
- -u, [package...] upgrade binary packages
- -o, [package...] reinstall binary packages
- -r, [package...] remove binary packages
- -d, [package...] display the contents
-
- Repositories:
- Colors = [red, green, yellow, cyan, grey]\fP
+Optional arguments:
+ -h, --help show this help message and exit
+ -v, --version print version and exit
+ -a, script.tar.gz [source...] auto build SBo packages
+ -b, --list, [package...] --add, --remove add, remove packages in blacklist
+ -q, --list, [package...] --add, --remove add, remove SBo packages in queue
+ --build, --install, --build-install build, install packages from queue
+ -g, --config, --config= configuration file management
+ -l, [repository], all, noarch list of installed packages
+ -c, [repository] --upgrade check for updated packages
+ -s, [repository] [package] download, build & install
+ -t, [repository] [package] tracking dependencies
+ -p, [repository] [package] --color=[] print package description
+ -f, [package] find installed packages
+ -n, [package] view packages from SBo
+ -i, [package...] install binary packages
+ -u, [package...] upgrade binary packages
+ -o, [package...] reinstall binary packages
+ -r, [package...] remove binary packages
+ -d, [package...] display the contents
+.SH REPOSITORIES
+ slack, sbo, alien, slacky, rlw, studio
+.SH COLORS
+ red, green, yellow, cyan, grey
+.PP
.SH GLOBAL OPTIONS
.TP
\fB\-v\fP, \fB\-\-version\fP
@@ -117,9 +118,9 @@ Tracking all dependencies of that package.
The sequence shown is that you must follow to correctly install package.
.SS -p , print packages description
-\fBslpkg\fP \fB-p\fP <\fIrepository\fP> <\fIname of package\fP>
+\fBslpkg\fP \fB-p\fP <\fIrepository\fP> <\fIname of package\fP> \fI--color=\fP
.PP
-Print package description
+Print package description with color. Available colors: red, green, yellow, cyan, grey
.SS -f find packages
\fBslpkg\fP \fB-f\fP <\fIname of package\fP>
diff --git a/slackbuild/slpkg.SlackBuild b/slackbuild/slpkg.SlackBuild
index e51f94ca..92da6606 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.1.0}
+VERSION=${VERSION:-2.1.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_dsw}
diff --git a/slpkg/__metadata__.py b/slpkg/__metadata__.py
index 6917be5a..44107652 100644
--- a/slpkg/__metadata__.py
+++ b/slpkg/__metadata__.py
@@ -26,7 +26,7 @@ import os
__all__ = "slpkg"
__author__ = "dslackw"
-__version_info__ = (2, 1, 0)
+__version_info__ = (2, 1, 1)
__version__ = "{0}.{1}.{2}".format(*__version_info__)
__license__ = "GNU General Public License v3 (GPLv3)"
__email__ = "d.zlatanidis@gmail.com"
@@ -36,6 +36,14 @@ tmp = "/tmp/"
# Default configuration values
slack_rel = "stable"
+repositories = [
+ 'slack',
+ 'sbo',
+ 'rlw',
+ 'alien',
+ 'slacky',
+ 'studio'
+]
build_path = "/tmp/slpkg/build/"
slpkg_tmp_packages = tmp + "slpkg/packages/"
slpkg_tmp_patches = tmp + "slpkg/patches/"
@@ -45,6 +53,7 @@ del_build = "off"
sbo_build_log = "on"
default_answer = "n"
remove_deps_answer = "n"
+skip_unst = "n"
del_deps = "on"
use_colors = "on"
@@ -58,6 +67,8 @@ if os.path.isfile("/etc/slpkg/slpkg.conf"):
slack_rel = line[8:].strip()
if not slack_rel:
slack_rel = "stable"
+ if line.startswith("REPOSITORIES"):
+ repositories = line[13:].strip().split(",")
if line.startswith("BUILD"):
build_path = line[6:].strip()
if line.startswith("PACKAGES"):
@@ -76,22 +87,13 @@ if os.path.isfile("/etc/slpkg/slpkg.conf"):
default_answer = line[15:].strip()
if line.startswith("REMOVE_DEPS_ANSWER"):
remove_deps_answer = line[19:].strip()
+ if line.startswith("SKIP_UNST"):
+ skip_unst = line[10:].strip()
if line.startswith("DEL_DEPS"):
del_deps = line[9:].strip()
if line.startswith("USE_COLORS"):
use_colors = line[11:].strip()
-
-# repositories
-repositories = [
- 'slack',
- 'sbo',
- 'rlw',
- 'alien',
- 'slacky',
- 'studio'
-]
-
if use_colors == "on":
color = {
'RED': '\x1b[31m',
diff --git a/slpkg/arguments.py b/slpkg/arguments.py
index 339ce7cd..5f08412a 100755
--- a/slpkg/arguments.py
+++ b/slpkg/arguments.py
@@ -22,7 +22,10 @@
# along with this program. If not, see .
-from __metadata__ import __version__
+from __metadata__ import (
+ __version__,
+ repositories
+)
def options():
@@ -56,8 +59,6 @@ def options():
" -o, [package...] reinstall binary packages",
" -r, [package...] remove binary packages",
" -d, [package...] display the contents\n",
- "Repositories: ",
- "Colors = [red, green, yellow, cyan, grey]\n",
]
for opt in arguments:
print(opt)
@@ -78,7 +79,10 @@ def usage():
" [-p [repository] [package] --color=[]]",
" [-f] [-n] [-i [...]] [-u [...]]",
" [-o [...]] [-r [...]] [-d [...]]\n",
+ "Repositories: " + ", ".join(repositories),
+ "Colors: red, green, yellow, cyan, grey\n",
"For more information try 'slpkg --help'\n"
]
+
for usg in view:
print(usg)
diff --git a/slpkg/config.py b/slpkg/config.py
index f8edd2f9..4b6cef38 100755
--- a/slpkg/config.py
+++ b/slpkg/config.py
@@ -38,6 +38,7 @@ class Config(object):
print("") # new line at start
conf_args = [
'VERSION',
+ 'REPOSITORIES',
'BUILD',
'SBO_CHECK_MD5',
'PACKAGES',
@@ -47,6 +48,7 @@ class Config(object):
'SBO_BUILD_LOG',
'DEFAULT_ANSWER',
'REMOVE_DEPS_ANSWER',
+ 'SKIP_UNST',
'DEL_DEPS',
'USE_COLORS'
]
diff --git a/slpkg/main.py b/slpkg/main.py
index 33aa6087..b274d872 100755
--- a/slpkg/main.py
+++ b/slpkg/main.py
@@ -134,22 +134,22 @@ def main():
usage()
elif len(args) == 3 and args[0] == "-s":
pkg = Case(args[2])
+ 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
+ }
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,
- 'studio': pkg.studioware_install
- }
install[args[1]]()
else:
usage()
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":
+ elif len(args) == 2 and args[0] == "-n" and "sbo" in repositories:
SBoNetwork(args[1]).view()
elif len(args) == 2 and args[0] == "-b" and args[1] == "--list":
blacklist.listed()
diff --git a/slpkg/pkg/build.py b/slpkg/pkg/build.py
index 5f51ae5a..16fc57a8 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/sbo/greps.py b/slpkg/sbo/greps.py
index 1b68c5c5..d0e7335f 100755
--- a/slpkg/sbo/greps.py
+++ b/slpkg/sbo/greps.py
@@ -23,7 +23,8 @@
from slpkg.__metadata__ import (
arch,
- lib_path
+ lib_path,
+ skip_unst
)
@@ -43,7 +44,8 @@ class SBoGrep(object):
self.line_md5_64 = "SLACKBUILD MD5SUM_{0}: ".format(arch64)
self.line_des = "SLACKBUILD SHORT DESCRIPTION: "
self.sbo_txt = lib_path + "sbo_repo/SLACKBUILDS.TXT"
-
+ self.answer = ['y', 'Y']
+ self.unst = ['UNSUPPORTED', 'UNTESTED']
# open an read SLACKBUILDS.TXT file
f = open(self.sbo_txt, "r")
self.SLACKBUILDS_TXT = f.read()
@@ -53,20 +55,29 @@ class SBoGrep(object):
'''
Grab sources downloads links
'''
- if arch == "x86_64":
- for line in self.SLACKBUILDS_TXT.splitlines():
- if line.startswith(self.line_name):
- sbo_name = line[17:].strip()
- if line.startswith(self.line_down_64):
- if sbo_name == self.name:
- if line[28:].strip():
- return line[28:].strip()
+ source, source64, src, = "", "", ""
for line in self.SLACKBUILDS_TXT.splitlines():
if line.startswith(self.line_name):
sbo_name = line[17:].strip()
if line.startswith(self.line_down):
- if sbo_name == self.name:
- return line[21:].strip()
+ if sbo_name == self.name and line[21:].strip():
+ source = line[21:]
+ if line.startswith(self.line_down_64):
+ if sbo_name == self.name and line[28:].strip():
+ source64 = line[28:]
+ if arch == "x86_64":
+ if source64:
+ src = source64
+ else:
+ src = source
+ if skip_unst in self.answer and source64 in self.unst:
+ src = source
+ else:
+ if source:
+ src = source
+ if skip_unst in self.answer and source in self.unst:
+ src = source64
+ return src
def requires(self):
'''
@@ -94,20 +105,29 @@ class SBoGrep(object):
'''
Grab checksum string
'''
- if arch == "x86_64":
- for line in self.SLACKBUILDS_TXT.splitlines():
- if line.startswith(self.line_name):
- sbo_name = line[17:].strip()
- if line.startswith(self.line_md5_64):
- if sbo_name == self.name:
- if line[26:].strip():
- return line[26:].strip().split()
+ md5sum, md5sum64, md5 = [], [], []
for line in self.SLACKBUILDS_TXT.splitlines():
if line.startswith(self.line_name):
sbo_name = line[17:].strip()
+ if line.startswith(self.line_md5_64):
+ if sbo_name == self.name and line[26:].strip():
+ md5sum64 = line[26:].strip().split()
if line.startswith(self.line_md5):
- if sbo_name == self.name:
- return line[19:].strip().split()
+ if sbo_name == self.name and line[19:].strip():
+ md5sum = line[19:].strip().split()
+ if arch == "x86_64":
+ if md5sum64:
+ md5 = md5sum64
+ else:
+ md5 = md5sum
+ if skip_unst in self.answer:
+ md5 = md5sum
+ else:
+ if md5sum:
+ md5 = md5sum
+ if skip_unst in self.answer and not md5sum:
+ md5 = md5sum64
+ return md5
def description(self):
'''
diff --git a/slpkg/sbo/slackbuild.py b/slpkg/sbo/slackbuild.py
index 500cc325..0d2d6925 100755
--- a/slpkg/sbo/slackbuild.py
+++ b/slpkg/sbo/slackbuild.py
@@ -214,8 +214,7 @@ def pkg_colors_tag(name, sbo_versions, count_upg, count_ins):
'''
Tag with color green if package already installed,
color yellow for packages to upgrade and color red
- if not installed. Also if package arch is UNSUPPORTED
- tag with color red and if UNTESTED with color yellow.
+ if not installed.
'''
# check if 'sbo_versions' is list if true
# then get last package from list is master package
@@ -238,12 +237,12 @@ def arch_colors_tag(support, package_arch):
'''
Arch color tag
'''
- color = ""
+ paint = ""
if support[0] in package_arch[-1]:
- color = color['RED']
+ paint = color['RED']
elif support[1] in package_arch[-1]:
- color = color['YELLOW']
- return color
+ paint = color['YELLOW']
+ return paint
def top_view():