Instalé el programa (lo llamo, por ejemplo progA
) construyéndolo desde el código fuente, y luego finalmente llamé sudo make install
y sudo ldconfig
.
Sin embargo, parece que apt-get
no ha recibido el memo, porque al instalarlo progB
, que depende de progA
, apt-get
recomienda que también lo instale progA
. ¿Por qué es esto y qué puedo hacer?
apt
package-management
make
Braiam
fuente
fuente
progB
manualmente ...Respuestas:
TL; DR
checkinstall
es tu amigo ;)Después de una instalación con
sudo make install
su administrador de paquetes no sabe absolutamente nada acerca de esta instalación. Pero sabe todo sobre un paquete con el mismo nombre en los repositorios de Ubuntu o en un PPA.Use en
sudo checkinstall
lugar desudo make install
y use una versión superior como la versión en el repositorio para asegurarse de que su administrador de paquetes acepta esta versión como dependencia correctaProgB
.Más información:
checkinstall
es realmente ingenioso, ya que sigue lomake install
que haría el comando, para descubrir cómo construir un paquete.Esto significa que si instala un programa usando
make install
, pero luego quiere arrepentirse por sus pecados, todo lo que tiene que hacer essudo checkinstall -D make install
, y ese comando:siga
make install
para descubrir qué hacecopy-cat
make install
, excepto en el paquete * .debinstalar desde el paquete (exactamente como lo
make install
habría hecho, dado el punto 1)) excepto también informar alapt-get
respecto, y así sobrescribir todos los archivos exactamente donde losmake install
habría colocado siempre que elija SÍ para incluir los archivos colocadosmake install
en el directorio de inicio en el paquete también: un par de opciones durante elcheckinstall
proceso le permitirán elegir (obviamente, la opción está ahí para que pueda ejercerla caso por caso)Bonificación: también puede eliminar un paquete (llamarlo de
progA
nuevo) instalado usandomake install
que las odas no tienenmake uninstall
soporte siguiendo elcheckinstall
proceso descrito hasta ahora, y luego simplemente haciendo:fuente
checkinstall
- ¡EL MUNDO necesita saber sobre esto!Tres opciones:
crear un paquete falso para
progA
: ¿Cómo falsificar una versión de paquete instalada? (hay un extenso ejemplo para TeXlive) .crear un paquete para
progA
, más fácil si tiene unacheckinstall
opción: ¿Cómo engañar a las dependencias apt?Construir también a
progB
partir de fuentes.fuente
progA
compilada e instálelaapt-get
. 5. Instale elapt-get
paquete sobre la versión compilada y espere lo mejor.Recomiendo usar
uupdate
desdedevscripts
y compilar el paquete como el original fue compilado antes.Instalar paquetes requeridos
Descargue el paquete anterior del repositorio oficial (se usará
MediaWiki
como ejemplo) y el nuevo tar-ball de upstream.Ejecutar
uupdate
para crear una nueva carpeta de origen desde el tar-ball ascendente y el viejodebian/control
Ahora debe verificar si necesita hacer cambios en los
debian/control
archivos, etc. Si ha terminado, puede compilar el paquete deb e instalarlofuente