Peek: Agregue un vistazo a un PPA

Creado en 31 ago. 2016  ·  32Comentarios  ·  Fuente: phw/peek

Esto nos permitiría actualizar Peek sin tener que volver a descargar su instalador deb en cada versión.

help wanted packaging

Comentario más útil

Ok, estamos llegando a algún lugar :) Finalmente comencé a poner esto en marcha, ahora hay un PPA de compilación diario en:

https://code.launchpad.net/~peek-developers/+archive/ubuntu/daily

El código se crea con esta receta: https://code.launchpad.net/~peek-developers/+recipe/peek-daily
La información del paquete está en realidad en una rama huérfana en el repositorio principal de Peek git, consulte https://github.com/phw/peek/tree/debian-packaging

Agradecería si alguien pudiera echar un vistazo a esto y darme algunos comentarios, ya que ha pasado mucho tiempo desde que jugué con el empaquetado de Debian y los PPA de Launchpad, y la interfaz de usuario de Launchpad es horrible.

Todos 32 comentarios

Absolutamente, me gustaría mucho ver esto. Pero al menos por el momento no es realista que pueda mantener el PPA y mantenerlo actualizado, así que necesitaría ayuda aquí. Si alguien puede configurar esto, sería increíble :)

¿Es posible verificar si se ha lanzado una nueva versión? Es una buena idea ver cuándo se lanza algo nuevo y creo que es posible ejecutar algo como 'dpkg -i' para instalarlo.

Sí, de hecho, puede navegar por esta página para ver las últimas versiones: Versiones . ¡Incluso hay un feed de átomos que puedes ver!

Y la próxima versión de Peek le dará un parámetro de línea de comando "--version", para que pueda comparar fácilmente su versión local.

¿Podría sugerir saltear la etapa de PPA y pasar directamente a empaquetar con Snappy (con un DEB probablemente desactualizado en los repositorios oficiales para aquellos que lo deseen)? Creo que uno de los puntos de Snappy es terminar con la necesidad de que las personas tengan que agregar muchos PPA para mantener los paquetes actualizados más que los repositorios predeterminados. Todo lo que tiene que hacer es hacer un Snap y luego subirlo a la tienda oficial y listo, los usuarios de Ubuntu (así como los usuarios de Arch y Debian Unstable, y los usuarios de Fedora, Gentoo y OpenSUSE con el repositorio Snappy habilitado) tienen actualizado fecha Peek. No creo que sea demasiado difícil mantener actualizado un Snap una vez creado.

¿Qué tal una AppImage ?
He subido uno experimental a
https://bintray.com/probono/AppImages/Peek/_latestVersion#files
Simplemente descargue AppImage, hágala ejecutable y ejecútela. El GIF a continuación se hizo con él :-)

Debe ejecutarse en distribuciones de 2014 o posteriores.
Se esperan algunos bordes ásperos, es posible que sea necesario probar y pulir.

makeexec

@phw, avíseme si está interesado en esto. Si es así, puedo extender su .travis.yml para que se produzca una AppImage nueva y continua en cada compilación. (La AppImage anterior se hizo a partir de debs usando esta receta , pero tengo entendido que está buscando algo más "ágil").

¡ Buen trabajo

Eché un vistazo a intentar obtener Spotify Web Player para Linux (otra aplicación de FOSS) incluido en un Snap, pero podría ser más trabajo de lo que pensaba para ajustar aplicaciones ... excelente AppImage es muy fácil

@ Ads20000 Compruebe AppImageUpdate .

@probonopd Eso es bueno, pero eso no parece muy automático (después de todo, está descentralizado). Me gusta bastante el sistema Snappy donde, aunque la tienda predeterminada es Ubuntu (lo que la hace bastante centralizada), es posible configurar una tienda de aplicaciones alternativa.

¡Oh, eres el creador / mantenedor de AppImageKit, no me di cuenta! Bueno, como digo, la actualización automática adecuada creo que probablemente sea necesaria si desea que se convierta en el formato dominante. ¿También la capacidad de usar bibliotecas que ya están en el sistema o en otras AppImages (solo si son de la misma versión) para reducir el tamaño del archivo? Si pudieran ser inteligentes y usar partes de bibliotecas en otras versiones que son iguales, entonces sería aún mejor.

Gracias @probonopd por esa AppImage. La receta parece bastante simple y es fácil de ejecutar. Desafortunadamente, esa AppImage que hizo no se ejecuta en mi instalación de Arch y al ejecutarla falla con:

$ ./Peek-0.7.2.glibc2.14-x86_64.AppImage 
/tmp/.mount_GvkHNy/usr/bin/peek: symbol lookup error: /usr/lib/libpangoft2-1.0.so.0: undefined symbol: hb_buffer_set_cluster_level

De lo contrario, me gusta la idea, también de construirlo automáticamente con travis. ¿Sería posible ofrecer también uno de 32 bits (probablemente requiera que mire la compilación cruzada de 32 bits, algo que he evitado hasta ahora)? Si pudiera proporcionar una solicitud de extracción para esto, sería genial.

Mi principal problema con todos los empaques es que no quiero hacerlo yo mismo y que debería hacer un mínimo de esfuerzo al lanzarlo, ya que de todos modos tengo problemas para encontrar el tiempo para el desarrollo. Tener un PPA al menos habría sido algo que sé cómo hacer, pero como no uso Ubuntu, es difícil estar al día con todas las versiones diferentes (lo sé, ya que estoy manteniendo el PPA para otro proyecto y tienen que buscar errores de compilación extraños con frecuencia cuando hay nuevas versiones de Ubuntu disponibles).

Las imágenes rápidas suenan interesantes, pero para mí (a pesar de todas las afirmaciones) son muy específicas de Ubuntu. Por ejemplo, no veo ninguna otra "tienda de aplicaciones" a pesar de la de Ubuntu. Si alguien quiere mantener un paquete de este tipo, estoy de acuerdo, pero por las razones anteriores no seré yo.

Otra opción sería Flatpak, que personalmente encuentro más interesante que Snappy, sobre todo por su integración en Gnome Software.

Sí, estoy de acuerdo @phw, ese es probablemente el mayor problema de Snappy, a pesar de los esfuerzos de Ubuntu, sigue siendo, curiosamente, demasiado Ubuntu-y.

También creo que el propósito de estos nuevos esfuerzos fue intentar hacerlos sistemas de empaque universales lo suficientemente fáciles para que los propios desarrolladores pudieran empaquetar y eliminar al intermediario, pero supongo que si realmente no tienes el tiempo para empaquetar, entonces eso puede ' ser ayudado.

@phw no está 100% seguro, pero undefined symbol: hb_buffer_set_cluster_level parece un problema con su sistema base; ver http://unix.stackexchange.com/questions/235012/problem-with-gtk-application-s

De lo contrario, me gusta la idea, también de construirlo automáticamente con travis.

Si desea seguir esta ruta, no necesita un paquete deb para producir una AppImage. Ejemplos:
https://github.com/search?q=%22Package+the+binaries+built+on+Travis-CI+as+an+AppImage%22&type=Code&utf8=%E2%9C%93

¿Sería posible ofrecer también uno de 32 bits (probablemente requiera que mire la compilación cruzada de 32 bits, algo que he evitado hasta ahora)? Si pudiera proporcionar una solicitud de extracción para esto, sería genial.

No he investigado mucho esta área, pero definitivamente es factible; el proyecto MuseScore proporciona AppImages para x86_64, i686 y armhf (por ejemplo, Raspberry Pi).

Mi principal problema con todos los envases es que no quiero hacerlo yo mismo y que debería hacer un mínimo de esfuerzo al lanzarlo.

AppImage está hecha con este caso de uso en mente ... :)

Tener un PPA al menos habría sido algo que sé hacer

Luego, puede usar algo como la receta que publiqué anteriormente para convertir debs en el ppa (idealmente confiable o más antiguo) en una AppImage casi automáticamente.

Tener un PPA al menos habría sido algo que sé hacer

Luego, puede usar algo como la receta que publiqué anteriormente para convertir debs en el ppa (idealmente confiable o más antiguo) en una AppImage casi automáticamente.

