mirror of
https://gitlab.com/dslackw/slpkg.git
synced 2025-01-17 06:11:35 +01:00
Merge branch 'develop' into 'master'
Some corrections See merge request dslackw/slpkg!99
This commit is contained in:
commit
8c97629ff8
6 changed files with 196 additions and 6 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
4.4.7 - 07/01/2023
|
||||||
|
Added:
|
||||||
|
- Finished report to download only
|
||||||
|
- The French manpage (Thanks to marav)
|
||||||
|
- Check if the file dowwnload
|
||||||
|
|
||||||
4.4.6 - 06/01/2023
|
4.4.6 - 06/01/2023
|
||||||
Updated:
|
Updated:
|
||||||
- Improve speed for dependees
|
- Improve speed for dependees
|
||||||
|
|
156
man/slpkg-fr.1
Normal file
156
man/slpkg-fr.1
Normal file
|
@ -0,0 +1,156 @@
|
||||||
|
.TH slpkg 1 "Orestiada, Grèce" "slpkg 4.4.0" dslackw
|
||||||
|
.SH NOM
|
||||||
|
.P
|
||||||
|
slpkg - [OPTIONS] [COMMANDE] <packages>.
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.P
|
||||||
|
slpkg [-h|-v] [update] [upgrade] [check-updates] [configs] [clean-logs] [clean-tmp] [-b, build] [-i, install] [-d, download]
|
||||||
|
[-r, remove] [-f, find] [-w, view] [-s, search] [-e, dependees] [-t, tracking] --yes, --jobs, --resolve-off,
|
||||||
|
--reinstall, --skip-installed, --full-reverse, --search
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.P
|
||||||
|
\fBSlpkg\fP est un gestionnaire de paquets logiciels qui \fBinstalle\fP, \fBmet à jour\fP et \fBsupprime\fP les paquets pour les systèmes basés sur \fBSlackware\fP.
|
||||||
|
Il calcule automatiquement \fBles dépendances\fP et détermine comment doit se dérouler l'installation des paquets.
|
||||||
|
\fBSlpkg\fP facilite la maintenance de groupes de machines sans avoir à effectuer des mises à jour manuelles.
|
||||||
|
.P
|
||||||
|
\fBSlpkg\fP travaille en accord avec les standards de l'organisation \fBSlackBuilds.org\fP pour construire des paquets.
|
||||||
|
Il utilise également les instructions de \fBSlackware Linux\fP pour l'installation, la mise à jour ou la suppression des paquets.
|
||||||
|
.SH COMMANDES
|
||||||
|
.P
|
||||||
|
update
|
||||||
|
.RS
|
||||||
|
Met à jour la liste des paquets et la base de données.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
upgrade
|
||||||
|
.RS
|
||||||
|
Met à niveau tous les paquets installés si une version plus récente existe dans le référentiel.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
check-updates
|
||||||
|
.RS
|
||||||
|
Vérifie si le fichier \fBChangeLog.txt\fP du SlackBuild contient des mises à jour.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
configs
|
||||||
|
.RS
|
||||||
|
Modifier le fichier de configuration \fB/etc/slpkg/slpkg.toml\fP.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
clean-logs
|
||||||
|
.RS
|
||||||
|
Nettoie les journaux de suivi de dépendances. \fBAttention\fP, après cette procédure vous devrez supprimer les dépendances à la main.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
clean-tmp
|
||||||
|
.RS
|
||||||
|
Supprime tous les scripts et sources des SlackBuilds téléchargés.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
-b, build
|
||||||
|
.RS
|
||||||
|
Construit les scripts des Slackbuilds et les ajoute au répertoire \fB/tmp\fP.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
-i, install
|
||||||
|
.RS
|
||||||
|
Construit et installe les paquets dans l'ordre adéquat et enregistre également les paquets avec les dépendances à utiliser pour la suppression.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
-d, download
|
||||||
|
.RS
|
||||||
|
Télécharger les scripts et les sources des SlackBuilds sans les construire ni les installer.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
-r, remove
|
||||||
|
.RS
|
||||||
|
Supprime les paquets avec leurs dépendances s'ils ont été installés avec la méthode \fB'slpkg install'\fP.
|
||||||
|
Slpkg examine la configuration \fB'sbo_repo_tag'\fP pour trouver les paquets à supprimer.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
-f, find
|
||||||
|
.RS
|
||||||
|
Trouver les paquets installés par \fBSBo\fP (taggés _SBo) sur votre distribution.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
-w, view
|
||||||
|
.RS
|
||||||
|
Voir les paquets du dépôt et obtenir toutes les informations dans le terminal.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
-s, search
|
||||||
|
.RS
|
||||||
|
Rechercher les paquets.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
-e, dependees
|
||||||
|
.RS
|
||||||
|
Montre les dépendances du paquet.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
-t, tracking
|
||||||
|
.RS
|
||||||
|
Suivi des dépendances des paquets.
|
||||||
|
.RE
|
||||||
|
.SH OPTIONS
|
||||||
|
.P
|
||||||
|
--yes
|
||||||
|
.RS
|
||||||
|
Répondre \fBOui\fP à toutes les questions.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
--jobs
|
||||||
|
.RS
|
||||||
|
Accélération des scripts SlackBuild. Lorsque l'indicateur \fB--jobs\fP est activé, slpkg détecte automatiquement le nombre de
|
||||||
|
de processeurs et le saisit dans la variable \fBMAKEFLAGS\fP. Certains SlackBuilds échouent lorsque \fBMAKEFLAGS\fP est déclaré ou que
|
||||||
|
le nombre de processeurs (-j) est supérieur à 1.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
--resolve-off
|
||||||
|
.RS
|
||||||
|
Désactive la résolution des dépendances.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
--reinstall
|
||||||
|
.RS
|
||||||
|
Utilisez cette option si vous voulez mettre à niveau tous les paquets même si la même version est déjà installée.
|
||||||
|
Ne saute pas les paquets déjà installés.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
--skip-installed
|
||||||
|
.RS
|
||||||
|
Cette option est utile si vous voulez éviter de construire et de réinstaller des paquets.
|
||||||
|
Remarque : Cette option n'affecte que les dépendances.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
--full-reverse
|
||||||
|
.RS
|
||||||
|
Dépendances inverses complètes. Ne fonctionne qu'avec la commande \fB-e, dependees\fP et montre aussi les \fBRequires\fP.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
--search
|
||||||
|
.RS
|
||||||
|
Active l'utilitaire de dialogue pour rechercher des paquets dans le référentiel.
|
||||||
|
Essayez par exemple : `slpkg install python3 --search` ou `slpkg download python3 --search` et ainsi de suite.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
-h | --help
|
||||||
|
.RS
|
||||||
|
Affiche l'aide.
|
||||||
|
.RE
|
||||||
|
.P
|
||||||
|
-v | --version
|
||||||
|
.RS
|
||||||
|
Affiche la version.
|
||||||
|
.RE
|
||||||
|
.SH FICHIERS DE CONFIGURATION
|
||||||
|
.P
|
||||||
|
Fichier de \fBconfiguration\fP : /etc/slpkg/slpkg.toml
|
||||||
|
.RE
|
||||||
|
Fichier \fBblacklist\fP : /etc/slpkg/blacklist.toml
|
||||||
|
.SH RAPPORT DE BOGUES
|
||||||
|
.P
|
||||||
|
Veuillez signaler tout bogue trouvé à \fBhttps://gitlab.com/dslackw/slpkg/-/issues\fP.
|
||||||
|
.SH AUTEUR
|
||||||
|
.P
|
||||||
|
\fBDimitris Zlatanidis\fP <d.zlatanidis@gmail.com>
|
|
@ -100,8 +100,9 @@ mkdir -p $PKG/etc/$PRGNAM
|
||||||
install -D -m0644 configs/slpkg.toml $PKG/etc/slpkg/slpkg.toml.new
|
install -D -m0644 configs/slpkg.toml $PKG/etc/slpkg/slpkg.toml.new
|
||||||
install -D -m0644 configs/blacklist.toml $PKG/etc/slpkg/blacklist.toml.new
|
install -D -m0644 configs/blacklist.toml $PKG/etc/slpkg/blacklist.toml.new
|
||||||
|
|
||||||
mkdir -p $PKG/usr/man/man1
|
mkdir -p $PKG/usr/man/man1 mkdir -p $PKG/usr/man/fr/man1
|
||||||
cp man/slpkg.1 $PKG/usr/man/man1
|
cp man/slpkg.1 $PKG/usr/man/man1
|
||||||
|
cp man/slpkg-fr.1 $PKG/usr/man/fr/man1/slpkg.1
|
||||||
|
|
||||||
find $PKG/usr/man -type f -exec gzip -9 {} \;
|
find $PKG/usr/man -type f -exec gzip -9 {} \;
|
||||||
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz; rm $i ; done
|
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz; rm $i ; done
|
||||||
|
|
|
@ -39,7 +39,7 @@ class Dependees:
|
||||||
print(f'{self.byellow}{pkg}{self.endc}')
|
print(f'{self.byellow}{pkg}{self.endc}')
|
||||||
print(f' {self.llc}{self.hl}', end='')
|
print(f' {self.llc}{self.hl}', end='')
|
||||||
if not dependees:
|
if not dependees:
|
||||||
print(f'{self.cyan}No dependees{self.endc}')
|
print(f'{self.cyan} No dependees{self.endc}')
|
||||||
|
|
||||||
sp = ' ' * 4
|
sp = ' ' * 4
|
||||||
for i, dep in enumerate(dependees, start=1):
|
for i, dep in enumerate(dependees, start=1):
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import time
|
||||||
|
|
||||||
from slpkg.configs import Configs
|
from slpkg.configs import Configs
|
||||||
from slpkg.queries import SBoQueries
|
from slpkg.queries import SBoQueries
|
||||||
|
from slpkg.utilities import Utilities
|
||||||
from slpkg.downloader import Downloader
|
from slpkg.downloader import Downloader
|
||||||
from slpkg.views.views import ViewMessage
|
from slpkg.views.views import ViewMessage
|
||||||
from slpkg.models.models import session as Session
|
from slpkg.models.models import session as Session
|
||||||
|
@ -15,6 +18,7 @@ class Download:
|
||||||
self.flags: list = flags
|
self.flags: list = flags
|
||||||
self.configs = Configs
|
self.configs = Configs
|
||||||
self.session = Session
|
self.session = Session
|
||||||
|
self.utils = Utilities()
|
||||||
|
|
||||||
def packages(self, slackbuilds: list):
|
def packages(self, slackbuilds: list):
|
||||||
""" Download the package only. """
|
""" Download the package only. """
|
||||||
|
@ -22,6 +26,7 @@ class Download:
|
||||||
view.download_packages(slackbuilds)
|
view.download_packages(slackbuilds)
|
||||||
view.question()
|
view.question()
|
||||||
|
|
||||||
|
start = time.time()
|
||||||
for sbo in slackbuilds:
|
for sbo in slackbuilds:
|
||||||
file = f'{sbo}{self.configs.sbo_tar_suffix}'
|
file = f'{sbo}{self.configs.sbo_tar_suffix}'
|
||||||
location = SBoQueries(sbo).location()
|
location = SBoQueries(sbo).location()
|
||||||
|
@ -34,3 +39,6 @@ class Download:
|
||||||
for source in sources:
|
for source in sources:
|
||||||
down_source = Downloader(self.configs.download_only, source)
|
down_source = Downloader(self.configs.download_only, source)
|
||||||
down_source.download()
|
down_source.download()
|
||||||
|
|
||||||
|
elapsed_time = time.time() - start
|
||||||
|
self.utils.finished_time(elapsed_time)
|
||||||
|
|
|
@ -23,20 +23,34 @@ class Downloader:
|
||||||
self.bold = self.color['bold']
|
self.bold = self.color['bold']
|
||||||
self.green = self.color['green']
|
self.green = self.color['green']
|
||||||
self.yellow = self.color['yellow']
|
self.yellow = self.color['yellow']
|
||||||
self.byellow = f'{self.bold}{self.yellow}'
|
self.red = self.color['red']
|
||||||
|
self.blue = self.color['blue']
|
||||||
self.endc = self.color['endc']
|
self.endc = self.color['endc']
|
||||||
|
self.byellow = f'{self.bold}{self.yellow}'
|
||||||
|
self.bred = f'{self.bold}{self.red}'
|
||||||
self.progress = ProgressBar()
|
self.progress = ProgressBar()
|
||||||
self.stderr = None
|
self.stderr = None
|
||||||
self.stdout = None
|
self.stdout = None
|
||||||
|
|
||||||
def wget(self):
|
def wget(self):
|
||||||
""" Wget downloader. """
|
""" Wget downloader. """
|
||||||
subprocess.call(f'wget {self.configs.wget_options} --directory-prefix={self.path} {self.url}',
|
output = subprocess.call(f'wget {self.configs.wget_options} --directory-prefix={self.path} {self.url}',
|
||||||
shell=True, stderr=self.stderr, stdout=self.stdout)
|
shell=True, stderr=self.stderr, stdout=self.stdout)
|
||||||
|
if output != 0:
|
||||||
|
raise SystemExit(output)
|
||||||
|
|
||||||
|
def check_if_downloaded(self):
|
||||||
|
""" Checks if the file downloaded. """
|
||||||
|
file = self.url.split('/')[-1]
|
||||||
|
path_file = Path(self.path, file)
|
||||||
|
if not path_file.exists():
|
||||||
|
raise SystemExit(f"\n{self.red}FAILED {self.stderr}:{self.endc} '{self.blue}{self.url}{self.endc}' "
|
||||||
|
f"to download.\n")
|
||||||
|
|
||||||
def download(self):
|
def download(self):
|
||||||
""" Starting multiprocessing download process. """
|
""" Starting multiprocessing download process. """
|
||||||
if self.configs.view_mode == 'new':
|
if self.configs.view_mode == 'new':
|
||||||
|
done = f' {self.byellow} Done{self.endc}'
|
||||||
self.stderr = subprocess.DEVNULL
|
self.stderr = subprocess.DEVNULL
|
||||||
self.stdout = subprocess.DEVNULL
|
self.stdout = subprocess.DEVNULL
|
||||||
|
|
||||||
|
@ -54,7 +68,10 @@ class Downloader:
|
||||||
|
|
||||||
# Terminate process 2 if process 1 finished
|
# Terminate process 2 if process 1 finished
|
||||||
if not p1.is_alive():
|
if not p1.is_alive():
|
||||||
print(f'{self.endc}{self.byellow} Done{self.endc}', end='')
|
if p1.exitcode != 0:
|
||||||
|
done = f' {self.bred} Failed{self.endc}'
|
||||||
|
self.stderr = p1.exitcode
|
||||||
|
print(f'{self.endc}{done}', end='')
|
||||||
p2.terminate()
|
p2.terminate()
|
||||||
|
|
||||||
# Wait until process 2 finish
|
# Wait until process 2 finish
|
||||||
|
@ -64,3 +81,5 @@ class Downloader:
|
||||||
print('\x1b[?25h')
|
print('\x1b[?25h')
|
||||||
else:
|
else:
|
||||||
self.wget()
|
self.wget()
|
||||||
|
|
||||||
|
self.check_if_downloaded()
|
||||||
|
|
Loading…
Reference in a new issue