mirror of
https://gitlab.com/dslackw/slpkg.git
synced 2025-02-01 07:57:26 +01:00
updated for version 1.3.6
This commit is contained in:
parent
cf389134e0
commit
62ce5bff44
6 changed files with 353 additions and 36 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
28-05-2014
|
||||||
|
Version 1.3.6
|
||||||
|
|
||||||
|
[Feature] - Added download package with all dependencies build and install all
|
||||||
|
|
||||||
24-05-2014
|
24-05-2014
|
||||||
Version 1.3.5
|
Version 1.3.5
|
||||||
|
|
||||||
|
|
2
PKG-INFO
2
PKG-INFO
|
@ -1,6 +1,6 @@
|
||||||
Metadata-Version: 1.1
|
Metadata-Version: 1.1
|
||||||
Name: slpkg
|
Name: slpkg
|
||||||
Version: 1.3.5
|
Version: 1.3.6
|
||||||
Author: dslackw
|
Author: dslackw
|
||||||
Author-email: d zlatanidis at gmail com
|
Author-email: d zlatanidis at gmail com
|
||||||
Maintainer: dslackw
|
Maintainer: dslackw
|
||||||
|
|
38
README.rst
38
README.rst
|
@ -17,6 +17,7 @@ Slpkg is a terminal tool in order to easy use Slackware packages.
|
||||||
|
|
||||||
Features
|
Features
|
||||||
--------
|
--------
|
||||||
|
- Download package with all dependencies build and install all
|
||||||
- Automatic tool build and install packages
|
- Automatic tool build and install packages
|
||||||
- List all installed packages
|
- List all installed packages
|
||||||
- Τracking dependencies
|
- Τracking dependencies
|
||||||
|
@ -71,8 +72,8 @@ Command Line Tool Usage
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
usage: slpkg [-h] [-v] [-s script [source ...]] [-l all, sbo [all, sbo ...]]
|
usage: slpkg [-h] [-v] [-s script [source ...]] [-l all, sbo [all, sbo ...]]
|
||||||
[-t] [-n] [-c] [-i [...]] [-u [...]] [-a [...]] [-r [...]]
|
[-t] [-n] [-c] [-b] [-i [...]] [-u [...]] [-a [...]]
|
||||||
[-f [...]] [-d [...]]
|
[-r [...]] [-f [...]] [-d [...]]
|
||||||
|
|
||||||
Utility to help package management in Slackware
|
Utility to help package management in Slackware
|
||||||
|
|
||||||
|
@ -86,6 +87,7 @@ Command Line Tool Usage
|
||||||
-t tracking dependencies
|
-t tracking dependencies
|
||||||
-n find from SBo repositority
|
-n find from SBo repositority
|
||||||
-c check if your package is up to date
|
-c check if your package is up to date
|
||||||
|
-b download, build & install pkg from SBo
|
||||||
-i [ ...] install binary packages
|
-i [ ...] install binary packages
|
||||||
-u [ ...] install-upgrade packages with new
|
-u [ ...] install-upgrade packages with new
|
||||||
-a [ ...] reinstall the same packages
|
-a [ ...] reinstall the same packages
|
||||||
|
@ -98,6 +100,38 @@ Command Line Tool Usage
|
||||||
Slpkg Examples
|
Slpkg Examples
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
Find package from slackbuilds.org download,
|
||||||
|
build and install with all dependencies :
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ slpkg -b brasero
|
||||||
|
Searching `brasero` from slackbuilds.org ...
|
||||||
|
Searching `libunique` from slackbuilds.org .....
|
||||||
|
Searching `gst1-plugins-bad` from slackbuilds.org ......
|
||||||
|
Searching `gst1-plugins-base` from slackbuilds.org ........
|
||||||
|
Searching `gstreamer1` from slackbuilds.org ....
|
||||||
|
Searching `orc` from slackbuilds.org ....
|
||||||
|
|
||||||
|
+==============================================================================
|
||||||
|
| Installing new package /tmp/brasero-3.11.3-x86_64-1_SBo.tgz
|
||||||
|
+==============================================================================
|
||||||
|
|
||||||
|
Verifying package brasero-3.11.3-x86_64-1_SBo.tgz.
|
||||||
|
Installing package brasero-3.11.3-x86_64-1_SBo.tgz:
|
||||||
|
PACKAGE DESCRIPTION:
|
||||||
|
# brasero (CD/DVD burning application)
|
||||||
|
#
|
||||||
|
# Brasero is a application to burn CD/DVD for the Gnome Desktop. It is
|
||||||
|
# designed to be as simple as possible and has some unique features to
|
||||||
|
# enable users to create their discs easily and quickly.
|
||||||
|
#
|
||||||
|
# Homepage: http://projects.gnome.org/brasero
|
||||||
|
#
|
||||||
|
Executing install script for brasero-3.11.3-x86_64-1_SBo.tgz.
|
||||||
|
Package brasero-3.11.3-x86_64-1_SBo.tgz installed.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Tracking all dependencies of packages:
|
Tracking all dependencies of packages:
|
||||||
|
|
||||||
|
|
305
bin/slpkg
305
bin/slpkg
|
@ -3,13 +3,17 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'''Slpkg is a terminal tool in order to easy use Slackware packages.
|
'''Utility to help package management in Slackware.
|
||||||
It's a quick and easy way to manage your packages in slackware to a command.
|
Slpkg is a terminal tool in order to easy use Slackware packages.
|
||||||
|
|
||||||
|
|
||||||
|
It's a quick and easy way to manage your packages in Slackware to a command.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
usage: slpkg [-h] [-v] [-s script [source ...]] [-l all, sbo [all, sbo ...]]
|
usage: slpkg [-h] [-v] [-s script [source ...]] [-l all, sbo [all, sbo ...]]
|
||||||
[-t] [-n] [-c] [-i [...]] [-u [...]] [-a [...]] [-r [...]]
|
[-t] [-n] [-c] [-b] [-i [...]] [-u [...]] [-a [...]]
|
||||||
[-f [...]] [-d [...]]
|
[-r [...]] [-f [...]] [-d [...]]
|
||||||
|
|
||||||
Utility to help package management in Slackware
|
Utility to help package management in Slackware
|
||||||
|
|
||||||
|
@ -23,6 +27,7 @@ optional arguments:
|
||||||
-t tracking dependencies
|
-t tracking dependencies
|
||||||
-n find from SBo repositority
|
-n find from SBo repositority
|
||||||
-c check if your package is up to date
|
-c check if your package is up to date
|
||||||
|
-b download, build & install pkg from SBo
|
||||||
-i [ ...] install binary packages
|
-i [ ...] install binary packages
|
||||||
-u [ ...] install-upgrade packages with new
|
-u [ ...] install-upgrade packages with new
|
||||||
-a [ ...] reinstall the same packages
|
-a [ ...] reinstall the same packages
|
||||||
|
@ -46,7 +51,7 @@ import subprocess
|
||||||
|
|
||||||
|
|
||||||
__author__ = "dslackw"
|
__author__ = "dslackw"
|
||||||
__version__ = "1.3.5"
|
__version__ = "1.3.6"
|
||||||
__license__ = "GNU General Public License v3 (GPLv3)"
|
__license__ = "GNU General Public License v3 (GPLv3)"
|
||||||
__email__ = "d.zlatanidis@gmail.com"
|
__email__ = "d.zlatanidis@gmail.com"
|
||||||
|
|
||||||
|
@ -66,6 +71,8 @@ tmp = "/tmp/"
|
||||||
|
|
||||||
# create dependencies list
|
# create dependencies list
|
||||||
dep_results = []
|
dep_results = []
|
||||||
|
dep_links_results = []
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# SlackBuilds repository link
|
# SlackBuilds repository link
|
||||||
|
@ -111,8 +118,6 @@ def rmv_unused(name):
|
||||||
|
|
||||||
return name
|
return name
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# get filename from links
|
# get filename from links
|
||||||
def get_file(link):
|
def get_file(link):
|
||||||
char = "/"
|
char = "/"
|
||||||
|
@ -134,6 +139,26 @@ def get_file(link):
|
||||||
return file
|
return file
|
||||||
|
|
||||||
|
|
||||||
|
# get version from files
|
||||||
|
def get_version(name):
|
||||||
|
char = "-"
|
||||||
|
|
||||||
|
j = 0
|
||||||
|
results = []
|
||||||
|
for i in name:
|
||||||
|
j += 1
|
||||||
|
results.append(name[-j:])
|
||||||
|
|
||||||
|
for file in results:
|
||||||
|
if file.startswith(char):
|
||||||
|
file = file
|
||||||
|
break
|
||||||
|
|
||||||
|
file = file.strip(" ") # remove spaces from string
|
||||||
|
|
||||||
|
return file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# this fuction return if the package exist
|
# this fuction return if the package exist
|
||||||
def find_package(find_pkg, directory):
|
def find_package(find_pkg, directory):
|
||||||
|
@ -268,6 +293,7 @@ def sbo_extra_dwn(sbo_url, name):
|
||||||
read_info = url_read(sbo_url)
|
read_info = url_read(sbo_url)
|
||||||
results = []
|
results = []
|
||||||
|
|
||||||
|
|
||||||
for line in read_info.splitlines():
|
for line in read_info.splitlines():
|
||||||
if line.startswith(' '):
|
if line.startswith(' '):
|
||||||
line = line[10:-1]
|
line = line[10:-1]
|
||||||
|
@ -296,31 +322,77 @@ def sbo_requires_pkg(sbo_url, name):
|
||||||
|
|
||||||
# search for package dependencies
|
# search for package dependencies
|
||||||
def sbo_dependencies_pkg(name):
|
def sbo_dependencies_pkg(name):
|
||||||
|
if name == "%README%": # avoid to search %README% as dependency
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
find_sbo_url = sbo_search_pkg(name)
|
||||||
|
if find_sbo_url == None:
|
||||||
|
print ("\n")
|
||||||
|
print ("{}The {}'{}'{} not found{}\n".format(colors.RED,
|
||||||
|
colors.CYAN, name, colors.RED, colors.ENDC))
|
||||||
|
|
||||||
|
else:
|
||||||
|
find_sbo_req = sbo_requires_pkg(find_sbo_url, name)
|
||||||
|
dependencies = find_sbo_req.split() # convert string to list
|
||||||
|
|
||||||
|
if dependencies == []:
|
||||||
|
pass
|
||||||
|
|
||||||
|
else:
|
||||||
|
dep_results.append(dependencies)
|
||||||
|
|
||||||
|
for line in dependencies:
|
||||||
|
print
|
||||||
|
sbo_dependencies_pkg(line)
|
||||||
|
|
||||||
|
return dep_results
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# search for package dependencies
|
||||||
|
def sbo_dependencies_links_pkg(name):
|
||||||
if name == "%README%": # avoid to search %README% as dependency
|
if name == "%README%": # avoid to search %README% as dependency
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
|
|
||||||
find_sbo_url = sbo_search_pkg(name)
|
find_sbo_url = sbo_search_pkg(name)
|
||||||
|
|
||||||
if find_sbo_url == None:
|
if find_sbo_url == None:
|
||||||
print ("\n")
|
print ("\n")
|
||||||
print ("{}The {}'{}'{} not found{}\n".format(colors.RED,
|
print ("{}The {}'{}'{} not found{}\n".format(colors.RED,
|
||||||
colors.CYAN, name, colors.RED, colors.ENDC))
|
colors.CYAN, name, colors.RED, colors.ENDC))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
find_sbo_dwn = sbo_slackbuild_dwn(find_sbo_url, name)
|
||||||
|
find_source_dwn = sbo_source_dwn(find_sbo_url, name)
|
||||||
|
find_extra_dwn = sbo_extra_dwn(find_sbo_url, name)
|
||||||
find_sbo_req = sbo_requires_pkg(find_sbo_url, name)
|
find_sbo_req = sbo_requires_pkg(find_sbo_url, name)
|
||||||
dependencies = find_sbo_req.split() # convert string to list
|
|
||||||
|
# create flag to know how much extra source there are
|
||||||
|
if find_extra_dwn != []:
|
||||||
|
flag = str(len(find_extra_dwn))
|
||||||
|
dep_links_results.append(flag)
|
||||||
|
|
||||||
|
sbo_dwn = find_sbo_dwn.split()
|
||||||
|
source_dwn = find_source_dwn.split()
|
||||||
|
dependencies = find_sbo_req.split()
|
||||||
|
|
||||||
|
dep_links_results.append(find_extra_dwn)
|
||||||
|
dep_links_results.append(source_dwn)
|
||||||
|
dep_links_results.append(sbo_dwn)
|
||||||
|
|
||||||
|
|
||||||
if dependencies == []:
|
if dependencies == []:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
else:
|
else:
|
||||||
dep_results.append(dependencies)
|
dep_links_results.append(dependencies)
|
||||||
|
for line in dependencies:
|
||||||
for line in dependencies:
|
print
|
||||||
print
|
sbo_dependencies_links_pkg(line)
|
||||||
sbo_dependencies_pkg(line)
|
|
||||||
|
|
||||||
|
|
||||||
return dep_results
|
return dep_links_results
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -358,8 +430,7 @@ def build_package(script, source):
|
||||||
shutil.copy2(source_tar, pkg_name)
|
shutil.copy2(source_tar, pkg_name)
|
||||||
os.chdir(path + pkg_name)
|
os.chdir(path + pkg_name)
|
||||||
os.system("sh {}{}{}".format(path, pkg_name + "/", pkg_name + ".SlackBuild"))
|
os.system("sh {}{}{}".format(path, pkg_name + "/", pkg_name + ".SlackBuild"))
|
||||||
print ("{}Use {}`slpkg -u`{} to install - upgrade this package{}\n".format(colors.YELLOW,
|
os.chdir(path)
|
||||||
colors.CYAN, colors.YELLOW, colors.ENDC))
|
|
||||||
except (OSError, IOError):
|
except (OSError, IOError):
|
||||||
print
|
print
|
||||||
print ("{}Wrong file name, Please try again...{}\n".format(colors.RED,
|
print ("{}Wrong file name, Please try again...{}\n".format(colors.RED,
|
||||||
|
@ -373,12 +444,6 @@ def build_extra_pkg(script, source, extra):
|
||||||
source_tar = source
|
source_tar = source
|
||||||
extra_source = extra
|
extra_source = extra
|
||||||
|
|
||||||
print slack_script
|
|
||||||
print source_tar
|
|
||||||
print extra_source
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# remove file type from slackbuild script and store the name
|
# remove file type from slackbuild script and store the name
|
||||||
pkg_name = slack_script.replace(".tar.gz", "")
|
pkg_name = slack_script.replace(".tar.gz", "")
|
||||||
if pkg_name != slack_script:
|
if pkg_name != slack_script:
|
||||||
|
@ -395,8 +460,6 @@ def build_extra_pkg(script, source, extra):
|
||||||
shutil.copy2(extra_source, pkg_name)
|
shutil.copy2(extra_source, pkg_name)
|
||||||
os.chdir(path + pkg_name)
|
os.chdir(path + pkg_name)
|
||||||
os.system("sh {}{}{}".format(path, pkg_name + "/", pkg_name + ".SlackBuild"))
|
os.system("sh {}{}{}".format(path, pkg_name + "/", pkg_name + ".SlackBuild"))
|
||||||
print ("{}Use {}`slpkg -u`{} to install - upgrade this package{}\n".format(colors.YELLOW,
|
|
||||||
colors.CYAN, colors.YELLOW, colors.ENDC))
|
|
||||||
except (OSError, IOError):
|
except (OSError, IOError):
|
||||||
print
|
print
|
||||||
print ("{}Wrong file name, Please try again...{}\n".format(colors.RED,
|
print ("{}Wrong file name, Please try again...{}\n".format(colors.RED,
|
||||||
|
@ -428,8 +491,6 @@ def build_extra2_pkg(script, source, extra, extra2):
|
||||||
shutil.copy2(extra2_source, pkg_name)
|
shutil.copy2(extra2_source, pkg_name)
|
||||||
os.chdir(path + pkg_name)
|
os.chdir(path + pkg_name)
|
||||||
os.system("sh {}{}{}".format(path, pkg_name + "/", pkg_name + ".SlackBuild"))
|
os.system("sh {}{}{}".format(path, pkg_name + "/", pkg_name + ".SlackBuild"))
|
||||||
print ("{}Use {}`slpkg -u`{} to install - upgrade this package{}\n".format(colors.YELLOW,
|
|
||||||
colors.CYAN, colors.YELLOW, colors.ENDC))
|
|
||||||
except (OSError, IOError):
|
except (OSError, IOError):
|
||||||
print
|
print
|
||||||
print ("{}Wrong file name, Please try again...{}\n".format(colors.RED,
|
print ("{}Wrong file name, Please try again...{}\n".format(colors.RED,
|
||||||
|
@ -499,11 +560,12 @@ def pkg_tracking(name):
|
||||||
print ("+" + "=" * pkg_len)
|
print ("+" + "=" * pkg_len)
|
||||||
find_dependencies.reverse()
|
find_dependencies.reverse()
|
||||||
|
|
||||||
|
|
||||||
print (" |")
|
print (" |")
|
||||||
for i in range(len(find_dependencies)):
|
for i in range(len(find_dependencies)):
|
||||||
found = " --", str(len(find_dependencies[i])), " ".join(find_dependencies[i])
|
found = " --", str(len(find_dependencies[i])), " ".join(find_dependencies[i])
|
||||||
print (" |")
|
print (" |")
|
||||||
print " ".join(found)
|
print " ".join(found)
|
||||||
print
|
print
|
||||||
|
|
||||||
|
|
||||||
|
@ -654,6 +716,169 @@ def sbo_check(name):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# find package and dependencies download, build and install
|
||||||
|
def sbo_build(name):
|
||||||
|
find_dependencies_links = sbo_dependencies_links_pkg(name)
|
||||||
|
|
||||||
|
# create one list
|
||||||
|
if find_dependencies_links != []:
|
||||||
|
results = []
|
||||||
|
for i in range(len(find_dependencies_links)):
|
||||||
|
for j in range(len(find_dependencies_links[i])):
|
||||||
|
results.append(find_dependencies_links[i][j])
|
||||||
|
|
||||||
|
|
||||||
|
# grep only links from list
|
||||||
|
dwn_link = []
|
||||||
|
for link in results:
|
||||||
|
if link.startswith('http'):
|
||||||
|
dwn_link.append(link)
|
||||||
|
|
||||||
|
dwn_link.reverse() # upside-down list
|
||||||
|
|
||||||
|
files = []
|
||||||
|
for i in range(len(dwn_link)):
|
||||||
|
files.append(get_file(dwn_link[i])) # get tar archives from link
|
||||||
|
|
||||||
|
# get version from source code
|
||||||
|
version = []
|
||||||
|
j = 1
|
||||||
|
for i in range(len(files) / 2):
|
||||||
|
if files[j].endswith("tar.gz"):
|
||||||
|
ver = files[j]
|
||||||
|
ver = ver[:-7] # remove archive type .tar.gz
|
||||||
|
ver = get_version(ver) # remove file name and take the version
|
||||||
|
ver = ver.replace("-", "")
|
||||||
|
version.append(ver)
|
||||||
|
j += 2
|
||||||
|
|
||||||
|
elif files[j].endswith("tar.bz2"):
|
||||||
|
ver = files[j]
|
||||||
|
ver = ver[:-8]
|
||||||
|
ver = get_version(ver)
|
||||||
|
ver = ver.replace("-", "")
|
||||||
|
version.append(ver)
|
||||||
|
j += 2
|
||||||
|
|
||||||
|
elif files[j].endswith("zip"):
|
||||||
|
ver = files[j]
|
||||||
|
ver = ver[:-4]
|
||||||
|
ver = get_version(ver)
|
||||||
|
ver = ver.replace("-", "")
|
||||||
|
version.append(ver)
|
||||||
|
j += 2
|
||||||
|
|
||||||
|
elif files[j].endswith("tar.xz"):
|
||||||
|
ver = files[j]
|
||||||
|
ver = ver[:-7]
|
||||||
|
ver = get_version(ver)
|
||||||
|
ver = ver.replace("-", "")
|
||||||
|
version.append(ver)
|
||||||
|
j += 2
|
||||||
|
|
||||||
|
|
||||||
|
# get filename from sbo script
|
||||||
|
filename = []
|
||||||
|
y = 0
|
||||||
|
for i in range(len(files) / 2):
|
||||||
|
if files[y].endswith("tar.gz"):
|
||||||
|
file = files[y]
|
||||||
|
file = file[:-7]
|
||||||
|
filename.append(file)
|
||||||
|
y += 2
|
||||||
|
|
||||||
|
elif files[y].endswith("tar.bz2"):
|
||||||
|
file = files[y]
|
||||||
|
file = file[:-8]
|
||||||
|
filename.append(file)
|
||||||
|
y += 2
|
||||||
|
|
||||||
|
elif files[y].endswith("zip"):
|
||||||
|
file = files[y]
|
||||||
|
file = file[:-4]
|
||||||
|
filename.append(file)
|
||||||
|
y += 2
|
||||||
|
|
||||||
|
elif files[y].endswith("tar.xz"):
|
||||||
|
file = files[y]
|
||||||
|
file = file[:-7]
|
||||||
|
filename.append(file)
|
||||||
|
y += 2
|
||||||
|
|
||||||
|
|
||||||
|
# link sbo filename with version
|
||||||
|
filename_version = []
|
||||||
|
for i in range(len(filename)):
|
||||||
|
filename_version.append(filename[i] + "-" + version[i])
|
||||||
|
|
||||||
|
wget_links = set(dwn_link) # remove duplicate links
|
||||||
|
|
||||||
|
# dwonload links
|
||||||
|
for link in wget_links:
|
||||||
|
os.system("wget {}".format(link))
|
||||||
|
|
||||||
|
# build packages and store slackware files in /tmp directory
|
||||||
|
if results[0] == "1": # check how many extra sources
|
||||||
|
|
||||||
|
for i in range(len(files) / 2):
|
||||||
|
if len(files) < 4:
|
||||||
|
script = files[0]
|
||||||
|
source = files[1]
|
||||||
|
extra = files[2]
|
||||||
|
build_extra_pkg(script, source, extra)
|
||||||
|
|
||||||
|
install_pkg = (subprocess.check_output(["ls /tmp/{}*.tgz".format(filename_version[i])],shell=True).replace("\n", ""))
|
||||||
|
os.system("upgradepkg --install-new {}".format(install_pkg))
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
|
||||||
|
script = files[0]
|
||||||
|
source = files[1]
|
||||||
|
build_package(script, source)
|
||||||
|
|
||||||
|
install_pkg = (subprocess.check_output(["ls /tmp/{}*.tgz".format(filename_version[i])],shell=True).replace("\n", ""))
|
||||||
|
os.system("upgradepkg --install-new {}".format(install_pkg))
|
||||||
|
|
||||||
|
for j in range(0, 2):
|
||||||
|
files.pop(0)
|
||||||
|
|
||||||
|
elif results[0] == "2": # check how many extra sources
|
||||||
|
|
||||||
|
for i in range(len(files) / 2):
|
||||||
|
if len(files) < 5:
|
||||||
|
script = files[0]
|
||||||
|
source = files[1]
|
||||||
|
extra = files[2]
|
||||||
|
extra2 = files[3]
|
||||||
|
build_extra2_pkg(script, source, extra, extra2)
|
||||||
|
|
||||||
|
install_pkg = (subprocess.check_output(["ls /tmp/{}*.tgz".format(filename_version[i])],shell=True).replace("\n", ""))
|
||||||
|
os.system("upgradepkg --install-new {}".format(install_pkg))
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
script = files[0]
|
||||||
|
source = files[1]
|
||||||
|
build_package(script, source)
|
||||||
|
|
||||||
|
install_pkg = (subprocess.check_output(["ls /tmp/{}*.tgz".format(filename_version[i])],shell=True).replace("\n", ""))
|
||||||
|
os.system("upgradepkg --install-new {}".format(install_pkg))
|
||||||
|
|
||||||
|
for j in range(0, 2):
|
||||||
|
files.pop(0)
|
||||||
|
else:
|
||||||
|
|
||||||
|
for i in range(len(files) / 2):
|
||||||
|
script = files[0]
|
||||||
|
source = files[1]
|
||||||
|
build_package(script, source)
|
||||||
|
install_pkg = (subprocess.check_output(["ls /tmp/{}*.tgz".format(filename_version[i])],shell=True).replace("\n", ""))
|
||||||
|
os.system("upgradepkg --install-new {}".format(install_pkg))
|
||||||
|
|
||||||
|
for j in range(0, 2):
|
||||||
|
files.pop(0)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# install binary package
|
# install binary package
|
||||||
def pkg_install(name):
|
def pkg_install(name):
|
||||||
s_user(getpass.getuser())
|
s_user(getpass.getuser())
|
||||||
|
@ -733,30 +958,46 @@ def pkg_display(name):
|
||||||
def main():
|
def main():
|
||||||
description = "Utility to help package management in Slackware"
|
description = "Utility to help package management in Slackware"
|
||||||
parser = argparse.ArgumentParser(description=description)
|
parser = argparse.ArgumentParser(description=description)
|
||||||
|
|
||||||
parser.add_argument("-v", "--verbose", help="print version and exit",
|
parser.add_argument("-v", "--verbose", help="print version and exit",
|
||||||
action="store_true")
|
action="store_true")
|
||||||
|
|
||||||
parser.add_argument("-s", help="auto build package",
|
parser.add_argument("-s", help="auto build package",
|
||||||
type=str, nargs="+", metavar=('script','source'))
|
type=str, nargs="+", metavar=('script','source'))
|
||||||
|
|
||||||
parser.add_argument("-l", help="list of installed packages",
|
parser.add_argument("-l", help="list of installed packages",
|
||||||
nargs="+", choices="all sbo".split(), metavar=('all, sbo'))
|
nargs="+", choices="all sbo".split(), metavar=('all, sbo'))
|
||||||
|
|
||||||
parser.add_argument("-t", help="tracking dependencies",
|
parser.add_argument("-t", help="tracking dependencies",
|
||||||
type=str, metavar=(''))
|
type=str, metavar=(''))
|
||||||
|
|
||||||
parser.add_argument("-n", help="find from SBo repositority",
|
parser.add_argument("-n", help="find from SBo repositority",
|
||||||
type=str, metavar=(''))
|
type=str, metavar=(''))
|
||||||
|
|
||||||
parser.add_argument("-c", help="check if your package is up to date",
|
parser.add_argument("-c", help="check if your package is up to date",
|
||||||
type=str, metavar=(''))
|
type=str, metavar=(''))
|
||||||
|
|
||||||
|
parser.add_argument("-b", help="download, build & install pkg from SBo",
|
||||||
|
type=str, metavar=(''))
|
||||||
|
|
||||||
parser.add_argument("-i", help="install binary packages",
|
parser.add_argument("-i", help="install binary packages",
|
||||||
type=str, nargs="+", metavar=(''))
|
type=str, nargs="+", metavar=(''))
|
||||||
|
|
||||||
parser.add_argument("-u", help="install-upgrade packages with new",
|
parser.add_argument("-u", help="install-upgrade packages with new",
|
||||||
type=str, nargs="+", metavar=(''))
|
type=str, nargs="+", metavar=(''))
|
||||||
|
|
||||||
parser.add_argument("-a", help="reinstall the same packages",
|
parser.add_argument("-a", help="reinstall the same packages",
|
||||||
type=str, nargs="+", metavar=(''))
|
type=str, nargs="+", metavar=(''))
|
||||||
|
|
||||||
parser.add_argument("-r", help="remove packages",
|
parser.add_argument("-r", help="remove packages",
|
||||||
type=str, nargs="+", metavar=(''))
|
type=str, nargs="+", metavar=(''))
|
||||||
|
|
||||||
parser.add_argument("-f", help="find if packages installed",
|
parser.add_argument("-f", help="find if packages installed",
|
||||||
type=str, nargs="+", metavar=(''))
|
type=str, nargs="+", metavar=(''))
|
||||||
|
|
||||||
parser.add_argument("-d", help="display the contents of the packages",
|
parser.add_argument("-d", help="display the contents of the packages",
|
||||||
type=str, nargs="+", metavar=(''))
|
type=str, nargs="+", metavar=(''))
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
|
@ -784,6 +1025,10 @@ def main():
|
||||||
sbo_check(args.c)
|
sbo_check(args.c)
|
||||||
|
|
||||||
|
|
||||||
|
if args.b:
|
||||||
|
sbo_build(args.b)
|
||||||
|
|
||||||
|
|
||||||
if args.i:
|
if args.i:
|
||||||
pkg_install(args.i)
|
pkg_install(args.i)
|
||||||
|
|
||||||
|
@ -808,7 +1053,7 @@ def main():
|
||||||
pkg_display(args.d)
|
pkg_display(args.d)
|
||||||
|
|
||||||
|
|
||||||
if not any([args.verbose, args.s, args.t, args.c, args.n, args.i, args.u, args.a,
|
if not any([args.verbose, args.s, args.t, args.c, args.n, args.b, args.i, args.u, args.a,
|
||||||
args.r, args.l, args.f, args.d]):
|
args.r, args.l, args.f, args.d]):
|
||||||
os.system("slpkg -h")
|
os.system("slpkg -h")
|
||||||
|
|
||||||
|
|
35
man/slpkg.8
35
man/slpkg.8
|
@ -16,7 +16,7 @@
|
||||||
slpkg - Utility to help package management in Slackware
|
slpkg - Utility to help package management in Slackware
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fBslpkg\fP \fB-h\fP \fB-v\fP \fB-s script [source ...]\fP \fB-l all, sbo [all, sbo ...]\fP
|
\fBslpkg\fP \fB-h\fP \fB-v\fP \fB-s script [source ...]\fP \fB-l all, sbo [all, sbo ...]\fP
|
||||||
\fB-t\fP \fB-n\fP \fB-c\fP \fB-i [...]\fP \fB-u [...]\fP \fB-a [...]\fP \fB-r [...]\fP \fB-f [...]\fP \fB-d [...]\fP
|
\fB-t\fP \fB-n\fP \fB-c\fP \fB-b\fP \fB-i [...]\fP \fB-u [...]\fP \fB-a [...]\fP \fB-r [...]\fP \fB-f [...]\fP \fB-d [...]\fP
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
\fBslpkg\fP is a terminal tool in order to easy use Slackware packages.
|
\fBslpkg\fP is a terminal tool in order to easy use Slackware packages.
|
||||||
.PP
|
.PP
|
||||||
|
@ -31,6 +31,7 @@ It's a quick and easy way to manage your packages in slackware to a command.
|
||||||
\fB-t tracking dependencies\fP
|
\fB-t tracking dependencies\fP
|
||||||
\fB-n find from SBo repositority\fP
|
\fB-n find from SBo repositority\fP
|
||||||
\fB-c check if your package is up to date\fP
|
\fB-c check if your package is up to date\fP
|
||||||
|
\fB-b download, build & install pkg from SBo\fP
|
||||||
\fB-i [ ...] install binary packages\fP
|
\fB-i [ ...] install binary packages\fP
|
||||||
\fB-u [ ...] install-upgrade packages with new\fP
|
\fB-u [ ...] install-upgrade packages with new\fP
|
||||||
\fB-a [ ...] reinstall the same packages\fP
|
\fB-a [ ...] reinstall the same packages\fP
|
||||||
|
@ -69,6 +70,11 @@ the network. (www.slackbuilds.org)
|
||||||
\fBslpkg\fP \fB-c\fP <\fIname of package\fP>
|
\fBslpkg\fP \fB-c\fP <\fIname of package\fP>
|
||||||
.PP
|
.PP
|
||||||
Check if your packages from www.slackbuilds.org is updated.
|
Check if your packages from www.slackbuilds.org is updated.
|
||||||
|
.SS -b , find, download, build and install package with all dependencies
|
||||||
|
\fBslpkg\fP \fB-b\fP <\fIname of package\fP>
|
||||||
|
.PP
|
||||||
|
Find package from slackbuild.org with all dependencies,
|
||||||
|
download, build and install them.
|
||||||
.SS -i , install binary package
|
.SS -i , install binary package
|
||||||
\fBslpkg\fP \fB-i\fP <\fIpackages.t?z\fP>
|
\fBslpkg\fP \fB-i\fP <\fIpackages.t?z\fP>
|
||||||
.PP
|
.PP
|
||||||
|
@ -112,6 +118,7 @@ For example:
|
||||||
\fBslpkg \-\-help\fP - display help for slpkg
|
\fBslpkg \-\-help\fP - display help for slpkg
|
||||||
.SH EXAMPLES
|
.SH EXAMPLES
|
||||||
|
|
||||||
|
|
||||||
$ \fBslpkg -t brasero\fP
|
$ \fBslpkg -t brasero\fP
|
||||||
|
|
||||||
+=========================
|
+=========================
|
||||||
|
@ -127,6 +134,32 @@ $ \fBslpkg -t brasero\fP
|
||||||
|
|
|
|
||||||
-- 2 libunique gst1-plugins-bad
|
-- 2 libunique gst1-plugins-bad
|
||||||
|
|
||||||
|
$ \fBslpkg -b flexget\fP
|
||||||
|
Searching `brasero` from slackbuilds.org ...
|
||||||
|
Searching `libunique` from slackbuilds.org ...
|
||||||
|
Searching `gst1-plugins-bad` from slackbuilds.org ...
|
||||||
|
Searching `gst1-plugins-base` from slackbuilds.org ...
|
||||||
|
Searching `gstreamer1` from slackbuilds.org ...
|
||||||
|
Searching `orc` from slackbuilds.org ...
|
||||||
|
|
||||||
|
+==============================================================================
|
||||||
|
| Installing new package /tmp/brasero-3.11.3-x86_64-1_SBo.tgz
|
||||||
|
+==============================================================================
|
||||||
|
|
||||||
|
Verifying package brasero-3.11.3-x86_64-1_SBo.tgz.
|
||||||
|
Installing package brasero-3.11.3-x86_64-1_SBo.tgz:
|
||||||
|
PACKAGE DESCRIPTION:
|
||||||
|
# brasero (CD/DVD burning application)
|
||||||
|
#
|
||||||
|
# Brasero is a application to burn CD/DVD for the Gnome Desktop. It is
|
||||||
|
# designed to be as simple as possible and has some unique features to
|
||||||
|
# enable users to create their discs easily and quickly.
|
||||||
|
#
|
||||||
|
# Homepage: http://projects.gnome.org/brasero
|
||||||
|
#
|
||||||
|
Executing install script for brasero-3.11.3-x86_64-1_SBo.tgz.
|
||||||
|
Package brasero-3.11.3-x86_64-1_SBo.tgz installed.
|
||||||
|
|
||||||
|
|
||||||
$ \fBslpkg -c flashplayer-plugin\fP
|
$ \fBslpkg -c flashplayer-plugin\fP
|
||||||
Searching `flashplayer-plugin` from slackbuilds.org ...
|
Searching `flashplayer-plugin` from slackbuilds.org ...
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -7,7 +7,7 @@ from distutils.core import setup
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name = 'slpkg',
|
name = 'slpkg',
|
||||||
version = "1.3.5",
|
version = "1.3.6",
|
||||||
description = "Python tool to manage Slackware packages",
|
description = "Python tool to manage Slackware packages",
|
||||||
keywords = ["slackware", "slpkg", "upgrade", "install", "remove",
|
keywords = ["slackware", "slpkg", "upgrade", "install", "remove",
|
||||||
"view", "slackpkg", "tool"],
|
"view", "slackpkg", "tool"],
|
||||||
|
|
Loading…
Add table
Reference in a new issue