Analizar el número de versión

  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de Usuario
  • Registrado: May 22, 2004
  • Mensajes: 3415
  • Loc: Richland, WA
  • Status: Offline

Nota Junio 7th, 2011, 11:19 am

Im escribir un RPM crear secuencias de comandos y es necesario analizar algunos información de un número de compilación. La idea es cada vez una generación el último lugar de la versión se incrementa en uno automáticamente (esto se hace por un guión preestablecido en nuestro sistema de compilación).

El formato que requiere es así: 1.0.0.[color: rojo] 0 [/color]. Donde el último dígito en rojo es automática aumenta. Para la generación RPM Necesito utilizar ese último dígito como un número de versión y la anterior 3 como la versión.

Ejemplo: 1.2.0.24 se convertiría en my_program-1.2.0-24.noarch.rpm.

Ive trató de mi mano en grep y sed para intentar extraer cada pieza de la versión pero sin suerte.

Ahora Im utilizarlo para extraer el número completo
Código: [ Select ]
cat $SRC_DIR/Makefile.inc | grep RELEASE_VERSION | sed 's/[^0-9\.]//g'


Donde el formato de archivo de Makefile.inc es la siguiente:
Código: [ Select ]
RELEASE_PRODUCT="Product Name"
RELEASE_VERSION="1.2.0.24"
  1. RELEASE_PRODUCT="Product Name"
  2. RELEASE_VERSION="1.2.0.24"
#define NULL (::rand() % 2)
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Junio 7th, 2011, 11:19 am

  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de Usuario
  • Registrado: May 22, 2004
  • Mensajes: 3415
  • Loc: Richland, WA
  • Status: Offline

Nota Junio 7th, 2011, 3:27 pm

Después de un poco de excavación encontré algo que funciona. Probablemente no es la mejor manera de hacerlo pero funciona para mí.

Código: [ Select ]
export VERSION=`cat $SRC_DIR/Makefile.inc | grep RELEASE_VERSION | sed 's/[^0-9\.]//g' | cut -d . -f 1-3 | sed s/" "//g`
export RELEASE=`cat $SRC_DIR/Makefile.inc | grep RELEASE_VERSION | sed 's/[^0-9\.]//g' | cut -d . -f 4 | sed s/" "//g`
  1. export VERSION=`cat $SRC_DIR/Makefile.inc | grep RELEASE_VERSION | sed 's/[^0-9\.]//g' | cut -d . -f 1-3 | sed s/" "//g`
  2. export RELEASE=`cat $SRC_DIR/Makefile.inc | grep RELEASE_VERSION | sed 's/[^0-9\.]//g' | cut -d . -f 4 | sed s/" "//g`
#define NULL (::rand() % 2)

Publicar Información

  • Total de mensajes en este tema: 2 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 66 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC