mirror of
https://github.com/meganz/MEGAcmd
synced 2025-08-22 01:47:24 +00:00
Add a script to automate Synology package generation
This commit is contained in:
parent
0cdd7e9dd6
commit
d4100b2577
3
.gitignore
vendored
3
.gitignore
vendored
@ -66,6 +66,9 @@ megacmd_src_file_list.h
|
||||
# macOS packaging files and artifacts
|
||||
Info.plist
|
||||
|
||||
# Synology packaging files and artifacts
|
||||
/build/SynologyNAS/packages
|
||||
|
||||
# Git
|
||||
*_BACKUP_*
|
||||
*_BASE_*
|
||||
|
@ -24,6 +24,8 @@ After copying, we can stop and remove the container if needed:
|
||||
docker rm -f megacmd-dms
|
||||
```
|
||||
|
||||
The script `build/SynologyNAS/generate_pkg.sh` automates all of these steps, creating the necessary docker container, extracting the package from it, and deleting it afterwards. In this case, the package will be extracted to `build/SynologyNAS/packages`.
|
||||
|
||||
To install the package on your NAS device, login using the web interface. Navigate to the Package Manager, and click Manual Install. This will open up a menu which lets you choose a local file. Select your generated .pkg file, and install.
|
||||
|
||||
To actually run MEGAcmd, you'll need to enable a telnet or SSH connection in the Synology NAS, and run a remote terminal on it. Executables are available at `/volume1/@appstore/megacmdpkg`.
|
||||
|
28
build/SynologyNAS/generate_pkg.sh
Executable file
28
build/SynologyNAS/generate_pkg.sh
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: $0 <platform>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PLATFORM="$1"
|
||||
CONTAINER="megacmd-${PLATFORM}-build-env"
|
||||
|
||||
cleanup() {
|
||||
echo "Cleaning up container..."
|
||||
docker rm -f $CONTAINER > /dev/null 2>&1 || true
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
echo "Starting build for '${PLATFORM}'..."
|
||||
|
||||
docker build -t $CONTAINER \
|
||||
-f "$PWD/build/SynologyNAS/dockerfile/synology-cross-build.dockerfile" \
|
||||
"$PWD" \
|
||||
--build-arg PLATFORM="$PLATFORM"
|
||||
|
||||
CONTAINER_ID=$(docker create $CONTAINER)
|
||||
docker cp "${CONTAINER_ID}:/image/${PLATFORM}" $PWD/build/SynologyNAS/packages/$PLATFORM
|
||||
|
||||
echo "Extracted package for '${PLATFORM}'"
|
Loading…
x
Reference in New Issue
Block a user