File kdesu.spec of Package kdesu

#
# spec file for package kdesu
#
# Copyright (c) 2018 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/
#


%bcond_without lang
%define lname   libKF5Su5
%define _tar_path 5.42
# Full KF5 version (e.g. 5.33.0)
%{!?_kf5_version: %global _kf5_version %{version}}
# Last major and minor KF5 version (e.g. 5.33)
%{!?_kf5_bugfix_version: %global _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')}
Name:           kdesu
Version:        5.42.0
Release:        0
%define kf5_version %{version}
BuildRequires:  cmake >= 3.0
BuildRequires:  extra-cmake-modules >= %{_kf5_bugfix_version}
BuildRequires:  fdupes
BuildRequires:  kcoreaddons-devel >= %{_kf5_bugfix_version}
BuildRequires:  kf5-filesystem
BuildRequires:  ki18n-devel >= %{_kf5_bugfix_version}
BuildRequires:  kpty-devel >= %{_kf5_bugfix_version}
BuildRequires:  kservice-devel >= %{_kf5_bugfix_version}
BuildRequires:  cmake(Qt5Core) >= 5.6.0
BuildRequires:  pkgconfig(x11)
Summary:        User interface for running shell commands with root privileges
License:        LGPL-2.1+
Group:          System/GUI/KDE
Url:            http://www.kde.org
Source:         http://download.kde.org/stable/frameworks/%{_tar_path}/%{name}-%{version}.tar.xz
Source1:        baselibs.conf
# PATCH-FIX-OPENSUSE fpie.patch -- make kdesud compile/link with -(f)pie flags
Patch0:         fpie.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
libkdesu provides functionality for building GUI front ends for
(password asking) console mode programs. For example, kdesu and
kdessh use it to interface with su and ssh respectively.

%package -n %lname
Summary:        User interface for running shell commands with root privileges
Group:          System/GUI/KDE
%if %{suse_version} >= 1330
Requires(pre):  group(nogroup)
%endif
Requires(pre):  permissions
Obsoletes:      libKF5Su4
%if %{with lang}
Recommends:     %lname-lang = %{version}
%endif

%description -n %lname
libkdesu provides functionality for building GUI front ends for
(password asking) console mode programs. For example, kdesu and
kdessh use it to interface with su and ssh respectively.

%package devel
Summary:        User interface for running shell commands with root privileges
Group:          Development/Libraries/KDE
Requires:       %lname = %{version}
Requires:       extra-cmake-modules
Requires:       kpty-devel >= %{_kf5_bugfix_version}
Requires:       kservice-devel >= %{_kf5_bugfix_version}

%description devel
libkdesu provides functionality for building GUI front ends for
(password asking) console mode programs. For example, kdesu and
kdessh use it to interface with su and ssh respectively.
Development files.

%lang_package -n %lname
%prep
%setup -q
%patch0 -p1

%build
  %cmake_kf5 -d build
  %make_jobs

%install
  %kf5_makeinstall -C build
  %fdupes %{buildroot}

%if 0%{?suse_version} <= 1310
# we need this for older oS releases; only Factory/13.2 has the whitelist
echo "setBadness('permissions-file-setuid-bit', 0)" > $RPM_SOURCE_DIR/%name-rpmlintrc
%endif

%if %{with lang}
%find_lang kdesud5 %{name}.lang
%endif

%post -n %lname
/sbin/ldconfig
%set_permissions %{_kf5_libexecdir}/kdesud

%postun -n %lname -p /sbin/ldconfig

%verifyscript -n %lname
%verify_permissions -e %{_kf5_libexecdir}/kdesud

%if %{with lang}
%files -n %lname-lang -f %{name}.lang
%endif

%files -n %lname
%defattr(-,root,root)
%doc COPYING* README*
%{_kf5_libdir}/libKF5Su.so.*
%{_kf5_libexecdir}/kdesu_stub
%verify(not mode) %attr(2755,root,nogroup) %{_kf5_libexecdir}/kdesud

%files devel
%defattr(-,root,root)
%{_kf5_libdir}/libKF5Su.so
%{_kf5_libdir}/cmake/KF5Su/
%{_kf5_includedir}/*.h
%dir %{_kf5_includedir}/*/
%{_kf5_includedir}/*/
%{_kf5_mkspecsdir}/qt_KDESu.pri

%changelog
openSUSE Build Service is sponsored by