Skip to content

Commit de138b7

Browse files
committed
fix: Add missing build-appimage.sh script
1 parent 2bc1759 commit de138b7

File tree

1 file changed

+88
-0
lines changed

1 file changed

+88
-0
lines changed
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
#!/bin/bash
2+
3+
# Build AppImage for MarkAPI
4+
# Usage: ./build-appimage.sh [version]
5+
6+
VERSION=${1:-1.0.0}
7+
APP_NAME="MarkAPI"
8+
9+
echo "Building AppImage: ${APP_NAME}-${VERSION}.AppImage"
10+
11+
# Create AppDir structure
12+
APPDIR="${APP_NAME}.AppDir"
13+
rm -rf "$APPDIR"
14+
mkdir -p "$APPDIR"/{usr/bin,usr/share/applications,usr/share/icons/hicolor/256x256/apps}
15+
16+
# Create AppRun script
17+
cat > "$APPDIR/AppRun" << 'APPRUN_EOF'
18+
#!/bin/bash
19+
20+
# MarkAPI AppImage Launcher
21+
22+
APPDIR="$(dirname "$(readlink -f "$0")")"
23+
export PATH="$APPDIR/usr/bin:$PATH"
24+
25+
# Check if Docker is available
26+
if ! command -v docker &> /dev/null; then
27+
if command -v zenity &> /dev/null; then
28+
zenity --error --title="MarkAPI" --text="Docker não está instalado!\n\nInstale Docker para usar o MarkAPI:\n\nUbuntu/Debian: sudo apt install docker.io\nFedora: sudo dnf install docker\nArch: sudo pacman -S docker"
29+
else
30+
echo "ERRO: Docker não está instalado!"
31+
echo "Instale Docker para usar o MarkAPI"
32+
fi
33+
exit 1
34+
fi
35+
36+
# Check if Docker is running
37+
if ! docker info &> /dev/null; then
38+
if command -v zenity &> /dev/null; then
39+
zenity --error --title="MarkAPI" --text="Docker não está rodando!\n\nInicie Docker:\nsudo systemctl start docker\n\nOu adicione seu usuário ao grupo docker:\nsudo usermod -aG docker $USER"
40+
else
41+
echo "ERRO: Docker não está rodando!"
42+
echo "Inicie: sudo systemctl start docker"
43+
fi
44+
exit 1
45+
fi
46+
47+
# Create working directory
48+
WORKDIR="$HOME/.markapi"
49+
mkdir -p "$WORKDIR"
50+
51+
# Copy application files if not exists
52+
if [ ! -f "$WORKDIR/markapi" ]; then
53+
cp -r "$APPDIR/usr/share/markapi"/* "$WORKDIR/"
54+
chmod +x "$WORKDIR/markapi"
55+
fi
56+
57+
# Change to working directory
58+
cd "$WORKDIR"
59+
60+
# Check arguments
61+
case "$1" in
62+
""|"start")
63+
./markapi start
64+
;;
65+
*)
66+
./markapi "$@"
67+
;;
68+
esac
69+
APPRUN_EOF
70+
71+
chmod +x "$APPDIR/AppRun"
72+
73+
# Copy application files
74+
cp -r ../universal/* "$APPDIR/usr/share/markapi/"
75+
cp ../universal/markapi "$APPDIR/usr/bin/"
76+
chmod +x "$APPDIR/usr/bin/markapi"
77+
78+
# Create desktop file
79+
cat > "$APPDIR/markapi.desktop" << EOF
80+
[Desktop Entry]
81+
Name=MarkAPI
82+
Comment=SciELO XML Processor
83+
Exec=AppRun
84+
Icon=markapi
85+
Type=Application
86+
Categories=Office;Science;Development;
87+
Keywords=xml;scielo;publishing;
88+
X-AppImage-Version=$VERSION

0 commit comments

Comments
 (0)