¿se puede extraer un paquete deb de el cd de Trisquel7?

11 respostas [Última entrada]
loas-335
Desconectado
Joined: 06/19/2014

Lo que pasa que por una y otra razón he decidido quedarme con Trisquel 6.0.1 pero he tenido problemas en cuanto a que para poder tener la última versión de libmpt9 tengo que recurrir a ppa`s de terceros lo cual preferiría mejor obtenerlos desde alguna parte de Trisquel y comprobar su autenticidad con la llave 8D8AEBF1.¿Se puede extraer desde el cd o iso de Trisquel 7 o solo puede hacerse bajando ese iso Source que pesa 3 GB`s?
Eso es todo,muy buen S.O
:)

Ark74

I am a member!

I am a translator!

Desconectado
Joined: 07/15/2009

Es un poco más complicado que solo "jalar" los paquetes más actualizados de otra versión ya que muchas aplicaciones tienen dependencias en otras bibliotecas y ahí es donde se define si es factible o no.

Revisa las dependencias de libmtp9 aquí, en caso de ser compatibles las versiones nuevas con las actuales en trisquel 6, necesitarás compilar.

En ciertos casos la compilación tampoco es una opción ya que puede requerir actualizaciones en las bibliotecas principales como GTK y básicamente tendrías que recompilar casi toda la distro :-/

Por ello es que un PPA es muchas veces lo más sencillo, sin embargo apoyo el que busques alternativas más confiables.

Saludos :)

Ark74

I am a member!

I am a translator!

Desconectado
Joined: 07/15/2009

Le di una segunda revisión a este tema y efectivamente se puede hacer al backport de libmtp9 (belenos) a toutatis.

He creado los paquetes para x86 (versión que uso) y funcionan correctamente, incluso agregue el soporte para el teléfono Moto G XT 1032, que no viene por default.

:) un PPA menos a la lista.

#MeQuedoConToutatis

loas-335
Desconectado
Joined: 06/19/2014

Que bien me alegro por ello,en cuanto a lo de crear paquetes¿me podrías decir como lo hiciste o algún manual bueno que recomiendes?Me ayudaria mucho y a los que vayan a leer esto también.
Eso,saludos :)

Lightmoon

I am a member!

Desconectado
Joined: 12/16/2013

Me uno a la propuesta. :D

Ark74

I am a member!

I am a translator!

Desconectado
Joined: 07/15/2009

Claro.

Primero que nada quisiera dejar bien en claro que no soy un desarrollador de software, solo un usuario que lee mucho y experimenta aun más, así que el procedimiento que estoy por describir no espero que sea "correcto" sin embargo creo es lo más apegado y funciona bien.

Así que tampoco me puedo hacer responsable si tu equipo se prende en llamas y con ello tu casa dejándote sin hogar a ti y/o a tus mascotas por seguir estos pasos, sin embargo no creo que eso suceda, considero que lo peor que puede pasar es que aprendas algo nuevo :).

Bueno, he portado previamente algunos paquetes como squid y file-roller en caso de que gustes leer los artículos.

Comenzamos,

1. Preparación del sistema e información del paquete

Para este procedimiento, como todo proceso de desarrollo es recomendable que el equipo este completamente actualizado y así mismo necesitamos la suite de desarrollo, build-essential

sudo apt-get update ; sudo apt-get upgrade ; sudo apt-get -y install build-essential

Necesitamos la información al respecto del paquete que queremos portar a toutatis de belenos, este caso libmtp9
En esta página encontraremos lo necesario para poder armar nuestro paquete.

2. Validar dependencias

Segundo y muy importante, revisamos que las dependencias se cumplan, todas ellas, el archivo *.dsc (primer archivo de la segunda lista de viñetas en el lado derecho) te brinda esa información en la sección Build-Depends:, para el caso de libmtp9 es,

Build-Depends: autoconf, automake, chrpath, debhelper (>= 9), dh-autoreconf, docbook-xsl, doxygen, dpkg-dev (>= 1.13.19), libgcrypt11-dev, libusb-1.0-0-dev [linux-any], libusb-dev [!linux-any], lsb-release, pkg-config, xsltproc

En algunos paquetes pide que el programa sea >= (mayor o igual) a determinada versión, un simple

apt-cache show nombre_del_paquete_a_corroborar

te dará la información para corroborar.

