gpsshare: updated packaging including service
Henry-Nicolas Tourneur
2 years ago
1 | 1 | |
2 | 2 | * Package gps-share 0.3.1 from crates.io using debcargo 2.4.4 |
3 | 3 | * Initial release (Closes: #988659) |
4 | ||
5 | 4 | |
6 | -- Henry-Nicolas Tourneur <debian@nilux.be> Mon, 17 May 2021 12:10:14 +0000 | |
5 | -- Henry-Nicolas Tourneur <debian@nilux.be> Fri, 27 Aug 2021 21:04:26 +0000 |
0 | Source: rust-gps-share | |
1 | Section: misc | |
2 | Priority: optional | |
3 | Build-Depends: debhelper (>= 12), | |
4 | dh-cargo (>= 24), | |
5 | cargo:native, | |
6 | rustc:native, | |
7 | libstd-rust-dev, | |
8 | librust-clap-2+default-dev (>= 2.23.1-~~), | |
9 | librust-libc-0.2+default-dev (>= 0.2.21-~~), | |
10 | librust-libudev-0.3+default-dev, | |
11 | librust-serial-0.4+default-dev, | |
12 | librust-signal-hook-0.1+default-dev (>= 0.1.13-~~), | |
13 | librust-zbus-1+default-dev, | |
14 | librust-zvariant-2+default-dev (>= 2.6-~~), | |
15 | help2man | |
16 | Maintainer: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> | |
17 | Uploaders: | |
18 | Henry-Nicolas Tourneur <debian@nilux.be> | |
19 | Standards-Version: 4.5.1 | |
20 | Vcs-Git: https://salsa.debian.org/rust-team/debcargo-conf.git [src/gps-share] | |
21 | Vcs-Browser: https://salsa.debian.org/rust-team/debcargo-conf/tree/master/src/gps-share | |
22 | Rules-Requires-Root: no | |
23 | ||
24 | Package: gps-share | |
25 | Architecture: any | |
26 | Multi-Arch: allowed | |
27 | Section: misc | |
28 | Depends: | |
29 | adduser (>= 3.34), | |
30 | ${misc:Depends}, | |
31 | ${shlibs:Depends}, | |
32 | ${cargo:Depends} | |
33 | Recommends: | |
34 | ${cargo:Recommends} | |
35 | Suggests: | |
36 | ${cargo:Suggests} | |
37 | Provides: | |
38 | ${cargo:Provides} | |
39 | Built-Using: ${cargo:Built-Using} | |
40 | XB-X-Cargo-Built-Using: ${cargo:X-Cargo-Built-Using} | |
41 | Description: Utility to share your GPS device on local network | |
42 | gps-share has two goals: | |
43 | . | |
44 | - Share your GPS device on the local network so that all machines in your home | |
45 | or office can make use of it. | |
46 | - Enable support for standalone (i-e not part of a cellular modem) GPS devices | |
47 | in Geoclue. Since Geoclue has been able to make use of network NMEA sources | |
48 | since 2015, gps-share works out of the box with Geoclue. | |
49 | . | |
50 | The latter means that it is a replacement for GPSD and Gypsy. | |
51 | While "why not GPSD?" has already been documented, Gypsy has | |
52 | been unmaintained for many years now. I did not feel like reviving a dead | |
53 | project and I really wanted to code in Rust so I decided to create gps-share. |
0 | Source: rust-gps-share | |
1 | Section: FIXME-IN-THE-SOURCE-SECTION | |
2 | Priority: optional | |
3 | Build-Depends: debhelper (>= 12), | |
4 | dh-cargo (>= 24), | |
5 | cargo:native, | |
6 | rustc:native, | |
7 | libstd-rust-dev, | |
8 | librust-clap-2+default-dev (>= 2.23.1-~~), | |
9 | librust-libc-0.2+default-dev (>= 0.2.21-~~), | |
10 | librust-libudev-0.3+default-dev, | |
11 | librust-serial-0.4+default-dev, | |
12 | librust-signal-hook-0.1+default-dev (>= 0.1.13-~~), | |
13 | librust-zbus-1+default-dev, | |
14 | librust-zvariant-2+default-dev (>= 2.6-~~) | |
15 | Maintainer: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> | |
16 | Uploaders: | |
17 | Henry-Nicolas Tourneur <debian@nilux.be> | |
18 | Standards-Version: 4.5.1 | |
19 | Vcs-Git: https://salsa.debian.org/rust-team/debcargo-conf.git [src/gps-share] | |
20 | Vcs-Browser: https://salsa.debian.org/rust-team/debcargo-conf/tree/master/src/gps-share | |
21 | Rules-Requires-Root: no | |
22 | ||
23 | Package: gps-share | |
24 | Architecture: any | |
25 | Multi-Arch: allowed | |
26 | Section: misc | |
27 | Depends: | |
28 | ${misc:Depends}, | |
29 | ${shlibs:Depends}, | |
30 | ${cargo:Depends} | |
31 | Recommends: | |
32 | ${cargo:Recommends} | |
33 | Suggests: | |
34 | ${cargo:Suggests} | |
35 | Provides: | |
36 | ${cargo:Provides} | |
37 | Built-Using: ${cargo:Built-Using} | |
38 | XB-X-Cargo-Built-Using: ${cargo:X-Cargo-Built-Using} | |
39 | Description: Utility to share your GPS device on local network | |
40 | gps-share has two goals: | |
41 | . | |
42 | - Share your GPS device on the local network so that all machines in your home | |
43 | or office can make use of it. | |
44 | - Enable support for standalone (i-e not part of a cellular modem) GPS devices | |
45 | in Geoclue. Since Geoclue has been able to make use of network NMEA sources | |
46 | since 2015, gps-share works out of the box with Geoclue. | |
47 | . | |
48 | The latter means that it is a replacement for GPSD and Gypsy. | |
49 | While "why not GPSD?" has already been documented, Gypsy has | |
50 | been unmaintained for many years now. I did not feel like reviving a dead | |
51 | project and I really wanted to code in Rust so I decided to create gps-share. |
0 | 0 | overlay = "." |
1 | 1 | uploaders = ["Henry-Nicolas Tourneur <debian@nilux.be>"] |
2 | ||
3 | [packages.bin] | |
4 | section = "misc" | |
5 | summary = "Utility to share your GPS device on local network" | |
6 | description = """ | |
7 | gps-share has two goals: | |
8 | . | |
9 | - Share your GPS device on the local network so that all machines in your home | |
10 | or office can make use of it. | |
11 | - Enable support for standalone (i-e not part of a cellular modem) GPS devices | |
12 | in Geoclue. Since Geoclue has been able to make use of network NMEA sources | |
13 | since 2015, gps-share works out of the box with Geoclue. | |
14 | . | |
15 | The latter means that it is a replacement for GPSD and Gypsy. | |
16 | While "why not GPSD?" has already been documented, Gypsy has | |
17 | been unmaintained for many years now. I did not feel like reviving a dead | |
18 | project and I really wanted to code in Rust so I decided to create gps-share. | |
19 | """ |
0 | # Devices gps-share should collect to at boot time. | |
1 | # They need to be read/writeable, either by user gps-share or the group dialout. | |
2 | DEVICES="" | |
3 |
0 | debian/gps-share.1 |
0 | #!/bin/sh | |
1 | ||
2 | set -e | |
3 | ||
4 | if [ "$1" = "configure" ] ; then | |
5 | ||
6 | echo "Creating/updating gps-share user account..." | |
7 | adduser --system --ingroup dialout --home /run/gps-share \ | |
8 | --gecos "GPSD system user" --shell /bin/false \ | |
9 | --quiet --disabled-password gps-share || { | |
10 | # adduser failed. Why? | |
11 | if getent passwd gps-share >/dev/null ; then | |
12 | echo "Non-system user gps-share found. I will not overwrite a non-system" >&2 | |
13 | echo "user. Remove the user and reinstall gps-share." >&2 | |
14 | exit 1 | |
15 | fi | |
16 | # unknown adduser error, simply exit | |
17 | exit 1 | |
18 | } | |
19 | ||
20 | ||
21 | fi | |
22 | ||
23 | #DEBHELPER# | |
24 | ||
25 | exit 0 |
0 | [Unit] | |
1 | Description=Utility to share your GPS device on local network | |
2 | User=gps-share | |
3 | Requires=gps-share.socket | |
4 | ||
5 | [Service] | |
6 | EnvironmentFile=-/etc/default/gps-share | |
7 | ExecStart=/usr/bin/gps-share --socket-path /run/gps-share.sock $DEVICES | |
8 | Restart=on-failure | |
9 | ||
10 | [Install] | |
11 | WantedBy=default.target |
0 | [Unit] | |
1 | Description=Utility to share your GPS device on local network | |
2 | PartOf=gps-share.service | |
3 | ||
4 | [Socket] | |
5 | ListenStream=/run/gps-share.sock | |
6 | ListenStream=[::1]:10110 | |
7 | ListenStream=127.0.0.1:10110 | |
8 | SocketMode=0666 | |
9 | ||
10 | [Install] | |
11 | WantedBy=sockets.target |
0 | #!/usr/bin/make -f | |
1 | %: | |
2 | dh $@ --buildsystem cargo | |
3 | ||
4 | override_dh_auto_test: | |
5 | dh_auto_test -- test --all | |
6 | ||
7 | # generate the manpages from the scripts using help2man | |
8 | override_dh_installman: | |
9 | help2man -v --help --no-info --name="Utility to share your GPS device on local network" debian/gps-share/usr/bin/gps-share > debian/gps-share.1 | |
10 | dh_installman | |
11 |