Merge branch 'develop'

This commit is contained in:
Dimitris Zlatanidis 2022-11-03 19:24:31 +02:00
commit ad79a27bd5
10 changed files with 47 additions and 15 deletions

View file

@ -1,3 +1,9 @@
4.2.5 - 01/11/2022
Added:
- Command to check if there is news on ChangeLog.txt
Updated:
- man page
4.2.4 - 30/10/2022 4.2.4 - 30/10/2022
Added: Added:
- Patching SBo TAG from the configuration file - Patching SBo TAG from the configuration file

View file

@ -30,8 +30,8 @@ Install from the official third-party `SBo repository <https://slackbuilds.org/r
.. code-block:: bash .. code-block:: bash
$ tar xvf slpkg-4.2.4.tar.gz $ tar xvf slpkg-4.2.5.tar.gz
$ cd slpkg-4.2.4 $ cd slpkg-4.2.5
$ ./install.sh $ ./install.sh

View file

@ -20,9 +20,12 @@ configs:
# Slackbuilds.org repository url. # Slackbuilds.org repository url.
sbo_repo_url: http://slackbuilds.org/slackbuilds/15.0 sbo_repo_url: http://slackbuilds.org/slackbuilds/15.0
# The sbo repository main file. # The SLACKBUILDS.TXT repository file.
sbo_txt: SLACKBUILDS.TXT sbo_txt: SLACKBUILDS.TXT
# The ChangeLog.txt file.
chglog_txt: ChangeLog.txt
# The sbo tar suffix. # The sbo tar suffix.
sbo_tar_suffix: .tar.gz sbo_tar_suffix: .tar.gz

View file

@ -1,10 +1,10 @@
.TH slpkg 1 "Orestiada, Greece" "slpkg 4.2.0" dslackw .TH slpkg 1 "Orestiada, Greece" "slpkg 4.2.5" dslackw
.SH NAME .SH NAME
.P .P
slpkg - [OPTIONS] [COMMAND] <packages> slpkg - [OPTIONS] [COMMAND] <packages>
.SH SYNAPSES .SH SYNAPSES
.P .P
slpkg [-h|-v] [update] [upgrade] [build] [install] [download] [remove] [find] [view] [search] [clean-logs] [clean-tmp] --yes --jobs --resolve-off --reinstall --skip-installed slpkg [-h|-v] [update] [upgrade] [check-updates] [build] [install] [download] [remove] [find] [view] [search] [clean-logs] [clean-tmp] --yes --jobs --resolve-off --reinstall --skip-installed
.SH DESCRIPTION .SH DESCRIPTION
.P .P
Slpkg is a software package manager that installs, updates, and removes packages on Slackware based systems. It automatically computes dependencies and figures out what things should occur to install packages. Slpkg makes it easier to maintain groups of machines without having to manually update. Slpkg is a software package manager that installs, updates, and removes packages on Slackware based systems. It automatically computes dependencies and figures out what things should occur to install packages. Slpkg makes it easier to maintain groups of machines without having to manually update.
@ -19,12 +19,17 @@ Updates the package list and the database.
.P .P
upgrade upgrade
.RS .RS
Upgrade all the installed packages. Upgrade all the installed packages if the newer version exists in the repository.
.RE
.P
check-updates
.RS
Check if there is any news on the SlackBuild's ChangeLog.txt file.
.RE .RE
.P .P
build build
.RS .RS
Builds the scripts and puts them in the /tmp directory. Builds the Slackbuilds scripts and adds them to the /tmp directory.
.RE .RE
.P .P
install install
@ -34,12 +39,12 @@ Builds and installs the packages in the correct order and also logs the packages
.P .P
download download
.RS .RS
Download only the packages without building or installing it. Download the SlackBuilds scripts and the sources without building or installing it.
.RE .RE
.P .P
remove remove
.RS .RS
Removes packages with dependencies if the packages was installed with slpkg install method. Removes packages with dependencies if the packages was installed with 'slpkg install' method. Slpkg looks at the 'sbo_repo_tag' configuration to find packages for removal.
.RE .RE
.P .P
find find
@ -59,12 +64,12 @@ Search and match packages from the repository.
.P .P
clean-logs clean-logs
.RS .RS
Cleans dependencies log tracking. Cleans dependencies log tracking. After that procedure you should remove dependencies by hand.
.RE .RE
.P .P
clean-tmp clean-tmp
.RS .RS
Deletes all the downloaded sources. Deletes all the downloaded SlackBuilds scripts and sources.
.RE .RE
.SH OPTIONS .SH OPTIONS
.P .P

View file

@ -1,6 +1,6 @@
[metadata] [metadata]
name = slpkg name = slpkg
version = 4.2.4 version = 4.2.5
license_file = LICENSE license_file = LICENSE
author = Dimitris Zlatanidis author = Dimitris Zlatanidis
author_email = d.zlatanidis@gmail.com author_email = d.zlatanidis@gmail.com

View file

@ -35,6 +35,7 @@ class Configs:
# SBo repository configs # SBo repository configs
sbo_repo_url: str = 'http://slackbuilds.org/slackbuilds/15.0' sbo_repo_url: str = 'http://slackbuilds.org/slackbuilds/15.0'
sbo_txt: str = 'SLACKBUILDS.TXT' sbo_txt: str = 'SLACKBUILDS.TXT'
chglog_txt: str = 'ChangeLog.txt'
sbo_tar_suffix: str = '.tar.gz' sbo_tar_suffix: str = '.tar.gz'
sbo_repo_tag: str = '_SBo' sbo_repo_tag: str = '_SBo'
@ -74,6 +75,7 @@ class Configs:
# SBo repository details # SBo repository details
sbo_repo_url: str = config['sbo_repo_url'] sbo_repo_url: str = config['sbo_repo_url']
sbo_txt: str = config['sbo_txt'] sbo_txt: str = config['sbo_txt']
chglog_txt: str = config['chglog_txt']
sbo_tar_suffix: str = config['sbo_tar_suffix'] sbo_tar_suffix: str = config['sbo_tar_suffix']
sbo_repo_tag: str = config['sbo_repo_tag'] sbo_repo_tag: str = config['sbo_repo_tag']

View file

@ -15,6 +15,7 @@ from slpkg.views.cli_menu import usage
from slpkg.download_only import Download from slpkg.download_only import Download
from slpkg.slackbuild import Slackbuilds from slpkg.slackbuild import Slackbuilds
from slpkg.view_package import ViewPackage from slpkg.view_package import ViewPackage
from slpkg.check_updates import CheckUpdates
from slpkg.find_installed import FindInstalled from slpkg.find_installed import FindInstalled
from slpkg.remove_packages import RemovePackages from slpkg.remove_packages import RemovePackages
from slpkg.clean_logs import CleanLogsDependencies from slpkg.clean_logs import CleanLogsDependencies
@ -81,6 +82,15 @@ class Argparse:
raise SystemExit() raise SystemExit()
usage(1) usage(1)
def check_updates(self):
if len(self.args) == 1 and not self.flags:
self.check.database()
check = CheckUpdates()
check.updates()
raise SystemExit()
usage(1)
def build(self): def build(self):
if len(self.args) >= 2 and '--reinstall' not in self.flags: if len(self.args) >= 2 and '--reinstall' not in self.flags:
packages = list(set(self.args[1:])) packages = list(set(self.args[1:]))
@ -219,6 +229,7 @@ def main():
'--version': argparse.version, '--version': argparse.version,
'update': argparse.update, 'update': argparse.update,
'upgrade': argparse.upgrade, 'upgrade': argparse.upgrade,
'check-updates': argparse.check_updates,
'build': argparse.build, 'build': argparse.build,
'install': argparse.install, 'install': argparse.install,
'download': argparse.download, 'download': argparse.download,

View file

@ -20,6 +20,7 @@ class UpdateRepository:
sbo_repo_path: str = Configs.sbo_repo_path sbo_repo_path: str = Configs.sbo_repo_path
url: str = Configs.sbo_repo_url url: str = Configs.sbo_repo_url
sbo_txt: str = Configs.sbo_txt sbo_txt: str = Configs.sbo_txt
chglog_txt: str = Configs.chglog_txt
db_path: str = Configs.db_path db_path: str = Configs.db_path
database: str = Configs.database database: str = Configs.database
session: str = Session session: str = Session
@ -27,12 +28,15 @@ class UpdateRepository:
def sbo(self): def sbo(self):
print('Updating the package list...\n') print('Updating the package list...\n')
self.delete_file(self.sbo_repo_path, self.sbo_txt) self.delete_file(self.sbo_repo_path, self.sbo_txt)
self.delete_file(self.sbo_repo_path, self.chglog_txt)
self.delete_sbo_data() self.delete_sbo_data()
sbo_repo_url = f'{self.url}/{self.sbo_txt}' slackbuilds_txt = f'{self.url}/{self.sbo_txt}'
changelog_txt = f'{self.url}/{self.chglog_txt}'
wget = Wget() wget = Wget()
wget.download(self.sbo_repo_path, sbo_repo_url) wget.download(self.sbo_repo_path, slackbuilds_txt)
wget.download(self.sbo_repo_path, changelog_txt)
data = CreateData() data = CreateData()
data.insert_sbo_table() data.insert_sbo_table()

View file

@ -10,7 +10,7 @@ from slpkg.configs import Configs
@dataclass @dataclass
class Version: class Version:
prog_name: str = Configs.prog_name prog_name: str = Configs.prog_name
version_info: tuple = (4, 2, 4) version_info: tuple = (4, 2, 5)
version: str = '{0}.{1}.{2}'.format(*version_info) version: str = '{0}.{1}.{2}'.format(*version_info)
license: str = 'MIT License' license: str = 'MIT License'
author: str = 'dslackw' author: str = 'dslackw'

View file

@ -21,6 +21,7 @@ def usage(status: int):
f'{BOLD}COMMANDS:{ENDC}', f'{BOLD}COMMANDS:{ENDC}',
f' {RED}update{ENDC} Update the package lists.', f' {RED}update{ENDC} Update the package lists.',
f' {CYAN}upgrade{ENDC} Upgrade all the packages.', f' {CYAN}upgrade{ENDC} Upgrade all the packages.',
f' {CYAN}check-updates{ENDC} Check for news on ChangeLog.txt.',
f' {CYAN}build{ENDC} <packages> Build only the packages.', f' {CYAN}build{ENDC} <packages> Build only the packages.',
f' {CYAN}install{ENDC} <packages> Build and install the packages.', f' {CYAN}install{ENDC} <packages> Build and install the packages.',
f' {CYAN}download{ENDC} <packages> Download only the scripts and sources.', f' {CYAN}download{ENDC} <packages> Download only the scripts and sources.',