%define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}

Name:         elogind
Summary:      The systemd project's "logind", extracted to a standalone package
Summary(ja):  systemdプロジェクトのlogindを単独で動作するようにしたソフトウェア
Version:      246.9.2
Release:      1%{?_dist_release}
Group:        system
Vendor:       Project Vine
Distribution: Vine Linux
Packager:     tomop

License:      GPL2/LGPL2.1
URL:          https://wiki.gentoo.org/wiki/Elogind

Source0:      https://github.com/elogind/elogind/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1:      elogind.init

BuildRoot: %{_tmppath}/%{name}-%{version}-root

Requires: util-linux
Requires: polkit
Requires: dbus
Requires: elogind-libs = %{version}-%{release}

BuildRequires: meson
BuildRequires: ninja
BuildRequires: gperf
BuildRequires: audit-libs-devel
BuildRequires: libacl-devel
BuildRequires: libblkid-devel
BuildRequires: libcap-devel
BuildRequires: libmount-devel
BuildRequires: libxcrypt-devel
BuildRequires: dbus-devel
BuildRequires: eudev-libudev-devel
BuildRequires: glib2-devel
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: python3-devel
BuildRequires: libxslt
BuildRequires: docbook-style-xsl

%description
elogind is the systemd project's logind, extracted to a standalone package. It's designed for users who prefer a non-systemd init system, but still want to use popular software such as KDE/Wayland or GNOME that otherwise hard-depends on systemd. 

%description -l ja
　eloginは、systemdプロジェクトのlogindを単体で抽出したものです。これは
systemdを利用していないシステム上で、KDE、Wayland、GNOMEのようにsystemd
に強く依存しているソフトウェアを使用したいユーザのために設計されています。


%package libs
Summary:     shared libraries for elogind
Summary(ja): eloginのための共有ライブラリファイル
Group:       system

%description libs
 This package contains shared libraries for elogind

%description libs -l ja
　このパッケージにはeloginを用いた開発のための共有ライブラリファイル
が含まれています。


%package devel
Summary:     headers and libraries for elogind
Summary(ja): eloginを用いた開発のためのヘッダ・ライブラリファイル
Group:       programming
Requires:    elogind-libs = %{version}-%{release}

%description devel
 This package contains headers and libraries for elogind

%description devel -l ja
　このパッケージにはeloginを用いた開発のためのヘッダ・ライブラリファイル
が含まれています。


%package -n compat32-elogind-libs
Summary:     shared libraries for elogind
Summary(ja): eloginのための共有ライブラリファイル
Group:       system

%description -n compat32-elogind-libs
 This package contains shared libraries for elogind

%description -n compat32-elogind-libs -l ja
　このパッケージにはeloginを用いた開発のための共有ライブラリファイル
が含まれています。


%debug_package


%prep
%autosetup -p1


%build
export LANG=ja_JP.UTF-8
%meson \
 -Dman=true
%meson_build


%install
export LANG=ja_JP.UTF-8
%{__rm} -rf %{buildroot}
%meson_install

install -m755 -d %{buildroot}%{_initdir}
install -m755 %{SOURCE1} %{buildroot}%{_initdir}/%{name}

rm -f %{buildroot}/%{_lib}/libelogind.so
ln -s ../../%{_lib}/libelogind.so.0 %{buildroot}%{_libdir}/libelogind.so
perl -pi -e 's|^libdir=.*$|libdir=%{_libdir}|' %{buildroot}%{_libdir}/pkgconfig/libelogind.pc

rm -rf %{buildroot}%{_datadir}/factory

%find_lang %{name}


%check
export LANG=ja_JP.UTF-8
%meson_test


%clean
%{__rm} -rf %{buildroot}


%pre
if [ $1 -gt 1 ]; then
  if [ -e /etc/rc2.d/S03elogind ]; then
    /sbin/chkconfig elogind off
    touch /tmp/chkconfig-elogind-on
  fi
fi

%post
/sbin/chkconfig --add elogind
if [ $1 -eq 1 ]; then
  /sbin/chkconfig elogind on
else
  if [ -e /tmp/chkconfig-elogind-on ]; then
    /sbin/chkconfig elogind on
    rm -f /tmp/chkconfig-elogind-on
  fi
fi

%preun
if [ $1 -eq 0 ]; then
  /sbin/chkconfig elogind off
  /sbin/chkconfig --add elogind
fi

%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig


%files -f %{name}.lang
%defattr(-,root,root)
%license LICENSE*
%doc NEWS README
%config(noreplace) %{_sysconfdir}/elogind/logind.conf
%config(noreplace) %{_sysconfdir}/pam.d/elogind-user
%{_initdir}/elogind
/bin/*
%{_bindir}/*
/lib/elogind
/lib/udev/rules.d/*
/%{_lib}/security/*
%{_datadir}/dbus-1/system-services/*
%{_datadir}/dbus-1/system.d/*
%{_datadir}/polkit-1/actions/*
%dir %{_datadir}/zsh
%{_datadir}/zsh/site-functions/*
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/*
%{_mandir}/man1/*
%{_mandir}/man5/*
%{_mandir}/man7/*
%{_mandir}/man8/*

%files libs
/%{_lib}/*.so.*

%files devel
%defattr(-,root,root)
%{_libdir}/libelogind.so
%{_includedir}/elogind
%{_libdir}/pkgconfig/libelogind.pc
%{_mandir}/man3/*

%if %{build_compat32}
%files -n compat32-elogind-libs
/%{_lib}/*.so.*
%endif


%changelog
* Sat Feb 13 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 246.9.2-1
- new upstream release.
- updated Source1.

* Sat May 25 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 241.3-2
- added a initscript.

* Fri May 10 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 241.3-1
- new upstream release.
- dropped Patch0: fixed in upstream.
- added BR:libxcrypt-devel.
- fixed %%post and %%postun scripts.
- added BR:audit-libs-devel.
- added BR:dbus-devel.
- added BR:glib2-devel.

* Sun Jan 06 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 239.3-3
- added compat32-elogind-libs.

* Wed Jan 02 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 239.3-2
- separated libs.
- built manuals.

* Sun Dec 16 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 239.3-1
- initial build for Vine Linux.
