Skip to content

Commit 6150abd

Browse files
ci: build rpm, dev and apk packages
1 parent 50b438f commit 6150abd

File tree

5 files changed

+106
-1
lines changed

5 files changed

+106
-1
lines changed

build-packages.sh

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ if ! command -v ruby &>/dev/null; then
1717
fi
1818

1919
if ! command -v fpm &>/dev/null; then
20-
echo "Error: FPM (rubygem-fpm) is required to create RPM packages."
20+
echo "Error: FPM (rubygem-fpm) is required to create RPM and DEB packages."
2121
echo "Install it with: sudo gem install fpm"
2222
exit 1
2323
fi
@@ -116,4 +116,25 @@ fpm -s dir -t deb -n frankenphp -v "${frankenphp_version}" \
116116
[ "$user_preexists" -eq 0 ] && sudo userdel frankenphp
117117
[ "$group_preexists" -eq 0 ] && (sudo groupdel frankenphp || true)
118118

119+
echo "Creating APK package using FPM..."
120+
fpm -s dir -t apk -n frankenphp -v "${frankenphp_version}" \
121+
--architecture "${arch}" \
122+
--config-files /etc/frankenphp/Caddyfile \
123+
--config-files /etc/frankenphp/php.ini \
124+
--depends "musl" \
125+
--depends "libstdc++" \
126+
--after-install ../package/alpine/frankenphp.post-install \
127+
--before-remove ../package/alpine/frankenphp.pre-deinstall \
128+
--after-remove ../package/alpine/frankenphp.post-deinstall \
129+
--iteration "${iteration}" \
130+
"${bin}=/usr/bin/frankenphp" \
131+
"../package/alpine/frankenphp.openrc=/etc/init.d/frankenphp" \
132+
"../package/rhel/frankenphp.service=/usr/lib/systemd/system/frankenphp.service" \
133+
"../package/Caddyfile=/etc/frankenphp/Caddyfile" \
134+
"../package/content/=/usr/share/frankenphp" \
135+
"../package/etc/php.ini=/etc/frankenphp/php.ini" \
136+
"../package/empty/=/etc/frankenphp/php.d" \
137+
"../package/empty/=/usr/lib/frankenphp/modules" \
138+
"../package/empty/=/var/lib/frankenphp"
139+
119140
cd ..

package/alpine/frankenphp.openrc

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/sbin/openrc-run
2+
3+
name="FrankenPHP"
4+
description="Modern PHP app server"
5+
6+
command="/usr/bin/frankenphp"
7+
command_args="run --environ --config /etc/frankenphp/Caddyfile"
8+
command_user="frankenphp:frankenphp"
9+
command_background="yes"
10+
pidfile="/run/frankenphp/frankenphp.pid"
11+
start_stop_daemon_args="--chdir /var/lib/frankenphp"
12+
13+
depend() {
14+
need net
15+
after firewall
16+
}
17+
18+
start_pre() {
19+
checkpath --directory --owner frankenphp:frankenphp --mode 0755 /run/frankenphp
20+
21+
$command validate --config /etc/frankenphp/Caddyfile
22+
}
23+
24+
reload() {
25+
ebegin "Reloading $name configuration"
26+
$command reload --config /etc/frankenphp/Caddyfile --force
27+
eend $?
28+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#!/bin/sh
2+
3+
# Remove user and group if they exist and are not being used by other processes
4+
if getent passwd frankenphp >/dev/null; then
5+
deluser frankenphp
6+
fi
7+
8+
if getent group frankenphp >/dev/null; then
9+
delgroup frankenphp
10+
fi
11+
12+
# Clean up directories (but preserve user data)
13+
# Only remove if empty
14+
rmdir /var/lib/frankenphp 2>/dev/null || true
15+
16+
exit 0
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/bin/sh
2+
3+
if ! getent group frankenphp >/dev/null; then
4+
addgroup -S frankenphp
5+
fi
6+
7+
if ! getent passwd frankenphp >/dev/null; then
8+
adduser -S -h /var/lib/frankenphp -s /sbin/nologin -G frankenphp -g "FrankenPHP web server" frankenphp
9+
fi
10+
11+
chown -R frankenphp:frankenphp /var/lib/frankenphp
12+
chmod 755 /var/lib/frankenphp
13+
14+
# allow binding to privileged ports
15+
if command -v setcap >/dev/null 2>&1; then
16+
setcap cap_net_bind_service=+ep /usr/bin/frankenphp || true
17+
fi
18+
19+
# trust FrankenPHP certificates
20+
if [ -x /usr/bin/frankenphp ]; then
21+
HOME=/var/lib/frankenphp /usr/bin/frankenphp trust || true
22+
fi
23+
24+
if command -v rc-update >/dev/null 2>&1; then
25+
rc-update add frankenphp default
26+
rc-service frankenphp start
27+
fi
28+
29+
exit 0
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/sh
2+
3+
if command -v rc-service >/dev/null 2>&1; then
4+
rc-service frankenphp stop || true
5+
fi
6+
7+
if command -v rc-update >/dev/null 2>&1; then
8+
rc-update del frankenphp default || true
9+
fi
10+
11+
exit 0

0 commit comments

Comments
 (0)