packages: gpsd/gpsd-link.patch, gpsd/gpsd.spec, gpsd/gpsd-qt.patch (NEW) - ...

qboosh qboosh at pld-linux.org
Tue Sep 27 21:12:04 CEST 2011


Author: qboosh                       Date: Tue Sep 27 19:12:04 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- updated to 3.1, uses scons now
- most of build/install rewritten (we all know scons is great...)
- link patch replaced by new one, added qt patch
- static libs are gone

---- Files affected:
packages/gpsd:
   gpsd-link.patch (1.4 -> 1.5) , gpsd.spec (1.33 -> 1.34) , gpsd-qt.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/gpsd/gpsd-link.patch
diff -u packages/gpsd/gpsd-link.patch:1.4 packages/gpsd/gpsd-link.patch:1.5
--- packages/gpsd/gpsd-link.patch:1.4	Fri Mar 25 16:10:34 2011
+++ packages/gpsd/gpsd-link.patch	Tue Sep 27 21:11:59 2011
@@ -1,39 +1,47 @@
---- gpsd-2.96/configure.ac.orig	2011-03-22 00:20:02.000000000 +0100
-+++ gpsd-2.96/configure.ac	2011-03-24 21:03:08.032911291 +0100
-@@ -151,13 +151,13 @@
- AC_HEADER_TIME
- AC_STRUCT_TIMEZONE
- 
--AC_CHECK_LIB(nsl, gethostbyname, LIBNSL="-lnsl")
-+AC_CHECK_FUNC([gethostbyname], , [AC_CHECK_LIB(nsl, gethostbyname, LIBNSL="-lnsl")])
- AC_SUBST(LIBNSL)
--AC_CHECK_LIB(socket, socket, LIBSOCKET="-lsocket")
-+AC_CHECK_FUNC([socket], , [AC_CHECK_LIB(socket, socket, LIBSOCKET="-lsocket")])
- AC_SUBST(LIBSOCKET)
- AC_CHECK_LIB(m, rint, LIBM="-lm")
- AC_SUBST(LIBM)
--AC_CHECK_LIB(c, open, LIBC="-lc")
-+AC_CHECK_FUNC([open], , [AC_CHECK_LIB(c, open, LIBC="-lc")])
- AC_SUBST(LIBC)
- AC_CHECK_LIB(pthread, pthread_setcancelstate,
- 	[LIBPTHREAD="-lpthread"
-@@ -198,7 +198,7 @@
- 
- dnl Check for curses headers and libraries.  The presence of the
- dnl library is used to decide whether or not to build some programs.
--AC_CHECK_LIB(ncurses, initscr, NCURSES_LIBS="-lncurses")
-+AC_CHECK_LIB(ncurses, initscr, NCURSES_LIBS="-lncurses -ltinfo")
- AC_SUBST(NCURSES_LIBS)
- if test x"$NCURSES_LIBS" = x"" ; then
-   AC_MSG_WARN([Not including curses support])
---- gpsd-2.96/Makefile.am.orig	2011-03-15 04:34:31.000000000 +0100
-+++ gpsd-2.96/Makefile.am	2011-03-24 21:02:52.688910453 +0100
-@@ -272,7 +272,7 @@
- 
- nodist_libgpsd_la_SOURCES = packet_names.h ais_json.i
- libgps_la_LIBADD = $(LIBM) $(LIBC) $(LIBNSL) $(LIBSOCKET) $(LIBPTHREAD)
--libgpsd_la_LIBADD = $(LIBM) $(LIBC) $(LIBNSL) $(LIBSOCKET) $(LIBPTHREAD) $(BLUEZ_LIBS) $(LIBRT) libgps.la
-+libgpsd_la_LIBADD = $(LIBM) $(LIBC) $(LIBNSL) $(LIBSOCKET) $(LIBPTHREAD) $(BLUEZ_LIBS) $(LIBUSB_LIBS) $(LIBRT) libgps.la
+--- gpsd-3.1/SConstruct.orig	2011-08-28 13:14:24.000000000 +0200
++++ gpsd-3.1/SConstruct	2011-09-26 18:53:55.711394116 +0200
+@@ -686,7 +686,7 @@
+ compiled_gpsdlib = Library(env=env,
+                            target="gpsd",
+                            sources=libgpsd_sources,
+-                           version=libversion, parse_flags=usblibs + rtlibs + bluezlibs)
++                           version=libversion, parse_flags=usblibs + rtlibs + bluezlibs + ["-L.", "-lgps", "-lm"])
  
- noinst_SCRIPTS =
+ libraries = [compiled_gpslib, compiled_gpsdlib]
  
+@@ -709,7 +709,7 @@
+             compile_flags = qt_env['CFLAGS']
+         qtobjects.append(qt_env.SharedObject(src.split(".")[0] + '-qt', src,
+                                        CC=compile_with, CFLAGS=compile_flags))
+-    compiled_qgpsmmlib = Library(qt_env, "Qgpsmm", qtobjects, libversion)
++    compiled_qgpsmmlib = Library(qt_env, "Qgpsmm", qtobjects, libversion, parse_flags=["-L.", "-lgps"])
+     libraries.append(compiled_qgpsmmlib)
+ 
+ # The libraries have dependencies on system libraries
+@@ -751,7 +751,7 @@
+ gpsd_env.MergeFlags("-pthread")
+ 
+ gpsd = gpsd_env.Program('gpsd', gpsd_sources,
+-                        parse_flags = gpsdlibs + dbus_xmit_libs)
++                        parse_flags = gpsdlibs + dbus_xmit_libs + ["-lm"])
+ env.Depends(gpsd, [compiled_gpsdlib, compiled_gpslib])
+ 
+ gpsdecode = env.Program('gpsdecode', ['gpsdecode.c'], parse_flags=gpsdlibs)
+@@ -764,7 +764,7 @@
+ env.Depends(gpsdctl, compiled_gpslib)
+ 
+ gpsmon = env.Program('gpsmon', gpsmon_sources,
+-                     parse_flags=gpsdlibs + ncurseslibs)
++                     parse_flags=gpsdlibs + ncurseslibs + ["-lm"])
+ env.Depends(gpsmon, [compiled_gpsdlib, compiled_gpslib])
+ 
+ gpspipe = env.Program('gpspipe', ['gpspipe.c'], parse_flags=gpslibs)
+@@ -776,7 +776,7 @@
+ lcdgps = env.Program('lcdgps', ['lcdgps.c'], parse_flags=gpslibs)
+ env.Depends(lcdgps, compiled_gpslib)
+ 
+-cgps = env.Program('cgps', ['cgps.c'], parse_flags=gpslibs + ncurseslibs)
++cgps = env.Program('cgps', ['cgps.c'], parse_flags=gpslibs + ncurseslibs + ["-lm"])
+ env.Depends(cgps, compiled_gpslib)
+ 
+ binaries = [gpsd, gpsdecode, gpsctl, gpsdctl, gpspipe, gpxlogger, lcdgps]

