win-netboot/windows10-upgrade - postinst - installfiles_dir

larsg
Beiträge: 213
Registriert: 16 Dez 2014, 18:06

win-netboot/windows10-upgrade - postinst - installfiles_dir

Beitragvon larsg » 04 Jun 2019, 18:03

Hallo,

eine weitere Anregung:

wenn ein windows netboot-produkt (oder auch windows10-upgrade) von uib auf ein depot installiert wird, so wird über das postinst skript auch automatisch die property installfiles_dir aktualisiert, sofern zusätzliche installfiles verzeichnisse vorliegen.

könnt ihr hierfür bitte auch einen check einbauen, so dass nur solche verzeichnisse berücksichtigt werden, in denen zumindest eine setup.exe und eine install.wim bzw. sources/install.wim existiert?

hintergrund:

wir legen für verschiedene windows-versionen/editionen seperate pfade an, das standard installfiles verzeichnis bleibt leer.
spätestens beim installieren der nächsten version von uib wird die property installfiles_dir neu erzeugt und enthält dann auch wieder den eintrag für das leere installfiles verzeichnis, und das führt zu verwirrung.

ich kann mir zunächst behelfen indem ich die property nach einem update korrigiere, es wäre trotzdem nice wenn das schon direkt bei der installation des pakets abgefangen werden könnte.

dafür sind nur zwei weitere zeilen pro postinst skript nötig ;)

folgendes müsste im postinst ergänzt werden:

Code: Alles auswählen

if [ -n "$ADDITIONAL_INSTALLFILES_DIR" ]; then
   echo "Adding product property definition installfiles_dir..."
   possible_values=""
   default_value=""
   for dirname in $CLIENT_DATA_DIR/installfiles*; do
-->   if [ -f "${dirname}/setup.exe" ] && ([ -f "${dirname}/install.wim" ] || [ -f "${dirname}/sources/install.wim" ]); then
         dirname=`basename $dirname`
         if [ "$default_value" = "" ]; then
            default_value="$dirname"
         else
         possible_values="${possible_values},"
         fi
         possible_values="${possible_values}\"${dirname}\""
-->   fi
   done
   echo "Executing: opsi-admin -d method productProperty_createUnicode $PRODUCT_ID $PRODUCT_VERSION $PACKAGE_VERSION $property_id \"installfiles dir to use as installation source\" \'[${possible_values}]\' \'["${default_value}"]\' false false"
   opsi-admin -d method productProperty_createUnicode $PRODUCT_ID $PRODUCT_VERSION $PACKAGE_VERSION $property_id "installfiles dir to use as installation source" \'[${possible_values}]\' \'["${default_value}"]\' false false
   echo "Executing: opsi-admin -d method productPropertyState_create $PRODUCT_ID $property_id $DEPOT_ID ${default_value}"
   opsi-admin -d method productPropertyState_create $PRODUCT_ID $property_id $DEPOT_ID ${default_value}