Analyser le numéro de version

  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de l’utilisateur
  • Inscription: Mai 22, 2004
  • Messages: 3415
  • Loc: Richland, WA
  • Status: Offline

Message Juin 7th, 2011, 11:19 am

Im écrit un RPM construire script et qu'il faut analyser certaines informations d'un numéro de build. L'idée est chaque fois un build est faite la dernière place de la version est incrémentée automatiquement (cela se fait par un script prédéfini dans notre système de construction).

Le format dont elle a besoin est ainsi : 1.0.0.[couleur : rouge] 0 [/color]. Où le dernier chiffre en rouge est auto incrémenté. Pour la génération RPM, j'ai besoin d'utiliser ce dernier chiffre comme un numéro de version et les 3 précédentes que la version.

Exemple : 1.2.0.24 transformerait en my_program-1.2.0-24.noarch.rpm.

IVe a tenté ma main à grep et sed pour tenter d'extraire chaque pièce de la version, mais sans succès.

Dès maintenant les Im en utilisant cette pour tirer le nombre entier
Code: [ Select ]
cat $SRC_DIR/Makefile.inc | grep RELEASE_VERSION | sed 's/[^0-9\.]//g'


Où le format de fichier de Makefile.inc est la suivante :
Code: [ 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
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Juin 7th, 2011, 11:19 am

  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de l’utilisateur
  • Inscription: Mai 22, 2004
  • Messages: 3415
  • Loc: Richland, WA
  • Status: Offline

Message Juin 7th, 2011, 3:27 pm

Après un peu de creuser, j'ai trouvé quelque chose qui fonctionne. Probablement pas la meilleure façon de le faire il, mais il fonctionne pour moi.

Code: [ 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)

Afficher de l'information

  • Total des messages de ce sujet: 2 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 35 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC