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