================================================================
Index: packages/gpsd/gpsd.spec
diff -u packages/gpsd/gpsd.spec:1.33 packages/gpsd/gpsd.spec:1.34
--- packages/gpsd/gpsd.spec:1.33	Thu Sep  1 19:05:24 2011
+++ packages/gpsd/gpsd.spec	Tue Sep 27 21:11:59 2011
@@ -3,22 +3,20 @@
 # Conditional build:
 %bcond_without	dbus	# build without dbus support
 %bcond_without	bluez	# build without Bluetooth support
-%bcond_without	x	# build without X Window System support
 #
 Summary:	Service daemon for mediating access to a GPS
 Summary(pl.UTF-8):	Oprogramowanie komunikujące się z GPS-em
 Name:		gpsd
-Version:	2.96
-Release:	3
+Version:	3.1
+Release:	1
 License:	BSD
 Group:		Daemons
 Source0:	http://download.berlios.de/gpsd/%{name}-%{version}.tar.gz
-# Source0-md5:	26a7a04d4298bc3a3a5d89fef4582b64
+# Source0-md5:	f280b914c19da3a91aa5e67d83d35033
 Patch0:		%{name}-link.patch
+Patch1:		%{name}-qt.patch
 URL:		http://gpsd.berlios.de/
 BuildRequires:	QtNetwork-devel >= 4.4
