AndresVargas
Hi!, my nickName is zodman, im a Computer science Engineering.
love the FLOSS and FreeSoftware. Python ninja and php coder.
On left my love Aisha and me.
Interest links
seen more
Razones para ser desarrollador de Foresight Linux parte 1
Facil de empaquetar aplicaciones
Foresight usa el sistema de paquetes conary, el cual te permite empaquetar aplicaciones en recipes(recetas). En muy pocas lineas de codigo. Las herramientas de conary te detectan las dependencias que usan los paquetes. Asi que no es necesario gran conocimiento de Linux para empaquetar.
recipe gnome-do recipe gedit o pueden ser tan flexibles y complejos recipe python
NOTA: las buildRequires(dependencias) se generan automaticamente. Las agregas haciendo copy/paste
No tienes que descargar Fuentes(tar.gz), Agregas la direccion donde se encuentra. Para que se descargue, extraiga, compile segun las instrucciones del recipe. Y detecte dependencias automaticamente.
wikipage: como crear un paquete
Comparte los cambios de tus paquetes
Conary tiene soporte para manejo de versiones. No utiliza git ni svn. Utiliza algo mas simple para llevar los recipe.
Primero creas tu recipe de un paquete.
cvc newpkg app1
Modificas el app1.recipe y te das cuenta que siempre que lo cocinas(cook,construyes) se rompe, no puedes hacer que funcione. Pero uno de tus cuates es mas experimentado, te dice que el puede hacerlo funcionar, tu haces un commit al paquete.
cvc commit -m "app1 broken faild load lib"
este se vera reflejado en el repositorio.
El Cuate puede hacer
cvc co app1
para descargar el recipe que tu creaste y hackearlo hasta hacer que funcione para que al final tu hagas
cvc update app1
y puedas obtener los cambios echos y ver que se le hizo
cvc rdiff app1
wikipage: conary commands
Update a app with conary-lib
Yeah im add a method for a simple: conary update app<=repo@tag:label>
Reading the documentation and seen some code im understand some things....
- For conary update a package ( called installing a package) need to create a Job
- With this job its a empty for begining. You must attach some task like (Update)
- If job created the update must Apply for install it.
- for update a package needs be a ChangeSpec Format:
(troveName, (oldVersionSpec, oldFlavor), (newVersionSpec, newFlavor) - conary.conary.ConaryClient its the base of conary Structure on Conary API.
From command line:
[zodman@cosmogirl conary-lib]$ conary q iftop iftop was not found [zodman@cosmogirl conary-lib]$ sudo python conarypk.py Update Success of iftop=/zodyrepo.rpath.org@rpl:devel/0.17-3-1 [zodman@cosmogirl conary-lib]$ conary q iftop --labels iftop=zodyrepo.rpath.org@rpl:devel/0.17-3-1
the new method:
def update(self, name, installLabel= None): cli = self.cli #get a trove troves = self.request_query(name, installLabel) for trove in troves: trovespec = self.trove_to_spec( trove ) try: # create a Job job = cli.newUpdateJob() # Add Update task to Job cli.prepareUpdateJob(job, cmdline.parseChangeList(trovespec)) # Apply the Job cli.applyUpdateJob(job) # im rulz return "Update Success of %s" % trovespec except NoNewTrovesError: return "no new Troves Found by %s " % trovespec def trove_to_spec(self, trove ): return cmdline.toTroveSpec( trove[0], str(trove[1]), None)
Using conary-lib:
conary = ConaryPk() print conary.update("iftop","zodyrepo.rpath.org@rpl:devel")
@zodman: prox chingadazo facebook app para dar chingadazos a tus compaƱeros!