From 34c84964dad9056a814dbb607e195bcd3fced3f95639aaff7dbf5db7bd7db668 Mon Sep 17 00:00:00 2001 From: Lars Vogdt Date: Fri, 8 Feb 2019 18:18:13 +0000 Subject: [PATCH] Accepting request 670204 from home:mnhauke - Update to version 1.40.0 * Added SMSD configuration option RetryTimeout. * Removed non configurable sleep after failed message send. * SMSD now tries to store whole decoded text for concatenated messages in the first entry in database. * Improved compatibility with Sierra SL8084TR. * Added support for delivery reports stored in SR memory. * Configure CNMI parameters for AT driver. - Create dedicated subpackage for bash-completion - Specfile cleanup * Removed all stuff that is not necessary for building on modern SUSE systems * Use cmake macros * Use pkg-config style dependencies * Use https for URLs * Run spec-cleaner - Add patch: * 0001-Enable-fPIE-pie.patch OBS-URL: https://build.opensuse.org/request/show/670204 OBS-URL: https://build.opensuse.org/package/show/hardware/gammu?expand=0&rev=44 --- 0001-Enable-fPIE-pie.patch | 27 +++++ gammu-1.39.0.tar.xz | 3 - gammu-1.40.0.tar.xz | 3 + gammu.changes | 24 ++++ gammu.spec | 241 ++++++++++--------------------------- 5 files changed, 119 insertions(+), 179 deletions(-) create mode 100644 0001-Enable-fPIE-pie.patch delete mode 100644 gammu-1.39.0.tar.xz create mode 100644 gammu-1.40.0.tar.xz diff --git a/0001-Enable-fPIE-pie.patch b/0001-Enable-fPIE-pie.patch new file mode 100644 index 0000000..d4a6c42 --- /dev/null +++ b/0001-Enable-fPIE-pie.patch @@ -0,0 +1,27 @@ +From 9eceadea72d667c89d578cb4bd3cb89fc0663e0c Mon Sep 17 00:00:00 2001 +From: Martin Hauke +Date: Wed, 30 Jan 2019 21:37:26 +0100 +Subject: [PATCH] Enable -fPIE / -pie + +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d63a8c3..c670a6a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -507,8 +507,8 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_MINGW OR + add_definitions(-D_FORTIFY_SOURCE=2) + + # Text address randomisation, disabled for now, seems to cause problems +- # MACRO_TUNE_COMPILER("-fPIE") +- # MACRO_TUNE_LINKER("-pie") ++ MACRO_TUNE_COMPILER("-fPIE") ++ MACRO_TUNE_LINKER("-pie") + # These do not work on Windows right now + if (NOT WIN32) + # Stack protector +-- +2.16.4 + diff --git a/gammu-1.39.0.tar.xz b/gammu-1.39.0.tar.xz deleted file mode 100644 index e34c0e7..0000000 --- a/gammu-1.39.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:66d1d991d7a993fdf254d4c425f0fdd38c9cca15b1735936695a486067a6a9f8 -size 1707984 diff --git a/gammu-1.40.0.tar.xz b/gammu-1.40.0.tar.xz new file mode 100644 index 0000000..7bc818c --- /dev/null +++ b/gammu-1.40.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a760a3520d9f3a16a4ed73cefaabdbd86125bec73c6fa056ca3f0a4be8478dd6 +size 1722436 diff --git a/gammu.changes b/gammu.changes index c0c1b80..e6b323c 100644 --- a/gammu.changes +++ b/gammu.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Wed Jan 30 20:47:37 UTC 2019 - mardnh@gmx.de + +- Update to version 1.40.0 + * Added SMSD configuration option RetryTimeout. + * Removed non configurable sleep after failed message send. + * SMSD now tries to store whole decoded text for concatenated + messages in the first entry in database. + * Improved compatibility with Sierra SL8084TR. + * Added support for delivery reports stored in SR memory. + * Configure CNMI parameters for AT driver. + +- Create dedicated subpackage for bash-completion + +- Specfile cleanup + * Removed all stuff that is not necessary for building on modern + SUSE systems + * Use cmake macros + * Use pkg-config style dependencies + * Use https for URLs + * Run spec-cleaner +- Add patch: + * 0001-Enable-fPIE-pie.patch + ------------------------------------------------------------------- Sun Jan 7 10:33:11 UTC 2018 - ecsos@opensuse.org diff --git a/gammu.spec b/gammu.spec index 3e0dc43..4ba609e 100644 --- a/gammu.spec +++ b/gammu.spec @@ -1,7 +1,7 @@ # # spec file for package gammu # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,129 +17,40 @@ %define so_ver 8 - +%define gammu_docdir %{_docdir}/%{name} Name: gammu -Version: 1.39.0 +Version: 1.40.0 Release: 0 Summary: Mobile phone management utility -License: GPL-2.0 +License: GPL-2.0-only Group: Productivity/Telephony/Utilities -Url: http://wammu.eu/gammu/ -Source0: http://dl.cihar.com/gammu/releases/%{name}-%{version}.tar.xz +URL: https://wammu.eu/gammu/ +Source0: https://dl.cihar.com/gammu/releases/%{name}-%{version}.tar.xz # PATCH-FIX-OPENSUSE gammu-remove-gplv3-files.patch idoenmez@suse.de -- Remove GPLv3 files bnc#775397 Patch1: gammu-remove-gplv3-files.patch -# Docdir -%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel} -%define gammu_docdir %{_docdir}/%{name}-%{version} -%else -%define gammu_docdir %{_docdir}/%{name} -%endif -# Detect build requires -# SUSE -%if 0%{?suse_version} -%define dist_usb_libs libusb-1_0-devel -%define dist_dbi_libs libdbi-devel libdbi-drivers-dbd-sqlite3 sqlite3 -%define dist_bluez_libs bluez-devel -%define dist_postgres_libs postgresql-devel -%else -# Mandriva -%if 0%{?mandriva_version} -# 64-bit Mandriva has 64 in package name -%ifarch x86_64 -%define mandriva_hack 64 -%endif -%if 0%{?mandriva_version} > 200910 -%define dist_usb_libs lib%{?mandriva_hack}usb1.0-devel -%else -%define dist_usb_libs lib%{?mandriva_hack}usb-devel -%endif -%if 0%{?mandriva_version} > 2010 -%define dist_dbi_libs lib%{?mandriva_hack}dbi-devel libdbi-drivers-dbd-sqlite3 sqlite3-tools -%endif -%define dist_bluez_libs lib%{?mandriva_hack}bluez-devel -# postgresql-devel does not work for whatever reason in buildservice -%if 0%{?mandriva_version} == 2009 -%define dist_postgres_libs postgresql8.3-devel -%else -%define dist_postgres_libs postgresql-devel -%endif -%else -# Fedora / Redhat / Centos -%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel} -%define dist_usb_libs libusb1-devel -%define dist_dbi_libs libdbi-devel libdbi-dbd-sqlite sqlite -%define dist_bluez_libs bluez-libs-devel >= 2.0 -%define dist_postgres_libs postgresql-devel -%else -# Defaults for not known distributions -%define dist_usb_libs libusb1-devel -%define dist_dbi_libs libdbi-devel libdbi-dbd-sqlite sqlite -%define dist_bluez_libs bluez-libs-devel >= 2.0 -%define dist_postgres_libs postgresql-devel -%endif -%endif -%endif +Patch2: 0001-Enable-fPIE-pie.patch BuildRequires: cmake >= 2.8 BuildRequires: doxygen BuildRequires: gettext -BuildRequires: glib2-devel -%if 0%{?suse_version} > 1210 BuildRequires: gnu-free-fonts -%else -%if 0%{?suse_version} == 1210 -BuildRequires: freefont -%endif -%endif -%if 0%{?suse_version} > 1140 BuildRequires: graphviz BuildRequires: graphviz-gd -%endif -%if 0%{?centos_version} || 0%{?rhel_version} || 0%{?rhel} -BuildRequires: curl-devel -%else -BuildRequires: libcurl-devel -%endif -%if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel} -BuildRequires: libgudev1-devel -%else -%if 0%{?mandriva_version} -%ifarch x86_64 -%define mandriva_hack 64 -%endif -BuildRequires: lib%{?mandriva_hack}gudev1.0-devel -%else -%if 0%{?suse_version} > 1110 -BuildRequires: libgudev-1_0-devel -%endif -%endif -%endif BuildRequires: mysql-devel -%if 0%{?suse_version} -BuildRequires: pkg-config -%else BuildRequires: pkgconfig -%endif -%if 0%{?suse_version} >= 1330 -BuildRequires: pkgconfig(systemd) -%endif -BuildRequires: %{dist_bluez_libs} -%if 0%{?suse_version} > 1140 +BuildRequires: postgresql-devel BuildRequires: python-Sphinx BuildRequires: python-sphinxcontrib-breathe -%endif -BuildRequires: unixODBC-devel -%if 0%{?suse_version} && 0%{?suse_version} <= 1210 -BuildRequires: xz -%endif -%if 0%{?suse_version} > 1130 || 0%{?mandriva_version} > 2010 || 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} || 0%{?fedora} || 0%{?rhel} -BuildRequires: %{dist_dbi_libs} -%endif -BuildRequires: %{dist_postgres_libs} -BuildRequires: %{dist_usb_libs} -Requires: bluez +BuildRequires: pkgconfig(bluez) >= 2.0 +BuildRequires: pkgconfig(glib-2.0) >= 2.16 +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(gudev-1.0) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(odbc) +BuildRequires: pkgconfig(systemd) +Recommends: bluez Requires: dialog Recommends: gammu-doc -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Gammu is command line utility and library to work with mobile phones @@ -164,11 +75,7 @@ Summary: Development files for Gammu Group: Development/Libraries/C and C++ Requires: libGammu%{so_ver} = %{version} Requires: libgsmsd%{so_ver} = %{version} -%if 0%{?suse_version} -Requires: pkg-config -%else Requires: pkgconfig -%endif %description devel Gammu is command line utility and library to work with mobile phones @@ -188,15 +95,24 @@ Currently supported phones include: This package contain files needed for development. -%if 0%{?suse_version} > 1140 %package doc Summary: Documentation of Gammu Group: Documentation/HTML BuildArch: noarch +%package bash-completion +Summary: Bash completion for gammu +Group: Productivity/Telephony/Utilities +BuildRequires: bash-completion +Requires: bash-completion +Requires: gammu +Supplements: packageand(%{name}:bash-completion) + +%description bash-completion +This package contains the bash completion command for gammu. + %description doc This package contains the manual for gammu. -%endif %package smsd Summary: SMS message daemon @@ -268,9 +184,7 @@ This package contains the Gammu SMS daemon shared library. %prep %setup -q %patch1 -p1 - -# Change permissions - Fix rpmlint warning "doc-file-dependency" -chmod 644 contrib/init/gammu-smsd.lsb +%patch2 -p1 # GPL-3.0 licensed files, bnc#775397 rm -rf contrib/sms-gammu2android @@ -278,61 +192,45 @@ rm -rf contrib/smscgi rm -rf helper/win32-* %build -mkdir build -cd build -export CFLAGS="%{optflags} -fPIE" -export CXXFLAGS="%{optflags} -fPIE" -export LDFLAGS="-pie" -cmake ../ \ +%cmake \ -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DINSTALL_DOC_DIR=%{gammu_docdir} \ - -DINSTALL_LIB_DIR=%{_lib} \ - -DINSTALL_LIBDATA_DIR=%{_lib} \ + -DBASH_COMPLETION_COMPLETIONSDIR=%{_datadir}/bash-completion/completions/ \ -DINSTALL_LSB_INIT=OFF \ -DINSTALL_UDEV_RULES=OFF -make %{?_smp_mflags} VERBOSE=1 -%if 0%{?suse_version} > 1140 -make manual-html -%endif -cd .. +%make_jobs +make %{?_smp_mflags} manual-html %check +# cannot use %%ctest since running the tests in parallel is broken +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}/%{_libdir} cd build ctest -V -cd .. %install -make -C build install DESTDIR=%{buildroot} +%cmake_install # Install config file -install -pm 0644 docs/config/smsdrc %{buildroot}%{_sysconfdir}/gammu-smsdrc +install -D -pm 0644 docs/config/smsdrc %{buildroot}%{_sysconfdir}/gammu-smsdrc # Install additional doc files install -pm 0644 README.rst %{buildroot}%{gammu_docdir}/ cp -a contrib/udev/ %{buildroot}%{gammu_docdir}/ -%if 0%{?suse_version} > 1140 # Install the html manual rm -rf %{buildroot}%{gammu_docdir}/manual/ rm -rf build/docs/manual/html/{.doctrees/,.buildinfo,_sources/} cp -a build/docs/manual/html/ %{buildroot}%{gammu_docdir}/manual -%endif -# Remove unneeded locales -%if 0%{?suse_version} && 0%{?suse_version} < 1140 -rm -rf %{buildroot}%{_datadir}/locale/sw/ -%endif +install -d "%{buildroot}/%{_sbindir}" +ln -s service "%{buildroot}/%{_sbindir}/rcgammu-smsd" %find_lang %{name} %find_lang libgammu %post -n libGammu%{so_ver} -p /sbin/ldconfig - %postun -n libGammu%{so_ver} -p /sbin/ldconfig - %post -n libgsmsd%{so_ver} -p /sbin/ldconfig - %postun -n libgsmsd%{so_ver} -p /sbin/ldconfig %if 0%{?suse_version} >= 1330 @@ -350,68 +248,59 @@ rm -rf %{buildroot}%{_datadir}/locale/sw/ %endif %files -f %{name}.lang -%defattr(-,root,root,-) -%config %{_sysconfdir}/bash_completion.d/gammu %{_bindir}/gammu %{_bindir}/gammu-config %{_bindir}/gammu-detect %{_bindir}/jadmaker %doc %{gammu_docdir} -%if 0%{?suse_version} > 1140 %exclude %{gammu_docdir}/manual/ -%endif %{_datadir}/gammu/ -%doc %{_mandir}/man1/gammu-config.1* -%doc %{_mandir}/man1/gammu-detect.1* -%doc %{_mandir}/man1/gammu.1* -%doc %{_mandir}/man1/jadmaker.1* -%doc %{_mandir}/man5/gammu-backup.5* -%doc %{_mandir}/man5/gammu-smsbackup.5* -%doc %{_mandir}/man5/gammurc.5* +%{_mandir}/man1/gammu-config.1%{?ext_man} +%{_mandir}/man1/gammu-detect.1%{?ext_man} +%{_mandir}/man1/gammu.1%{?ext_man} +%{_mandir}/man1/jadmaker.1%{?ext_man} +%{_mandir}/man5/gammu-backup.5%{?ext_man} +%{_mandir}/man5/gammu-smsbackup.5%{?ext_man} +%{_mandir}/man5/gammurc.5%{?ext_man} + +%files bash-completion +%{_datadir}/bash-completion/completions/gammu %files devel -%defattr(-,root,root,-) %{_includedir}/gammu/ -%{_libdir}/*.so +%{_libdir}/libGammu.so +%{_libdir}/libgsmsd.so %{_libdir}/pkgconfig/gammu-smsd.pc %{_libdir}/pkgconfig/gammu.pc -%if 0%{?suse_version} > 1140 %files doc -%defattr(-,root,root,-) %doc %{gammu_docdir}/manual/ -%endif %files smsd -%defattr(-,root,root,-) -%doc contrib/init/gammu-smsd.lsb %config %{_sysconfdir}/gammu-smsdrc %{_bindir}/gammu-smsd %{_bindir}/gammu-smsd-inject %{_bindir}/gammu-smsd-monitor -%if 0%{?suse_version} >= 1330 +%{_sbindir}/rcgammu-smsd %{_unitdir}/gammu-smsd.service -%endif -%doc %{_mandir}/man1/gammu-smsd-inject.1* -%doc %{_mandir}/man1/gammu-smsd-monitor.1* -%doc %{_mandir}/man1/gammu-smsd.1* -%doc %{_mandir}/man5/gammu-smsdrc.5* -%doc %{_mandir}/man7/gammu-smsd-dbi.7* -%doc %{_mandir}/man7/gammu-smsd-files.7* -%doc %{_mandir}/man7/gammu-smsd-mysql.7* -%doc %{_mandir}/man7/gammu-smsd-null.7* -%doc %{_mandir}/man7/gammu-smsd-odbc.7* -%doc %{_mandir}/man7/gammu-smsd-pgsql.7* -%doc %{_mandir}/man7/gammu-smsd-run.7* -%doc %{_mandir}/man7/gammu-smsd-sql.7* -%doc %{_mandir}/man7/gammu-smsd-tables.7* +%{_mandir}/man1/gammu-smsd-inject.1%{?ext_man} +%{_mandir}/man1/gammu-smsd-monitor.1%{?ext_man} +%{_mandir}/man1/gammu-smsd.1%{?ext_man} +%{_mandir}/man5/gammu-smsdrc.5%{?ext_man} +%{_mandir}/man7/gammu-smsd-dbi.7%{?ext_man} +%{_mandir}/man7/gammu-smsd-files.7%{?ext_man} +%{_mandir}/man7/gammu-smsd-mysql.7%{?ext_man} +%{_mandir}/man7/gammu-smsd-null.7%{?ext_man} +%{_mandir}/man7/gammu-smsd-odbc.7%{?ext_man} +%{_mandir}/man7/gammu-smsd-pgsql.7%{?ext_man} +%{_mandir}/man7/gammu-smsd-run.7%{?ext_man} +%{_mandir}/man7/gammu-smsd-sql.7%{?ext_man} +%{_mandir}/man7/gammu-smsd-tables.7%{?ext_man} %files -n libGammu%{so_ver} -f libgammu.lang -%defattr(-,root,root,-) %{_libdir}/libGammu.so.%{so_ver}* %files -n libgsmsd%{so_ver} -%defattr(-,root,root,-) %{_libdir}/libgsmsd.so.%{so_ver}* %changelog