Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e480141e89 | ||
|
|
e1ae34a336 |
@@ -15,19 +15,19 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: windows
|
#- os: windows
|
||||||
arch: amd64
|
# arch: amd64
|
||||||
ext: .exe
|
# ext: .exe
|
||||||
- os: linux
|
#- os: linux
|
||||||
arch: amd64
|
# arch: amd64
|
||||||
ext: ""
|
# ext: ""
|
||||||
- os: linux
|
- os: linux
|
||||||
arch: arm64
|
arch: arm64
|
||||||
ext: ""
|
ext: ""
|
||||||
- os: linux
|
#- os: linux
|
||||||
arch: arm
|
# arch: arm
|
||||||
arm_version: 7
|
# arm_version: 7
|
||||||
ext: ""
|
# ext: ""
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ jobs:
|
|||||||
export GOARM=${{ matrix.arm_version }}
|
export GOARM=${{ matrix.arm_version }}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
OUTPUT="${OUTPUT}"
|
OUTPUT="${OUTPUT}${{ matrix.ext }}"
|
||||||
echo "Building $OUTPUT"
|
echo "Building $OUTPUT"
|
||||||
GOOS=${{ matrix.os }} GOARCH=${{ matrix.arch }} go build -ldflags="-s -w" -trimpath -o "$OUTPUT"
|
GOOS=${{ matrix.os }} GOARCH=${{ matrix.arch }} go build -ldflags="-s -w" -trimpath -o "$OUTPUT"
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -98,6 +98,7 @@ jobs:
|
|||||||
# 2. Create Directory Structure
|
# 2. Create Directory Structure
|
||||||
mkdir -p $BUILD_DIR/usr/bin
|
mkdir -p $BUILD_DIR/usr/bin
|
||||||
mkdir -p $BUILD_DIR/usr/share/$PKG_NAME
|
mkdir -p $BUILD_DIR/usr/share/$PKG_NAME
|
||||||
|
mkdir -p $BUILD_DIR/etc/systemd/system
|
||||||
mkdir -p $BUILD_DIR/DEBIAN
|
mkdir -p $BUILD_DIR/DEBIAN
|
||||||
|
|
||||||
# 3. Copy Files
|
# 3. Copy Files
|
||||||
@@ -105,7 +106,33 @@ jobs:
|
|||||||
cp -r ./web $BUILD_DIR/usr/share/$PKG_NAME/
|
cp -r ./web $BUILD_DIR/usr/share/$PKG_NAME/
|
||||||
chmod +x $BUILD_DIR/usr/bin/$PKG_NAME
|
chmod +x $BUILD_DIR/usr/bin/$PKG_NAME
|
||||||
|
|
||||||
# 4. Create Control File
|
# 4. Handle .env (Copy as a .template so it doesn't overwrite existing ones)
|
||||||
|
if [ -f ".env" ]; then
|
||||||
|
cp .env $BUILD_DIR/usr/share/$PKG_NAME/.env.template
|
||||||
|
else
|
||||||
|
echo "PORT=8080" > $BUILD_DIR/usr/share/$PKG_NAME/.env.template
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 5. Create the systemd Service File
|
||||||
|
cat <<EOF > $BUILD_DIR/etc/systemd/system/$PKG_NAME.service
|
||||||
|
[Unit]
|
||||||
|
Description=Slideshow Application Service
|
||||||
|
After=graphical.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
Environment=DISPLAY=:0
|
||||||
|
Environment=XAUTHORITY=/home/youruser/.Xauthority
|
||||||
|
ExecStart=/usr/bin/$PKG_NAME
|
||||||
|
WorkingDirectory=/usr/share/$PKG_NAME
|
||||||
|
Restart=always
|
||||||
|
User=root
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# 6. Create Control File
|
||||||
cat <<EOF > $BUILD_DIR/DEBIAN/control
|
cat <<EOF > $BUILD_DIR/DEBIAN/control
|
||||||
Package: $PKG_NAME
|
Package: $PKG_NAME
|
||||||
Version: $VERSION
|
Version: $VERSION
|
||||||
@@ -116,7 +143,28 @@ jobs:
|
|||||||
Description: Slideshow Application
|
Description: Slideshow Application
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# 5. Build .deb
|
# 7. Optional: Add post-install script to enable service automatically
|
||||||
|
echo "create service"
|
||||||
|
cat <<EOF > $BUILD_DIR/DEBIAN/postinst
|
||||||
|
#!/bin/sh
|
||||||
|
# Check if .env exists in the target share folder
|
||||||
|
if [ ! -f "/usr/share/$PKG_NAME/.env" ]; then
|
||||||
|
echo "Creating new .env from template..."
|
||||||
|
cp /usr/share/$PKG_NAME/.env.template /usr/share/$PKG_NAME/.env
|
||||||
|
else
|
||||||
|
echo ".env already exists, skipping template copy to preserve settings."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "reload"
|
||||||
|
systemctl daemon-reload
|
||||||
|
echo "enable service"
|
||||||
|
systemctl enable $PKG_NAME.service
|
||||||
|
echo "start service"
|
||||||
|
systemctl start $PKG_NAME.service
|
||||||
|
EOF
|
||||||
|
chmod 555 $BUILD_DIR/DEBIAN/postinst
|
||||||
|
|
||||||
|
# 8. Build .deb
|
||||||
dpkg-deb --build $BUILD_DIR
|
dpkg-deb --build $BUILD_DIR
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user