File NetworkManager.spec of Package NetworkManager

#
# spec file for package NetworkManager
#
# Copyright (c) 2011 SUSE LINUX Products 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:           NetworkManager
Url:            http://www.gnome.org/projects/NetworkManager/
Version:        0.9.1.90
Release:        1
License:        GPLv2+
Group:          Productivity/Networking/System
Summary:        Network Link Manager and User Applications
Source0:        http://download.gnome.org/sources/NetworkManager/0.9/%{name}-%{version}.tar.bz2
Source1:        nfs
Source2:        NetworkManager.conf
Source3:        baselibs.conf
Source99:       NetworkManager-rpmlintrc
# PATCH-FEATURE-OPENSUSE systemd-network-config.patch -- don't try to start NM under systemd if it is disabled in system configuration
Patch0:         systemd-network-config.patch
# PATCH-FIX-UPSTREAM nm-udev-rfkill-handling.patch bnc709733,bgo655773 glin@suse.com -- improve the rfkill handling to avoid some false-positive case
Patch1:         nm-udev-rfkill-handling.patch
# PATCH-UGLY-HACK-OPENSUSE nm-remove-AP-always-on-device-disconnect.diff lnussel@suse.com -- avoid pw dialog if AP out of range
Patch2:         nm-remove-AP-always-on-device-disconnect.diff
# PATCH-HACK-OPENSUSE nm-don-t-consider-not-needed-secrets-for-has_system_secr.diff lnussel@suse.com -- avoid polkit popups for 802.11x
Patch3:         nm-don-t-consider-not-needed-secrets-for-has_system_secr.diff
# PATCH-HACK-OPENSUSE nm-treat-not-saved-secrets-just-like-agent-owned-when-cl.diff lnussel@suse.com -- avoid polkit popups for 802.11x
Patch4:         nm-treat-not-saved-secrets-just-like-agent-owned-when-cl.diff
BuildRequires:  fdupes
BuildRequires:  gobject-introspection-devel
BuildRequires:  gtk-doc
BuildRequires:  intltool
BuildRequires:  iptables
BuildRequires:  libiw-devel
BuildRequires:  libtool
BuildRequires:  ppp-devel
BuildRequires:  translation-update-upstream
BuildRequires:  wireless-tools
BuildRequires:  pkgconfig(dbus-1)
BuildRequires:  pkgconfig(dbus-glib-1)
BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(gudev-1.0)
# We should get lib Intel Wimax in here! Remove --disable-wimax
# from configure when we have it.
#BuildRequires:  pkgconfig(libiWmxSdk-0)
BuildRequires:  pkgconfig(libnl-1)
BuildRequires:  pkgconfig(nss)
BuildRequires:  pkgconfig(polkit-gobject-1)
BuildRequires:  pkgconfig(systemd)
BuildRequires:  pkgconfig(uuid)
Requires:       dhcp-client
Requires:       iproute2
Requires:       iputils
Requires:       mozilla-nss
Requires:       ppp
Requires:       sysconfig >= 0.71.1
Requires:       wpa_supplicant >= 0.6.4
%{?systemd_requires}
Provides:       dhcdbd = 1.14
Obsoletes:      dhcdbd < 1.14
Recommends:     dnsmasq
Recommends:     iptables
Recommends:     NetworkManager-client
Recommends:     org.freedesktop.ModemManager
Recommends:     %{name}-lang
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
NetworkManager attempts to keep an active network connection available
at all times.  The point of NetworkManager is to make networking
configuration and setup as painless and automatic as possible.	If
using DHCP, NetworkManager is intended to replace default routes,
obtain IP addresses from a DHCP server, and change name servers
whenever it sees fit.

%package devel
License:        GPLv2+
Summary:        Libraries and headers for adding NetworkManager support to applications
Group:          Development/Libraries/Other
Requires:       %{name} = %{version}
Requires:       libnm-util2 = %{version}
Requires:       libnm-glib4 = %{version}
Requires:       libnm-glib-vpn1 = %{version}
Provides:       %{name}-doc = %{version}
Obsoletes:      %{name}-doc < %{version}

%description devel
This package contains various headers accessing some NetworkManager
functionality from applications.

%package -n libnm-util2
License:        GPLv2+
Summary:        Convenience library for clients of NetworkManager
Group:          System/Libraries

%description -n libnm-util2
This package contains the libraries that make it easier to use some
Network Manager functionality from applications that use glib.

%package -n libnm-glib4
License:        GPLv2+
Summary:        Convenience library for clients of NetworkManager
Group:          System/Libraries
Provides:       %{name}-glib = %{version}
Obsoletes:      %{name}-glib < %{version}

%description -n libnm-glib4
This package contains the libraries that make it easier to use some
Network Manager functionality from applications that use glib.

%package -n libnm-glib-vpn1
License:        GPLv2+
Summary:        Convenience library for NetworkManager VPN plugins
Group:          System/Libraries

%description -n libnm-glib-vpn1
This package contains the libraries that make it easier to use some
Network Manager functionality from applications that use glib.

%lang_package
%prep
%setup -n %{name}-%{version} -q
translation-update-upstream
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1