Ese también es un posible plan para tener la compilación de 32 bits. Probablemente sea más fácil configurar el PPA (obtener compilaciones de 32 bits gratis) que agregar la compilación cruzada a la compilación de CMake.

@phw no está 100% seguro pero símbolo indefinido: hb_buffer_set_cluster_level parece un problema con su sistema base; ver http://unix.stackexchange.com/questions/235012/problem-with-gtk-application-s

Prefiero sospechar que hay algún problema con las bibliotecas en las que se creó esto, ya que tengo versiones muy recientes y, por lo general, sin modificar de todas las bibliotecas de mi sistema. Mi apuesta es a menudo que suceda algún parche de Debian / Ubuntu :)

De su receta, no me queda del todo claro cómo y de dónde se obtienen los binarios de Peek para AppImage. ¿Es algo especificado al crear la AppImage final a partir de la receta?

De su receta, no me queda del todo claro cómo y de dónde se obtienen los binarios de Peek para AppImage. ¿Es algo especificado al crear la AppImage final a partir de la receta?

El script que ejecuta la receta está en https://github.com/probonopd/AppImages/blob/master/recipes/meta/Recipe

¿Qué pasa con este repositorio de Ubuntu OBS ? ¿Quién lo mantiene y es "oficial"? Me comuniqué con Andrew de

Creo que ese es el mencionado por el usuario en:
http://www.omgubuntu.co.uk/2016/08/peek-desktop-gif-screen-recorder-linux#comment -2894366969

No parece que quiera administrarlo, pero podría pedirle que me dé acceso o al menos la configuración utilizada. OBS tendría la ventaja de que también podría construirse para otros sistemas. Por otro lado, encontré que OBS era un poco desagradable de usar la última vez que lo intenté.

Depende de usted decidir. Como dije, si prefiere un PPA, Andrew puede ayudar ;-)

@phw

Puedo echar un vistazo a mi propio PPA. Pero para hacerlo correctamente, debe configurarlo correctamente en Launchpad para que no tenga que mantenerlo. Se compilará automáticamente cuando detecte nuevos cambios.

1. Primero cree un nuevo proyecto en Launchpad llamado "Peek" . Cree un PPA (llamado "peek-daily") bajo el proyecto.

  1. En proyecto-> código, seleccione importar. Seleccione el destino y la fuente como git. Dé un nombre a la rama principal (por ejemplo: troncal ). Obviamente, el propietario debe ser usted mismo

  2. setup1

  3. Cree un nuevo repositorio "Peek-Packaging" en GitHub que debe contener solo la carpeta debian (puede copiar desde el repositorio de OBS)

  4. Importe el repositorio de empaquetado de la misma manera que el repositorio principal. Dar cualquier nombre durante la importación como "debian-packaging"

  5. Vaya a Proyecto (es decir, peek) -> código-> ver repositorios de git. Haga clic en lp:~USERNAME/kee/+git/trunk . Luego haga clic en create a packaging recipe .

  6. Dale un nombre a la receta. Seleccione su propio PPA y verifique la serie de distribución. (picante, xenial ... etc)

  7. Ahora el contenido de la receta. Debe tener un aspecto como este:

# git-build-recipe format 0.4 deb-version {debupstream}+{time}
lp:~USERNAME/keep/+git/trunk master
nest-part packaging lp:~USERNAME/keep/+git/debian-packaging debian debian master
  1. Guárdelo y haga clic en "Solicitar compilación". ¡Comenzará a construir tu código! Para ver si hay errores, consulte los registros de compilación. No se confunda con el nombre "build-daily". Solo se compila cuando detecta cambios en el repositorio principal o de empaquetado.

  2. ¡HECHO!

Solo importará la rama maestra. Puede utilizar una rama separada para las versiones. Durante la creación de la receta, puede usar esa rama en particular en lugar de la troncal.

Ok, estamos llegando a algún lugar :) Finalmente comencé a poner esto en marcha, ahora hay un PPA de compilación diario en:

https://code.launchpad.net/~peek-developers/+archive/ubuntu/daily

