Private
Public Access
Payload Images hinzugefügt
+135
@@ -0,0 +1,135 @@
|
|||||||
|
# Payload Images
|
||||||
|
|
||||||
|
Payload images are reusable intermediate images containing extracted installer content.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Windows Payload
|
||||||
|
|
||||||
|
Directory:
|
||||||
|
|
||||||
|
```text
|
||||||
|
romexis-payload/
|
||||||
|
```
|
||||||
|
|
||||||
|
Purpose:
|
||||||
|
|
||||||
|
- download official Windows installer
|
||||||
|
- extract required InstallShield CAB components
|
||||||
|
- build `/opt/romexis`
|
||||||
|
- extract MSSQL initialization SQL files
|
||||||
|
- write `/opt/romexis/version`
|
||||||
|
|
||||||
|
Output contract:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/opt/romexis
|
||||||
|
/opt/romexis-mssql-db
|
||||||
|
/opt/romexis/version
|
||||||
|
/opt/romexis/server/RomexisServer.jar
|
||||||
|
```
|
||||||
|
|
||||||
|
The payload must not contain architecture-specific runtime libraries like Chilkat.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Version File
|
||||||
|
|
||||||
|
Supported Windows installer URLs are maintained in:
|
||||||
|
|
||||||
|
```text
|
||||||
|
romexis-payload/romexis-versions.env
|
||||||
|
```
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```text
|
||||||
|
6_5_3_444_203=https://content.planmeca.com/files/Planmeca_Romexis_6.5.3.444.203_Win.zip
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Copy Map
|
||||||
|
|
||||||
|
Installer extraction is controlled by:
|
||||||
|
|
||||||
|
```text
|
||||||
|
romexis-payload/romexis-copy-map.tsv
|
||||||
|
```
|
||||||
|
|
||||||
|
Format:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Source<TAB>Destination
|
||||||
|
```
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Server_jar /opt/romexis/server
|
||||||
|
Server_Program_64bit/server/*.xml /opt/romexis/server
|
||||||
|
```
|
||||||
|
|
||||||
|
When this mapping changes, all payload versions should be rebuilt because the extracted runtime layout may change.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Firebird Payload
|
||||||
|
|
||||||
|
Directory:
|
||||||
|
|
||||||
|
```text
|
||||||
|
romexis-firebird-payload/
|
||||||
|
```
|
||||||
|
|
||||||
|
Purpose:
|
||||||
|
|
||||||
|
- download official macOS DMG
|
||||||
|
- extract PKG payloads
|
||||||
|
- collect Firebird database SQL scripts
|
||||||
|
- collect original backup/restore helper scripts
|
||||||
|
- include `romexis_new.fdb` as reference/template
|
||||||
|
|
||||||
|
Output contract:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/opt/romexis-firebird-db/version
|
||||||
|
/opt/romexis-firebird-db/scripts
|
||||||
|
/opt/romexis-firebird-db/tools
|
||||||
|
/opt/romexis-firebird-db/templates
|
||||||
|
/opt/romexis-firebird-db/layout
|
||||||
|
```
|
||||||
|
|
||||||
|
Important files:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/opt/romexis-firebird-db/scripts/rxdb.sh
|
||||||
|
/opt/romexis-firebird-db/scripts/rxupd.sh
|
||||||
|
/opt/romexis-firebird-db/scripts/RX_Base_10fb_MAC.sql
|
||||||
|
/opt/romexis-firebird-db/scripts/RX_Update_653.sql
|
||||||
|
/opt/romexis-firebird-db/tools/Romexis_Firebird_Backup.sh
|
||||||
|
/opt/romexis-firebird-db/tools/Romexis_Firebird_Restore.sh
|
||||||
|
/opt/romexis-firebird-db/templates/romexis_new.fdb
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Inspecting a Payload Image
|
||||||
|
|
||||||
|
If a payload image is based on `scratch`, it may not have a shell.
|
||||||
|
|
||||||
|
Use:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker save gitea.buchhorster.de/patrick/romexis-firebird-payload:latest -o payload.tar
|
||||||
|
mkdir payload rootfs
|
||||||
|
tar -xf payload.tar -C payload
|
||||||
|
tar -xf payload/<layer-id>/layer.tar -C rootfs
|
||||||
|
find rootfs/opt -type f | sort
|
||||||
|
```
|
||||||
|
|
||||||
|
If the image includes a shell:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run --rm -it --entrypoint sh gitea.buchhorster.de/patrick/romexis-firebird-payload:latest
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user