%build
#NOCONFIGURE=1 ./autogen.sh
pppddir=`ls -1d /usr/%_lib/pppd/2*`
test -n "$pppddir" || exit 1
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure\
    --libexecdir=%{_prefix}/lib/NetworkManager\
    --disable-static\
    --with-crypto=nss \
    --with-distro=suse\
    --with-docs\
    --enable-more-warnings=no \
    --with-pppd-plugin-dir=$pppddir \
    --with-dhclient=/sbin/dhclient \
    --disable-wimax
%__make %{?_smp_flags}

%install
%makeinstall
find %{buildroot} -type f -name "*.la" -delete -print
%find_lang %{name}
%fdupes %{buildroot}%{_datadir}/gtk-doc/
mkdir -p $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/VPN
mkdir -p $RPM_BUILD_ROOT/var/log/
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/NetworkManager
touch $RPM_BUILD_ROOT/var/log/NetworkManager
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/system-connections
install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatcher.d/
install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/

%if 0%{suse_version} > 1140

%pre
%service_add_pre NetworkManager.service

%post
%service_add_post NetworkManager.service

%preun
%service_del_preun NetworkManager.service

%postun
%service_del_postun NetworkManager.service
%endif

%post -n libnm-util2 -p /sbin/ldconfig

%postun -n libnm-util2 -p /sbin/ldconfig

%post -n libnm-glib4 -p /sbin/ldconfig

%postun -n libnm-glib4 -p /sbin/ldconfig

%post -n libnm-glib-vpn1 -p /sbin/ldconfig

%postun -n libnm-glib-vpn1 -p /sbin/ldconfig

%files
%defattr(-,root,root)
%doc COPYING ChangeLog NEWS AUTHORS README CONTRIBUTING TODO
%{_bindir}/nm-online
%{_bindir}/nm-tool
%{_bindir}/nmcli
%{_sbindir}/NetworkManager
%{_datadir}/NetworkManager/
%{_datadir}/dbus-1/system-services/org.freedesktop.NetworkManager.service
%{_datadir}/dbus-1/system-services/org.freedesktop.nm_dispatcher.service
%{_datadir}/polkit-1/actions/org.freedesktop.NetworkManager.policy
%attr(0700,root,root) %{_localstatedir}/lib/NetworkManager
%doc %{_mandir}/man1/nm-online.*
%doc %{_mandir}/man1/nm-tool.*
%doc %{_mandir}/man1/nmcli.*
%doc %{_mandir}/man5/NetworkManager.conf.5*
%doc %{_mandir}/man5/nm-system-settings.conf.5*
%doc %{_mandir}/man8/NetworkManager.*
# On 64-bit biarch systems, the libraries go to /usr/lib64/NetworkManager,
# and libexec-y things remain in /usr/lib/NetworkManager.
# Whereas on single-arch or 32-bit biarch, everything goes into
# /usr/lib/NetworkManager.
%ifarch x86_64 ppc64 s390x sparc64
%{_libdir}/NetworkManager/
%endif
%dir %{_libdir}/pppd/2.4.5
%{_libdir}/pppd/2.4.5/nm-pppd-plugin.*
%{_libexecdir}/NetworkManager/
%{_sysconfdir}/dbus-1/system.d/NetworkManager.conf
%{_sysconfdir}/dbus-1/system.d/nm-avahi-autoipd.conf
%{_sysconfdir}/dbus-1/system.d/nm-dhcp-client.conf
%{_sysconfdir}/dbus-1/system.d/nm-dispatcher.conf
%dir %{_sysconfdir}/NetworkManager
%dir %{_sysconfdir}/NetworkManager/VPN
%dir %{_sysconfdir}/NetworkManager/dispatcher.d
%dir %{_sysconfdir}/NetworkManager/system-connections
%config(noreplace) %{_sysconfdir}/NetworkManager/NetworkManager.conf
%attr(0755,root,root) %{_sysconfdir}/NetworkManager/dispatcher.d/nfs
/lib/systemd/system/NetworkManager.service
/lib/systemd/system/NetworkManager-wait-online.service
%dir /lib/udev
%dir /lib/udev/rules.d
/lib/udev/rules.d/77-nm-olpc-mesh.rules
%ghost %config(noreplace) /var/log/NetworkManager

%files devel
%defattr(-,root,root)
%{_includedir}/NetworkManager/
%{_includedir}/libnm-glib/
%{_datadir}/gir-1.0/*.gir
%{_libdir}/libnm-util.so
%{_libdir}/libnm-glib.so
%{_libdir}/libnm-glib-vpn.so
%{_libdir}/pkgconfig/NetworkManager.pc
%{_libdir}/pkgconfig/libnm-util.pc
%{_libdir}/pkgconfig/libnm-glib.pc
%{_libdir}/pkgconfig/libnm-glib-vpn.pc
%doc %{_datadir}/gtk-doc/html/NetworkManager/
%doc %{_datadir}/gtk-doc/html/libnm-glib/
%doc %{_datadir}/gtk-doc/html/libnm-util/

%files -n libnm-util2
%defattr(-,root,root)
%{_libdir}/libnm-util.so.*
%{_libdir}/girepository-1.0/NetworkManager-1.0.typelib

%files -n libnm-glib4
%defattr(-,root,root)
%{_libdir}/libnm-glib.so.*
%{_libdir}/girepository-1.0/NMClient-1.0.typelib

%files -n libnm-glib-vpn1
%defattr(-,root,root)
%{_libdir}/libnm-glib-vpn.so.*

%files lang -f %{name}.lang

%changelog
openSUSE Build Service is sponsored by