-BuildRequires:	autoconf >= 2.50
-BuildRequires:	automake
 %if %{with dbus}
 BuildRequires:	dbus-devel
 BuildRequires:	dbus-glib-devel
@@ -27,19 +25,22 @@
 BuildRequires:	docbook-dtd412-xml
 BuildRequires:	docbook-style-xsl
 BuildRequires:	libstdc++-devel
-BuildRequires:	libtool >= 2:1.5
 BuildRequires:	libusb-devel >= 1.0.0
 BuildRequires:	libxslt-progs
 BuildRequires:	ncurses-devel
 BuildRequires:	pkgconfig
 BuildRequires:	python-devel >= 1:2.4
+BuildRequires:	scons >= 1.2.1
+BuildRequires:	sed >= 4.0
 BuildRequires:	qt4-qmake >= 4.4
 BuildRequires:	rpm-pythonprov
 BuildRequires:	xmlto
 Requires:	%{name}-libs = %{version}-%{release}
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define		udevdir		/lib/udev
+# libgpsd expects gpsd_report() defined by user
+# libQgpsmm expects libgps_dump_state(gps_data_t*) 
+%define		skip_post_check_so	libgpsd\.so.* libQgpsmm\.so.*
 
 %description
 gpsd is a service daemon that mediates access to a GPS sensor
@@ -106,6 +107,7 @@
 Group:		Development/Libraries
 Requires:	%{name}-libs = %{version}-%{release}
 Requires:	libstdc++-devel
+Obsoletes:	gpsd-static
 
 %description devel
 This package provides C header files for the gpsd shared libraries
@@ -117,18 +119,6 @@
 gpsd zarządzających dostępem do GPS-a dla aplikacji, a także moduły
 Pythona. Do działania bibliotek potrzebny jest gpsd.
 
-%package static
-Summary:	Static GPS client library
-Summary(pl.UTF-8):	Statyczna biblioteka kliencka GPS
-Group:		Development/Libraries
-Requires:	%{name}-devel = %{version}-%{release}
-
-%description static
-Static GPS client library.
-
-%description static -l pl.UTF-8
-Statyczna biblioteka kliencka GPS.
-
 %package qt-libs
 Summary:	GPS Qt4 integration library
 Summary(pl.UTF-8):	Biblioteka integrująca GPS z Qt4
@@ -214,37 +204,53 @@
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
-%build
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
-	CPPFLAGS="-I/usr/include/ncurses" \
-	%{?with_bluez:--enable-bluetooth} \
-	%{?with_dbus:--enable-dbus} \
-	%{!?with_x:--without-x}
+# make .egg-info in builddir
+%{__sed} -i -e 's/^\(build = .*\)\])$/\1, python_egg_info])/' SConstruct
 
-%{__make} -j1
+%build
+export CC="%{__cc}"
+export CXX="%{__cxx}"
+export CFLAGS="%{rpmcflags}"
+export CXXFLAGS="%{rpmcxxflags}"
+export CPPFLAGS="%{rpmcppflags} -I/usr/include/ncurses $(pkg-config --cflags dbus-1)"
+export LDFLAGS="%{rpmldflags}"
+%scons \
+	%{!?with_bluez:bluez=False} \
+	%{?with_dbus:dbus_export=True}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{py_sitedir},%{_datadir}/%{name}}
-install -d $RPM_BUILD_ROOT{%{udevdir},/etc/{udev/rules.d,sysconfig}}
-
-%{__make} -j1 install \
-	DESTDIR=$RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_datadir}/%{name},/lib/udev/rules.d,/etc/sysconfig}
 
