i3lock - spec file

Mateusz Kocielski shm at digitalsun.pl
Tue Jul 11 17:59:41 CEST 2023


Dnia Tue, Jul 11, 2023 at 01:36:19PM +0200, Jan Palus napisał(a):
> Hi,
> 
> thanks for contributing! Overall looks good. Some comments below.
> 

Hello,

 thanks for your helpful comments, below my comments and fixed version of the
spec.

> > Summary:	improved screen locker
> 
> Start summary with capital letter unless it starts with a name that goes
> lower case.
>

It seems that's convention that developers made, so I kept it. Other example
is here: https://github.com/pld-linux/i3/blob/master/i3.spec#L1 . OTOH maybe
it should be changed in both places.

> > Name:		i3lock
> > Version:	2.14.1
> > Release:	1
> > License:	BSD
> > Group:		Applications
> > Source0:	https://i3wm.org/i3lock/%{name}-%{version}.tar.xz
> > # Source0-md5:	33d4bc8256a1566fbac911e405e53fdd
> > URL:		https://i3wm.org/i3lock/
> > BuildRequires:	cairo-devel
> 
> cairo is required with version at least 1.14.4.

Fixed, thanks.

> > BuildRequires:	libev-devel
> > BuildRequires:	libxcb-devel
> > BuildRequires:	meson >= 0.45.0
> > BuildRequires:	ninja
> > BuildRequires:	pam-devel
> > BuildRequires:	pkgconfig
> > BuildRequires:	xcb-util-devel
> > BuildRequires:	xcb-util-image-devel
> > BuildRequires:	xcb-util-xrm-devel
> > BuildRequires:	xorg-lib-libX11-devel
> 
> Can't see direct dependency on xorg-lib-libX11-devel.

You're right, removed. Did you catch that manually?

> > BuildRequires:	xorg-lib-libxkbcommon-x11-devel
> > BuildRequires:  rpmbuild(macros) >= 1.726
> 
> Keep it sorted and use tabs instead (run adapter script).

That's interesting, I ran this script before sending it to the mailing list.
I'll investigate it later, for now I fixed it manually.
 
> > Requires:	libxcb
> > Requires:	pam
> > Requires:	xcb-util
> > Requires:	xcb-util-image
> > Requires:	xcb-util-xrm
> > Requires:	xorg-lib-libxkbcommon-x11
> 
> No need to give explicit Requires: for libraries linked to main binary
> unless specific version is required (like in case of cair).
> 

Makes sense, fixed.

> > BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
> > 
> > %description
> > Minimalist screen locker based on slock.
> > 
> > %prep
> > %setup -q
> > 
> > %build
> > %meson build
> > %ninja_build -C build
> 
> For additional BuildRequires: check:
> 
> http://cvs.pld-linux.org/cgi-bin/viewvc.cgi/cvs/PLD-doc/BuildRequires.txt
> > 
> > %install
> > rm -rf $RPM_BUILD_ROOT
> > %ninja_install -C build
> > 
> > %clean
> > rm -rf $RPM_BUILD_ROOT
> > 
> > %files
> > %defattr(644,root,root,755)
> 
> LICENSE states it needs to be distributed with binaries so include it in
> %doc.
> 

Good catch, thanks! Fixed.

> > %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/i3lock
> > %attr(4755,root,wheel) %{_bindir}/i3lock
> 
> That's peculiar -- what screen locker needs suid bit for? Why wheel
> group?

Wheel group is taken from my BSD heritage I guess, fixed it. :) It requires
PAM for an authentication.

> > %{_mandir}/man1/i3lock.1*

 Thanks,
 Mateusz
-------------- next part --------------
Summary:	improved screen locker
Name:		i3lock
Version:	2.14.1
Release:	1
License:	BSD
Group:		Applications
Source0:	https://i3wm.org/i3lock/%{name}-%{version}.tar.xz
# Source0-md5:	33d4bc8256a1566fbac911e405e53fdd
URL:		https://i3wm.org/i3lock/
BuildRequires:	cairo-devel >= 1.14.4
BuildRequires:	libev-devel
BuildRequires:	libxcb-devel
BuildRequires:	meson >= 0.45.0
BuildRequires:	ninja
BuildRequires:	pam-devel
BuildRequires:	pkgconfig
BuildRequires:	rpmbuild(macros) >= 1.726
BuildRequires:	xcb-util-devel
BuildRequires:	xcb-util-image-devel
BuildRequires:	xcb-util-xrm-devel
BuildRequires:	xorg-lib-libxkbcommon-x11-devel
Requires:	cairo >= 1.14.4
BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

%description
Minimalist screen locker based on slock.

%prep
%setup -q

%build
%meson build
%ninja_build -C build

%install
rm -rf $RPM_BUILD_ROOT
%ninja_install -C build

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(644,root,root,755)
%doc LICENSE CHANGELOG
%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/i3lock
%attr(4755,root,root) %{_bindir}/i3lock
%{_mandir}/man1/i3lock.1*


More information about the pld-devel-en mailing list