El código se crea con esta receta: https://code.launchpad.net/~peek-developers/+recipe/peek-daily
La información del paquete está en realidad en una rama huérfana en el repositorio principal de Peek git, consulte https://github.com/phw/peek/tree/debian-packaging

Agradecería si alguien pudiera echar un vistazo a esto y darme algunos comentarios, ya que ha pasado mucho tiempo desde que jugué con el empaquetado de Debian y los PPA de Launchpad, y la interfaz de usuario de Launchpad es horrible.

@phw desde donde me siento, esto es realmente sencillo y funciona bien. Gracias.

$ sudo add-apt-repository ppa:peek-developers/daily
[sudo] password for anavarre: 
 Daily builds for the Peek animated GIF recorder
 More info: https://launchpad.net/~peek-developers/+archive/ubuntu/daily
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmp_lh3fua0/secring.gpg' created
gpg: keyring `/tmp/tmp_lh3fua0/pubring.gpg' created
gpg: requesting key 76BAFBC6 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmp_lh3fua0/trustdb.gpg: trustdb created
gpg: key 76BAFBC6: public key "Launchpad PPA for Peek Developers" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK
$ sudo apt-get update
(snipped)
Fetched 2,348 kB in 2s (990 kB/s)
Reading package lists... Done
$ sudo apt-cache search ^peek
peek - create animated GIF screencasts
$ sudo apt-get install peek
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  peek
0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded.
Need to get 63.5 kB of archives.
After this operation, 263 kB of additional disk space will be used.
Get:1 http://ppa.launchpad.net/peek-developers/daily/ubuntu xenial/main amd64 peek amd64 0.8.0-0~ppa201702141228~ubuntu16.04.1 [63.5 kB]
Fetched 63.5 kB in 0s (260 kB/s)
Selecting previously unselected package peek.
(Reading database ... 270537 files and directories currently installed.)
Preparing to unpack .../peek_0.8.0-0~ppa201702141228~ubuntu16.04.1_amd64.deb ...
Unpacking peek (0.8.0-0~ppa201702141228~ubuntu16.04.1) ...
Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20160824-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu5) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Processing triggers for libglib2.0-0:i386 (2.48.2-0ubuntu1) ...
Processing triggers for libglib2.0-0:amd64 (2.48.2-0ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.15-0ubuntu1) ...
Setting up peek (0.8.0-0~ppa201702141228~ubuntu16.04.1) ...

@phw Funciona maravillosamente bien. Gracias.

@phw ¿sería posible agregar confiables y / o precisos al ppa?
Gracias.

@probonopd Trusty está fallando actualmente debido a la versión GTK, pero quiero reducir la versión requerida de todos modos, vea el # 54.

Si eso corrige la compilación también para Precise, dejaré que también se compile allí. De lo contrario, no me molestaré con Precise ya que su fin de vida es inminente.

De acuerdo

@probonopd Traté de conseguir este trabajo para Trust, pero he decidido que no habrá compilaciones para trusty, Peek está usando demasiadas funciones que no están disponibles en Gtk 3.10 y las versiones glib y gio que trusty proporciona y requerirían soluciones alternativas o conseguir discapacitados, y esto será demasiado para mí.

@probonopd ¿Hay alguna forma de solucionar esto con AppImage o Peek está demasiado integrado con el resto del sistema para que eso sea posible (es decir, si incluiste tu propio GTK en AppImage y / o yo lo hice en Snap, entonces? ¿podría funcionar?)

Editar: Sí, ¿dijiste que tienes esto funcionando en distribuciones de 2014+?

@ Ads20000 quien

@probonopd No, quise decir, ¿podría Peek

@ Ads20000 Sí, siempre que la versión más reciente de GTK (que 3.10) se compile en una distribución anterior.

Ok, esto parece funcionar ahora. He actualizado el archivo README.

Ahora hay dos PPA, uno con compilaciones diarias y otro para versiones estables:

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

Art-2 picture Art-2  ·  6Comentarios

fbruetting picture fbruetting  ·  3Comentarios

CasperHK picture CasperHK  ·  5Comentarios

msongz picture msongz  ·  7Comentarios

fbruetting picture fbruetting  ·  6Comentarios