Publicado hace 14 años por piratux a elsoftwarelibre.wordpress.com

Ubucompilator es un sencillo compilador, licenciado bajo GPL v3, que nos va a permitir crear, configurar e instalar .debs partiendo de fuentes.

Comentarios

D

Es interesante, porque facilita el tema de la instalacción de programas no oficiales, que es la asignatura pendiente de Linux.

D

#1, no de todos.

AUR, yaourt, abs, makepkg... En Arch Linux está bastante resuelto.

D

#9 #10 Cuando prueben ArchLinux no querrán otra cosa

l

#16, evidentemente, nunca has compilado un paquete DEB. Y por cierto, me encanta la línea de comandos y no pienso usar esa mierda privativa de mac y windows.
#10, a veces Archlinux me da envidia con respecto a Debian o Ubuntu
#19, compilar el paquete .deb... compilar las fuentes es lo más fácil del mundo, pasarlas a paquete DEB ya es otra historia...

D

#1 "instalacción de programas no oficiales, que es la asignatura pendiente de Linux"

Pendiente, sí, de virus.

Que mira que es complicado instalar un virus en Linux, que primero hay que compilarlo. ¡Cambiemos eso!...

Patxi_

#1 para la instalación de programas no oficiales tienes los repositorios no oficiales de cada distribución. Hace años que personalmente no he tenido que hacer ningún ./configure...

Fingolfin

Aparte de añadir una GUI a algo similar a apt-src y dpkg-deb, no le veo nada de especial...

isilanes

Me quedo con la respuesta en #14 al comentario en #13: si has creado una aplicación nueva y que valga la pena, es difícil que generar un paquete para una distribución te resulte complicado.

Vaya por delante que apoyo (obviamente) la libertad de cualquiera a aportar al SL, y que todo apoyo es bienvenido. Pero dudo seriamente que, habiendo ~30k paquetes en Debian, los usuarios necesiten (como dice #13) otros 30k paquetes programados por gente a la que le cuesta leerse un manual para aprender a generar un paquete DEB con 4 (o 20 o 100) comandos. Perdón por mi excepticismo, pero no creo que tales paquetes vayan a merecer la pena.

Además, cualquiera sabe que el desarrollo "upstream" y el "empaquetado" son dos procesos muchas veces desligados: yo mantengo las fuentes de tal programa en un repositorio, y los mantenedores de una distribución Linux beben de esas fuentes para generar su paquete e incluirlo en la distro. Cada uno a lo suyo.

Y si lo que quiero es simplemente testear mi programa (cosa que puedo hacer unas 100 veces al día), no genero un DEB: con make me vale (sin "make install").

albo

Muy buena herramienta, hace que sea bien fácil crear .deb lo que va a aumentar la cantidad de debs disponibles, ya que a los desarrolladores no les va a costar crear un .deb, haciendo la tarea mas sencilla a los usuarios nuevos.

--

Para aquellas personas usan Windows en Ubuntu existe un instalador de programas muy sencillo que con solo seleccionar los programas se instalan, sería un equivalente al Agregar/Quitar programas de Windows, con la diferencia que tenes muchos mas programas para agregar (y de verdad nunca pude agregar ningún programa en Windows solo pude quitar). También existe un programa (llamado Synaptics) que hace lo mismo que el otro pero en vez de programas con paquetes (un equivalente no muy apróximado en Windows sería tener un programa para instalar .exe y .dll). Ahora estos dos programas no tienen todos los paquetes que podríamos instalar, solo los paquetes oficiales (esto lo podemos modificar, pero nunca vamos a poder tener todos), es decir que no podemos instalar una versión mas nueva que la oficial o si no esta en el oficial debemos bajarlo e instalarlo nosotros.
En linux al tener varios tipos de plataformas distinto lo que se hace es bajar el código fuente y compilarlo, lo que asusta a cualquier usuario nuevo. Un .deb es el equivalente a un instalable en Windows (.msi o algunos .exe). Vale aclarar que este sistema de gestión de paquetes es originario de Debian (de ahí los .deb) el sistema base de Ubuntu.

http://es.wikipedia.org/wiki/Advanced_Packaging_Tool

piratux

Yo también lo veo muy positivo, un empujón más.

D

Triste. Tener que ponerles un arbolito de directorios porque son incapaces de imaginarse algo tan simple como "dónde estoy y adónde voy" en la consola.
Me hace pensar en los que dicen que leer es aburrido, que mejor ver la peli. Con tal de no usar la imaginación.

Darnos

Aquí un linuxero en construcción Como usuario de toda la vida de win, la verdad es que estoy muy hecho a su mecánica de los .exe y tengo que confesar que recurrir a la consola de Linux se me hace cuesta arriba, ahora en mis primeros pasos en el mundillo Linux, el poder recurrir a los paquetes .deb (supongo que sera el equivalente de los .exe de win) me viene realmente bien. Según me vaya adentrando en el mundillo linuxero y me meta mas a fondo con la consola, supongo que podre dejar de usar esta interfaz gráfica.

En cualquier caso una estupenda ayuda para los novatos o para aquellos que lo quieran hacer sencillo, tal vez para convertir ese paquete extraño y que tanto bien le haría a tu amigo que se inicia en Linux pero que (como yo) todavía se hace la "cosa" un lió con la consola.

diophantus

#23 aunque por aquí haya mucho fanboy defensor de la consola, a cualquiera nos viene genial poder instalar con 1 click y no tener que andar escribiendo comandos, pero en especial a la gente que usa ubuntu sin ser experta nos viene especialmente bien.

Solo un apunte, .deb no son equivalentes de .exe, en linux los ejecutables no tienen terminación. Los .deb son conjuntos de paquetes que se instalan en tu sistema operativo. La función es similar a la de un programa comprimido en un .exe. Pero los .exe también pueden llevar programas dentro sin necesidad de instalarse, y eso es lo que no son los .deb. Creo haberme explicado bien y decir lo correcto, pero tampoco te lo puedo asegurar.

raharu

#24 Todo depende, a mi me parece mas comodo instalar desde la consola que desde el package manager si sé lo que quiero instalar. La consola:
- La tengo siempre lanzada (si no es que ya estoy en ella)
- Tiene autocompletion para el nombre de los paquetes (bash-completion)
- Si estoy administrando, lo mas seguro es que sudo ya no necesite que le de el password de root (esta cacheado)
- Es lo que el package manager usa, asi que hay menos posibilidades de que alguien en el medio esté haciendo algo mal
- Ha tenido la misma UI por mas de una decada

Lo de instalar con un click queda muy bonito, pero me pregunto si habeis contado mal. Si usas una gui tienes que lanzarla (click). Despues tienes que buscar el paquete (click en el textfield), escribir lo que buscas (teclado) y si tienes suerte y ya has encontrado el paquete otro click para instalarlo. Seguramente, tendras un dialogo de confirmacion o simplemente para poner el password (click + teclado). Incluso podria contar el click de cerrar el package manager.

Y que conste que uso los 3 SOs mayoritarios (aunque windows es por el trabajo y solo es para tener putty + navegador)

javielillo

#16 como te han dicho no has compilado un paquete deb en tu vida. Tienes que perder mucho tiempo buscando en webs hasta encontrar las órdenes que crean un paquete deb.

La gente normal no va a perder tiempo de su vida a aprender a usar una caja negra y fea típica de la década de los 80 donde tienes que escribir órdenes.

Los profesionales las usan por la rapidez de trabajar en un terminal y luego estan los frikis que tienen muuucho tiempo libre para aprender cosas raras...

$ ./configure && make && sudo make install NO es la solución si tu objetivo es no ensuciar el sistema. Si quieres desinstalar ya no puedes (es MUY raro encontrar a un programador que incluya en los "make" el proceso de desinstalación).
Por eso se requieren los paquetes .RPM o .deb (descarto completamente las distribuciones que trabajan con fuentes o usan comandos de consola para instalar los programas porque la cantidad de usuarios es marginal y no estan destinadas a la gente normal, aunque tengan algun proceso sencillo para desinstalar siguen sin ser para gente normal)

l

#33, no gracias, programo C++. Creo que la mitad de los que me recrimináis no habéis compilado y subido un paquete DEB en vuestra vida. Compilar y configurar un paquete DEB no es cosa de tres o cuatro comandos descriptivos, es cosa de decenas de comandos no muy descriptivos y con poca documentación. Y por cierto, en los lenguajes de programación las órdenes, funciones y estructuras suelen ser descriptivas y suelen tener mucho sentido.
#40 sabe bien de lo que habla

D

#43 No, #40 no sabe de lo que habla. Los dos estáis diciendo:

"vamos a permitir a usuarios que no tienen ni zorra de nada, instalar cualquier cosa que les diga el primero que se les cruce en el camino"

Ahora, si lo que queréis es que os llamen cada dos por tres para limpiar su ubuntu de virus y dialers, adelante roll

l

#45, ¿qué tiene que ver facilitar la vida a los desarrolladores con los virus? Te cito:
"vamos a permitir a usuarios que no tienen ni zorra de nada, instalar cualquier cosa que les diga el primero que se les cruce en el camino"
No estamos hablando de instalación de paquetes, nos referimos a su compilación.
Y si, #40 sabe bien de lo que habla, pero se nota que tu no has compilado un paquete DEB en tu vida.

D

#47 Presupoes demasiado. Que te lo explique otro si tiene ganas.

inniyah

Me parece que este tipo de herramientas no sirve en la práctica para mucho. Para lo único que valen es para empaquetar programas que, ya de por sí, son a menudo directamente empaquetables con el código generado por debhelper, o con un sencillo script de cdbs (a quien le guste este sistema, claro). Por otra parte, a menudo es necesario parchear el código por diferentes motivos, como por ejemplo que se vaya a buscar los datos a directorios con posiciones absolutas, y esto hay que hacerlo a mano.

vicvic

#16 En Windows tambies tienes consola, más limitada en sus funciones pero consola al fin y al cabo. Y si usas Power Shell aun más opciones...

No utilizo Linux pero por lo que se tampoco son comandos "horribles" lol Me ha hecho gracia como lo has dicho jeje Eso si, opino que usar la consola para un sistema dedicado a todos los tipos de públicos, deberia ser algo totalmente opcional, si quieres acaparar a todos los públicos claro.

asturdany

Que irónico, puedes instalarlo mediante .dell o bajarte la fuente e instalarlo manualmente lol

a

#42 Genial lol

l

Por fin!! Se acabo lo de compilar con comandos horribles sin sentido! Ya era hora!!

l

#8 Si quieres manejar un entorno donde no teclear horribles comandos comprate un mac o un windows, la linea de comandos es la herramienta más poderosa del sistema y tu desprecio hacia ella es sintomático de falta de curiosidad, la cualidad humana más apreciada por los hackers que han sido quienes lo han creado.

Nirgal

#19 Un par de veces lo intenté con algunos programas.

Fracasé miserablemente.

Casi seguro fue culpa mía por olvidar un paso, no poner alguna bandera que debí poner o algo parecido, pero el caso es que no pude hacerlo. Es por eso que esta medida me parece positiva: ayuda a ofrecer una instalación absolutamente simple para quien no sabe (o no quiere, que es algo perfectamente legítimo a pesar de lo que diga #16) utilizar la línea de comandos, que según mi experiencia es de las cosas que más asusta a cualquier potencial usuario de Linux.

En lo personal, no me siento cómodo usándola, a pesar de que he leído sobre su poder, y eficiencia, y todo eso. Sé que hay bastante gente que piensa igual, y para todos nosotros es positivo tener una herramienta como esta, que hace más simple la vida.

Y no hay que temer, que es muy poco probable que la terminal sea eliminada. Siempre va a estar ahí para los que la prefieran y la quieran usar.

En resumen: Nadie pierde y muchos ganan. Qué genial es la vida, ¿no?

musg0

#20 Si falla una compilación lo más normal es que falten dependencias o las versiones que tienes instaladas de las librerías de apoyo sean diferentes a las que pide el programa. Muchas veces hay programas nuevos que necesitan librerías en desarrollo que no están empaquetadas o lo están para una versión en desarrollo de la distribución.
Si no sabes lo que estás haciendo ese problema no te lo va a quitar ninguna "ventanita bonita" ya que al final el error que dará la compilación es un error que hay que saber interpretar correctamente y en el que faltan datos para poder automatizar la tarea y crear un analizador automático que te diga que te falta la librería tal o que la versión que tienes es demasiado vieja o demasiado nueva.

D

#8 comandos horribles sin sentido? WTF

./configure : configurar el código para las librerías que tengas instaladas
make : hacer el ejecutable
make install : instalar

Si esto es horrible y sin sentido...

Por otro lado, checkinstall hace algo parecido, y sin tener que usar una GUI.

Narf

#19 Los comandos son fáciles sin duda, el problema que suele aterrorizar a la gente es cuando sale un error en ./configure, que se soluciona instalando la librería que ha dado error, que es lo que suele faltar siempre.
Esto en un deb se evita, pues ya viene con sus dependencias y compilado.

Aunque todos sabemos que lo que siempre tendremos disponible en este mundillo es el código fuente, los comandos no hay que olvidarlos.

Aun así nunca quitaría la consola, es muy útil y siempre puedes confiar en ella.

D

#8 Ahora lo que falta es un lenguaje de programación por dibujitos, para que nunca más haya que escribir comandos horribles sin sentido.

ajripa

un FreeBSD con su arbolito de ports, y a compilar

CortoCircuito

¿¿Y porqué no usar pbuilder como dios manda y así se pueden generar paquetes para Debian, Ubuntu (en todas las versiones) y para todas las plataformas (i386, amd64,...) ???

En la Wiki de Ubuntu tienen un manual que pone las cosas muy faciles:

https://wiki.ubuntu.com/PbuilderHowto

D

Facilita mucho las cosas, pero si mal no recuerdo había un modo de hacerlo directamente desde el shell.

D

desde que existe launchpad.net con sus ppas no he vuelto a necesitar compilar nada

en todo caso compilar es como todo una vez que lo haces un par de veces ya está

r

Joder, pero si esto va a ser más largo que instalar directamente desde los fuentes!!

$ ./configure && make && sudo make install

y ya está instalado.

D

me quedo con el pkgmk de CRUX y sus ports al estilo BSD

D

Yo creo que esto a los novatos solo les va a crear unos problemas de dependencias que te cagas lol

cyberdemon

Pues esta de lujo el invento, sobre todo para los que disfrutamos probando versiones en desarrollo.
Yo aun sigo esperando que recuperen el applet de terminal del panel de gnome, odio tener que abrir la consola.

F

Lo que veo difícil de solucionar es el tema de las dependencias cuando compilas un paquete a mano y cómo averiguar qué paquete te está faltando. No es nada cómodo que el make te lance un mensaje tipo:

error: declaración implícita de "blablabla"

y tengas que irte con eso a google a averiguar qué librería contiene esa función o declaración de constantes. Es lo normal al compilar un código, pero no mola nada al usuario no avanzado.

LoLoPoWeR

Esto me recuerda mucho al ALIEN, otro programa que te permite compilar las fuentes no solo para las distros debian, sinto tb para redhat y demás.

* .rpm (RedHat)
* .deb (Debian)
* .slp (Stampede)
* .tgz (Slackware)
* .pkg (Solaris)

WIKI: >

Lo único malo, va por consola, pero vamos que es una simple línea ^^

D

Lo que se hecha en faltan en Linux, y mas concretamente en Ubuntu o Debian que es la distribucion que uso, es un programa que genere el .deb de la aplicacion que has desarrollado sin que el programador necesite leerse "enrevesados" manuales.

En Windows te bajas el programa NSIS (Nullsoft Scriptable Install System) : http://nsis.sourceforge.net y te creas un instalador de tu programa en 4 pasos (si quieres te puedes complicar mas) o usas el del Visual Studio tampoco muy complicado.

En Linux puedes usar el InstallBuilder : http://bitrock.com que es de pago o te buscas manuales para crearte un .deb, .rpm o el paquete que use tu distribucion.

D

Cada día linux parece más una prostituta de windows.

Ya mismo quitarán la consola.

antxon.urrutia

./configure --prefix=/usr/local && make && make install

o directamente: Gentoo.