[software-management-guide] New Rakefile and rake tasks file

Guillermo Gómez gomix at fedoraproject.org
Tue Mar 26 16:05:17 UTC 2013


commit eda933841861add8be5cb2596a8b402c3e3702c4
Author: Guillermo Gómez <gomix at fedoraproject.org>
Date:   Tue Mar 26 10:51:35 2013 -0430

    New Rakefile and rake tasks file

 Rakefile                    |  146 +------------------------------------------
 lib/tasks/experimental.rake |   80 +++++++++++++++++++++++
 lib/tasks/mock.rake         |   26 ++++++++
 lib/tasks/publican.rake     |   37 +++++++++++
 4 files changed, 146 insertions(+), 143 deletions(-)
---
diff --git a/Rakefile b/Rakefile
index 0d88ccb..8c3a9ed 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,146 +1,6 @@
 # encoding: utf-8
-# Me interesa ejecutar comandos con Rake, como por ejemplo
-# publican build --format html-single --langs es-VE
 #
-# Ya que me es fácil cablear aquí y usar rake -T para hacerme recordar
-#
-#
-task :default => 'html_single'
-
-# TODO
-# 1. Se debería detectar la instalación de publican-fedora
-# 2. Se debería detectar la instalación de mock
-# 3. Falta poder generar la configuración SMG de mock
-
-desc "Actualizar drafts en fedorapeople"
-task :update_drafts  do
-  # Invocar la construcción de los formatos publicados como draft
-  # Comando de sincronización rsync at ssh
-  
-  # Primero html que es el que uso para devel
-  Rake::Task[:html].invoke
-  cmd = 'rsync --delete -av /home/gomix/FDP/software-management-guide/tmp/es-ES/html gomix at fedorapeople.org:~/public_html/software-management-guide'
-  system(cmd)
-
-  Rake::Task[:html_single].invoke
-  cmd = 'rsync --delete -av /home/gomix/FDP/software-management-guide/tmp/es-ES/html-single gomix at fedorapeople.org:~/public_html/software-management-guide'
-  system(cmd)
-end
-
-desc "Construir documento en formato html-single"
-task :html_single do
-  # Borrado de imagenes , Publican me debería permitir hacer eso, aún no lo sé hacer
-  cmd = 'rm -rf tmp/es-ES/html-single/images/*'
-  system(cmd)
-
-  cmd = 'publican build --format html-single --langs es-ES'
-  system(cmd)
-end
-
-desc "Construir documento en formato html"
-task :html do
-  # Borrado de imagenes , Publican me debería permitir hacer eso
-  cmd = 'rm -rf tmp/es-ES/html/images/*'
-  system(cmd)
-
-  cmd = 'publican build --format html --langs es-ES'
-  system(cmd)
-end
-
-desc "Construir documento en formato man"
-task :man do
-  cmd = 'publican build --format man --langs es-ES'
-  system(cmd)
-end
-
-desc "Construir documento en formato txt"
-task :txt do
-  cmd = 'publican build --format txt --langs es-ES'
-  system(cmd)
-end
-
-desc "Prepara jaula Fedora 17 SMG"
-task :setmockf17 do
-  # TODO: se debería detectar la instalación de mock previamente
-  `mock -r fedora-17-SMG-x86-64 --clean`
-  `mock -r fedora-17-SMG-x86-64 --init`
-  `mock -r fedora-17-SMG-x86-64 --install yum`
-  `mock -r fedora-17-SMG-x86-64 --install vim`
-
-  # No sé cómo correr por ejemplo pkcon en mock/chroot
-  #`mock -r fedora-17-SMG-x86-64 --install PackageKit`
-end
-
-desc "Generar archivos de salida de comandos ejemplos (EXPERIMENTAL)"
-task :exp do
-  puts "Por ahora no está haciendo absolutamente nada"
-=begin
-Generación de una jaula general para F17 SMG
-mock -r fedora-17-SMG-x86-64 --init
-
-yum , la configuración por omisión es puesta en rpm.new
-hay que tomar en consideración para uso común.
-¿Puedo colocar la conf por omisión en funcionamiento?
-TODO: Si, pero creo que pierdo todo el cache de mock/yum/rpm.
-Determinar y tomar decisiones, por ahora voy paso a paso.
-
-1er caso yum-plugin-downloadonly
-$ mock -r fedora-17-SMG-x86-64 --clean
-$ mock -r fedora-17-SMG-x86-64 --install yum
-$ mock -r fedora-17-SMG-x86-64 --install vim
-$ mock -r fedora-17-SMG-x86-64 --install yum-plugin-downloadonly
-$ mock -r fedora-17-SMG-x86-64 --shell
-Editar yum.conf en la jaula para habilitar yum-plugins
-stty cols 80 < útil para mantener la salida de los comandos en 80 columnas
-LANG=es_ES.UTF8 su -c "yum --downloadonly install crda"
-
-2do caso yum-plugin-security
-$ mock -r fedora-17-SMG-x86-64 --clean
-$ mock -r fedora-17-SMG-x86-64 --init (2minutos)
-$ mock -r fedora-17-SMG-x86-64 --install yum
-$ mock -r fedora-17-SMG-x86-64 --install vim
-$ mock -r fedora-17-SMG-x86-64 --install yum-plugin-security
-$ mock -r fedora-17-SMG-x86-64 --shell
-Editar yum.conf en la jaula para habilitar yum-plugins
-
-El primer obstáculo serio es la falta de salida como tal al momento de probar.
-
-$ yum list-security
-Complementos cargados:security
-updateinfo list done
-
-Este caso no funciona bien ya que no hay datos para probar.
-Lo único que puedo sacar de este escenario mock es:
-1.- El plugin instala
-2.- El plugin es ejecutado correctamente (pero no hay salida de datos)
-
-3er caso yum history
-$ mock -r fedora-17-SMG-x86-64 --clean
-$ mock -r fedora-17-SMG-x86-64 --init (2minutos)
-$ mock -r fedora-17-SMG-x86-64 --install yum
-$ mock -r fedora-17-SMG-x86-64 --install vim
-
-Si tengo un histórico con algunas transacciones.
-
-# yum.conf
-assumeyes=1 < ¿Se debe ir? El tema es que si se va a automatizar entonces se debe manejar la interactividad del programa. Como primer paso ideal me interesaría no remover la interactividad pero dejar que todo el resto se suceda de forma automática.
-debuglevel=1 < estandar es 2, modificar.
-plugins=1 < faltante, incorporar a conveniencia.
-
-4to caso,no tengo la actualización que deseo para yum reinstall
-usando yum.conf regular (el rpmnew)
-habilitar repo updates-testing (nos encontramos previo al release general)
-yum clean metadata
-HMMMM
-Curioso que:
-yum check-update <> yum --config=/etc/yum.conf check-update
-yum install litmus-0.13-4.fc17.x86_64
-yum -c /etc/yum.conf instal chekc-update litmus
-yum -c /etc/yum.conf reinstall litmus
-...
-Luego de hacer el ejemplo, yum -c /etc/yum.conf history undo 6 
-^ Sería bueno obtener el id de la transacción para programáticamente
-  manipularlas y poder automatizar ^
-=end
-end
+Dir::chdir("#{File.dirname(__FILE__)}/lib/tasks")
+Dir::glob("*.rake") { |file|  Rake.load_rakefile(file) }
 
+#task :default => 'html'
diff --git a/lib/tasks/experimental.rake b/lib/tasks/experimental.rake
new file mode 100644
index 0000000..b7b3325
--- /dev/null
+++ b/lib/tasks/experimental.rake
@@ -0,0 +1,80 @@
+# encoding: utf-8
+# TODO
+# 1. Se debería detectar la instalación de mock
+
+namespace :experimental do
+
+desc "Generar archivos de salida de comandos ejemplos (EXPERIMENTAL)"
+task :exp do
+  puts "Por ahora no esta haciendo absolutamente nada"
+=begin
+Generación de una jaula general para F17 SMG
+mock -r fedora-17-SMG-x86-64 --init
+
+yum , la configuración por omisión es puesta en rpm.new
+hay que tomar en consideración para uso común.
+¿Puedo colocar la conf por omisión en funcionamiento?
+TODO: Si, pero creo que pierdo todo el cache de mock/yum/rpm.
+Determinar y tomar decisiones, por ahora voy paso a paso.
+
+1er caso yum-plugin-downloadonly
+$ mock -r fedora-17-SMG-x86-64 --clean
+$ mock -r fedora-17-SMG-x86-64 --install yum
+$ mock -r fedora-17-SMG-x86-64 --install vim
+$ mock -r fedora-17-SMG-x86-64 --install yum-plugin-downloadonly
+$ mock -r fedora-17-SMG-x86-64 --shell
+Editar yum.conf en la jaula para habilitar yum-plugins
+stty cols 80 < útil para mantener la salida de los comandos en 80 columnas
+LANG=es_ES.UTF8 su -c "yum --downloadonly install crda"
+
+2do caso yum-plugin-security
+$ mock -r fedora-17-SMG-x86-64 --clean
+$ mock -r fedora-17-SMG-x86-64 --init (2minutos)
+$ mock -r fedora-17-SMG-x86-64 --install yum
+$ mock -r fedora-17-SMG-x86-64 --install vim
+$ mock -r fedora-17-SMG-x86-64 --install yum-plugin-security
+$ mock -r fedora-17-SMG-x86-64 --shell
+Editar yum.conf en la jaula para habilitar yum-plugins
+
+El primer obstáculo serio es la falta de salida como tal al momento de probar.
+
+$ yum list-security
+Complementos cargados:security
+updateinfo list done
+
+Este caso no funciona bien ya que no hay datos para probar.
+Lo único que puedo sacar de este escenario mock es:
+1.- El plugin instala
+2.- El plugin es ejecutado correctamente (pero no hay salida de datos)
+
+3er caso yum history
+$ mock -r fedora-17-SMG-x86-64 --clean
+$ mock -r fedora-17-SMG-x86-64 --init (2minutos)
+$ mock -r fedora-17-SMG-x86-64 --install yum
+$ mock -r fedora-17-SMG-x86-64 --install vim
+
+Si tengo un histórico con algunas transacciones.
+
+# yum.conf
+assumeyes=1 < ¿Se debe ir? El tema es que si se va a automatizar entonces se debe manejar la interactividad del programa. Como primer paso ideal me interesaría no remover la interactividad pero dejar que todo el resto se suceda de forma automática.
+debuglevel=1 < estandar es 2, modificar.
+plugins=1 < faltante, incorporar a conveniencia.
+
+4to caso,no tengo la actualización que deseo para yum reinstall
+usando yum.conf regular (el rpmnew)
+habilitar repo updates-testing (nos encontramos previo al release general)
+yum clean metadata
+HMMMM
+Curioso que:
+yum check-update <> yum --config=/etc/yum.conf check-update
+yum install litmus-0.13-4.fc17.x86_64
+yum -c /etc/yum.conf instal chekc-update litmus
+yum -c /etc/yum.conf reinstall litmus
+...
+Luego de hacer el ejemplo, yum -c /etc/yum.conf history undo 6 
+^ Sería bueno obtener el id de la transacción para programáticamente
+  manipularlas y poder automatizar ^
+=end
+end
+
+end
diff --git a/lib/tasks/mock.rake b/lib/tasks/mock.rake
new file mode 100644
index 0000000..645d047
--- /dev/null
+++ b/lib/tasks/mock.rake
@@ -0,0 +1,26 @@
+# encoding: utf-8
+# TODO
+# 1. Se debería detectar la instalación de mock
+# 2. Falta poder generar la configuración SMG de mock
+
+namespace :mock do
+
+desc "Prepara jaula Fedora 17 SMG"
+task :setf17 do
+  # TODO: se debería detectar la instalación de mock previamente
+  `mock -r fedora-17-SMG-x86-64 --clean`
+  `mock -r fedora-17-SMG-x86-64 --init`
+  `mock -r fedora-17-SMG-x86-64 --install yum`
+  `mock -r fedora-17-SMG-x86-64 --install vim`
+end
+
+desc "Prepara jaula Fedora 18 SMG"
+task :setf18 do
+  # TODO: se debería detectar la instalación de mock previamente
+  `mock -r fedora-18-SMG-x86-64 --clean`
+  `mock -r fedora-18-SMG-x86-64 --init`
+  `mock -r fedora-18-SMG-x86-64 --install yum`
+  `mock -r fedora-18-SMG-x86-64 --install vim`
+end
+
+end
diff --git a/lib/tasks/publican.rake b/lib/tasks/publican.rake
new file mode 100644
index 0000000..79f5a34
--- /dev/null
+++ b/lib/tasks/publican.rake
@@ -0,0 +1,37 @@
+# encoding: utf-8
+# TODO
+# 1. Se debería detectar la instalación de publican-fedora
+
+namespace :publican do
+
+desc "Construir documento en formato html-single"
+task :html_single do
+  cmd = 'publican build --format html-single --langs es-ES'
+  system(cmd)
+end
+
+desc "Construir documento en formato html"
+task :html do
+  cmd = 'publican build --format html --langs es-ES'
+  system(cmd)
+end
+
+desc "Construir documento en formato man"
+task :man do
+  cmd = 'publican build --format man --langs es-ES'
+  system(cmd)
+end
+
+desc "Construir documento en formato txt"
+task :txt do
+  cmd = 'publican build --format txt --langs es-ES'
+  system(cmd)
+end
+
+desc "Construir documento en formato epub"
+task :epub do
+  cmd = 'publican build --format epub --langs es-ES'
+  system(cmd)
+end
+
+end


More information about the docs-commits mailing list