main/postmarketos-usb-moded: add support for openrc

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7673>
This commit is contained in:
Joshua Murphy 2025-12-30 15:05:49 -05:00 committed by The Friendly Merge Bot
parent d4330a7129
commit f1ad7eabad
No known key found for this signature in database
9 changed files with 92 additions and 5 deletions

View file

@ -1,6 +1,6 @@
maintainer="Clayton Craft <clayton@craftyguy.net>"
pkgname=postmarketos-usb-moded
pkgver=2
pkgver=3
pkgrel=0
pkgdesc="Meta package for configuring usb-moded on postmarketOS"
url="https://postmarketos.org"
@ -14,12 +14,16 @@ depends="
subpackages="
$pkgname-default-profile-charging:charging_default
$pkgname-default-profile-developer:developer_default
$pkgname-openrc
$pkgname-systemd
"
_pmb_select="$pkgname-default-profile"
_source644="
etc/usb-moded/configfs.ini
etc/usb-moded/dyn-modes/developer_mode_openrc.ini
etc/usb-moded/dyn-modes/tethering_mode_openrc.ini
etc/usb-moded/dyn-modes/mtp_ffs_mode_openrc.ini
etc/usb-moded/dyn-modes/developer_mode_systemd.ini
etc/usb-moded/dyn-modes/tethering_mode_systemd.ini
etc/usb-moded/dyn-modes/mtp_ffs_mode_systemd.ini
@ -29,6 +33,8 @@ _source644="
usr/lib/systemd/system/usb-moded.service.d/override.conf
"
_source755="
etc/init.d/usb-moded-developer-mode.initd
etc/init.d/usb-moded-tethering-mode.initd
usr/bin/usb-moded-developer-mode
usr/bin/usb-moded-tethering-mode
usr/lib/systemd/system-generators/umtprd-config-generator
@ -60,7 +66,7 @@ package() {
install -Dm600 "$srcdir/$(flatpath "$i")" "$pkgdir/$i"
done
for i in $_source755; do
install -Dm755 "$srcdir/$(flatpath "$i")" "$pkgdir/$i"
install -Dm755 "$srcdir/$(flatpath "$i")" "$pkgdir/${i%.initd}"
done
}
@ -89,8 +95,23 @@ developer_default() {
EOF
}
openrc() {
default_openrc
amove etc/usb-moded/dyn-modes/*openrc.ini
}
systemd() {
default_systemd
amove etc/usb-moded/dyn-modes/*systemd.ini
}
sha512sums="
231c1cfb991bb4d9f9807bb81e970bc2f63b7ea6e9bb06cf06a698af69b4a9f82f015252ec4c802ad0f8b58456d624f07e62902f04207dc5bac76cc785c296a7 rootfs-etc-usb-moded-configfs.ini
af6dd318268c9765d4b368b390cb8eca50142d98eeb16cf73b45bdbf43a4cf1598ca9995dcb72e5e2132141cdc0be0f86860c9f4e3856c77a9add9f6131084f3 rootfs-etc-usb-moded-dyn-modes-developer_mode_openrc.ini
7e09c8f5208051a79aa95a377ae4a0dd4381be2d05e3c834d1b2dfcbccbda55248b1f21676ac650916de755b1248cf8c89af03989e4dff0cd52f8a5d000952c6 rootfs-etc-usb-moded-dyn-modes-tethering_mode_openrc.ini
1efbc7621e2423d9a69505d9c23d136e17314d955dd5a1016d49acafe3b02ce42457fae2e472b374b8b950dea076c017a9c6884cbcd57284e6d3b0dfb4813ff9 rootfs-etc-usb-moded-dyn-modes-mtp_ffs_mode_openrc.ini
d373201040a911663fd74123e9ef35e43dedfd375eeefe8ca949a3e24737d457a4693e836b1c5ad6f4cf3149b656ae24d751f767babb9858a42114c5d2ad083e rootfs-etc-usb-moded-dyn-modes-developer_mode_systemd.ini
3d4e20f9e8e357030ce5f5c73367aef31cebecce48a9b1ff7915731335a83715e0679812959ac9ee41f88447a8636177244c0b9c5109cd8a227caecb9931ed9e rootfs-etc-usb-moded-dyn-modes-tethering_mode_systemd.ini
af41dc4ceb7255dbb88273916306c6e7e66c879bb67523c9571f9e812c9b36ab00ea666ade49369cd5846b4552a53add58cd1aea574a496bf53ddd3fbc630922 rootfs-etc-usb-moded-dyn-modes-mtp_ffs_mode_systemd.ini
@ -98,6 +119,8 @@ af41dc4ceb7255dbb88273916306c6e7e66c879bb67523c9571f9e812c9b36ab00ea666ade49369c
2c838fd0ad66c92386f6159c7d96d3ba940e13834642eb2cb7612d79d6b8832e9bd06b1eb189141f21fa9085d8b43ea514c15d82736ebd6b94533811f5a15f11 rootfs-usr-lib-systemd-system-usb-moded-developer-mode.service
56ce2662dd8f88795bd2e9063f20747e1377d896fbcf9e1ae43c90ef511c4a11517d7c673f857cf194070c425f417df8f40ced9b95749ed1df53e1be122a8ef7 rootfs-usr-lib-systemd-system-usb-moded-tethering-mode.service
79dc304cc5d455135f929a0ba60487f03b1b66d09245d972f685ee5ddabc8414f74159e47bbb13bff862163fa07dd9497a30ab7e32074bff95f2189685d851a2 rootfs-usr-lib-systemd-system-usb-moded.service.d-override.conf
95681a9bb2d5f8d99f51762d09dc4f0c487442a20070ad1439de1309b775ac1752fe60a205389cc74a1ee9026afc4ad984ac3363659a6749792835654a111d7f rootfs-etc-init.d-usb-moded-developer-mode.initd
1d8b98508f7969a4ba671866eee5e54261c50362e41b18bfebf004a6ed1e97d01a8eb83e3a33c392cbd00ea1a20f0f004b4794582ef1b71dedbba0fba2dc4602 rootfs-etc-init.d-usb-moded-tethering-mode.initd
9aab1a91a817e2337320ee0fa1bf6133e65e9269631560c1860c3b777adb336d036cebbc2510d1df35a82bf4396d553ff9e2edd0004027c7a3130168f7f50d90 rootfs-usr-bin-usb-moded-developer-mode
5cc40b1a0c86904d824f8f03e3f44900aaf407c5c462902f4f58cd58c603be1c5919651b91320983e21da42f5891e29df504bf4f1bddef64fedc68c2accdccbc rootfs-usr-bin-usb-moded-tethering-mode
ca4b82b0cccbbb498b8898c4e360142136c46687e97bce85553dc1793bf8ae2e0f509c2a1acdf96b08dc7c6b69f098b56181f9033ad669cabbf5a159ad8efbaa rootfs-usr-lib-systemd-system-generators-umtprd-config-generator

View file

@ -0,0 +1,9 @@
#!/sbin/openrc-run
description="USB Moded Developer Mode"
command="usb-moded-developer-mode"
command_args="up"
stop() {
usb-moded-developer-mode down
}

View file

@ -0,0 +1,9 @@
#!/sbin/openrc-run
description="USB Moded Tethering Mode"
command="usb-moded-tethering-mode"
command_args="up"
stop() {
usb-moded-tethering-mode down
}

View file

@ -0,0 +1,12 @@
[mode]
name=developer_mode
module=none
network=0
[options]
idProduct=0xD001
idVendorOverride=0x18D1
sysfs_value=ncm.usb0
dhcp_server=0
command_up=service usb-moded-developer-mode start
command_down=service usb-moded-developer-mode stop

View file

@ -0,0 +1,11 @@
[mode]
name=mtp_ffs_mode
module=none
[options]
idProduct=0x1D6B
idVendorOverride=0x0100
sysfs_value=ffs.mtp
command_up=service umtprd start
command_down=service umtprd stop
ffs_daemon_mountpoint=mtp

View file

@ -0,0 +1,12 @@
[mode]
name=tethering_mode
module=none
network=0
[options]
idProduct=0xD001
idVendorOverride=0x18D1
sysfs_value=ncm.usb0
dhcp_server=0
command_up=service usb-moded-tethering-mode start
command_down=service usb-moded-tethering-mode stop

View file

@ -4,7 +4,7 @@ maintainer="Dylan Van Assche <me@dylanvanassche.be>"
pkgname=usb-moded
_pkgver=0.86.0.69
pkgver="999$_pkgver"
pkgrel=1
pkgrel=2
_commit_dbus_glib="d42176ae4763e5288ef37ea314fe58387faf2005"
pkgdesc="A daemon activating a certain USB profile based on the usb cable connection status"
url="https://github.com/sailfishos/usb-moded"
@ -90,8 +90,8 @@ package() {
sha512sums="
55c8892c9f9c5a9cc6b526e8c1f9c55cd5f61922dbc52b1c85abb2850a00d1146c0d8e4f7a631bd0d7927e40908dae2541870bf1cc591b9d527ce29306051829 usb-moded-9990.86.0.69.tar.gz
665cd6395ee0ea14086ba30188c62a72697b3f63484681e18fc7f54109c9aca162f2e33aa2fa4d45287c6c0b590e81ca310c143dac0232cd5887692cdaf51256 dbus-glib-d42176ae4763e5288ef37ea314fe58387faf2005.tar.gz
b841282b96110ec59a7aa539db0737327b09549d55c78dc4b2c3b28b4a6ad1facf015b3175cb6d3a38f13e47aa6314ef3dc1514a4e60dd653a97409ec54ba706 usb-moded.confd
28c2d1e594d0be7d480885c1d3d38a2e33d310363a51093f19daf69221d173df5a03d04f1b7dfba3bcdb00697715123313441216a016efc8d11151daaa0ae4ea usb-moded.initd
d6548342e6b83fe08d050d81825d14f07aa5ede4961dd7e34d5fca45fbe474e786198559f89e4de3002c7d86737c69e85d21932a5f8c6785c5f2f2b51cbf65bf usb-moded.confd
38f263a9f1c6711396b2672e53b297dbaa2f41222061da7eb90e2646e52f124b126b9bcedcec5b85e387518d455c132c37ce2196e5975f8e7732be240ead490d usb-moded.initd
912f0700c87883b55f631cfc3d76e172ff1c21aa57b0c18d1e7b9671ecd6254b1e7565816e3967c68caab196076bf7c8b848375c89185aa4466f4ca7f65231be umtprd.conf
8e15fcdcb5199c7c9deffc417035e2260aa7d4a437056f2ab9141c33220618da59324b87cbcebe9857d0269b170f98e2ea703c69b6543cbae237555cc6e297a4 basename.patch
23980ebf109c01ad9be366ac35cd101608ed14a826c20e73a33fbeed856feef435ba29b34033a054e282075bcac18108f2d6e0ec8e81f41d97c3639fdd5fe23f 0001-dyn-config-Add-option-for-running-a-command-on-mode-.patch

View file

@ -1 +1,2 @@
configfs="/config"
supervisor=supervise-daemon

View file

@ -8,3 +8,13 @@ command_background=yes
depend() {
need dbus
}
start_pre() {
mkdir -p "$configfs"
mount -t configfs none "$configfs"
}
stop_post() {
umount "$configfs"
rmdir "$configfs"
}