-install gpsd.hotplug gpsd.hotplug.wrapper $RPM_BUILD_ROOT%{udevdir}
-#install	gpsd.udev $RPM_BUILD_ROOT/etc/udev/rules.d/25-gpsd.rules
-#install	gpsd.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/gpsd
+# must install manually
+# or great scons would recompile everything
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_includedir},%{_libdir},%{_pkgconfigdir},%{_mandir}/man{1,3,5,8},%{py_sitedir}/gps}
+install cgps gegps gpscat gpsctl gpsdecode gpsfake gpsmon gpspipe gpsprof gpxlogger lcdgps xgps xgpsspeed $RPM_BUILD_ROOT%{_bindir}
+install gpsd gpsdctl $RPM_BUILD_ROOT%{_sbindir}
+cp -p cgps.1 gegps.1 gps.1 gpscat.1 gpsctl.1 gpsdecode.1 gpsfake.1 gpsmon.1 gpspipe.1 gpsprof.1 lcdgps.1 xgps.1 xgpsspeed.1 $RPM_BUILD_ROOT%{_mandir}/man1
+cp -p gpsd_json.5 srec.5 $RPM_BUILD_ROOT%{_mandir}/man5
+cp -p gpsd.8 gpsdctl.8 $RPM_BUILD_ROOT%{_mandir}/man8
+cp -p gps.h gpsd.h libgpsmm.h $RPM_BUILD_ROOT%{_includedir}
+cp -dp lib{Qgpsmm,gps,gpsd}.so{,.??,.*.*.*} $RPM_BUILD_ROOT%{_libdir}
+for f in libgps.pc libgpsd.pc ; do
+	%{__sed} -e 's, at VERSION@,%{version},;s, at prefix@,%{_prefix},;s, at libdir@,/%{_lib},' ${f}.in >$RPM_BUILD_ROOT%{_pkgconfigdir}/${f}
+done
+cp -p libQgpsmm.3 libgps.3 libgpsd.3 libgpsmm.3 $RPM_BUILD_ROOT%{_mandir}/man3
+cp -p gps-%{version}.egg-info $RPM_BUILD_ROOT%{py_sitedir}
+install gps/*.so $RPM_BUILD_ROOT%{py_sitedir}/gps
+cp -p gps/*.py $RPM_BUILD_ROOT%{py_sitedir}/gps
+
+install gpsd.hotplug $RPM_BUILD_ROOT/lib/udev
+install gpsd.rules $RPM_BUILD_ROOT/lib/udev/rules.d/25-gpsd.rules
+#install packaging/rpm/gpsd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/gpsd
+#install packaging/rpm/gpsd.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/gpsd
 install dgpsip-servers $RPM_BUILD_ROOT%{_datadir}/gpsd/dgpsip-servers
 
 # check if missing header installation is up to date
 [ ! -f $RPM_BUILD_ROOT%{_includedir}/libQgpsmm_global.h ] || exit 1
-install libQgpsmm/libQgpsmm_global.h $RPM_BUILD_ROOT%{_includedir}
+install libQgpsmm_global.h $RPM_BUILD_ROOT%{_includedir}
 
 [ ! -d $RPM_BUILD_ROOT%{_desktopdir} ] || exit 1
 install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
@@ -267,24 +273,26 @@
 %files
 %defattr(644,root,root,755)
 %doc README INSTALL COPYING TODO AUTHORS
-%attr(755,root,root) %{_sbindir}/gpsd
 %attr(755,root,root) %{_bindir}/gpsmon
-%{_mandir}/man8/gpsd.8*
+%attr(755,root,root) %{_sbindir}/gpsd
+%attr(755,root,root) %{_sbindir}/gpsdctl
 %{_mandir}/man1/gpsmon.1*
+%{_mandir}/man8/gpsd.8*
+%{_mandir}/man8/gpsdctl.8*
 %dir %{_datadir}/gpsd
 %{_datadir}/gpsd/dgpsip-servers
 
 %files -n udev-gpsd
 %defattr(644,root,root,755)
-%attr(755,root,root) %{udevdir}/gpsd.hotplug
-%attr(755,root,root) %{udevdir}/gpsd.hotplug.wrapper
-#/etc/udev/rules.d/25-gpsd.rules
+%attr(755,root,root) /lib/udev/gpsd.hotplug
+#/lib/udev/rules.d/25-gpsd.rules
+#%attr(754,root,root) /etc/rc.d/init.d/gpsd
 #%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/gpsd
 
 %files libs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libgpsd.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgpsd.so.0
+%attr(755,root,root) %ghost %{_libdir}/libgpsd.so.20
 %attr(755,root,root) %{_libdir}/libgps.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libgps.so.20
 
@@ -293,8 +301,6 @@
 %attr(755,root,root) %{_bindir}/gpsdecode
 %attr(755,root,root) %{_libdir}/libgps.so
 %attr(755,root,root) %{_libdir}/libgpsd.so
-%{_libdir}/libgps.la
-%{_libdir}/libgpsd.la
 %{_includedir}/gps.h
 %{_includedir}/gpsd.h
 %{_includedir}/libgpsmm.h
@@ -304,13 +310,9 @@
 %{_mandir}/man3/libgps.3*
 %{_mandir}/man3/libgpsd.3*
 %{_mandir}/man3/libgpsmm.3*
+%{_mandir}/man5/gpsd_json.5*
 %{_mandir}/man5/srec.5*
 
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/libgps.a
-%{_libdir}/libgpsd.a
-
 %files qt-libs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libQgpsmm.so.*.*.*
@@ -319,20 +321,23 @@
 %files qt-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libQgpsmm.so
-%{_libdir}/libQgpsmm.prl
 %{_includedir}/libQgpsmm_global.h
-%{_pkgconfigdir}/Qgpsmm.pc
+%{_mandir}/man3/libQgpsmm.3*
+# missing in scons build
+#%{_libdir}/libQgpsmm.prl
+#%{_pkgconfigdir}/Qgpsmm.pc
 
 %files -n python-gps
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/gegps
 %attr(755,root,root) %{_bindir}/gpscat
 %attr(755,root,root) %{_bindir}/gpsfake
 %attr(755,root,root) %{_bindir}/gpsprof
 %dir %{py_sitedir}/gps
 %attr(755,root,root) %{py_sitedir}/gps/*.so
 %{py_sitedir}/gps/*.py[co]
-%{py_sitedir}/gps-%{version}-py*.egg-info
-%{py_sitedir}/gpscap.py[co]
+%{py_sitedir}/gps-%{version}.egg-info
+%{_mandir}/man1/gegps.1*
 %{_mandir}/man1/gpscat.1*
 %{_mandir}/man1/gpsfake.1*
 %{_mandir}/man1/gpsprof.1*
@@ -348,7 +353,6 @@
 %{_mandir}/man1/gps.1*
 %{_mandir}/man1/gpspipe.1*
 
-%if %{with x}
 %files clients-gui
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/lcdgps
@@ -360,7 +364,6 @@
 %{_desktopdir}/xgps.desktop
 %{_desktopdir}/xgpsspeed.desktop
 %{_pixmapsdir}/gpsd-logo.png
-%endif
 
 %define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
 %changelog
@@ -368,6 +371,12 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.34  2011/09/27 19:11:59  qboosh
+- updated to 3.1, uses scons now
+- most of build/install rewritten (we all know scons is great...)
+- link patch replaced by new one, added qt patch
+- static libs are gone
+
 Revision 1.33  2011/09/01 17:05:24  arekm
 - release 3
 

================================================================
Index: packages/gpsd/gpsd-qt.patch
diff -u /dev/null packages/gpsd/gpsd-qt.patch:1.1
--- /dev/null	Tue Sep 27 21:12:04 2011
+++ packages/gpsd/gpsd-qt.patch	Tue Sep 27 21:11:59 2011
@@ -0,0 +1,16 @@
+--- gpsd-3.1/gpsd.h-tail.orig	2011-08-26 13:56:08.000000000 +0200
++++ gpsd-3.1/gpsd.h-tail	2011-09-27 20:47:19.111181574 +0200
+@@ -758,7 +758,12 @@
+ #define DEBUG_JSON	5	/* minimum level for verbose JSON debugging */
+ # define libgps_debug_trace(args) (void) libgps_trace args
+ extern int libgps_debuglevel;
+-extern void libgps_dump_state(struct gps_data_t *);
++#ifdef __cplusplus
++extern "C"
++#else
++extern
++#endif
++void libgps_dump_state(struct gps_data_t *);
+ #else
+ # define libgps_debug_trace(args) /*@i1@*/do { } while (0)
+ #endif /* LIBGPS_DEBUG */
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gpsd/gpsd-link.patch?r1=1.4&r2=1.5&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gpsd/gpsd.spec?r1=1.33&r2=1.34&f=u



More information about the pld-cvs-commit mailing list