Skip to content
Commits on Source (2)
Version 1.9.3
29-09-2014
[Feature] - Added blacklist configuration file.
- Added blacklist options.
Version 1.9.2
27-09-2014
......
Metadata-Version: 1.1
Name: slpkg
Version: 1.9.2
Version: 1.9.3
Author: dslackw
Author-email: d zlatanidis at gmail com
Maintainer: dslackw
......
......@@ -7,9 +7,9 @@
Latest Release:
- Version: 1.9.2
- Version: 1.9.3
- `Package <https://sourceforge.net/projects/slpkg/files/slpkg/binary/>`_
- `Source <https://github.com/dslackw/slpkg/archive/v1.9.2.tar.gz>`_
- `Source <https://github.com/dslackw/slpkg/archive/v1.9.3.tar.gz>`_
- `CHANGELOG <https://github.com/dslackw/slpkg/blob/master/CHANGELOG>`_
.. image:: https://raw.githubusercontent.com/dslackw/images/master/slpkg/logo.png
......@@ -88,7 +88,7 @@ Tutorial
--------
.. image:: https://raw.githubusercontent.com/dslackw/images/master/slpkg/screenshot-1.png
:target: https://asciinema.org/a/12340
:target: https://asciinema.org/a/12544
Installation
......@@ -98,8 +98,8 @@ Untar the archive and run install.sh script:
.. code-block:: bash
$ tar xvf slpkg-1.9.2.tar.gz
$ cd slpkg-1.9.2
$ tar xvf slpkg-1.9.3.tar.gz
$ cd slpkg-1.9.3
$ ./install.sh
Using `pip <https://pip.pypa.io/en/latest/>`_ :
......@@ -120,28 +120,31 @@ Command Line Tool Usage
-----------------------
.. code-block:: bash
slpkg - 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 [source...] auto build packages
-l, all, sbo, slack, noarch list of installed packages
-c, <repository> --upgrade check if your packages is up to date
-s, <repository> <package> download, build & install packages
-f, <package> find installed packages
-t, <package> packages tracking dependencies from SBo
-n, <package> view packages from SBo repository
-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 of the packages
-h, --help show this help message and exit
-v, --version print version and exit
-a, script [source...] auto build packages
-l, all, sbo, slack, noarch list of installed packages
-c, <repository> --upgrade check if your packages is up to date
-s, <repository> <package> download, build & install packages
-f, <package> find installed packages
-t, <package> packages tracking dependencies from SBo
-n, <package> view packages from SBo repository
-b, --list blacklisted packages
-b [package...] --add --remove add, remove packages in blacklist
-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 of the packages
Repositories:
SlackBuilds = sbo
Slackware = slack
Slpkg Examples
--------------
......@@ -576,6 +579,35 @@ Remove packages with all dependencies:
| Package werkzeug removed
+==============================================================================
Using the blacklist file manually from /etc/slpkg/blacklist or
with the following options:
.. code-block:: bash
$ slpkg -b live554 speex faac --add
Add packages in blacklist:
live555
speex
faac
$ slpkg -b speex --remove
Remove packages from blacklist:
speex
$ slpkg -b --list
Packages in blacklist:
live555
faac
Man page it is available for full support:
.. code-block:: bash
......
# Example Configuration file blacklist.
# This file is automatically created in the folder /etc/slpkg
#
# This is the blacklist file. Each package listed here may not be
# installed be upgraded be find or deleted.
# NOTE: The settings here affect all repositories.
#
# An example syntax is as follows:
# add a package from SBo repository:
brasero
#
# Add package from slackware repository:
# example add package 'wicd-1.7.2.4-x86_64-4.txz':
wicd
#
# Sometimes the automatic kernel update creates problems because you
# may need to file intervention 'lilo'. The slpkg automatically detects
# if the core has been upgraded and running 'lilo'. If you want to avoid
# any problems uncomment the lines below.
#
# kernel-firmware
# kernel-generic
# kernel-generic-smp
# kernel-headers
# kernel-huge
# kernel-huge-smp
# kernel-modules
# kernel-modules-smp
# kernel-source
#
#
......@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=slpkg
VERSION=${VERSION:-1.9.2}
VERSION=${VERSION:-1.9.3}
TAG=${TAG:-_dsw}
cd ..
......
......@@ -27,25 +27,29 @@ slpkg - Utility for easy management packages in Slackware
.PP
It's a quick and easy way to manage your packages in slackware to a command.
.SH EXAMPLES
\fBOptional arguments:
-h, --help show this help message and exit
-v, --version print version and exit
-a, script [source...] auto build packages
-l, all, sbo, slack, noarch list of installed packages
-c, <repository> --upgrade check if your packages is up to date
-s, <repository> <package> download, build & install packages
-f, <package> find installed packages
-t, <package> packages tracking dependencies from SBo
-n, <package> view packages from SBo repository
-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 of the packages
\fBUtility for easy management packages in Slackware
Repositories:
SlackBuilds = sbo
Slackware = slack\fp
Optional arguments:
-h, --help show this help message and exit
-v, --version print version and exit
-a, script [source...] auto build packages
-l, all, sbo, slack, noarch list of installed packages
-c, <repository> --upgrade check if your packages is up to date
-s, <repository> <package> download, build & install packages
-f, <package> find installed packages
-t, <package> packages tracking dependencies from SBo
-n, <package> view packages from SBo repository
-b, --list blacklisted packages
-b [package...] --add --remove add, remove packages in blacklist
-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 of the packages
Repositories:
SlackBuilds = sbo
Slackware = slack\fP
.SH GLOBAL OPTIONS
.TP
......@@ -88,6 +92,16 @@ The sequence shown is that you must follow to correctly install package.
.PP
With this method you can find the SBo script that interests you through
the network. (www.slackbuilds.org)
.SS -b , --list blacklisted packages
\fBslpkg\fP \fB-b\fP \fB--list\fP
.PP
Print all blacklist packages. Each package listed here may not be
installed be upgraded be find or deleted.
.SS -b , <packages> -- add --remove
\fBslpkg\fP \fB-b\fP <\fIpackages\fP> \fB--add\fP \fB--remove\fP
.PP
Add or remove packages from blacklist. The settings here affect
all repositories.
.SS -i , install binary package
\fBslpkg\fP \fB-i\fP <\fIpackages.t?z\fP>
.PP
......
......@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=slpkg
VERSION=${VERSION:-1.9.2}
VERSION=${VERSION:-1.9.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_dsw}
......
PRGNAM="slpkg"
VERSION="1.9.2"
VERSION="1.9.3"
HOMEPAGE="https://github.com/dslackw/slpkg"
DOWNLOAD="https://github.com/dslackw/slpkg/archive/v1.9.2.tar.gz"
DOWNLOAD="https://github.com/dslackw/slpkg/archive/v1.9.3.tar.gz"
MD5SUM=""
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
......
......@@ -26,7 +26,7 @@ import subprocess
__all__ = "slpkg"
__author__ = "dslackw"
__version_info__ = (1, 9, 2)
__version_info__ = (1, 9, 3)
__version__ = "{0}.{1}.{2}".format(*__version_info__)
__license__ = "GNU General Public License v3 (GPLv3)"
__email__ = "d.zlatanidis@gmail.com"
......@@ -53,6 +53,9 @@ slpkg_tmp = tmp + "slpkg/"
''' packages log files path '''
pkg_path = "/var/log/packages/"
''' blacklist conf path '''
bls_path = "/etc/slpkg/"
''' computer architecture '''
arch = os.uname()[4]
......
#!/usr/bin/python
# -*- coding: utf-8 -*-
# blacklist.py file is part of slpkg.
# Copyright 2014 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved.
# Utility for easy management packages in Slackware
# https://github.com/dslackw/slpkg
# Slpkg is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import os
from init import initialization
from __metadata__ import bls_path
if not os.path.isfile(bls_path + "blacklist"):
init = initialization()
def black_packages():
'''
Return blacklist packages from /etc/slpkg/blacklist
configuration file.
'''
blacklist = []
blackfile = bls_path + "blacklist"
with open(blackfile, "r") as black_conf:
for read in black_conf:
read = read.lstrip()
if not read.startswith("#"):
blacklist.append(read.replace("\n", ""))
black_conf.close()
return blacklist
def blacklisted():
'''
Print blacklist packages
'''
print("\nPackages in blacklist:\n")
for black in black_packages():
if black:
print(black)
print # new line at exit
def add_blacklist(pkgs):
'''
Add blacklist packages if not exist
'''
exit = 0
blackfile = bls_path + "blacklist"
blacklist = black_packages()
print("\nAdd packages in blacklist:\n")
with open(blackfile, "a") as black_conf:
for pkg in pkgs:
if pkg not in blacklist:
print(pkg)
black_conf.write(pkg + "\n")
exit = 1
black_conf.close()
if exit == 1:
print # new line at exit
def remove_blacklist(pkgs):
'''
Remove packages from blacklist
'''
exit = 0
blackfile = bls_path + "blacklist"
print("\nRemove packages from blacklist:\n")
with open(blackfile, "r") as read_black_conf:
lines = read_black_conf.read()
read_black_conf.close()
with open(blackfile, "w") as black_conf:
for line in lines.splitlines():
if line not in pkgs:
black_conf.write(line + "\n")
else:
print(line)
exit = 1
black_conf.close()
if exit == 1:
print # new line at exit
......@@ -23,20 +23,53 @@
import os
import sys
import getpass
from slpkg.url_read import url_read
from slpkg.__metadata__ import log_path, lib_path
from slpkg.slack.slack_version import slack_ver
from messages import s_user
from url_read import url_read
from __metadata__ import log_path, lib_path, bls_path
from file_size import server_file_size, local_file_size
from slack.slack_version import slack_ver
def initialization():
'''
Slpkg initialization, creating directories and SLACKBUILDS.TXT in
/var/lib/slpkg/sbo_repo/ and ChangeLog.txt in /var/log/slpkg/ from
slackbuilds.org
'''
s_user(getpass.getuser())
blacklist_conf = [
"# This is the blacklist file. Each package listed here may not be\n",
"# installed be upgraded be find or deleted.\n",
"# NOTE: The settings here affect all repositories.\n",
"#\n",
"# An example syntax is as follows:\n",
"# add a package from SBo repository:\n",
"# brasero\n",
"#\n",
"# Add package from slackware repository:\n",
"# example add package 'wicd-1.7.2.4-x86_64-4.txz':\n",
"# wicd\n",
"#\n",
"# Sometimes the automatic kernel update creates problems because you\n",
"# may need to file intervention 'lilo'. The slpkg automatically detects\n",
"# if the core has been upgraded and running 'lilo'. If you want to avoid\n",
"# any problems uncomment the lines below.\n",
"#\n",
"# kernel-firmware\n",
"# kernel-generic\n",
"# kernel-generic-smp\n",
"# kernel-headers\n",
"# kernel-huge\n",
"# kernel-huge-smp\n",
"# kernel-modules\n",
"# kernel-modules-smp\n",
"# kernel-source\n"
"#\n",
"#\n"
]
black_conf = bls_path + "blacklist"
sbo_log = log_path + "sbo/"
sbo_lib = lib_path + "sbo_repo/"
if not os.path.exists(log_path):
......@@ -47,6 +80,13 @@ def initialization():
os.mkdir(sbo_log)
if not os.path.exists(sbo_lib):
os.mkdir(sbo_lib)
if not os.path.exists(bls_path):
os.mkdir(bls_path)
if not os.path.isfile(bls_path + "blacklist"):
with open(black_conf, "w") as conf:
for line in blacklist_conf:
conf.write(line)
conf.close()
sbo_url = ("http://slackbuilds.org/slackbuilds/{0}/".format(slack_ver()))
# Read SLACKBUILDS.TXT from slackbuilds.org and write in /var/lib/slpkg/sbo_repo/
# directory if not exist
......
......@@ -21,36 +21,13 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
'''
slpkg - 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 [source...] auto build packages
-l, all, sbo, slack, noarch list of installed packages
-c, <repository> --upgrade check if your packages is up to date
-s, <repository> <package> download, build & install packages
-f, <package> find installed packages
-t, <package> packages tracking dependencies from SBo
-n, <package> view packages from SBo repository
-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 of the packages
Repositories:
SlackBuilds = sbo
Slackware = slack
'''
import getpass
from colors import *
from messages import s_user
from version import prog_version
from __metadata__ import path, __version__
from blacklist import blacklisted, add_blacklist, remove_blacklist
from pkg.manager import *
from pkg.build import build_package
......@@ -65,24 +42,28 @@ from slack.install import install
def main():
s_user(getpass.getuser())
arguments = [
"slpkg - version {0}\n".format(__version__),
"Utility for easy management packages in Slackware\n",
"Optional arguments:",
" -h, --help show this help message and exit",
" -v, --version print version and exit",
" -a, script [source...] auto build packages",
" -l, all, sbo, slack, noarch list of installed packages",
" -c, <repository> --upgrade check if your packages is up to date",
" -s, <repository> <package> download, build & install packages",
" -f, <package> find installed packages",
" -t, <package> packages tracking dependencies from SBo",
" -n, <package> view packages from SBo repository",
" -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 of the packages\n",
" -h, --help show this help message and exit",
" -v, --version print version and exit",
" -a, script [source...] auto build packages",
" -l, all, sbo, slack, noarch list of installed packages",
" -c, <repository> --upgrade check if your packages is up to date",
" -s, <repository> <package> download, build & install packages",
" -f, <package> find installed packages",
" -t, <package> packages tracking dependencies from SBo",
" -n, <package> view packages from SBo repository",
" -b, --list blacklisted packages",
" -b [package...] --add --remove add, remove packages in blacklist",
" -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 of the packages\n",
"Repositories:",
" SlackBuilds = sbo",
" Slackware = slack\n",
......@@ -93,7 +74,8 @@ def main():
" [-l all, sbo, slack, noarch]",
" [-c <repository> --upgrade]",
" [-s <repository> <package>]",
" [-f] [-t] [-n] [-i [...]]",
" [-f] [-t] [-n] [-b --list]",
" [-b [...] --add --remove] [-i [...]]",
" [-u [...]] [-o [...]] [-r [...]] [-d [...]]\n",
"For more information try 'slpkg --help'\n"
]
......@@ -107,7 +89,6 @@ def main():
elif len(args) == 1 and args[0] == "-v" or args[0] == "--version":
prog_version()
elif len(args) == 3 and args[0] == "-a":
s_user(getpass.getuser())
build_package(args[1], args[2:], path)
elif len(args) == 2 and args[0] == "-l":
sbo_list = ["all", "sbo", "slack", "noarch"]
......@@ -116,7 +97,6 @@ def main():
else:
for opt in usage: print(opt)
elif len(args) == 3 and args[0] == "-c":
s_user(getpass.getuser())
if args[1] == repository[0] and args[2] == "--upgrade":
sbo_check()
elif args[1] == repository[1] and args[2] == "--upgrade":
......@@ -124,28 +104,27 @@ def main():
else:
for opt in usage: print(opt)
elif len(args) == 3 and args[0] == "-s":
s_user(getpass.getuser())
if args[1] == repository[0]:
sbo_build(args[2])
elif args[1] == repository[1]:
install(args[2])
elif len(args) == 2 and args[0] == "-t":
s_user(getpass.getuser())
pkg_tracking(args[1])
elif len(args) == 2 and args[0] == "-n":
s_user(getpass.getuser())
sbo_network(args[1])
elif len(args) == 2 and args[0] == "-b" and args[1] == "--list":
blacklisted()
elif len(args) > 2 and args[0] == "-b" and args[-1] == "--add":
add_blacklist(args[1:-1])
elif len(args) > 2 and args[0] == "-b" and args[-1] == "--remove":
remove_blacklist(args[1:-1])
elif len(args) > 1 and args[0] == "-i":
s_user(getpass.getuser())
pkg_install(args[1:])
elif len(args) > 1 and args[0] == "-u":
s_user(getpass.getuser())
pkg_upgrade(args[1:])
elif len(args) > 1 and args[0] == "-o":
s_user(getpass.getuser())
pkg_reinstall(args[1:])
elif len(args) > 1 and args[0] == "-r":
s_user(getpass.getuser())
pkg_remove(args[1:])
elif len(args) > 1 and args[0] == "-f":
pkg_find(args[1:])
......@@ -153,5 +132,6 @@ def main():
pkg_display(args[1:])
else:
for opt in usage: print(opt)
if __name__ == "__main__":
main()
......@@ -23,12 +23,15 @@
import os
from slpkg.blacklist import black_packages
def find_package(find_pkg, directory):
'''
Find packages
'''
pkgs = []
blacklist = black_packages()
for pkg in os.listdir(directory):
if pkg.startswith(find_pkg):
if pkg.startswith(find_pkg) and find_pkg[:-1] not in blacklist:
pkgs.append(pkg)
return pkgs
......@@ -26,6 +26,7 @@ import sys
import subprocess
from slpkg.colors import *
from slpkg.blacklist import black_packages
from slpkg.messages import pkg_not_found, template
from slpkg.__metadata__ import pkg_path, sp, log_path
......@@ -173,7 +174,7 @@ def pkg_find(binary):
matching = size = int()
print("\nInstalled packages with name matching [ {0}{1}{2} ]\n".format(
CYAN, binary, ENDC))
for match in sorted(os.listdir(pkg_path)):
for match in sorted(find_package(binary, pkg_path)):
if binary in match:
matching += 1
print("[ {0}installed{1} ] - {2}".format(
......
......@@ -29,11 +29,11 @@ from slpkg.pkg.build import build_package
from slpkg.pkg.manager import pkg_upgrade
from slpkg.colors import *
from slpkg.init import initialization
from slpkg.downloader import download
from slpkg.messages import template, build_FAILED
from slpkg.__metadata__ import tmp, pkg_path, build_path, sp
from init import initialization
from search import sbo_search_pkg
from download import sbo_slackbuild_dwn
from dependency import sbo_dependencies_pkg
......@@ -53,7 +53,7 @@ def sbo_check():
reading_lists = "{0}Reading package lists ...{1}".format(GREY, ENDC)
sys.stdout.write(reading_lists)
sys.stdout.flush()
initialization()
init = initialization()
arches = ["-x86_64-", "-i486-", "-arm-", "-noarch-"]
index, toolbar_width = int(), 3
dependencies, dependencies_list, \
......
......@@ -24,12 +24,13 @@
import sys
from slpkg.colors import *
from slpkg.init import initialization
from slpkg.blacklist import black_packages
from slpkg.__metadata__ import pkg_path, sp
from slpkg.messages import pkg_not_found, template
from slpkg.pkg.find import find_package
from init import initialization
from search import sbo_search_pkg
from greps import sbo_requires_pkg
......@@ -41,12 +42,14 @@ def sbo_dependencies_pkg(name):
'''
try:
dependencies = []
blacklist = black_packages()
sbo_url = sbo_search_pkg(name)
if sbo_url:
requires = sbo_requires_pkg(name)
for req in requires:
# avoid to add %README% as dependency
if "%README%" not in req:
# avoid to add %README% as dependency and
# if require in blacklist
if "%README%" not in req and req not in blacklist:
dependencies.append(req)
if dependencies:
dep_results.append(dependencies)
......@@ -71,7 +74,7 @@ def pkg_tracking(name):
reading_lists = "{0}Reading package lists ...{1}".format(GREY, ENDC)
sys.stdout.write(reading_lists)
sys.stdout.flush()
initialization()
init = initialization()
dependencies_list = sbo_dependencies_pkg(name)
if dependencies_list is not None:
sys.stdout.write(done)
......
......@@ -26,6 +26,7 @@ import re
import sys
from slpkg.__metadata__ import lib_path
from slpkg.blacklist import black_packages
from slpkg.slack.slack_version import slack_ver
......@@ -34,11 +35,13 @@ def sbo_search_pkg(name):
Search for package path from SLACKBUILDS.TXT file
'''
try:
blacklist = black_packages()
sbo_url = ("http://slackbuilds.org/slackbuilds/{0}/".format(slack_ver()))
with open(lib_path + "sbo_repo/SLACKBUILDS.TXT", "r") as SLACKBUILDS_TXT:
for line in SLACKBUILDS_TXT:
if line.startswith("SLACKBUILD LOCATION"):
if name == (line[23:].split("/")[-1].replace("\n", "")).strip():
sbo_name = (line[23:].split("/")[-1].replace("\n", "")).strip()
if name == sbo_name and name not in blacklist:
SLACKBUILDS_TXT.close()
return (sbo_url + line[23:].strip() + "/")
except KeyboardInterrupt:
......
......@@ -25,9 +25,10 @@ import os
import sys
from slpkg.colors import *
from slpkg.init import initialization
from slpkg.downloader import download
from slpkg.__metadata__ import (tmp, pkg_path, build_path,
log_path, lib_path, sp)
log_path, lib_path, sp)
from slpkg.messages import (pkg_not_found, pkg_found, template,
build_FAILED, sbo_packages_view)
......@@ -36,7 +37,6 @@ from slpkg.pkg.find import find_package
from slpkg.pkg.build import build_package
from slpkg.pkg.manager import pkg_upgrade
from init import initialization
from search import sbo_search_pkg
from download import sbo_slackbuild_dwn
from dependency import sbo_dependencies_pkg
......@@ -55,10 +55,10 @@ def sbo_build(name):
reading_lists = "{0}Reading package lists ...{1}".format(GREY, ENDC)
sys.stdout.write(reading_lists)
sys.stdout.flush()
initialization()
init = initialization()
dependencies_list = sbo_dependencies_pkg(name)
try:
if dependencies_list is not None:
if dependencies_list is not None or sbo_search_pkg(name) is not None:
pkg_sum = count_upgraded = count_installed = int()
# Insert master package in list to
# install it after dependencies
......
......@@ -26,6 +26,7 @@ import sys
import pydoc
from slpkg.colors import *
from slpkg.init import initialization
from slpkg.downloader import download
from slpkg.__metadata__ import tmp, build_path, pkg_path, sp
from slpkg.messages import (pkg_not_found, pkg_found, view_sbo,
......@@ -37,7 +38,6 @@ from slpkg.pkg.manager import pkg_upgrade
from read import *
from greps import *
from init import initialization
from search import sbo_search_pkg
from download import sbo_slackbuild_dwn
......@@ -50,7 +50,7 @@ def sbo_network(name):
reading_lists = "{0}Reading package lists ...{1}".format(GREY, ENDC)
sys.stdout.write(reading_lists)
sys.stdout.flush()
initialization()
init = initialization()
sbo_url = sbo_search_pkg(name)
if sbo_url:
sbo_desc = sbo_description_pkg(name)[len(name) + 2:-1]
......