File gnokii.spec of Package gnokii
#
# spec file for package gnokii
#
# Copyright (c) 2015 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: gnokii
Version: 0.6.31+git20200102
Release: 0
Summary: Nokia Connectivity Program
License: GPL-2.0+
Group: Hardware/Mobile
#https://github.com/pkot/gnokii
Url: http://www.gnokii.org/
Source: %{name}-%{version}.tar.xz
Source1: xgnokii.desktop
Source2: gnokii.xpm
Source3: README.SUSE
#Patch1: gnokii-suid_flags.patch
# PATCH-FIX-OPENSUSE gnokii-date-time.patch crrodriguez@opensuse.org -- Do not include __DATE__ or __TIME__ in resulting binaries.
Patch2: gnokii-date-time.patch
# PATCH-FIX-UPSTREAM invalid-cast.patch https://savannah.nongnu.org/patch/index.php?8685 schwab@suse.de -- Fix invalid cast
Patch3: invalid-cast.patch
BuildRequires: bluez-devel
BuildRequires: coreutils
BuildRequires: gtk2-devel
BuildRequires: intltool
BuildRequires: pkgconfig
BuildRequires: libX11-devel
BuildRequires: libXpm-devel
BuildRequires: flex
BuildRequires: libical-devel
# Needed for patch0 and patch1
BuildRequires: libtool
BuildRequires: libusb-devel
BuildRequires: mysql-devel
BuildRequires: pcsc-lite-devel
BuildRequires: perl-XML-Parser
#BuildRequires: pkgconfig(libpq)
BuildRequires: readline-devel
BuildRequires: sqlite3-devel
BuildRequires: update-desktop-files
PreReq: permissions
Requires: bluez
Requires: %{name}-docs
Recommends: %{name}-lang
%description
gnokii is a package of programs for communicating with a Nokia cellular
phone in Linux. Read the READMEs in /usr/share/doc/packages/gnokii to
find out which models are supported.
%package docs
Summary: Nokia Connectivity Program
Group: Hardware/Mobile
BuildArch: noarch
%description docs
gnokii is a package of programs for communicating with a Nokia cellular
phone in Linux. Read the READMEs in /usr/share/doc/packages/gnokii to
find out which models are supported.
%package -n xgnokii
Summary: Nokia Connectivity Program
Group: Hardware/Mobile
Requires: gnokii
Requires: gtk2
Provides: gnokii:/usr/share/xgnokii
%description -n xgnokii
xgnokii is an X Window System front-end for gnokii. gnokii has to be
installed as well.
%package smsd
Summary: Nokia Connectivity Program
Group: Hardware/Mobile
Requires: gnokii
Provides: gnokii:/usr/share/smsd
%description smsd
gnokii is a package of programs for communicating with a Nokia cellular
phone in Linux. Please read the READMEs in
/usr/share/doc/packages/gnokii to find out which models are supported.
%package -n libgnokii7
Summary: Nokia Connectivity Program
Group: Hardware/Mobile
Conflicts: %{name} <= 0.6.3
%description -n libgnokii7
gnokii is a package of programs for communicating with a Nokia cellular
phone in Linux. Please read the READMEs in
/usr/share/doc/packages/gnokii to find out which models are supported.
This is the low level library that gnokii uses.
%package devel
Summary: Nokia Connectivity Program
Group: Hardware/Mobile
Requires: lib%{name}7 = %{version}
%description devel
gnokii is a package of programs for communicating with a Nokia cellular
phone in Linux. Please read the READMEs in
/usr/share/doc/packages/gnokii to find out which models are supported.
%lang_package
%prep
%setup -q
%autopatch -p1
%build
# Needed by patch0 and patch1
#autoreconf -fvi
%define _configure ./autogen.sh
export CFLAGS="%{optflags} -fgnu89-inline -D_GNU_SOURCE -fPIC -fPIE -Wall -Wno-unused -fstack-protector -fno-strict-aliasing"
export LDFLAGS="$LDFLAGS -pie"
export SUID_CFLAGS="-fPIE"
export SUID_LDFLAGS="-pie"
%configure \
--enable-nls \
--enable-security \
--disable-static \
--disable-postgres \
--with-x
# Postgresql disabled because it no longer ships pg_config and gnokii doesn't support pkg-config for it.
make %{?jobs:-j%jobs}
make -C smsd %{?jobs:-j%jobs}
%install
find . -iname ".git*" -print -delete
cp %{S:3} .
%makeinstall
make DESTDIR=%{buildroot} -C smsd install
rm -f %{buildroot}%{_libdir}/*.la
rm -f %{buildroot}%{_libdir}/smsd/*.la
mkdir -p %{buildroot}%{_sysconfdir}
sed "s:/usr/local/sbin:%{_sbindir}:g" Docs/sample/gnokiirc > %{buildroot}%{_sysconfdir}/gnokiirc
chmod +x %{buildroot}%{_bindir}/sendsms
%find_lang %{name} %{?no_lang_C}
install -D -m 0644 %{SOURCE2} %{buildroot}%{_datadir}/pixmaps/gnokii.xpm
%suse_update_desktop_file -i xgnokii Utility TelephonyTools Calendar ContactManagement Office GTK
# prepare documentation
find Docs -name 'Makefile.*' -exec rm -f {} \;
rm -rf Docs/man %{buildroot}%{_datadir}/doc/%{name}
chmod -x Docs/gnokii.nol
mv Docs/sample Docs/examples
%post
%set_permissions %{_sbindir}/mgnokiidev
%verifyscript
%verify_permissions -e %{_sbindir}/mgnokiidev
%post -n libgnokii7 -p /sbin/ldconfig
%postun -n libgnokii7 -p /sbin/ldconfig
%files
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/gnokiirc
%license COPYING
%doc %{_mandir}/man1/gnokii*
%doc %{_mandir}/man8/gnokiid*
%doc %{_mandir}/man8/mgnokiidev*
%{_bindir}/gnokii
%{_bindir}/gnokiid
%verify(not mode) %attr(0755, root, uucp) %{_sbindir}/mgnokiidev
%files docs
%doc COPYRIGHT ChangeLog MAINTAINERS TODO Docs/*
%files -n xgnokii
%defattr(-,root,root)
%license COPYING
%doc %{_mandir}/man1/xgnokii*
%{_bindir}/xgnokii
%{_datadir}/applications/*
%{_datadir}/pixmaps/*
%files smsd
%defattr(-,root,root)
%license COPYING
%doc %{_mandir}/man1/sendsms*
%doc %{_mandir}/man8/smsd*
%{_bindir}/sendsms
%{_bindir}/smsd
%dir %{_libdir}/smsd
%{_libdir}/smsd/libsmsd_file.so
%{_libdir}/smsd/libsmsd_mysql.so
%{_libdir}/smsd/libsmsd_sqlite.so
%files -n libgnokii7
%license COPYING
%{_libdir}/libgnokii.so.7*
%files devel
%defattr(-,root,root)
%license COPYING
%{_libdir}/libgnokii.so
%{_libdir}/pkgconfig/*
%{_includedir}/gnokii.h
%{_includedir}/gnokii/
%files lang -f %{name}.lang
%changelog