Je suppose que toutes les applications installées via apt-get
Open Source sont installées . mais pour ceux qui sont disponibles de cette manière, où puis-je obtenir le code source de ces applications et les mettre à jour?
J'ai quelques applications que j'utilise régulièrement et qui ne sont plus développées activement et j'aimerais ajouter des fonctionnalités. Où pourrais-je aller pour obtenir les droits de mise à jour de ces applications?
Dans ce cas précis, je fais référence au paquet hellanzb
apt-get
prend également en charge les programmes à source fermée, donc votre hypothèse initiale est incorrecte.Réponses:
Utilisez la commande
apt-get source <package>
(n'utilisez pas sudo avec elle) pour télécharger la source d'un paquet.De
man apt-get
:Pour construire un paquet à partir de la source, commencez par installer les dépendances de construction:
Puis utilisez
dpkg-buildpackage
pour créer un.deb
fichier. À partir des feuilles de référence rapide APT et Dpkg :Dans un terminal,
cd
dans le répertoire contenant la source du paquet (par exemple~/code/hellanzb-0.13
) et exécutez la commande suivante:Si la construction réussit, il y aura un
.deb
fichier situé dans lerépertoire parent (par exemple
~/code/hellanzb_0.13-6.1_all.deb
).la source
.deb
paquet à partir du code source. Pour ce qui est d’obtenir votre paquet modifié dans les référentiels, vous devriez en parler à une MOTU .sudo apt-get build-dep <package>
les dépendances sont installées en tant que binaires? Si c'est le cas, il ne s'agit pas d'une version complète à partir des sources. Comment créer des dépendances d'installation avec build-dep à partir des sources?En général, vous pouvez obtenir le source d'un paquet installé en suivant cette procédure:
Activer les référentiels sources. Ouvrez le tableau de bord (bouton en haut à gauche) et recherchez
sources
. Cela devrait afficher leSoftware & Updates
programme, l'exécuter et s'assurer que l'option "Code source" est sélectionnée:Ouvrez un terminal et lancez cette commande:
Cela téléchargera les sources de vlc dans votre répertoire actuel et vous pourrez les consulter à votre guise.
Bien sûr, dans le cas de
vlc
, vous pouvez également les télécharger directement depuis le site Web videolan.org: https://www.videolan.org/vlc/download-sources.htmlla source
Vous pouvez utiliser
apt-get source --compile
directement:Travaillé pour moi Le fichier .deb se termine dans le répertoire dans lequel vous avez exécuté la commande.
la source
sudo dpkg -i <package>.deb
Pour obtenir plus d'informations sur un paquet, y compris une URL en amont et des contacts de projets / programmes, vous pouvez consulter le fichier de copyright (référencé sur packages.debian.org ).
Lorsque le package est inclus et installé sur votre système, vous pouvez également lire le fichier de droits d'auteur directement à l'adresse
/usr/share/doc/$package_or_program_name/copyright
.Vous voyez comment télécharger le code source du paquet Debian? .
la source
Exemple minimal avec le
hello
packageTout cela et bien d’autres sont décrits à l’ adresse : https://www.debian.org/doc/manuals/maint-guide/build.en.html
Commençons par obtenir un exemple de package pour modifier le source pour:
les sorties:
Maintenant, piratons-le. Obtenir la source:
et ouvert:
et modifiez le message à:
Ensuite, faites de même pour le test, sinon le test ennuyeux commencera à échouer:
Puis reconstruire avec:
Vers la fin de la sortie, il est écrit:
donc il a créé le .deb sur le répertoire parent, comment osez-le. Alors finalement, nous installons et testons le paquet modifié:
et voilà, il envoie le nouveau message:
Testé sur Ubuntu 18.04.
Ancienne
bzr
réponseTODO: cela a cessé de travailler sur Ubuntu 16.04 Xenial, à défaut avec:
bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/hello/".
.bzr branch lp:ubuntu/wily/hello
fonctionne etbzr branch lp:ubuntu/xenial/hello
échoue à nouveau. Pour une raison quelconque, https://code.launchpad.net/ubuntu/+source/hello ne montre pas Xenial: https://web.archive.org/save/https://code.launchpad.net/ubuntu/+source /salutComme mentionné à l' adresse https://askubuntu.com/a/81889/52975, il existe également une approche spécifique à Ubuntu avec
bzr
.Obtenez la dernière version:
Version spécifique:
Vous pouvez également utiliser
pull-lp-source
:Ensuite, vous pourrez l'éditer:
Reconstruisez-le:
Et installez-le:
Le guide d’emballage Ubuntu est une bonne source d’information.
la source
bzr branch lp:ubuntu/hello bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/hello/".
bzr branch lp:ubuntu/xenial/lightdm bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/xenial/lightdm/".
Guide de l'emballage Ubuntu , en particulier 4.2. Obtenir la source dit:bzr branch ubuntu:lightdm lightdm.quickswitch bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/lightdm/".
Quel gâchis. :-(pull-lp-source
place, mais nous n'obtenons pas de référentiel bzr.bzr bd -- -b -us -uc
ditbzr: ERROR: Not a branch: "/org/gourichon/localdata/SG/projects/sysadmin/sysadmin_ergozel/2016/2016-08-15/blouarp/lightdm-1.18.3/".
: - / Merci pour tout indice.bzr lp:ubuntu/wily/hello
mais pour une raison quelconque, il n'y a pas dexenial
version? Et aucun ne montre sur: code.launchpad.net/ubuntu/+source/hello Go figure.