mirror of
https://gitlab.com/dslackw/slpkg.git
synced 2025-01-25 19:58:37 +01:00
Merge branch 'develop'
This commit is contained in:
commit
4f6f26f67e
40 changed files with 171 additions and 356 deletions
|
@ -1,3 +1,12 @@
|
|||
3.8.1 - 13/02/2020
|
||||
Fixed:
|
||||
- Bugfix double install packages from slack regular repo
|
||||
and patches directory #122
|
||||
Updated:
|
||||
- Removed status progress bar
|
||||
- Setup and installing
|
||||
- Managed blacklist in the simple way
|
||||
|
||||
3.8.0 - 05/02/2020
|
||||
Added:
|
||||
- Many changes happen in this version, a big part of code has been rewritten
|
||||
|
|
|
@ -1202,14 +1202,7 @@ Packages in blacklist:
|
|||
live555
|
||||
faac
|
||||
|
||||
Note: you can use asterisk "*" to match more packages like:
|
||||
|
||||
*lib* \\ Add all packages inlcude string "lib"
|
||||
*lib \\ Add all packages ends with string "lib"
|
||||
lib* \\ Add all packages starts with string "lib"
|
||||
|
||||
multi:*multilib* \\ Add all packages include string "multilib" from "multi"
|
||||
\\ repository.
|
||||
```
|
||||
|
||||
Print a package description:
|
||||
|
|
|
@ -11,7 +11,7 @@ distribution like SalixOS, Slackel etc.
|
|||
|
||||
##### Install slpkg
|
||||
|
||||
There are mainly 3 ways:
|
||||
There are mainly 2 ways:
|
||||
|
||||
1. Suggested method, download latest slpkg version from:
|
||||
'`https://gitlab.com/dslackw/slpkg/releases`'
|
||||
|
@ -20,7 +20,4 @@ There are mainly 3 ways:
|
|||
slpkg auto-installed as Slackware package (root privileges are required).
|
||||
|
||||
2. Download binary package from '`https://sourceforge.net/projects/slpkg/files/binary/`'
|
||||
and use Slackware command '`upgradepkg --install-new <slpkg binary>`'
|
||||
|
||||
3. Using pip: '`pip3 install https://gitlab.com/dslackw/slpkg/-/archive/3.8.0/slpkg-3.8.0.tar.gz`'
|
||||
or instead '`'python3 -m pip install`''.
|
||||
and use Slackware command '`upgradepkg --install-new <slpkg binary>`'
|
|
@ -1,4 +1,4 @@
|
|||
# slpkg 3.8.0
|
||||
# slpkg 3.8.1
|
||||
|
||||
Slpkg is a powerful software package manager that installs, updates, and removes packages on
|
||||
[Slackware](http://www.slackware.com/) based systems. It automatically computes dependencies and
|
||||
|
|
|
@ -2,26 +2,6 @@
|
|||
#
|
||||
# blacklist file is part of slpkg.
|
||||
#
|
||||
# Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
|
||||
# All rights reserved.
|
||||
#
|
||||
# Slpkg is a user-friendly package manager for Slackware installations.
|
||||
#
|
||||
# https://gitlab.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/>.
|
||||
#
|
||||
# END OF LEGAL NOTICE
|
||||
#
|
||||
# ----------------------------------------------------------------------------
|
||||
# This is the blacklist file. Each package listed here may not be
|
||||
# installed be upgraded be find or deleted.
|
||||
|
@ -30,15 +10,6 @@
|
|||
# To blacklist the package 'wicd-1.7.2.4-x86_64-4.txz' the line will be:
|
||||
# wicd
|
||||
#
|
||||
# This one will blacklist all packages include string "lib" in package name:
|
||||
# *lib*
|
||||
#
|
||||
# Add packages in blacklist by repository:
|
||||
# slacky:* `add all packages from the slacky repository`
|
||||
# sbo:py* `add all packages from the sbo starts with 'py'`
|
||||
# sbo:jdk `add jdk package from the sbo repository`
|
||||
# slack:*multi* `add packages include string 'multi' from the slack`
|
||||
# msb:*.txz `add packages ends with '.txz' from the msb repository`
|
||||
#
|
||||
# Sometimes the automatic kernel update creates problems because you
|
||||
# may need to file intervention 'lilo'. The slpkg automatically detects
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#
|
||||
# slpkg.conf file is part of slpkg.
|
||||
#
|
||||
# Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
|
||||
# Copyright 2014-2020 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
|
||||
# All rights reserved.
|
||||
#
|
||||
# Slpkg is a user-friendly package manager for Slackware installations.
|
||||
|
@ -115,15 +115,11 @@ SLACKPKG_LOG=on
|
|||
# packages required for distribution.
|
||||
ONLY_INSTALLED=off
|
||||
|
||||
# Enable or disable the progress bar. Status bar progress delays the search
|
||||
# process in package lists. Default is "off".
|
||||
PRG_BAR=off
|
||||
|
||||
# Register a text editor that uses the slpkg in a few options.
|
||||
# Register a text editor that uses the slpkg in a few options.
|
||||
# Default is "nano".
|
||||
EDITOR=nano
|
||||
|
||||
# If you don't want slpkg downgrade packages, setting this variable to "on".
|
||||
# Warning: Possible failure building packages or running applications after
|
||||
# install. Default is "off".
|
||||
NOT_DOWNGRADE=off
|
||||
NOT_DOWNGRADE=off
|
42
setup.py
42
setup.py
|
@ -23,10 +23,7 @@
|
|||
|
||||
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
import shutil
|
||||
from slpkg.md5sum import md5
|
||||
from slpkg.__metadata__ import MetaData as _meta_
|
||||
|
||||
try:
|
||||
|
@ -52,12 +49,11 @@ optional_requires = [
|
|||
|
||||
def print_logo():
|
||||
"""print slpkg logo"""
|
||||
if "install" not in sys.argv:
|
||||
logo_fname = os.path.join(os.path.dirname(__file__), 'logo.txt')
|
||||
with open(logo_fname, 'rb') as f:
|
||||
logo = f.read().decode('utf-8')
|
||||
print(logo)
|
||||
time.sleep(1)
|
||||
logo_fname = os.path.join(os.path.dirname(__file__), 'logo.txt')
|
||||
with open(logo_fname, 'rb') as f:
|
||||
logo = f.read().decode('utf-8')
|
||||
print(logo)
|
||||
time.sleep(0.5)
|
||||
|
||||
|
||||
print_logo()
|
||||
|
@ -103,30 +99,4 @@ setup(
|
|||
"Topic :: System :: Software Distribution",
|
||||
"Topic :: Utilities"],
|
||||
python_requires=">=3.7"
|
||||
)
|
||||
|
||||
# Install configuration files with pip.
|
||||
if "install" in sys.argv:
|
||||
conf_file = [
|
||||
"conf/slpkg.conf",
|
||||
"conf/repositories.conf",
|
||||
"conf/blacklist",
|
||||
"conf/slackware-mirrors",
|
||||
"conf/default-repositories",
|
||||
"conf/custom-repositories",
|
||||
"conf/rlworkman.deps",
|
||||
"conf/pkg_security"
|
||||
]
|
||||
if not os.path.exists(_meta_.conf_path):
|
||||
os.makedirs(_meta_.conf_path)
|
||||
for conf in conf_file:
|
||||
filename = conf.split("/")[-1]
|
||||
if os.path.isfile(_meta_.conf_path + filename):
|
||||
old = md5(_meta_.conf_path + filename)
|
||||
new = md5(conf)
|
||||
if old != new:
|
||||
shutil.copy2(conf, _meta_.conf_path + filename + ".new")
|
||||
else:
|
||||
shutil.copy2(conf, _meta_.conf_path)
|
||||
shutil.copy2(conf_file[0],
|
||||
_meta_.conf_path + conf_file[0].split("/")[-1] + ".orig")
|
||||
)
|
|
@ -16,4 +16,4 @@ done
|
|||
|
||||
if [ -x /usr/bin/update-desktop-database ]; then
|
||||
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
|
@ -77,18 +77,15 @@ find -L . \
|
|||
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
|
||||
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
|
||||
|
||||
# skip pip installs
|
||||
sed -i 's/if "install"/if ""/' setup.py
|
||||
|
||||
python3 setup.py install --root=$PKG
|
||||
|
||||
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
|
||||
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
|
||||
|
||||
# install configuration files
|
||||
mkdir -p $PKG/etc/slpkg
|
||||
# install configurations files
|
||||
CONFIGS="slpkg.conf repositories.conf blacklist slackware-mirrors default-repositories \
|
||||
custom-repositories rlworkman.deps pkg_security"
|
||||
CONFIGS="slpkg.conf repositories.conf blacklist slackware-mirrors \
|
||||
default-repositories custom-repositories rlworkman.deps pkg_security"
|
||||
for file in $CONFIGS; do
|
||||
install -D -m0644 conf/$file $PKG/etc/slpkg/${file}.new
|
||||
done
|
||||
|
@ -111,4 +108,4 @@ cat $CWD/doinst.sh > $PKG/install/doinst.sh
|
|||
cd $PKG
|
||||
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz}
|
||||
|
||||
$INSTALL $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.txz
|
||||
$INSTALL $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.txz
|
|
@ -76,7 +76,7 @@ class MetaData:
|
|||
|
||||
__all__ = "slpkg"
|
||||
__author__ = "dslackw"
|
||||
__version_info__ = (3, 8, 0)
|
||||
__version_info__ = (3, 8, 1)
|
||||
__version__ = "{0}.{1}.{2}".format(*__version_info__)
|
||||
__license__ = "GNU General Public License v3 (GPLv3)"
|
||||
__email__ = "d.zlatanidis@gmail.com"
|
||||
|
|
|
@ -30,7 +30,7 @@ from slpkg.slack.slack_version import slack_ver
|
|||
|
||||
def header():
|
||||
"""help header message"""
|
||||
print(f"\nslpkg - version {_meta_.__version__} | Slackware release: {_meta_.slack_rel} - {slack_ver()}\n")
|
||||
print(f"slpkg - version {_meta_.__version__} | Slackware release: {_meta_.slack_rel} - {slack_ver()}\n")
|
||||
|
||||
|
||||
def options():
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
from pkg_resources import parse_version
|
||||
|
||||
from slpkg.messages import Msg
|
||||
from slpkg.toolbar import status
|
||||
from slpkg.splitting import split_package
|
||||
from slpkg.upgrade_checklist import choose_upg
|
||||
from slpkg.__metadata__ import MetaData as _meta_
|
||||
|
@ -48,7 +47,6 @@ def pkg_upgrade(repo, skip, flag):
|
|||
# unsize = data[3]
|
||||
data = repo_data(PACKAGES_TXT, repo, flag="")
|
||||
for pkg in installed():
|
||||
status(0.0005)
|
||||
inst_pkg = split_package(pkg)
|
||||
for name in data[0]:
|
||||
if name: # this tips because some pkg_name is empty
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
|
||||
import sys
|
||||
|
||||
from slpkg.toolbar import status
|
||||
from slpkg.__metadata__ import MetaData as _meta_
|
||||
|
||||
from slpkg.binary.greps import Requires
|
||||
|
@ -48,13 +47,16 @@ class Dependencies:
|
|||
requires = Requires(name, self.repo).get_deps()
|
||||
if requires:
|
||||
for req in requires:
|
||||
status(0)
|
||||
if req and req not in self.black:
|
||||
dependencies.append(req)
|
||||
if dependencies:
|
||||
self.dep_results.append(dependencies)
|
||||
for dep in dependencies:
|
||||
self.binary(dep, flag)
|
||||
self.deep_check(dependencies, flag)
|
||||
return self.dep_results
|
||||
else:
|
||||
return []
|
||||
|
||||
def deep_check(self, dependencies, flag):
|
||||
"""Checking if dependencies are finnished
|
||||
"""
|
||||
if dependencies:
|
||||
self.dep_results.append(dependencies)
|
||||
[self.binary(dep, flag) for dep in dependencies]
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
|
||||
from slpkg.utils import Utils
|
||||
from slpkg.toolbar import status
|
||||
from slpkg.splitting import split_package
|
||||
from slpkg.__metadata__ import MetaData as _meta_
|
||||
|
||||
|
@ -36,8 +35,6 @@ def repo_data(PACKAGES_TXT, repo, flag):
|
|||
(name, location, size, unsize,
|
||||
rname, rlocation, rsize, runsize) = ([] for i in range(8))
|
||||
for line in PACKAGES_TXT.splitlines():
|
||||
if _meta_.rsl_deps in ["on", "ON"] and "--resolve-off" not in flag:
|
||||
status(0.000005)
|
||||
if line.startswith("PACKAGE NAME:"):
|
||||
name.append(line[15:].strip())
|
||||
if line.startswith("PACKAGE LOCATION:"):
|
||||
|
@ -46,7 +43,14 @@ def repo_data(PACKAGES_TXT, repo, flag):
|
|||
size.append(line[28:-2].strip())
|
||||
if line.startswith("PACKAGE SIZE (uncompressed):"):
|
||||
unsize.append(line[30:-2].strip())
|
||||
if repo == "rlw":
|
||||
|
||||
if repo == "slack":
|
||||
(rname,
|
||||
rlocation,
|
||||
rsize,
|
||||
runsize
|
||||
) = slack_filter(name, location, size, unsize, flag)
|
||||
elif repo == "rlw":
|
||||
(rname,
|
||||
rlocation,
|
||||
rsize,
|
||||
|
@ -75,6 +79,30 @@ def repo_data(PACKAGES_TXT, repo, flag):
|
|||
return [rname, rlocation, rsize, runsize]
|
||||
|
||||
|
||||
def slack_filter(name, location, size, unsize, flag):
|
||||
"""Slackware filter seperate packages from patches/ directory
|
||||
"""
|
||||
(fname, flocation, fsize, funsize) = ([] for i in range(4))
|
||||
|
||||
if "--patches" not in flag:
|
||||
for n, l, s, u in zip(name, location, size, unsize):
|
||||
if f"_slack{slack_ver()}" not in n:
|
||||
fname.append(n)
|
||||
flocation.append(l)
|
||||
fsize.append(s)
|
||||
funsize.append(u)
|
||||
|
||||
if "--patches" in flag:
|
||||
for n, l, s, u in zip(name, location, size, unsize):
|
||||
if f"_slack{slack_ver()}" in n:
|
||||
fname.append(n)
|
||||
flocation.append(l)
|
||||
fsize.append(s)
|
||||
funsize.append(u)
|
||||
|
||||
return [fname, flocation, fsize, funsize]
|
||||
|
||||
|
||||
def rlw_filter(name, location, size, unsize):
|
||||
"""Filter rlw repository data
|
||||
"""
|
||||
|
|
|
@ -28,7 +28,6 @@ from pkg_resources import parse_version
|
|||
from slpkg.utils import Utils
|
||||
from slpkg.sizes import units
|
||||
from slpkg.messages import Msg
|
||||
from slpkg.toolbar import status
|
||||
from slpkg.checksum import check_md5
|
||||
from slpkg.blacklist import BlackList
|
||||
from slpkg.downloader import Download
|
||||
|
@ -47,8 +46,6 @@ from slpkg.binary.greps import repo_data
|
|||
from slpkg.binary.repo_init import RepoInit
|
||||
from slpkg.binary.dependency import Dependencies
|
||||
|
||||
from slpkg.slack.slack_version import slack_ver
|
||||
|
||||
|
||||
class BinaryInstall:
|
||||
"""Install binaries packages with all dependencies from
|
||||
|
@ -82,7 +79,7 @@ class BinaryInstall:
|
|||
self.repo_pkg_names = []
|
||||
for name in self.data[0]:
|
||||
self.repo_pkg_names.append(split_package(name)[0])
|
||||
self.blacklist = BlackList().packages(self.data[0], self.repo)
|
||||
self.blacklist = BlackList().get_black()
|
||||
self.matching = False
|
||||
|
||||
def init_flags(self):
|
||||
|
@ -266,7 +263,6 @@ class BinaryInstall:
|
|||
self.flag != "--resolve-off"):
|
||||
self.msg.resolving()
|
||||
for dep in self.packages:
|
||||
status(0.05)
|
||||
dependencies = []
|
||||
dependencies = Utils().dimensional_list(Dependencies(
|
||||
self.repo, self.blacklist).binary(dep, self.flag))
|
||||
|
@ -290,7 +286,8 @@ class BinaryInstall:
|
|||
for pkg, comp in zip(install, comp_sum):
|
||||
pkg_repo = split_package(pkg[:-4])
|
||||
if find_package(pkg[:-4], self.meta.pkg_path):
|
||||
pkg_sum += 1
|
||||
if "--reinstall" in self.flag:
|
||||
pkg_sum += 1
|
||||
COLOR = self.meta.color["GREEN"]
|
||||
elif pkg_repo[0] == GetFromInstalled(pkg_repo[0]).name():
|
||||
COLOR = self.meta.color["YELLOW"]
|
||||
|
@ -331,6 +328,7 @@ class BinaryInstall:
|
|||
install.append(pk)
|
||||
comp_sum.append(comp)
|
||||
uncomp_sum.append(uncomp)
|
||||
|
||||
if not install:
|
||||
for pkg in packages:
|
||||
for pk, loc, comp, uncomp in zip(self.data[0], self.data[1],
|
||||
|
@ -346,26 +344,5 @@ class BinaryInstall:
|
|||
install.reverse()
|
||||
comp_sum.reverse()
|
||||
uncomp_sum.reverse()
|
||||
if self.repo == "slack":
|
||||
dwn, install, comp_sum, uncomp_sum = self.patches(dwn, install,
|
||||
comp_sum,
|
||||
uncomp_sum)
|
||||
return [dwn, install, comp_sum, uncomp_sum]
|
||||
|
||||
def patches(self, dwn, install, comp_sum, uncomp_sum):
|
||||
"""Seperates packages from patches/ directory
|
||||
"""
|
||||
dwnp, installp, comp_sump, uncomp_sump = ([] for i in range(4))
|
||||
for d, i, c, u in zip(dwn, install, comp_sum, uncomp_sum):
|
||||
if "_slack" + slack_ver() in i:
|
||||
dwnp.append(d)
|
||||
dwn.remove(d)
|
||||
installp.append(i)
|
||||
install.remove(i)
|
||||
comp_sump.append(c)
|
||||
comp_sum.remove(c)
|
||||
uncomp_sump.append(u)
|
||||
uncomp_sum.remove(u)
|
||||
if "--patches" in self.flag:
|
||||
return dwnp, installp, comp_sump, uncomp_sump
|
||||
return dwn, install, comp_sum, uncomp_sum
|
||||
return [dwn, install, comp_sum, uncomp_sum]
|
||||
|
|
|
@ -41,9 +41,9 @@ class RepoInit:
|
|||
|
||||
def fetch(self):
|
||||
if self.repo in self.meta.default_repositories:
|
||||
exec(f"self._init_{self.repo}()")
|
||||
getattr(self, f"_init_{self.repo}")()
|
||||
else:
|
||||
exec("self._init_custom()")
|
||||
self._init_custom()
|
||||
self.lib = self.meta.lib_path + f"{self.repo}_repo/PACKAGES.TXT"
|
||||
PACKAGES_TXT = Utils().read_file(self.lib)
|
||||
return PACKAGES_TXT, self.mirror
|
||||
|
|
|
@ -33,6 +33,6 @@ def search_pkg(name, repo):
|
|||
"""
|
||||
PACKAGES_TXT = Utils().read_file(_meta_.lib_path + f"{repo}_repo/PACKAGES.TXT")
|
||||
names = list(Utils().package_name(PACKAGES_TXT))
|
||||
blacklist = BlackList().packages(pkgs=names, repo=repo)
|
||||
blacklist = BlackList().get_black()
|
||||
if name in names and name not in blacklist:
|
||||
return name
|
|
@ -25,7 +25,6 @@
|
|||
import os
|
||||
|
||||
from slpkg.utils import Utils
|
||||
from slpkg.splitting import split_package
|
||||
from slpkg.__metadata__ import MetaData as _meta_
|
||||
|
||||
|
||||
|
@ -33,7 +32,6 @@ class BlackList:
|
|||
"""Blacklist class to add, remove or listed packages
|
||||
in blacklist file."""
|
||||
def __init__(self):
|
||||
self.quit = False
|
||||
self.green = _meta_.color["GREEN"]
|
||||
self.red = _meta_.color["RED"]
|
||||
self.endc = _meta_.color["ENDC"]
|
||||
|
@ -55,89 +53,30 @@ class BlackList:
|
|||
def listed(self):
|
||||
"""Print blacklist packages
|
||||
"""
|
||||
print("\nPackages in the blacklist:\n")
|
||||
print("Packages in the blacklist:\n")
|
||||
for black in self.get_black():
|
||||
if black:
|
||||
print(f"{self.green}{black}{self.endc}")
|
||||
self.quit = True
|
||||
if self.quit:
|
||||
print() # new line at exit
|
||||
|
||||
def add(self, pkgs):
|
||||
"""Add blacklist packages if not exist
|
||||
"""
|
||||
blacklist = self.get_black()
|
||||
pkgs = set(pkgs)
|
||||
print("\nAdd packages in the blacklist:\n")
|
||||
print("Add packages in the blacklist:\n")
|
||||
with open(self.blackfile, "a") as black_conf:
|
||||
for pkg in pkgs:
|
||||
if pkg not in blacklist:
|
||||
print(f"{self.green}{pkg}{self.endc}")
|
||||
black_conf.write(pkg + "\n")
|
||||
self.quit = True
|
||||
if self.quit:
|
||||
print() # new line at exit
|
||||
|
||||
def remove(self, pkgs):
|
||||
"""Remove packages from blacklist
|
||||
"""
|
||||
print("\nRemove packages from the blacklist:\n")
|
||||
print("Remove packages from the blacklist:\n")
|
||||
with open(self.blackfile, "w") as remove:
|
||||
for line in self.black_conf.splitlines():
|
||||
if line not in pkgs:
|
||||
remove.write(line + "\n")
|
||||
else:
|
||||
print(f"{self.red}{line}{self.endc}")
|
||||
self.quit = True
|
||||
if self.quit:
|
||||
print() # new line at exit
|
||||
|
||||
def packages(self, pkgs, repo):
|
||||
"""Return packages in blacklist or by repository
|
||||
"""
|
||||
self.black = []
|
||||
for bl in self.get_black():
|
||||
pr = bl.split(":")
|
||||
for pkg in pkgs:
|
||||
self.__priority(pr, repo, pkg)
|
||||
self.__blackpkg(bl, repo, pkg)
|
||||
return self.black
|
||||
|
||||
def __add(self, repo, pkg):
|
||||
"""Split packages by repository
|
||||
"""
|
||||
if repo == "sbo":
|
||||
return pkg
|
||||
else:
|
||||
return split_package(pkg)[0]
|
||||
|
||||
def __priority(self, pr, repo, pkg):
|
||||
"""Add packages in blacklist by priority
|
||||
"""
|
||||
if (pr[0] == repo and pr[1].startswith("*") and
|
||||
pr[1].endswith("*")):
|
||||
if pr[1][1:-1] in pkg:
|
||||
self.black.append(self.__add(repo, pkg))
|
||||
elif pr[0] == repo and pr[1].endswith("*"):
|
||||
if pkg.startswith(pr[1][:-1]):
|
||||
self.black.append(self.__add(repo, pkg))
|
||||
elif pr[0] == repo and pr[1].startswith("*"):
|
||||
if pkg.endswith(pr[1][1:]):
|
||||
self.black.append(self.__add(repo, pkg))
|
||||
elif pr[0] == repo and "*" not in pr[1]:
|
||||
self.black.append(self.__add(repo, pkg))
|
||||
|
||||
def __blackpkg(self, bl, repo, pkg):
|
||||
"""Add packages in blacklist
|
||||
"""
|
||||
if bl.startswith("*") and bl.endswith("*"):
|
||||
if bl[1:-1] in pkg:
|
||||
self.black.append(self.__add(repo, pkg))
|
||||
elif bl.endswith("*"):
|
||||
if pkg.startswith(bl[:-1]):
|
||||
self.black.append(self.__add(repo, pkg))
|
||||
elif bl.startswith("*"):
|
||||
if pkg.endswith(bl[1:]):
|
||||
self.black.append(self.__add(repo, pkg))
|
||||
if bl not in self.black and "*" not in bl:
|
||||
self.black.append(bl)
|
||||
print(f"{self.red}{line}{self.endc}")
|
|
@ -66,7 +66,6 @@ class Updates:
|
|||
def status_bar(self):
|
||||
"""Top view bar status
|
||||
"""
|
||||
print()
|
||||
self.msg.template(78)
|
||||
print("| Repository Status")
|
||||
self.msg.template(78)
|
||||
|
|
|
@ -44,7 +44,6 @@ class Config:
|
|||
def view(self):
|
||||
"""View slpkg config file
|
||||
"""
|
||||
print() # new line at start
|
||||
conf_args = [
|
||||
"RELEASE",
|
||||
"SLACKWARE_VERSION",
|
||||
|
|
|
@ -53,7 +53,6 @@ class PkgDesc:
|
|||
def view(self):
|
||||
"""Print package description by repository
|
||||
"""
|
||||
print() # new line at start
|
||||
description, count = "", 0
|
||||
if self.repo == "sbo":
|
||||
description = SBoGrep(self.name).description()
|
||||
|
@ -68,7 +67,4 @@ class PkgDesc:
|
|||
if description:
|
||||
print(f"{self.color}{description}{self.meta.color['ENDC']}")
|
||||
else:
|
||||
self.msg.pkg_not_found("", self.name, "No matching", "\n")
|
||||
raise SystemExit(1)
|
||||
if description and self.repo == "sbo":
|
||||
print()
|
||||
self.msg.pkg_not_found("", self.name, "No matching", "")
|
|
@ -114,7 +114,7 @@ class Initialization:
|
|||
os.mkdir(log)
|
||||
if not os.path.exists(lib):
|
||||
os.mkdir(lib)
|
||||
dirs = ["core/", "extra/", "pasture/", "patches/"]
|
||||
dirs = ["core/", "extra/", "patches/"]
|
||||
for d in dirs:
|
||||
if not os.path.exists(lib + d):
|
||||
os.mkdir(lib + d)
|
||||
|
@ -123,10 +123,8 @@ class Initialization:
|
|||
CHECKSUMS_MD5 = mirrors(md5_file, "")
|
||||
self.EXTRA = mirrors(lib_file, dirs[1])
|
||||
self.EXT_CHECKSUMS = mirrors(md5_file, dirs[1])
|
||||
self.PASTURE = mirrors(lib_file, dirs[2])
|
||||
self.PAS_CHECKSUMS = mirrors(md5_file, dirs[2])
|
||||
self.PATCHES = mirrors(lib_file, dirs[3])
|
||||
self.PAT_CHECKSUMS = mirrors(md5_file, dirs[3])
|
||||
self.PATCHES = mirrors(lib_file, dirs[2])
|
||||
self.PAT_CHECKSUMS = mirrors(md5_file, dirs[2])
|
||||
ChangeLog_txt = mirrors(log_file, "")
|
||||
if self.check:
|
||||
return self.checks_logs(log, ChangeLog_txt)
|
||||
|
@ -134,21 +132,16 @@ class Initialization:
|
|||
self.down(lib + dirs[0], CHECKSUMS_MD5, repo_name)
|
||||
self.down(lib + dirs[1], self.EXTRA, repo_name)
|
||||
self.down(lib + dirs[1], self.EXT_CHECKSUMS, repo_name)
|
||||
if slack_ver() != "14.0": # no pasture/ folder for 14.0 version
|
||||
self.down(lib + dirs[2], self.PASTURE, repo_name)
|
||||
self.down(lib + dirs[2], self.PAS_CHECKSUMS, repo_name)
|
||||
self.down(lib + dirs[3], self.PATCHES, repo_name)
|
||||
self.down(lib + dirs[3], self.PAT_CHECKSUMS, repo_name)
|
||||
self.down(lib + dirs[2], self.PATCHES, repo_name)
|
||||
self.down(lib + dirs[2], self.PAT_CHECKSUMS, repo_name)
|
||||
self.down(log, ChangeLog_txt, repo_name)
|
||||
self.remote(log, ChangeLog_txt, lib, PACKAGES_TXT, CHECKSUMS_MD5,
|
||||
FILELIST_TXT, repo_name)
|
||||
self.merge(lib, "PACKAGES.TXT", ["core/PACKAGES.TXT",
|
||||
"extra/PACKAGES.TXT",
|
||||
"pasture/PACKAGES.TXT",
|
||||
"patches/PACKAGES.TXT"])
|
||||
self.merge(lib, "CHECKSUMS.md5", ["core/CHECKSUMS.md5",
|
||||
"extra/CHECKSUMS.md5",
|
||||
"pasture/CHECKSUMS.md5",
|
||||
"patches/CHECKSUMS_md5"])
|
||||
|
||||
def sbo(self):
|
||||
|
@ -669,7 +662,7 @@ class Initialization:
|
|||
self.file_remove(lib_path, CHECKSUMS_MD5.split("/")[-1])
|
||||
self.file_remove(lib_path, FILELIST_TXT.split("/")[-1])
|
||||
if repo == "slack":
|
||||
dirs = ["core/", "extra/", "pasture/"]
|
||||
dirs = ["core/", "extra/"]
|
||||
for d in dirs:
|
||||
self.file_remove(lib_path + d, "PACKAGES.TXT")
|
||||
self.file_remove(lib_path + d, "CHECKSUMS.md5")
|
||||
|
@ -677,9 +670,6 @@ class Initialization:
|
|||
self.down(lib_path + "core/", CHECKSUMS_MD5, repo)
|
||||
self.down(lib_path + "extra/", self.EXTRA, repo)
|
||||
self.down(lib_path + "extra/", self.EXT_CHECKSUMS, repo)
|
||||
if slack_ver() != "14.0": # no pasture/ folder for 14.0 version
|
||||
self.down(lib_path + "pasture/", self.PASTURE, repo)
|
||||
self.down(lib_path + "pasture/", self.PAS_CHECKSUMS, repo)
|
||||
# download new files
|
||||
if repo != "slack":
|
||||
self.down(lib_path, PACKAGES_TXT, repo)
|
||||
|
|
|
@ -62,7 +62,7 @@ class NewConfig:
|
|||
"""Find all '.new' files from /etc/ folder
|
||||
and subfolders
|
||||
"""
|
||||
print("\nSearch for .new configuration files:\n")
|
||||
print("Search for .new configuration files:\n")
|
||||
for path, dirs, files in os.walk(self.etc):
|
||||
del dirs # delete unsed
|
||||
for f in files:
|
||||
|
|
|
@ -32,7 +32,7 @@ def searching(find_pkg, directory):
|
|||
"""
|
||||
if os.path.isdir(directory):
|
||||
installed = os.listdir(directory)
|
||||
blacklist = BlackList().packages(pkgs=installed, repo="local")
|
||||
blacklist = BlackList().get_black()
|
||||
if os.path.exists(directory):
|
||||
for pkg in installed:
|
||||
if (not pkg.startswith(".") and pkg.startswith(find_pkg) and
|
||||
|
|
|
@ -199,7 +199,7 @@ class PackageManager:
|
|||
def _view_removed(self):
|
||||
"""View packages before removed
|
||||
"""
|
||||
print("\nPackages with name matching [ {0}{1}{2} ]\n".format(
|
||||
print("Packages with name matching [ {0}{1}{2} ]\n".format(
|
||||
self.cyan, ", ".join(self.binary), self.endc))
|
||||
removed, packages = self._get_removed()
|
||||
if packages and "--checklist" in self.extra:
|
||||
|
@ -220,10 +220,9 @@ class PackageManager:
|
|||
self._calc_sizes()
|
||||
self._remove_summary()
|
||||
if "--third-party" in self.extra:
|
||||
print("\n")
|
||||
print()
|
||||
self.msg.template(78)
|
||||
print(("| {0}{1}*** WARNING ***{2}").format(
|
||||
" " * 27, self.red, self.endc))
|
||||
print(f"| {' ' * 27}{self.red}*** WARNING ***{self.endc}")
|
||||
print("| Before you use third-party option, be sure you have"
|
||||
" updated the packages \n| lists. Run the command"
|
||||
" 'slpkg update' and 'slpkg -c slack --upgrade'")
|
||||
|
@ -395,7 +394,7 @@ class PackageManager:
|
|||
matching, packages = 0, []
|
||||
pkg_cache, match_cache = "", ""
|
||||
slack_packages, slack_names = slackware_repository()
|
||||
print("\nPackages with matching name [ {0}{1}{2} ]\n".format(
|
||||
print("Packages with matching name [ {0}{1}{2} ]\n".format(
|
||||
self.cyan, ", ".join(self.binary), self.endc))
|
||||
for pkg in self.binary:
|
||||
for match in find_package("", self.meta.pkg_path):
|
||||
|
@ -454,7 +453,8 @@ class PackageManager:
|
|||
for pkg in self.binary:
|
||||
name = GetFromInstalled(pkg).name()
|
||||
ver = GetFromInstalled(pkg).version()
|
||||
find = find_package(f"{name}{ver}{self.meta.sp}", self.meta.pkg_path)
|
||||
find = find_package(f"{name}{ver}{self.meta.sp}",
|
||||
self.meta.pkg_path)
|
||||
if find:
|
||||
package = Utils().read_file(
|
||||
self.meta.pkg_path + "".join(find))
|
||||
|
@ -536,8 +536,8 @@ class PackageManager:
|
|||
packages = ""
|
||||
if repo == "sbo":
|
||||
if (os.path.isfile(
|
||||
self.meta.lib_path + f"{repo}_repo/SLACKBUILDS.TXT")):
|
||||
packages = Utils().read_file(self.meta.lib_path + f"{repo}_repo/SLACKBUILDS.TXT")
|
||||
self.meta.lib_path + "sbo_repo/SLACKBUILDS.TXT")):
|
||||
packages = Utils().read_file(self.meta.lib_path + "sbo_repo/SLACKBUILDS.TXT")
|
||||
else:
|
||||
if (os.path.isfile(
|
||||
self.meta.lib_path + f"{repo}_repo/PACKAGES.TXT")):
|
||||
|
|
|
@ -38,6 +38,7 @@ class FindFromRepos:
|
|||
self.count_pkg = 0
|
||||
self.count_repo = 0
|
||||
self.meta = _meta_
|
||||
self.msg = Msg()
|
||||
self.cyan = self.meta.color["CYAN"]
|
||||
self.grey = self.meta.color["GREY"]
|
||||
self.endc = self.meta.color["ENDC"]
|
||||
|
@ -45,10 +46,10 @@ class FindFromRepos:
|
|||
def find(self, pkg, flag):
|
||||
"""Start to find packages and print
|
||||
"""
|
||||
print(f"\nPackages with name matching [ {self.cyan}{', '.join(pkg)}{self.endc} ]\n")
|
||||
Msg().template(78)
|
||||
print(f"Packages with name matching [ {self.cyan}{', '.join(pkg)}{self.endc} ]\n")
|
||||
self.msg.template(78)
|
||||
print(f"| Repository Package {' ' * 54}Size")
|
||||
Msg().template(78)
|
||||
self.msg.template(78)
|
||||
for repo in _meta_.repositories:
|
||||
PACKAGES_TXT = PackageManager(pkg).list_lib(repo)
|
||||
packages, sizes = PackageManager(pkg).list_greps(repo,
|
||||
|
|
|
@ -61,11 +61,14 @@ class RepoInfo:
|
|||
status = f"{self.red}disabled{self.endc}"
|
||||
self.form["Status:"] = status
|
||||
self.form["Default:"] = "no"
|
||||
|
||||
if repo in self.meta.default_repositories:
|
||||
self.form["Default:"] = "yes"
|
||||
|
||||
if (repo in self.meta.repositories and
|
||||
os.path.isfile(self.meta.lib_path + f"{repo}_repo/PACKAGES.TXT")):
|
||||
os.path.isfile(self.meta.lib_path + f"{repo}_repo/PACKAGES.TXT")):
|
||||
status = f"{self.green}enabled{self.endc}"
|
||||
|
||||
if repo != "sbo":
|
||||
data = self.repository_data(repo)
|
||||
size = units(data[1], data[2])
|
||||
|
@ -79,18 +82,20 @@ class RepoInfo:
|
|||
self.form["Status:"] = status
|
||||
self.form["Last updated:"] = data[3]
|
||||
elif (repo == "sbo" and os.path.isfile(
|
||||
self.meta.lib_path + "{0}_repo/SLACKBUILDS.TXT".format(repo))):
|
||||
status = "{0}enabled{1}".format(self.meta.color["GREEN"],
|
||||
self.meta.color["ENDC"])
|
||||
self.meta.lib_path + f"{repo}_repo/SLACKBUILDS.TXT")):
|
||||
status = f"{self.green}enabled{self.endc}"
|
||||
sum_sbo_pkgs = 0
|
||||
|
||||
for line in (Utils().read_file(
|
||||
self.meta.lib_path + "sbo_repo/SLACKBUILDS."
|
||||
"TXT").splitlines()):
|
||||
if line.startswith("SLACKBUILD NAME: "):
|
||||
sum_sbo_pkgs += 1
|
||||
|
||||
changelog_txt = Utils().read_file(
|
||||
self.meta.log_path + "sbo/ChangeLog.txt")
|
||||
last_upd = changelog_txt.split("\n", 1)[0]
|
||||
|
||||
self.form["Repo id:"] = repo
|
||||
self.form["Repo url:"] = self.all_repos[repo]
|
||||
self.form["Total compressed packages:"] = ""
|
||||
|
@ -98,19 +103,17 @@ class RepoInfo:
|
|||
self.form["Number of packages:"] = sum_sbo_pkgs
|
||||
self.form["Status:"] = status
|
||||
self.form["Last updated:"] = last_upd
|
||||
print()
|
||||
|
||||
for key, value in sorted(self.form.items()):
|
||||
print(self.meta.color["GREY"] + key + self.meta.color["ENDC"],
|
||||
value)
|
||||
print()
|
||||
raise SystemExit()
|
||||
print(f"{self.green}{key}{self.endc} {value}")
|
||||
|
||||
def repository_data(self, repo):
|
||||
"""
|
||||
Grap data packages
|
||||
"""
|
||||
sum_pkgs, size, unsize, last_upd = 0, [], [], ""
|
||||
f = self.meta.lib_path + repo + "_repo/PACKAGES.TXT"
|
||||
f = f"{self.meta.lib_path}{repo}_repo/PACKAGES.TXT"
|
||||
|
||||
for line in Utils().read_file(f).splitlines():
|
||||
if line.startswith("PACKAGES.TXT;"):
|
||||
last_upd = line[14:].strip()
|
||||
|
@ -120,8 +123,10 @@ class RepoInfo:
|
|||
size.append(line[28:-2].strip())
|
||||
if line.startswith("PACKAGE SIZE (uncompressed): "):
|
||||
unsize.append(line[30:-2].strip())
|
||||
|
||||
if repo in ["salix", "slackl"]:
|
||||
log = Utils().read_file(
|
||||
self.meta.log_path + "{0}/ChangeLog.txt".format(repo))
|
||||
self.meta.log_path + f"{repo}/ChangeLog.txt")
|
||||
last_upd = log.split("\n", 1)[0]
|
||||
return [sum_pkgs, size, unsize, last_upd]
|
||||
|
||||
return [sum_pkgs, size, unsize, last_upd]
|
|
@ -32,6 +32,10 @@ class RepoList:
|
|||
"""
|
||||
def __init__(self):
|
||||
self.meta = _meta_
|
||||
self.green = self.meta.color["GREEN"]
|
||||
self.red = self.meta.color["RED"]
|
||||
self.grey = self.meta.color["GREY"]
|
||||
self.endc = self.meta.color["ENDC"]
|
||||
self.msg = Msg()
|
||||
self.all_repos = Repo().default_repository()
|
||||
self.all_repos["slack"] = Repo().slack()
|
||||
|
@ -41,7 +45,6 @@ class RepoList:
|
|||
"""View or enabled or disabled repositories
|
||||
"""
|
||||
def_cnt, cus_cnt = 0, 0
|
||||
print()
|
||||
self.msg.template(78)
|
||||
print("{0}{1}{2}{3}{4}{5}{6}".format(
|
||||
"| Repo id", " " * 2,
|
||||
|
@ -50,13 +53,13 @@ class RepoList:
|
|||
"Status"))
|
||||
self.msg.template(78)
|
||||
for repo_id, repo_URL in sorted(self.all_repos.items()):
|
||||
status, COLOR = "disabled", self.meta.color["RED"]
|
||||
status, COLOR = "disabled", self.red
|
||||
default = "yes"
|
||||
if len(repo_URL) > 49:
|
||||
repo_URL = repo_URL[:48] + "~"
|
||||
if repo_id in self.meta.repositories:
|
||||
def_cnt += 1
|
||||
status, COLOR = "enabled", self.meta.color["GREEN"]
|
||||
status, COLOR = "enabled", self.green
|
||||
if repo_id not in self.meta.default_repositories:
|
||||
cus_cnt += 1
|
||||
default = "no"
|
||||
|
@ -64,13 +67,12 @@ class RepoList:
|
|||
repo_id, " " * (9 - len(repo_id)),
|
||||
repo_URL, " " * (52 - len(repo_URL)),
|
||||
default, " " * (8 - len(default)),
|
||||
COLOR, status, self.meta.color["ENDC"]))
|
||||
COLOR, status, self.endc))
|
||||
|
||||
print("\nRepositories summary")
|
||||
print("=" * 79)
|
||||
print("{0}{1}/{2} enabled default repositories and {3} custom.".format(
|
||||
self.meta.color["GREY"], def_cnt, len(self.all_repos), cus_cnt))
|
||||
print(f"{self.grey}{def_cnt}/{len(self.all_repos)} enabled default "
|
||||
f"repositories and {cus_cnt} custom.")
|
||||
print("Edit the file '/etc/slpkg/repositories.conf' for enable "
|
||||
"and disable default\nrepositories or run 'slpkg "
|
||||
"repo-enable' command.\n{0}".format(self.meta.color["ENDC"]))
|
||||
raise SystemExit()
|
||||
f"repo-enable' command.{self.endc}")
|
||||
|
|
|
@ -26,7 +26,6 @@ import os
|
|||
from pkg_resources import parse_version
|
||||
|
||||
from slpkg.messages import Msg
|
||||
from slpkg.toolbar import status
|
||||
from slpkg.blacklist import BlackList
|
||||
from slpkg.splitting import split_package
|
||||
from slpkg.upgrade_checklist import choose_upg
|
||||
|
@ -38,12 +37,12 @@ from slpkg.sbo.greps import SBoGrep
|
|||
def sbo_upgrade(skip, flag):
|
||||
"""Return packages for upgrade
|
||||
"""
|
||||
Msg().checking()
|
||||
msg = Msg()
|
||||
msg.checking()
|
||||
upgrade_names = []
|
||||
data = SBoGrep(name="").names()
|
||||
blacklist = BlackList().packages(pkgs=data, repo="sbo")
|
||||
blacklist = BlackList().get_black()
|
||||
for pkg in sbo_list():
|
||||
status(0.02)
|
||||
name = split_package(pkg)[0]
|
||||
ver = split_package(pkg)[1]
|
||||
if (name in data and name not in skip and name not in blacklist):
|
||||
|
@ -51,7 +50,7 @@ def sbo_upgrade(skip, flag):
|
|||
package = f"{name}-{ver}"
|
||||
if parse_version(sbo_package) > parse_version(package):
|
||||
upgrade_names.append(name)
|
||||
Msg().done()
|
||||
msg.done()
|
||||
if "--checklist" in flag:
|
||||
upgrade_names = choose_upg(upgrade_names)
|
||||
return upgrade_names
|
||||
|
@ -60,8 +59,6 @@ def sbo_upgrade(skip, flag):
|
|||
def sbo_list():
|
||||
"""Return all SBo packages
|
||||
"""
|
||||
sbo_packages = []
|
||||
for pkg in os.listdir(_meta_.pkg_path):
|
||||
if pkg.endswith("_SBo"):
|
||||
sbo_packages.append(pkg)
|
||||
return sbo_packages
|
||||
yield pkg
|
|
@ -24,7 +24,6 @@
|
|||
|
||||
import sys
|
||||
|
||||
from slpkg.toolbar import status
|
||||
from slpkg.blacklist import BlackList
|
||||
from slpkg.__metadata__ import MetaData as _meta_
|
||||
|
||||
|
@ -38,8 +37,7 @@ class Requires:
|
|||
self.flag = flag
|
||||
self.meta = _meta_
|
||||
self.SLACKBUILDS_TXT = SBoGrep(name="").names()
|
||||
self.blacklist = BlackList().packages(pkgs=self.SLACKBUILDS_TXT,
|
||||
repo="sbo")
|
||||
self.blacklist = BlackList().get_black()
|
||||
self.dep_results = []
|
||||
|
||||
def sbo(self, name):
|
||||
|
@ -52,8 +50,6 @@ class Requires:
|
|||
requires = SBoGrep(name).requires()
|
||||
if requires:
|
||||
for req in requires:
|
||||
status(0.03)
|
||||
# toolbar_width = status(index, toolbar_width, 1)
|
||||
# avoid to add %README% as dependency and
|
||||
# if require in blacklist
|
||||
if "%README%" not in req and req not in self.blacklist:
|
||||
|
|
|
@ -76,7 +76,7 @@ class SBoNetwork:
|
|||
self.with_checklist()
|
||||
grep = SBoGrep(self.name)
|
||||
self.sbo_files = grep.files()
|
||||
self.blacklist = BlackList().packages(pkgs=self.data, repo="sbo")
|
||||
self.blacklist = BlackList().get_black()
|
||||
self.sbo_url = sbo_search_pkg(self.name)
|
||||
if self.sbo_url:
|
||||
self.sbo_desc = grep.description()[len(self.name) + 2:-1]
|
||||
|
|
|
@ -44,19 +44,22 @@ class QueuePkgs:
|
|||
installation
|
||||
"""
|
||||
def __init__(self):
|
||||
queue_file = [
|
||||
"# In this file you can create a list of\n",
|
||||
"# packages you want to build or install.\n",
|
||||
"#\n"
|
||||
]
|
||||
self.meta = _meta_
|
||||
self.green = _meta_.color["GREEN"]
|
||||
self.red = _meta_.color["RED"]
|
||||
self.endc = _meta_.color["ENDC"]
|
||||
self.quit = False
|
||||
self.queue = self.meta.lib_path + "queue/"
|
||||
self.queue_list = self.queue + "queue_list"
|
||||
self._SOURCES = self.meta.SBo_SOURCES
|
||||
self.touch()
|
||||
|
||||
def touch(self):
|
||||
"""Creating the directories and the queue file
|
||||
"""
|
||||
queue_file = [
|
||||
"# In this file you can create a list of\n",
|
||||
"# packages you want to build or install.\n",
|
||||
"#\n"]
|
||||
if not os.path.exists(self.meta.lib_path):
|
||||
os.mkdir(self.meta.lib_path)
|
||||
if not os.path.exists(self.queue):
|
||||
|
@ -71,61 +74,48 @@ class QueuePkgs:
|
|||
"""Return queue list from /var/lib/queue/queue_list
|
||||
file.
|
||||
"""
|
||||
queue_list = []
|
||||
for read in self.queued.splitlines():
|
||||
read = read.lstrip()
|
||||
if not read.startswith("#"):
|
||||
queue_list.append(read.replace("\n", ""))
|
||||
return queue_list
|
||||
yield read.replace("\n", "")
|
||||
|
||||
def listed(self):
|
||||
"""Print packages from queue
|
||||
"""
|
||||
print("\nPackages in the queue:\n")
|
||||
print("Packages in the queue:\n")
|
||||
for pkg in self.packages():
|
||||
if pkg:
|
||||
print(f"{self.green}{pkg}{self.endc}")
|
||||
self.quit = True
|
||||
if self.quit:
|
||||
print() # new line at exit
|
||||
print(f"{self.green}{pkg}{self.endc}")
|
||||
|
||||
def add(self, pkgs):
|
||||
"""Add packages in queue if not exist
|
||||
"""
|
||||
queue_list = self.packages()
|
||||
queue_list = list(self.packages())
|
||||
pkgs = list(OrderedDict.fromkeys(pkgs))
|
||||
print("\nAdd packages in the queue:\n")
|
||||
print("Add packages in the queue:\n")
|
||||
with open(self.queue_list, "a") as queue:
|
||||
for pkg in pkgs:
|
||||
find = sbo_search_pkg(pkg)
|
||||
if pkg not in queue_list and find is not None:
|
||||
print(f"{self.green}{pkg}{self.endc}")
|
||||
queue.write(pkg + "\n")
|
||||
self.quit = True
|
||||
else:
|
||||
print(f"{self.red}{pkg}{self.endc}")
|
||||
self.quit = True
|
||||
if self.quit:
|
||||
print() # new line at exit
|
||||
|
||||
def remove(self, pkgs):
|
||||
"""Remove packages from queue
|
||||
"""
|
||||
print("\nRemove packages from the queue:\n")
|
||||
print("Remove packages from the queue:\n")
|
||||
with open(self.queue_list, "w") as queue:
|
||||
for line in self.queued.splitlines():
|
||||
if line not in pkgs:
|
||||
queue.write(line + "\n")
|
||||
else:
|
||||
print(f"{self.red}{line}{self.endc}")
|
||||
self.quit = True
|
||||
if self.quit:
|
||||
print() # new line at exit
|
||||
|
||||
def build(self):
|
||||
"""Build packages from queue
|
||||
"""
|
||||
packages = self.packages()
|
||||
packages = list(self.packages())
|
||||
if packages:
|
||||
for pkg in packages:
|
||||
if not os.path.exists(self.meta.build_path):
|
||||
|
@ -152,7 +142,7 @@ class QueuePkgs:
|
|||
def install(self):
|
||||
"""Install packages from queue
|
||||
"""
|
||||
packages = self.packages()
|
||||
packages = list(self.packages())
|
||||
if packages:
|
||||
print() # new line at start
|
||||
for pkg in packages:
|
||||
|
|
|
@ -28,7 +28,6 @@ from pkg_resources import parse_version
|
|||
|
||||
from slpkg.utils import Utils
|
||||
from slpkg.messages import Msg
|
||||
from slpkg.toolbar import status
|
||||
from slpkg.log_deps import write_deps
|
||||
from slpkg.blacklist import BlackList
|
||||
from slpkg.downloader import Download
|
||||
|
@ -81,7 +80,7 @@ class SBoInstall:
|
|||
self.count_uni = 0
|
||||
self.msg.reading()
|
||||
self.data = SBoGrep(name="").names()
|
||||
self.blacklist = BlackList().packages(pkgs=self.data, repo="sbo")
|
||||
self.blacklist = BlackList().get_black()
|
||||
|
||||
def init_flags(self):
|
||||
"""Flags initialization
|
||||
|
@ -99,7 +98,6 @@ class SBoInstall:
|
|||
self.is_upgrade = is_upgrade
|
||||
self.case_insensitive()
|
||||
for _sbo in self.slackbuilds:
|
||||
status(0.03)
|
||||
if _sbo in self.data and _sbo not in self.blacklist:
|
||||
sbo_deps = Requires(self.flag).sbo(_sbo)
|
||||
self.deps += sbo_deps
|
||||
|
@ -233,7 +231,6 @@ class SBoInstall:
|
|||
"""
|
||||
sbo_versions, sources = [], []
|
||||
for sbo in slackbuilds:
|
||||
status(0.02)
|
||||
sbo_ver = f"{sbo}-{SBoGrep(sbo).version()}"
|
||||
sbo_versions.append(sbo_ver)
|
||||
sources.append(SBoGrep(sbo).source())
|
||||
|
|
|
@ -31,7 +31,6 @@ from slpkg.utils import Utils
|
|||
from slpkg.sizes import units
|
||||
from slpkg.messages import Msg
|
||||
from slpkg.url_read import URL
|
||||
from slpkg.toolbar import status
|
||||
from slpkg.checksum import check_md5
|
||||
from slpkg.blacklist import BlackList
|
||||
from slpkg.downloader import Download
|
||||
|
@ -129,16 +128,15 @@ class Patches:
|
|||
if self.meta.arch == "x86_64":
|
||||
slack_arch = "64"
|
||||
print(f"\nSlackware{slack_arch} '{self.version}' v{slack_ver()}"
|
||||
f"distribution is up to date!\n")
|
||||
f" distribution is up to date!\n")
|
||||
|
||||
def store(self):
|
||||
"""
|
||||
Store and return packages for upgrading
|
||||
"""
|
||||
data = repo_data(self.PACKAGES_TXT, "slack", self.flag)
|
||||
black = BlackList().packages(pkgs=data[0], repo="slack")
|
||||
black = BlackList().get_black()
|
||||
for name, loc, comp, uncomp in zip(data[0], data[1], data[2], data[3]):
|
||||
status(0.0003)
|
||||
repo_pkg_name = split_package(name)[0]
|
||||
if (not os.path.isfile(self.meta.pkg_path + name[:-4]) and
|
||||
repo_pkg_name not in black and
|
||||
|
@ -163,9 +161,8 @@ class Patches:
|
|||
text = "Press 'spacebar' to unchoose packages from upgrade"
|
||||
title = " Upgrade "
|
||||
backtitle = f"{self.meta.__all__} {self.meta.__version__}"
|
||||
status = True
|
||||
pkgs = DialogUtil(data, text, title, backtitle,
|
||||
status).checklist()
|
||||
status=True).checklist()
|
||||
index = 0
|
||||
for pkg, comp, uncomp in zip(self.upgrade_all, self.comp_sum,
|
||||
self.uncomp_sum):
|
||||
|
@ -187,10 +184,10 @@ class Patches:
|
|||
"""
|
||||
for upg, size in sorted(zip(self.upgrade_all, self.comp_sum)):
|
||||
pkg_repo = split_package(upg[:-4])
|
||||
color = self.meta.color["RED"]
|
||||
color = self.red
|
||||
pkg_inst = GetFromInstalled(pkg_repo[0]).name()
|
||||
if pkg_repo[0] == pkg_inst:
|
||||
color = self.meta.color["YELLOW"]
|
||||
color = self.yellow
|
||||
ver = GetFromInstalled(pkg_repo[0]).version()
|
||||
print(f" {color}{pkg_repo[0] + ver}{self.endc}"
|
||||
f"{' ' * (23-len(pkg_repo[0] + ver))} {pkg_repo[1]}"
|
||||
|
@ -272,4 +269,4 @@ class Patches:
|
|||
print(f"{self.green}Update the package lists ?{self.endc}")
|
||||
print("=" * 79)
|
||||
if self.msg.answer() in ["y", "Y"]:
|
||||
Update().repository(["slack"])
|
||||
Update().repository(["slack"])
|
||||
|
|
|
@ -32,7 +32,6 @@ def slack_ver():
|
|||
"""
|
||||
Open file and read Slackware version
|
||||
"""
|
||||
|
||||
if _meta_.slackware_version in ["off", "OFF"]:
|
||||
sv = Utils().read_file("/etc/slackware-version")
|
||||
version = re.findall(r"\d+", sv)
|
||||
|
|
|
@ -33,7 +33,7 @@ def slackware_repository():
|
|||
"""
|
||||
slack_repo, packages, names, name = [], [], [], ""
|
||||
slack_repo = repo_data(
|
||||
Utils().read_file(_meta_.lib_path + "slack_repo/PACKAGES.TXT"),
|
||||
Utils().read_file(f"{_meta_.lib_path}slack_repo/PACKAGES.TXT"),
|
||||
"slack", "")
|
||||
for pkg in slack_repo[0]:
|
||||
name = split_package(pkg)[0]
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
from slpkg.utils import Utils
|
||||
from slpkg.messages import Msg
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# toolbar.py file is part of slpkg.
|
||||
|
||||
# Copyright 2014-2020 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
|
||||
# All rights reserved.
|
||||
|
||||
# Slpkg is a user-friendly package manager for Slackware installations
|
||||
|
||||
# https://gitlab.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 sys
|
||||
import time
|
||||
|
||||
from slpkg.__metadata__ import MetaData as _meta_
|
||||
|
||||
|
||||
def status(sec):
|
||||
"""Toolbar progressive status
|
||||
"""
|
||||
if _meta_.prg_bar in ["on", "ON"]:
|
||||
syms = ["|", "/", "-", "\\"]
|
||||
for sym in syms:
|
||||
print(f"\b{_meta_.color['GREY']}{sym}{_meta_.color['ENDC']}", end="")
|
||||
print(end="", flush=True)
|
||||
time.sleep(float(sec))
|
|
@ -129,7 +129,7 @@ class TrackingDeps:
|
|||
self.bin_case_insensitive()
|
||||
self.find_pkg = search_pkg(self.name, self.repo)
|
||||
if self.find_pkg:
|
||||
self.black = BlackList().packages(self.names, self.repo)
|
||||
self.black = BlackList().get_black()
|
||||
self.dependencies_list = Dependencies(
|
||||
self.repo, self.black).binary(self.name, self.flag)
|
||||
|
||||
|
|
10
tests/test_file_size.py
Normal file
10
tests/test_file_size.py
Normal file
|
@ -0,0 +1,10 @@
|
|||
from slpkg.file_size import FileSize
|
||||
|
||||
|
||||
def test_FileSize():
|
||||
url = "https://mirrors.slackware.com/slackware/slackware64-14.2/ChangeLog.txt"
|
||||
lc = "tests/test_units.py"
|
||||
fs1 = FileSize(url)
|
||||
fs2 = FileSize(lc)
|
||||
assert fs1.server() is not None
|
||||
assert fs2.local() is not None
|
Loading…
Add table
Reference in a new issue