Files
apprepodbmgr/osrepodbmgr/gtk-gui/gui.stetic
2017-04-20 06:56:49 +01:00

1150 lines
51 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<stetic-interface>
<configuration>
<images-root-path>..</images-root-path>
</configuration>
<import>
<widget-library name="glade-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
<widget-library name="../bin/Debug/osrepodbmgr.exe" internal="true" />
</import>
<widget class="Gtk.Window" id="MainWindow" design-size="771 544">
<property name="MemberName" />
<property name="Title" translatable="yes">MainWindow</property>
<property name="WindowPosition">CenterOnParent</property>
<signal name="DeleteEvent" handler="OnDeleteEvent" />
<child>
<widget class="Gtk.VBox" id="vbox1">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.HBox" id="hbox15">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Label" id="lblDeveloper">
<property name="MemberName" />
<property name="LabelProp" translatable="yes">Developer</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Entry" id="txtDeveloper">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="IsEditable">False</property>
<property name="InvisibleChar"></property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox14">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Label" id="lblProduct">
<property name="MemberName" />
<property name="LabelProp" translatable="yes">Product</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Entry" id="txtProduct">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="IsEditable">False</property>
<property name="InvisibleChar"></property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox13">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Label" id="lblVersion">
<property name="MemberName" />
<property name="LabelProp" translatable="yes">Version</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Entry" id="txtVersion">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="IsEditable">False</property>
<property name="InvisibleChar"></property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">2</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox12">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Label" id="lblLanguages">
<property name="MemberName" />
<property name="LabelProp" translatable="yes">Languages</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Entry" id="txtLanguages">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="IsEditable">False</property>
<property name="InvisibleChar"></property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">3</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox11">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Label" id="lblArchitecture">
<property name="MemberName" />
<property name="LabelProp" translatable="yes">Architecture</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Entry" id="txtArchitecture">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="IsEditable">False</property>
<property name="InvisibleChar"></property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">4</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox10">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Label" id="lblMachine">
<property name="MemberName" />
<property name="LabelProp" translatable="yes">Machine</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Entry" id="txtMachine">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="IsEditable">False</property>
<property name="InvisibleChar"></property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">5</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox21">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Label" id="lblFormat">
<property name="MemberName" />
<property name="LabelProp" translatable="yes">Format</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Entry" id="txtFormat">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="IsEditable">False</property>
<property name="InvisibleChar"></property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">6</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox20">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Label" id="lblDescription">
<property name="MemberName" />
<property name="LabelProp" translatable="yes">Description</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Entry" id="txtDescription">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="IsEditable">False</property>
<property name="InvisibleChar"></property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">7</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox17">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.VBox" id="vbox3">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.CheckButton" id="chkOem">
<property name="MemberName" />
<property name="Sensitive">False</property>
<property name="CanFocus">True</property>
<property name="Label" translatable="yes">oem</property>
<property name="DrawIndicator">True</property>
<property name="HasLabel">True</property>
<property name="UseUnderline">True</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.CheckButton" id="chkUpgrade">
<property name="MemberName" />
<property name="Sensitive">False</property>
<property name="CanFocus">True</property>
<property name="Label" translatable="yes">upgrade</property>
<property name="DrawIndicator">True</property>
<property name="HasLabel">True</property>
<property name="UseUnderline">True</property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.CheckButton" id="chkSource">
<property name="MemberName" />
<property name="Sensitive">False</property>
<property name="CanFocus">True</property>
<property name="Label" translatable="yes">source</property>
<property name="DrawIndicator">True</property>
<property name="HasLabel">True</property>
<property name="UseUnderline">True</property>
</widget>
<packing>
<property name="Position">2</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
</packing>
</child>
<child>
<widget class="Gtk.VBox" id="vbox2">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.CheckButton" id="chkUpdate">
<property name="MemberName" />
<property name="Sensitive">False</property>
<property name="CanFocus">True</property>
<property name="Label" translatable="yes">update</property>
<property name="DrawIndicator">True</property>
<property name="HasLabel">True</property>
<property name="UseUnderline">True</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.CheckButton" id="chkFiles">
<property name="MemberName" />
<property name="Sensitive">False</property>
<property name="CanFocus">True</property>
<property name="Label" translatable="yes">files</property>
<property name="DrawIndicator">True</property>
<property name="HasLabel">True</property>
<property name="UseUnderline">True</property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.CheckButton" id="chkNetinstall">
<property name="MemberName" />
<property name="Sensitive">False</property>
<property name="CanFocus">True</property>
<property name="Label" translatable="yes">netinstall</property>
<property name="DrawIndicator">True</property>
<property name="HasLabel">True</property>
<property name="UseUnderline">True</property>
</widget>
<packing>
<property name="Position">2</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">8</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow">
<property name="MemberName" />
<property name="ShadowType">In</property>
<child>
<widget class="Gtk.TreeView" id="treeFiles">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="ShowScrollbars">True</property>
</widget>
</child>
</widget>
<packing>
<property name="Position">9</property>
<property name="AutoSize">True</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox2">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Label" id="lblProgress">
<property name="MemberName" />
<property name="Visible">False</property>
<property name="LabelProp" translatable="yes">label2</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.ProgressBar" id="prgProgress">
<property name="MemberName" />
<property name="Visible">False</property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">10</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox27">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Label" id="lblProgress2">
<property name="MemberName" />
<property name="Visible">False</property>
<property name="LabelProp" translatable="yes">label22</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.ProgressBar" id="prgProgress2">
<property name="MemberName" />
<property name="Visible">False</property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">11</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox1">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Button" id="btnExit">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="UseStock">True</property>
<property name="Type">StockItem</property>
<property name="StockId">gtk-quit</property>
<signal name="Clicked" handler="OnBtnExitClicked" />
<property name="label">gtk-quit</property>
</widget>
<packing>
<property name="PackType">End</property>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Button" id="btnSettings">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="Type">TextAndIcon</property>
<property name="Icon">stock:gtk-preferences Menu</property>
<property name="Label" translatable="yes">_Settings</property>
<property name="UseUnderline">True</property>
<signal name="Clicked" handler="OnBtnSettingsClicked" />
</widget>
<packing>
<property name="PackType">End</property>
<property name="Position">1</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Button" id="btnHelp">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="UseStock">True</property>
<property name="Type">StockItem</property>
<property name="StockId">gtk-help</property>
<signal name="Clicked" handler="OnBtnHelpClicked" />
<property name="label">gtk-help</property>
</widget>
<packing>
<property name="PackType">End</property>
<property name="Position">2</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Button" id="btnClose">
<property name="MemberName" />
<property name="Visible">False</property>
<property name="CanFocus">True</property>
<property name="Type">TextAndIcon</property>
<property name="Icon">stock:gtk-close Menu</property>
<property name="Label" translatable="yes">_Close</property>
<property name="UseUnderline">True</property>
<signal name="Clicked" handler="OnBtnCloseClicked" />
</widget>
<packing>
<property name="PackType">End</property>
<property name="Position">3</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Button" id="btnPack">
<property name="MemberName" />
<property name="Visible">False</property>
<property name="Sensitive">False</property>
<property name="CanFocus">True</property>
<property name="Type">TextAndIcon</property>
<property name="Icon">stock:gtk-save Menu</property>
<property name="Label" translatable="yes">_Pack...</property>
<property name="UseUnderline">True</property>
</widget>
<packing>
<property name="PackType">End</property>
<property name="Position">4</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Button" id="btnAdd">
<property name="MemberName" />
<property name="Visible">False</property>
<property name="CanFocus">True</property>
<property name="Type">TextAndIcon</property>
<property name="Icon">stock:gtk-add Menu</property>
<property name="Label" translatable="yes">Add to _DB</property>
<property name="UseUnderline">True</property>
<signal name="Clicked" handler="OnBtnAddClicked" />
</widget>
<packing>
<property name="PackType">End</property>
<property name="Position">5</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Button" id="btnArchive">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="Type">TextAndIcon</property>
<property name="Icon">stock:gtk-open Menu</property>
<property name="Label" translatable="yes">Open _archive</property>
<property name="UseUnderline">True</property>
</widget>
<packing>
<property name="PackType">End</property>
<property name="Position">6</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Button" id="btnFolder">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="Type">TextAndIcon</property>
<property name="Icon">stock:gtk-open Menu</property>
<property name="Label" translatable="yes">Open _folder</property>
<property name="UseUnderline">True</property>
<signal name="Clicked" handler="OnBtnFolderClicked" />
</widget>
<packing>
<property name="PackType">End</property>
<property name="Position">7</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Button" id="btnStop">
<property name="MemberName" />
<property name="Visible">False</property>
<property name="CanFocus">True</property>
<property name="UseStock">True</property>
<property name="Type">StockItem</property>
<property name="StockId">gtk-stop</property>
<signal name="Clicked" handler="OnBtnStopClicked" />
<property name="label">gtk-stop</property>
</widget>
<packing>
<property name="PackType">End</property>
<property name="Position">8</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">12</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
<widget class="Gtk.Window" id="osrepodbmgr.frmHelp" design-size="400 300">
<property name="MemberName" />
<property name="Title" translatable="yes">Help</property>
<property name="TypeHint">Dialog</property>
<property name="WindowPosition">CenterOnParent</property>
<property name="Modal">True</property>
<child>
<widget class="Gtk.VBox" id="vbox4">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow">
<property name="MemberName" />
<property name="ShadowType">In</property>
<child>
<widget class="Gtk.TextView" id="txtHelp">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="ShowScrollbars">True</property>
<property name="Editable">False</property>
<property name="Text">This is the naming scheme and folder organization conventions for the Operating System Repository.
The basic layout is as follows:
&lt;Developer&gt;/&lt;Product&gt;/&lt;Version&gt;/&lt;Language&gt;/&lt;Architecture&gt;/oem/for &lt;Machine&gt;/&lt;[format]_update/upgrade/files/source/netinstall/description&gt;.zip
All fields should contain only 7-bit ASCII.
&lt;Developer&gt;
-----------
This is the main developer of the operating system or associated software. e.g. Microsoft
&lt;Product&gt;
---------
This is the name of the operating system or associated software. e.g. Windows NT
&lt;Version&gt;
---------
This is the version of the operating system or associated software. e.g. 6.00.6000.16386
Service pack and release markers should be appended. e.g. 6.10.7601.16385 (RTM)
Build can be specified by appending "build". e.g. 10.2.7 build 6S80
And combined. e.g. 10.5 build 9A581 (Server)
Version with same version number but different build date should have it appended. Date format should be YYYYmm[dd]. e.g. 10 201009
&lt;Language&gt;
----------
This specifies the language localization and translation:
xxx: Language variation, e.g. German = deu
xxx_yy: Country specific language variation. e.g. Swiss German = deu_ch
multi: The only known variation of the product that contains more than a language
xxx,xxx,xxx and xxx_yy,xxx_yy,xxx_yy: The variation contains more than a single language
Where xxx is the ISO-639-2/T language code and yy is the ISO-3166-1 alpha-2 country code.
https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
If the product has ever been only released in one language variation, being it English (like CP/M) or multilanguage (like Mac OS X and Linux), this field should be omitted.
&lt;Architecture&gt;
--------------
The processor architecture the product is compiled for.
Omitted if it has only ever been compiled for a single one, contains all supported ones in same files, or it is source code containing support for several of them.
Exact one depends on the product (that is, the one that the product uses to identify itself, should be used). Examples:
* x86, i86, i386, i486, i586, i686, ia32: Intel Architecture 32 aka 8086 aka iAPX86
* x64, amd64, x86_64: AMD64 aka x86_64 aka EM64T
* ia64: Intel Architecture 64 aka Itanium
* sparc: SPARC
* sun4u, sun4m, sun1, sun2, sun3: Specific Sun architectures that specify not only the processor architecture but the whole system one.
* 68k, ppc, fat: For products that run under Mac OS indicate they require a Macintosh, a Power Macintosh, or can run on both, respectively.
* rpi, rpi2, beaglebone, bananapi: Specific whole systems that share a processor architecture but require a completely different variant.
oem
---
Present if the variant is OEM. Omitted otherwise.
for &lt;Machine&gt;
-------------
Present if the variant requires a specific computer to run.
Useful for computer restoration variants.
e.g. for Power Mac 5200
e.g. for Tandy 1000
&lt;[format]/update/upgrade/files/source/netinstall/description&gt;.zip
-----------------------------------------------------------------
This is the file containing the product itself.
It should be compressed using ZIP with certain parameters (see below).
Several of them can be combined separated with underscores.
Naming as following:
* [format]: If the variation is encoded in a disk image format that's neither a simple dump of sectors (.iso/.dsk/.xdf) or a BinCue/BinToc (.bin+.cue/.bin+.toc) format should be substituted to a descriptive name for the format. e.g.: [Nero], [CloneCD]
* update: Should be used when the product requires and updates a previous point release or build to the new one. Product version should be the updated, not the required, one. e.g.: 1.3 updates to 1.3.1 or 2.0 updates to 2.5
* upgrade: Should be used when the product requires and updates a previous version to the new one. Product version should be the updated, not the required, one. e.g.: 2.0 updates to 3.0 or MS-DOS updates to Windows 95.
* files: Should be used when the contents of the product disks are dumped as is (copied from the media) or it contains already installed files.
* source: Should be used when it contains the source code for the product.
* netinstall: Similar to files except that the files are designed to be put in a network share for remote installation of the product.
* description: Free form description or product part number if it is known.
Compression
-----------
The product should be compressed using ZIP with Deflate algorithm and UTF-8 headers. Zip64 extensions may be used. UNIX extensions MUST be used for products that require them (e.g. it contains softlinks).
In the doubt, use Info-ZIP with following parameters:
zip -9ry -dd archive.zip .
If the product requires Acorn, BeOS or OS/2 extended attributes it should be compressed using the corresponding Info-ZIP version under that operating system so the required extension is used.
DO NOT recompress archives in an operating system which zip product doesn't support all already present headers.
DO NOT use TorrentZip. It discards all headers as well as date stamps.
DO NOT use Mac OS headers. For conserving FinderInfo and Resource Fork see below.
FinderInfo and Resource Fork
----------------------------
FinderInfo and Resource Fork should be stored as Mac OS X AppleDouble format: file and ._file
This format is understand by all Mac OS X versions under any filesystem or a CIFS/SMB network share.
Also mkisofs recognizes it and is able to create an HFS partition with them correctly set.
Other formats should be converted to this one.
Metadata
--------
Each archive should be accompanied with a JSON metadata file using the CICM Metadata format. Name for metadata sidecar should be same as the archive changing the extension to .json.
If the archive can be modified (doesn't contain ZIP headers you would lose) the metadata should be put inside the archive as a file named metadata.json.
Recovery
--------
Disks fail, bit rot happens, so every archive as well as the metadata file should have a PAR2 recovery set created.
Example command line (with 5% redundancy):
par2 c -r5 archive.par2 archive.zip archive.json
Result
------
In the end you get something like this:
Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.json
Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.par2
Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.vol000+01.par2
Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.vol001+02.par2
Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.vol003+04.par2
Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.vol007+08.par2
Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.vol015+16.par2
Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.vol031+32.par2
Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.vol063+37.par2
Apple/Mac OS/9.1/eng/for iMac (Early 2001) v1.1/archive.zip
QNX/QNX/20090229/source.json
QNX/QNX/20090229/source.par2
QNX/QNX/20090229/source.vol000+01.par2
QNX/QNX/20090229/source.vol001+02.par2
QNX/QNX/20090229/source.vol003+04.par2
QNX/QNX/20090229/source.vol007+08.par2
QNX/QNX/20090229/source.vol015+16.par2
QNX/QNX/20090229/source.vol031+32.par2
QNX/QNX/20090229/source.vol063+37.par2
QNX/QNX/20090229/source.zip</property>
</widget>
</child>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
</packing>
</child>
<child>
<widget class="Gtk.Button" id="btnOK">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="UseStock">True</property>
<property name="Type">StockItem</property>
<property name="StockId">gtk-ok</property>
<signal name="Clicked" handler="OnBtnOKClicked" />
<property name="label">gtk-ok</property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
<widget class="Gtk.Window" id="osrepodbmgr.frmSettings" design-size="400 194">
<property name="MemberName" />
<property name="Title" translatable="yes">frmSettings</property>
<property name="WindowPosition">CenterOnParent</property>
<child>
<widget class="Gtk.VBox" id="vbox5">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.HBox" id="hbox26">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Label" id="lblDatabase">
<property name="MemberName" />
<property name="LabelProp" translatable="yes">Database file</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Entry" id="txtDatabase">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="IsEditable">True</property>
<property name="InvisibleChar"></property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
<child>
<widget class="Gtk.Button" id="btnDatabase">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="Type">TextAndIcon</property>
<property name="Icon">stock:gtk-open Menu</property>
<property name="Label" translatable="yes">Choose</property>
<property name="UseUnderline">True</property>
<signal name="Clicked" handler="OnBtnDatabaseClicked" />
</widget>
<packing>
<property name="Position">2</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox25">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Label" id="lblRepository">
<property name="MemberName" />
<property name="LabelProp" translatable="yes">Repository folder</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Entry" id="txtRepository">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="IsEditable">True</property>
<property name="InvisibleChar"></property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
<child>
<widget class="Gtk.Button" id="btnRepository">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="Type">TextAndIcon</property>
<property name="Icon">stock:gtk-open Menu</property>
<property name="Label" translatable="yes">Choose</property>
<property name="UseUnderline">True</property>
<signal name="Clicked" handler="OnBtnRepositoryClicked" />
</widget>
<packing>
<property name="Position">2</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox24">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Label" id="lblTmp">
<property name="MemberName" />
<property name="LabelProp" translatable="yes">Temporary folder</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Entry" id="txtTmp">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="IsEditable">True</property>
<property name="InvisibleChar"></property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
<child>
<widget class="Gtk.Button" id="btnTmp">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="Type">TextAndIcon</property>
<property name="Icon">stock:gtk-open Menu</property>
<property name="Label" translatable="yes">Choose</property>
<property name="UseUnderline">True</property>
<signal name="Clicked" handler="OnBtnTmpClicked" />
</widget>
<packing>
<property name="Position">2</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">2</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox23">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Label" id="lblUnar">
<property name="MemberName" />
<property name="LabelProp" translatable="yes">Path to unar</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Entry" id="txtUnar">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="IsEditable">True</property>
<property name="InvisibleChar"></property>
</widget>
<packing>
<property name="Position">1</property>
<property name="AutoSize">True</property>
</packing>
</child>
<child>
<widget class="Gtk.Button" id="btnUnar">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="Type">TextAndIcon</property>
<property name="Icon">stock:gtk-open Menu</property>
<property name="Label" translatable="yes">Choose</property>
<property name="UseUnderline">True</property>
<signal name="Clicked" handler="OnBtnUnarClicked" />
</widget>
<packing>
<property name="Position">2</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">3</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.HBox" id="hbox18">
<property name="MemberName" />
<property name="Spacing">6</property>
<child>
<widget class="Gtk.Button" id="btnCancel">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="UseStock">True</property>
<property name="Type">StockItem</property>
<property name="StockId">gtk-cancel</property>
<signal name="Clicked" handler="OnBtnCancelClicked" />
<property name="label">gtk-cancel</property>
</widget>
<packing>
<property name="Position">0</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
<child>
<widget class="Gtk.Button" id="btnApply">
<property name="MemberName" />
<property name="CanFocus">True</property>
<property name="UseStock">True</property>
<property name="Type">StockItem</property>
<property name="StockId">gtk-apply</property>
<signal name="Clicked" handler="OnBtnApplyClicked" />
<property name="label">gtk-apply</property>
</widget>
<packing>
<property name="PackType">End</property>
<property name="Position">1</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
</widget>
<packing>
<property name="Position">4</property>
<property name="AutoSize">True</property>
<property name="Expand">False</property>
<property name="Fill">False</property>
</packing>
</child>
</widget>
</child>
</widget>
</stetic-interface>