En este caso, como lo mencioné todo se cumple, por lo que un simple,

sudo apt-get -y install autoconf automake chrpath debhelper dh-autoreconf docbook-xsl doxygen dpkg-dev libgcrypt11-dev libusb-1.0-0-dev libusb-dev lsb-release pkg-config xsltproc

instalará los paquetes necesarios.

3. Obtener código

En lo personal me gusta designar una carpeta para construir paquetes y no tener código volando entre mis archivos,

mkdir ~/build ; cd ~/build

lo que creará la carpeta build en tu carpeta personal, /home/nombre_de_usuario/build, la versión corta es ~/bluid y te llevará dentro de esa carpeta.

a continuación descargamos el código fuente del paquete en la versión belenos y las adaptaciones por los "mantenedores" de debian/ubuntu del paquete original. Básicamente son los 3 archivos mostrados en la parte derecha,

  • .dsc
  • .tar.gz
  • .tar.gz
wget http://archive.trisquel.info/trisquel/pool/main/libm/libmtp/libmtp_1.1.6-20-g1b9f164-1ubuntu2.dsc http://archive.trisquel.info/trisquel/pool/main/libm/libmtp/libmtp_1.1.6-20-g1b9f164.orig.tar.gz http://archive.trisquel.info/trisquel/pool/main/libm/libmtp/libmtp_1.1.6-20-g1b9f164-1ubuntu2.debian.tar.gz

y descomprimimos aplicando los cambios.

dpkg-source -x libmtp_1.1.6-20-g1b9f164-1ubuntu2.dsc

Creando la carpeta con el código a compilar, en este caso se llama libmtp-1.1.6-20-g1b9f164, entramos en ella

cd libmtp-1.1.6-20-g1b9f164

4.Modificaciones especiales

En ciertos casos, es posible que quieras aprovechar para añadir, adaptar, habilitar una característica que no es habilitada por default, fue el caso de agregar el soporte al Moto G.

nano src/music-players.h

y agrego

{ "Motorola", 0x22b8, "Moto G (XT1032)", 0x2e82,  DEVICE_FLAGS_ANDROID_BUGS },

como se muestra en éste artículo, guardo cambios y cierro.

Nota importante: En este paso es necesario que sepas que estas haciendo, si no lo sabes, mejor evita tocar una letra del código o podrías causar las llamas de las que hablamos anteriormente.

5. Compilamos

Listo una vez que ya tenemos todos los paso anteriores y estamos dentro de la carpeta del código fuente (p.e. libmtp-1.1.6-20-g1b9f164)

solo debemos de compilar ;)

dpkg-buildpackage -rfakeroot -b

Y aquí es donde sucede la magia, dependiendo de que programa compilas puede tomar minutos a horas, bueno también depende del poder de tu ordenador.

Una vez terminado el proceso, deberás de tener los .deb portados del paquete en cuestión en la carpeta superior (~/build)

Al compilar libmtp9 obtenemos varios paquetes, para no errar yo he instalado todos (por favor observa que yo uso la versión i386/x86, en tu caso puede variar),

cd ~/build ; \
sudo dpkg -i libmtp9_1.1.6-20-g1b9f164-1ubuntu2_i386.deb libmtp-common_1.1.6-20-g1b9f164-1ubuntu2_all.deb libmtp-dbg_1.1.6-20-g1b9f164-1ubuntu2_i386.deb libmtp-dev_1.1.6-20-g1b9f164-1ubuntu2_i386.deb libmtp-doc_1.1.6-20-g1b9f164-1ubuntu2_all.deb libmtp-runtime_1.1.6-20-g1b9f164-1ubuntu2_i386.deb mtp-tools_1.1.6-20-g1b9f164-1ubuntu2_i386.deb

Y listo, con ello estarás instalando la versión libmtp9 portada de Belenos a Toutatis.

Fue un poco larga esta entrada y sin embargo espero haya sido sencilla de seguir.

Adicionalmente, dejo los binarios para x86/i386 a disposición bajo la siguiente dirección (temporalmente) hasta que los ponga en un lugar más "ordenado",

wget http://ark.switnet.org/tmp/libmtp9_1.1.6-20-g1b9f164-1ubuntu2_i386.deb \
http://ark.switnet.org/tmp/libmtp-common_1.1.6-20-g1b9f164-1ubuntu2_all.deb \
http://ark.switnet.org/tmp/libmtp-dbg_1.1.6-20-g1b9f164-1ubuntu2_i386.deb \
http://ark.switnet.org/tmp/libmtp-dev_1.1.6-20-g1b9f164-1ubuntu2_i386.deb \
http://ark.switnet.org/tmp/libmtp-doc_1.1.6-20-g1b9f164-1ubuntu2_all.deb \
http://ark.switnet.org/tmp/libmtp-runtime_1.1.6-20-g1b9f164-1ubuntu2_i386.deb \
http://ark.switnet.org/tmp/mtp-tools_1.1.6-20-g1b9f164-1ubuntu2_i386.deb

Fructíferas compilaciones y happy hacking.
Saludos.

Ark74

I am a member!

I am a translator!

Desconectado
Joined: 07/15/2009

Estoy probando esta mejora sobre instalaciones limpias y noté que olvidé un detalle importante.

Es que libmtp9 no es único paquete que necesitamos para administrar dispositivos MTP, estamos pasando por alto gvfs el sistema de archivos virtual de GNOME, el programa que nos permite interactuar con los archivos desde Nautilus.

El backend gvfs-mtp no existe para la versión disponible en Totutatis y no podemos portar la versión más reciente disponible en Belenos ya que requiere bibliotecas gtk superiores.

Por lo que Philip Langdale, adaptó la versión "vieja" de gvfs para soportar el protocolo mtp, que solo se encontraría disponible en versiones recientes de gvfs, ¿me siguen?

Por lo que si queremos tener el soporte MTP completo necesitamos también compilar gvfs publicado por Philip Langdale[1,2,3] con el mismo procedimiento anterior...

...o usar el PPA ¬_¬!

[1] https://launchpad.net/~langdalepl/+archive/ubuntu/gvfs-mtp/+files/gvfs_1.12.1-0ubuntu1.2ppa8~precise3.dsc
[2] https://launchpad.net/~langdalepl/+archive/ubuntu/gvfs-mtp/+files/gvfs_1.12.1-0ubuntu1.2ppa8~precise3.debian.tar.gz
[3] https://launchpad.net/~langdalepl/+archive/ubuntu/gvfs-mtp/+files/gvfs_1.12.1.orig.tar.xz

Pendientes.

loas-335
Desconectado
Joined: 06/19/2014

hmm eso significa que si bajo libmtp9 de la página de Trisquel lo compilo y todo,solo podré usar sus funciones desde la pura terminal? O_o :O

Ark74

I am a member!

I am a translator!

Desconectado
Joined: 07/15/2009

Nope!

Ya que para que puedas manejar los archivos desde la terminal y/o la interfaz gráfica necesita montarse un sistema de archivos, de ahí gvfs.

Piénsalo de esta manera, es como una USB que si es reconocida a nivel de hardware, pero no esta montada en un sistema de archivos. Por ello no puedes acceder y/o modificar el contenido.

Ark74

I am a member!

I am a translator!

Desconectado
Joined: 07/15/2009

Dado que compilar una y otra vez así como distribuir en toda una red puede resultar tedioso para hacerlo una y otra vez.

He creado un repositorio desde el cual puedes encontrar los paquetes que hemos discutido en este hilo.

Es tanto experimental como para el uso de los equipos que administro, agradecería el feedback.

Saludos y estamos pendientes.

dcapeletti
Desconectado
Joined: 04/03/2014

Hola, para extraer los paquetes desde un CD-ROM, te vas al Gestor de Paquetes Synaptic, te vas a la pestaña Editar->Añadir CD-ROM.
Luego buscas los paquetes del CD-ROM y lo marcas para instalar. Ahora te vas al menú Archivo-Generar Script de descarga de paquetes. Guardas el script en donde quieras, y cuando haces doble click sobre el script, los paquetes comenzaran a descargarse con las dependencias que necesita.
Esto es útil cuando tenemos un equipo sin conexión a internet y queremos instalar software. Simplemente llevas los paquetes descargados y los instalas con: sudo dpkg -i *.deb
Para comprobar que no hay dependencias rotas, ejecutas: sudo apt-get -f install
Espero que te sirva.

Sds

loas-335
Desconectado
Joined: 06/19/2014

En cuanto a lo del feedback...todo bien por ahora
Gracias por subir el repo
Saludos :)