Supongo que todas las aplicaciones instaladas a través de apt-get
código abierto; pero para aquellos que están disponibles de esa manera, ¿dónde puedo obtener el código fuente de estas aplicaciones y actualizarlas?
Tengo un par de aplicaciones que uso regularmente que ya no se desarrollan activamente y me gustaría agregar funciones. ¿A dónde iría para obtener los derechos para actualizar estas aplicaciones?
En este caso específicamente, me estoy refiriendo al paquete hellanzb
apt-get
también admite programas de código cerrado, por lo que su suposición inicial es incorrecta.Respuestas:
Use el comando
apt-get source <package>
(no use sudo con él) para descargar la fuente de un paquete.De
man apt-get
:Para compilar un paquete desde el origen, primero instale las dependencias de compilación:
Luego, use
dpkg-buildpackage
para crear un.deb
archivo. De APT y Dpkg Hoja de referencia rápida :En una terminal,
cd
ingrese al directorio que contiene la fuente del paquete (por ejemplo~/code/hellanzb-0.13
) y ejecute el siguiente comando:Si la compilación es exitosa, habrá un
.deb
archivo ubicado en eldirectorio principal (por ejemplo
~/code/hellanzb_0.13-6.1_all.deb
).fuente
.deb
paquete a partir del código fuente. En cuanto a llevar su paquete modificado a los repositorios, debe hablar con una MOTU al respecto.sudo apt-get build-dep <package>
Instala las dependencias como binarios? Si es así, esta no es una compilación completa desde la fuente. ¿Cómo se hacen las dependencias de instalación de build-dep desde la fuente?En general, puede obtener el origen de un paquete instalado siguiendo este procedimiento:
Habilite los repositorios de origen. Abra el panel de control (botón superior izquierdo) y busque
sources
. Eso debería abrir elSoftware & Updates
programa, ejecutarlo y asegurarse de tener seleccionada la opción "Código fuente":Abra una terminal y ejecute este comando:
Eso descargará las fuentes de vlc a su directorio actual y podrá verlas cuando lo desee.
Por supuesto, en el caso de
vlc
, también puede descargarlos directamente del sitio web videolan.org: https://www.videolan.org/vlc/download-sources.htmlfuente
Puedes usar
apt-get source --compile
directamente:Trabajó para mi. El .deb termina en el directorio desde el que ejecutó el comando.
fuente
sudo dpkg -i <package>.deb
Para obtener más información sobre un paquete que incluye URL ascendente y contactos de proyecto / programa, puede consultar el archivo de copyright (referenciado en packages.debian.org ).
Cuando el paquete está incluido e instalado en su sistema, también puede leer el archivo de copyright directamente en
/usr/share/doc/$package_or_program_name/copyright
.¿ Ve cómo descargar el código fuente del paquete Debian? .
fuente
Ejemplo mínimo con el
hello
paqueteTodo esto y más se describe en: https://www.debian.org/doc/manuals/maint-guide/build.en.html
Primero obtengamos un paquete de muestra para modificar la fuente de:
salidas:
Ahora hackéelo. Obtén la fuente:
y abierto:
y modifique el mensaje para:
Luego haga lo mismo en la prueba; de lo contrario, la prueba molesta comenzará a fallar:
Luego reconstruir con:
Cerca del final de la salida, dice:
así que creó el .deb en el directorio padre, ¿cómo se atreve? Así que finalmente instalamos y probamos el paquete modificado:
y ahí lo tienes, emite el nuevo mensaje:
Probado en Ubuntu 18.04.
Vieja
bzr
respuestaTODO: este dejó de funcionar en Ubuntu 16.04 Xenial, en su defecto con:
bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/hello/".
.bzr branch lp:ubuntu/wily/hello
funciona ybzr branch lp:ubuntu/xenial/hello
falla nuevamente. Por alguna razón, https://code.launchpad.net/ubuntu/+source/hello no muestra Xenial: https://web.archive.org/save/https://code.launchpad.net/ubuntu/+source /HolaComo se menciona en https://askubuntu.com/a/81889/52975, también existe un enfoque específico de Ubuntu
bzr
.Consigue la versión más reciente:
Versión especifica:
También puedes usar
pull-lp-source
:Entonces podrás editarlo:
Reconstruirlo:
E instalarlo:
La guía de empaquetado de Ubuntu es una buena fuente de información.
fuente
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/".
Guía de empaquetado de Ubuntu , específicamente 4.2. Obtener la fuente dice:bzr branch ubuntu:lightdm lightdm.quickswitch bzr: ERROR: Not a branch: "bzr+ssh://bazaar.launchpad.net/+branch/ubuntu/lightdm/".
Qué desastre. :-(pull-lp-source
lugar, pero luego no obtenemos un repositorio bzr.bzr bd -- -b -us -uc
dicebzr: ERROR: Not a branch: "/org/gourichon/localdata/SG/projects/sysadmin/sysadmin_ergozel/2016/2016-08-15/blouarp/lightdm-1.18.3/".
: - / Gracias por cualquier pista.bzr lp:ubuntu/wily/hello
pero por alguna razón no hayxenial
versión? Y ninguno se muestra en: code.launchpad.net/ubuntu/+source/hello Go figure.