mirror of
https://gitlab.com/dslackw/slpkg.git
synced 2024-12-29 10:26:12 +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
|
||||
Updated:
|
||||
- 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/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-fr.1 $PKG/usr/man/fr/man1/slpkg.1
|
||||
|
||||
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
|
||||
|
|
|
@ -39,7 +39,7 @@ class Dependees:
|
|||
print(f'{self.byellow}{pkg}{self.endc}')
|
||||
print(f' {self.llc}{self.hl}', end='')
|
||||
if not dependees:
|
||||
print(f'{self.cyan}No dependees{self.endc}')
|
||||
print(f'{self.cyan} No dependees{self.endc}')
|
||||
|
||||
sp = ' ' * 4
|
||||
for i, dep in enumerate(dependees, start=1):
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
#!/usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import time
|
||||
|
||||
from slpkg.configs import Configs
|
||||
from slpkg.queries import SBoQueries
|
||||
from slpkg.utilities import Utilities
|
||||
from slpkg.downloader import Downloader
|
||||
from slpkg.views.views import ViewMessage
|
||||
from slpkg.models.models import session as Session
|
||||
|
@ -15,6 +18,7 @@ class Download:
|
|||
self.flags: list = flags
|
||||
self.configs = Configs
|
||||
self.session = Session
|
||||
self.utils = Utilities()
|
||||
|
||||
def packages(self, slackbuilds: list):
|
||||
""" Download the package only. """
|
||||
|
@ -22,6 +26,7 @@ class Download:
|
|||
view.download_packages(slackbuilds)
|
||||
view.question()
|
||||
|
||||
start = time.time()
|
||||
for sbo in slackbuilds:
|
||||
file = f'{sbo}{self.configs.sbo_tar_suffix}'
|
||||
location = SBoQueries(sbo).location()
|
||||
|
@ -34,3 +39,6 @@ class Download:
|
|||
for source in sources:
|
||||
down_source = Downloader(self.configs.download_only, source)
|
||||
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.green = self.color['green']
|
||||
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.byellow = f'{self.bold}{self.yellow}'
|
||||
self.bred = f'{self.bold}{self.red}'
|
||||
self.progress = ProgressBar()
|
||||
self.stderr = None
|
||||
self.stdout = None
|
||||
|
||||
def wget(self):
|
||||
""" Wget downloader. """
|
||||
subprocess.call(f'wget {self.configs.wget_options} --directory-prefix={self.path} {self.url}',
|
||||
shell=True, stderr=self.stderr, stdout=self.stdout)
|
||||
output = subprocess.call(f'wget {self.configs.wget_options} --directory-prefix={self.path} {self.url}',
|
||||
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):
|
||||
""" Starting multiprocessing download process. """
|
||||
if self.configs.view_mode == 'new':
|
||||
done = f' {self.byellow} Done{self.endc}'
|
||||
self.stderr = subprocess.DEVNULL
|
||||
self.stdout = subprocess.DEVNULL
|
||||
|
||||
|
@ -54,7 +68,10 @@ class Downloader:
|
|||
|
||||
# Terminate process 2 if process 1 finished
|
||||
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()
|
||||
|
||||
# Wait until process 2 finish
|
||||
|
@ -64,3 +81,5 @@ class Downloader:
|
|||
print('\x1b[?25h')
|
||||
else:
|
||||
self.wget()
|
||||
|
||||
self.check_if_downloaded()
|
||||
|
|
Loading…
Reference in a new issue