[gpsd] update to 3.11
Miroslav Lichvar
mlichvar at fedoraproject.org
Mon Aug 25 10:52:54 UTC 2014
commit 1c437f3e86454fefad5f19d28dfc079c8e966dd1
Author: Miroslav Lichvar <mlichvar at redhat.com>
Date: Mon Aug 25 10:57:45 2014 +0200
update to 3.11
.gitignore | 1 +
gpsd-ppsoffset.patch | 140 --------------------------------------------------
gpsd-systemd.patch | 50 ++++++++++++++++++
gpsd.spec | 47 ++++++-----------
sources | 2 +-
5 files changed, 68 insertions(+), 172 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index abd9f38..0189fb4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@
/gpsd-3.10.tar.gz
/gpsd-20140127gitf2753b.tar.gz
/gpsd-20140524gitd6b65b.tar.gz
+/gpsd-3.11.tar.gz
diff --git a/gpsd-systemd.patch b/gpsd-systemd.patch
new file mode 100644
index 0000000..2a16bf0
--- /dev/null
+++ b/gpsd-systemd.patch
@@ -0,0 +1,50 @@
+From 86a8f7ecbb7040236602ffb08711ef87bcdb74f7 Mon Sep 17 00:00:00 2001
+From: Miroslav Lichvar <mlichvar at redhat.com>
+Date: Mon, 25 Aug 2014 11:52:59 +0200
+Subject: [PATCH] Update systemd files.
+
+- use $OPTIONS and include /etc/sysconfig/gpsd to make it compatible
+ with current Fedora packaging
+- start gpsd after chronyd service to allow connecting to SOCK
+- allow enabling gpsd as a normal service not requiring socket
+ activation
+---
+ systemd/gpsd.service | 5 ++++-
+ systemd/gpsdctl at .service | 1 +
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/systemd/gpsd.service b/systemd/gpsd.service
+index ef760a1..ad4be79 100644
+--- a/systemd/gpsd.service
++++ b/systemd/gpsd.service
+@@ -1,11 +1,14 @@
+ [Unit]
+ Description=GPS (Global Positioning System) Daemon
+ Requires=gpsd.socket
++# Needed with chrony SOCK refclock
++After=chronyd.service
+
+ [Service]
+ EnvironmentFile=-/etc/default/gpsd
+ EnvironmentFile=-/etc/sysconfig/gpsd
+-ExecStart=/usr/sbin/gpsd -N $GPSD_OPTIONS $DEVICES
++ExecStart=/usr/sbin/gpsd -N $GPSD_OPTIONS $OPTIONS $DEVICES
+
+ [Install]
++WantedBy=multi-user.target
+ Also=gpsd.socket
+diff --git a/systemd/gpsdctl at .service b/systemd/gpsdctl at .service
+index 58c5176..26e49a2 100644
+--- a/systemd/gpsdctl at .service
++++ b/systemd/gpsdctl at .service
+@@ -8,6 +8,7 @@ After=dev-%i.device
+ Type=oneshot
+ Environment="GPSD_SOCKET=/var/run/gpsd.sock"
+ EnvironmentFile=-/etc/default/gpsd
++EnvironmentFile=-/etc/sysconfig/gpsd
+ RemainAfterExit=yes
+ ExecStart=/bin/sh -c "[ \"$USBAUTO\" = true ] && /usr/sbin/gpsdctl add /dev/%I || :"
+ ExecStop=/bin/sh -c "[ \"$USBAUTO\" = true ] && /usr/sbin/gpsdctl remove /dev/%I || :"
+--
+1.9.3
+
diff --git a/gpsd.spec b/gpsd.spec
index d0b16a9..18baab3 100644
--- a/gpsd.spec
+++ b/gpsd.spec
@@ -1,22 +1,18 @@
%global _hardened_build 1
-%global gitrev 20140524gitd6b65b
Name: gpsd
-Version: 3.10
-Release: 6.%{gitrev}%{?dist}
+Version: 3.11
+Release: 1%{?dist}
Summary: Service daemon for mediating access to a GPS
Group: System Environment/Daemons
License: BSD
URL: http://catb.org/gpsd/
-#Source0: http://download.savannah.gnu.org/releases/gpsd/%{name}-%{version}.tar.gz
-Source0: gpsd-%{gitrev}.tar.gz
-Source10: gpsd.service
+Source0: http://download.savannah.gnu.org/releases/gpsd/%{name}-%{version}.tar.gz
Source11: gpsd.sysconfig
-Source12: gpsdctl.service
-# Fix PPS with large offsets
-Patch1: gpsd-ppsoffset.patch
+# Update systemd files
+Patch1: gpsd-systemd.patch
BuildRequires: dbus-devel dbus-glib-devel ncurses-devel xmlto python-devel
BuildRequires: scons desktop-file-utils bluez-libs-devel pps-tools-devel
@@ -77,15 +73,18 @@ can run on a serial terminal or terminal emulator.
%prep
-%setup -q -n %{name}
-%patch1 -p1 -b .ppsoffset
+%setup -q
+%patch1 -p1 -b .systemd
# set gpsd revision string to include package revision
sed -i 's|^revision=.*REVISION.*$|revision='\'\
'#define REVISION "%{version}-%{release}'\"\'\| SConstruct
-# fix RPATH
-sed -i 's|sysrpath =.*|sysrpath = ["%{_libdir}"]|' SConstruct
+# fix systemd path
+sed -i 's|systemd_dir =.*|systemd_dir = '\'%{_unitdir}\''|' SConstruct
+
+# don't set RPATH
+sed -i 's|env.Prepend.*RPATH.*|pass #\0|' SConstruct
%build
export CCFLAGS="%{optflags}"
@@ -106,6 +105,7 @@ scons \
mandir=%{_mandir} \
docdir=%{_docdir} \
pkgconfigdir=%{_libdir}/pkgconfig \
+ udevdir=$(dirname %{_udevrulesdir}) \
build
@@ -113,30 +113,15 @@ scons \
# avoid rebuilding
export CCFLAGS="%{optflags}"
export LINKFLAGS="%{__global_ldflags}"
-DESTDIR=%{buildroot} scons install
+DESTDIR=%{buildroot} scons install systemd_install udev-install
-# service files
-%{__install} -d -m 0755 %{buildroot}%{_unitdir}
-%{__install} -p -m 0644 %{SOURCE10} \
- %{buildroot}%{_unitdir}/gpsd.service
-%{__install} -p -m 0644 %{SOURCE12} \
- %{buildroot}%{_unitdir}/gpsdctl at .service
-%{__install} -p -m 0644 systemd/gpsd.socket \
- %{buildroot}%{_unitdir}/gpsd.socket
+# use the old name for udev rules
+mv %{buildroot}%{_udevrulesdir}/{25,99}-gpsd.rules
%{__install} -d -m 0755 %{buildroot}%{_sysconfdir}/sysconfig
%{__install} -p -m 0644 %{SOURCE11} \
%{buildroot}%{_sysconfdir}/sysconfig/gpsd
-# udev rules
-%{__install} -d -m 0755 %{buildroot}%{_udevrulesdir}
-%{__install} -p -m 0644 gpsd.rules \
- %{buildroot}%{_udevrulesdir}/99-gpsd.rules
-
-# Use gpsdctl service instead of hotplug script
-sed -i 's|RUN+="/lib/udev/gpsd.hotplug"|TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service"|' \
- %{buildroot}%{_udevrulesdir}/99-gpsd.rules
-
# Install the .desktop files
desktop-file-install \
--dir %{buildroot}%{_datadir}/applications \
diff --git a/sources b/sources
index 85cdd43..d682fc8 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-4c358386ebbfdb1629a3ffaabce4a1b7 gpsd-20140524gitd6b65b.tar.gz
+ba28369992886fccb85ce560e4727e20 gpsd-3.11.tar.gz
More information about the scm-commits
mailing list