このスクリプトは、アーカイブの作成時に実行されます。このスクリプトには、さまざまな使用法があります。
ソフトウェアの内容および整合性を検証する。整合性に問題がある場合、スクリプトはアーカイブの作成に失敗する。
クローンシステム上での将来のカスタマイズに備えてプロダクトの準備を行う。
アーカイブの作成時に、他のインストールスクリプトを動的に登録する。
フラッシュ作成サマリーファイルにメッセージを追加する。メッセージは短いものでなければならず、スクリプトが起動および終了したこと、およびその結果のみを記録するものでなければならない。結果は、サマリーセクション内で確認できる。
作成前スクリプトを作成します。カスタムスクリプト作成のガイドラインに記されているガイドラインに従います。
スクリプトを /etc/flash/precreation ディレクトリに保存します。
以下の例は、作成前スクリプトからの抜粋です。
サマリーセクションに開始時刻を記録するには、次の例を使用します。
echo "MyApp precreation script started">> $FLASHDIR/summary
ソフトウェアの整合性をチェックするには、flcheck コマンドを使用します。このコマンドは、コマンド行では使用できません。このコマンドの構文は次のとおりです。
flcheck software component files and directories ...| - |
たとえば、ファイルおよびディレクトリの妥当性検査を実行するには、次の例を使用します。
flcheck software component files and directories If Not in selection - refuse creation echo "Myapp Integrity Damage">>$FLASHDIR/summary
また、予期しない新規ファイルおよびディレクトリを保持し、アーカイブの作成が失敗しないようにするには、次の例を使用します。
flcheck software component files and directories If Not in selection include by force flinclude software component
配置スクリプトおよびデータを登録するには、次の例を使用します。
ユーザー定義セクションにアプリケーション固有のデータを保存するには、次の例を使用します。
cp custom section $FLASHDIR/custom_sections/MyApp
サマリーセクションにインストールの成功を記録するには、次の例を使用します。
echo "product one flash preparation started.">>$FLASH_DIR/summary ... echo "product one flash preparation finished successfully">>$FLASH_DIR/summary
#!/bin/sh echo "Test precreation script started">> $FLASH_DIR/summary cat /opt/TestApp/critical_file_list | flcheck - if [ $? != 0 ]; then echo "Test precreation script failure">> $FLASH_DIR/summary exit 1 fi echo "Test precreation script started">> $FLASH_DIR/summary /opt/TestApplication/license_cloning $FLASH_DIR/predeployment/.TestApplicationLicenceTransfer \ $FLASH_DIR/custom_sections/TestApplicationLicenceCounter echo "Test precreation script finished">> $FLASH_DIR/summary exit 0
作成前スクリプトを使用して、アーカイブ内にユーザー定義セクションを作成し、アプリケーションに関する特定の情報を提供できます。このセクションの目的は、アーカイブの保守です。スクリプトは、$FLASH_DIR/sections ディレクトリに配置する必要があります。フラッシュアーカイブは、ユーザー定義セクションを処理しません。たとえば、このセクションには、アーカイブの説明や、アプリケーションの整合性をチェックするスクリプトなどを含めることができます。
ユーザー定義セクションでは、次の書式を使用する必要があります。
行単位で作成する必要がある
復帰改行 (ASCII 0x0a) 文字で終了させる必要がある
個々の行の長さに制限はない
base64 またはそれに類似したアルゴリズムを使用してバイナリデータにコード化する