Mettre à jour un programme sans impacter la stabilité de la machine

Bonjour,

Quand je recherche Lazarus (IDE de dév’ en Pascal) dans Synaptic, j’y trouve une version 2.0.10 qui doit dater de juillet 2020, soit quasiment 2 ans.
Depuis, de l’eau est passée sous les ponts et plein de bugs ont été corrigés, ce qui serait profitable à tous ceux qui développent dans cet environnement.

La question est : comment dire à Synaptic/Apt/Dpkg/Other d’utiliser la dernière version, qui est sortie le 16 mai ?

De mon côté, j’ai bien vu qu’il existe 3 .deb (oui, il en faut 3 pour avoir l’environnement complet : FreePascal et ses sources, et Lazarus) et jusqu’à présent je me contentais d’un
dpkg -i fpc-laz*.deb fpc-src*.deb laz*.deb
dans le dossier où les fichiers sont rangés.

Mais est-ce la bonne manière de faire ?
Merci infiniment,

Si tu utilises Sid, demande carrément au développeur qui maintient le paquet (en utilisant reportbug→wishlist).

Mais c’est quoi, ça, Sid ? Ça fait 20 ans que je vois du Sid, et j’ai toujours trouvé cette manière d’appeler les choses complètement loufoque. Moi j’utilise une Debian 11.3 et voilà, c’est quand même plus parlant.

Ah, ça, ça me rappelle quand j’ai essayé d’utiliser cet outil qui a lamentablement foiré (pas intuitif du tout).

Y aurait pas moyen de mettre les 3 .deb dans un dossier et bricoler un sources.list pointant vers ce dossier puis

apt-get update
apt-get upgrade

Après, remise en place du sources.list courant. C’est pas possible, ça ?

Tu utilises Debian depuis 20 ans et tu ne sais pas qui est Sid ? :laughing:
Essaie de voir si le développeur de lazarus n’a pas un dépôt (dans ce cas, utilise sources.list).
Sinon, installe les paquets avec gdebi (il installe automatiquement les dépendances s’il les trouves), ça sera moins reloud qu’avec dpkg.

Ex-ac-te-ment !
Je n’ai jamais pu me faire à cette identification que je ne comprends pas.
Alors que je me souviens bien de la RedHat 7.2 de mes tous débuts fin 2001.
Ensuite je suis passé sous Debian, ça devait être une 4 point quelquechose, mais déjà ces noms que je n’ai jamais réussi à mémoriser m’ont hérissé au plus haut point.
Bah…

Ils mettent tout sur sourceforge, c’est là que je dl les .deb.

Bon, je vais me documenter sur ce gdebi.
Merci,

Ha oui 20 ans quand-même. Pas loufoque, mais juste de l’anglais
SID= Still in Developement = unstable

lazarus-2.2 présent dans bullseye-backports

Ah, très intéressant !
Plus qu’à attendre que la 2.2.2 soit proposée.

Mais je ne me souviens pas de comment qu’il faut modifier sources.list pour qu’il prenne ça en compte.

Après 20 ans d’utilisation de Debian, un oubli est toujours possible.

echo 'deb http://ftp.fr.debian.org/debian/ bullseye-backports main' | sudo tee -a /etc/apt/sources.list
sudo apt update
sudo apt install lazarus

un oubli est toujours possible, oui, car pendant 20 ans je n’ai pas fait que du Debian, il y a aussi eu du Windows, taf oblige, puis du jardinage, de l’électronique et du coding, beaucoup, et même si c’était depuis 10 ans sur du Debian, ce n’est pas comme si j’avais administré un parc avec des serveurs en raid et tout le toutim, :cowboy_hat_face:

Grand merci pour le coup de main, je testerai ça demain matin normalement (fait trop chaud, là…)

re-Bonjour,

j’ai regardé ton lien plus en détail, j’y ai surtout constaté que le fichier proposé pèse à peine 46 ko quand une distrib d’install Lazarus chez sourceforge annonce presque 195 Mo…

Bref, je le télécharge pour voir ce qu’il a dans les tripes et j’y trouve un fichier « control » qui contient :

Depends: lazarus-ide (>= 2.2.0+dfsg1-5~bpo11+1), lazarus-src-2.2 (>= 2.2.0+dfsg1-5~bpo11+1), lcl-2.2 (>= 2.2.0+dfsg1-5~bpo11+1)
Recommends: fpc, fpc-source, lazarus-doc-2.2

De la première ligne, suis-je en droit d’en déduire que le système va tout seul télécharger puis installer les paquets de la ligne « Depends » ? J’aurais tendance à (me) répondre « oui », mais quid de la ligne « Recommends » dont les paquets (sauf le doc) sont habituellement mandatory ?
Extrait de la page sourceforge :

You need to download and install all three packages fpc, fpc-src and lazarus.

Bref, je ne suis pas très confiant.
Et je n’ai pas de machine virtuelle prête pour faire le test.

Merci quand même.

J’en reviens à ma première idée :

Parce qu’in fine, le but de la manip, c’est juste de faire (pseudo-code simplifié)

for each .deb do
  for each new_file do
    if new_file != current_file then update_file else continue

Alors je sais bien que les dév’s ne se prennent pas la tête avec ces subtilités (on le voit bien avec les mises à jour de LO qui consistent à virer l’ancien et installer intégralement le nouveau, genre quand il faut faire la vidange de la bagnole on change carrément de bagnole), perso, je n’ai jamais trouvé ça sérieux.

Un dépôt de paquets ne contient pas que les paquets, il me semble.
Regarde le contenu d’un dépôt officiel de Debian.

Alors, petite précision, « still in developpement » est un rétroacronyme, en fait, Sid Phillips est le nom du fils du voisin qui fait des expériences extrêmes avec les jouets.

Quel fichier ? Si c’est un paquet, ça peut être normal s’il dépend d’autre paquets qui contiennent les autres éléments de la distribution Lazarus.

Exactement, il y a des index aussi, qui sont récupérés pour avoir la liste, la description, la version, les dépendances et d’autres informations dessus.

Ce message a été signalé par la communauté et est temporairement masqué.

Il est .
Tu ne fais que chercher des complications où il n’y a aucune.

Tu as dû me lire trop vite, je reprends :

en examinant le fichier « control » trouvé dans le .deb de ton lien, j’y trouve :

Tu noteras que j’ai posé deux questions, restées sans réponse.

Tu me juges mal : je ne cherche pas de complications, je cherche juste à ne pas mettre la pagaille en n’installant pas des fichiers qui sont nécessaires à l’environnement Lazarus et que apt se contente de recommander.

Si tu veux apprendre ce qu’est un paquet Debian, comment fonctionne apt, comment gérer les dépendances et recommends, ce n’est pas le sujet ici.
Va chercher tout ça dans une documentation pour apprendre le béaba d’apt.
On ne va pas faire un roman pour chaque commande ultra simple.

La méthode KISS que je n’ai proposée ne mettra aucune pagaille dans ton système.
Si la solution que je te propose ne te convient pas, tu peux repartir des sources et tout recompiler su tu préfères, et si tu ne fais pas confiance à Debian.
C’est ton choix.

1 J'aime

Bonjour jipete

Les paquets recommandé, tu as le choix, de les installer ou pas, après c’est à toi de voir si tu en as besoin.
Quand à sourceforge, ne crois-tu pas qu’il vaut mieux faire confiance, à debian, qu’a sourceforge ?
En tout cas moi personnellement, je ne fais aucune confiance à sourceforge, en ce qui concerne Linux !

Si le programme qui installe le paquet est prévu pour, il le fera, sinon, il ne le fera pas et tu pourras résoudre les dépendance avec un autre programme (comme apt install -f, par exemple).

Encore une fois « mandatory », je le remplace par « obligatoire » pour la compréhension de ta question.
Les paquets de la ligne « Recommends » ne sont pas obligatoire pour que le programme fonctionne, mais il assure des fonctionnalités qui sont jugées probablement indispensables pour l’utilisation du paquet.
Dans ton exemple, l’interpréteur Pascal et la documentation de l’IDE peuvent être absents, l’IDE fonctionne sans, mais il est assez probable que tu veuilles pouvoir lancer le code que tu produits avec l’IDE ou que tu veuilles consulter la documentation de l’IDE.
Les paquets Debian utilisent ces niveaux dans les dépendances pour laisser le choix de ce que tu veux faire, soit tu installes seulement ce qui est demandé, soit tu installes ce qui est généralement utilisé avec ce qui est demandé, parce que Debian est un système qui laisse le choix (que tu trouveras probablement absurde) d’utiliser un IDE pour Pascal sans interpréteur Pascal.

Précision: dans sa configuration par défaut, apt install les paquets recommends.
Pour empêcher l’installation des paquets recommends par défaut:

/etc/apt/apt.conf.d/50norecommends
APT::Install-Recommends "false";

2 J'aime