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
Added:
- 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
$ tar xvf slpkg-4.2.4.tar.gz
$ cd slpkg-4.2.4
$ tar xvf slpkg-4.2.5.tar.gz
$ cd slpkg-4.2.5
$ ./install.sh

View file

@ -20,9 +20,12 @@ configs:
# Slackbuilds.org repository url.
sbo_repo_url: http://slackbuilds.org/slackbuilds/15.0
# The sbo repository main file.
# The SLACKBUILDS.TXT repository file.
sbo_txt: SLACKBUILDS.TXT
# The ChangeLog.txt file.
chglog_txt: ChangeLog.txt
# The sbo tar suffix.
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
.P
slpkg - [OPTIONS] [COMMAND] <packages>
.SH SYNAPSES
.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
.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.
@ -19,12 +19,17 @@ Updates the package list and the database.
.P
upgrade
.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
.P
build
.RS
Builds the scripts and puts them in the /tmp directory.
Builds the Slackbuilds scripts and adds them to the /tmp directory.
.RE
.P
install
@ -34,12 +39,12 @@ Builds and installs the packages in the correct order and also logs the packages
.P
download
.RS
Download only the packages without building or installing it.
Download the SlackBuilds scripts and the sources without building or installing it.
.RE
.P
remove
.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
.P
find
@ -59,12 +64,12 @@ Search and match packages from the repository.
.P
clean-logs
.RS
Cleans dependencies log tracking.
Cleans dependencies log tracking. After that procedure you should remove dependencies by hand.
.RE
.P
clean-tmp
.RS
Deletes all the downloaded sources.
Deletes all the downloaded SlackBuilds scripts and sources.
.RE
.SH OPTIONS
.P

View file

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

View file

@ -35,6 +35,7 @@ class Configs:
# SBo repository configs
sbo_repo_url: str = 'http://slackbuilds.org/slackbuilds/15.0'
sbo_txt: str = 'SLACKBUILDS.TXT'
chglog_txt: str = 'ChangeLog.txt'
sbo_tar_suffix: str = '.tar.gz'
sbo_repo_tag: str = '_SBo'
@ -74,6 +75,7 @@ class Configs:
# SBo repository details
sbo_repo_url: str = config['sbo_repo_url']
sbo_txt: str = config['sbo_txt']
chglog_txt: str = config['chglog_txt']
sbo_tar_suffix: str = config['sbo_tar_suffix']
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.slackbuild import Slackbuilds
from slpkg.view_package import ViewPackage
from slpkg.check_updates import CheckUpdates
from slpkg.find_installed import FindInstalled
from slpkg.remove_packages import RemovePackages
from slpkg.clean_logs import CleanLogsDependencies
@ -81,6 +82,15 @@ class Argparse:
raise SystemExit()
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):
if len(self.args) >= 2 and '--reinstall' not in self.flags:
packages = list(set(self.args[1:]))
@ -219,6 +229,7 @@ def main():
'--version': argparse.version,
'update': argparse.update,
'upgrade': argparse.upgrade,
'check-updates': argparse.check_updates,
'build': argparse.build,
'install': argparse.install,
'download': argparse.download,

View file

@ -20,6 +20,7 @@ class UpdateRepository:
sbo_repo_path: str = Configs.sbo_repo_path
url: str = Configs.sbo_repo_url
sbo_txt: str = Configs.sbo_txt
chglog_txt: str = Configs.chglog_txt
db_path: str = Configs.db_path
database: str = Configs.database
session: str = Session
@ -27,12 +28,15 @@ class UpdateRepository:
def sbo(self):
print('Updating the package list...\n')
self.delete_file(self.sbo_repo_path, self.sbo_txt)
self.delete_file(self.sbo_repo_path, self.chglog_txt)
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.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.insert_sbo_table()

View file

@ -10,7 +10,7 @@ from slpkg.configs import Configs
@dataclass
class Version:
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)
license: str = 'MIT License'
author: str = 'dslackw'

View file

@ -21,6 +21,7 @@ def usage(status: int):
f'{BOLD}COMMANDS:{ENDC}',
f' {RED}update{ENDC} Update the package lists.',
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}install{ENDC} <packages> Build and install the packages.',
f' {CYAN}download{ENDC} <packages> Download only the scripts and sources.',