Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Fixed

- Ubuntu packages for resolute, stonking and tenacious failed to build on
Launchpad: the Debian source package left out every directory named
`tests`, including the app's own test sources, which the build needs.
- Fedora COPR builds for RHEL 10 and AlmaLinux 10 failed, because their meson
is too old for the app. Those two now get `secure-eye` without
`secure-eye-gui`; Fedora and CentOS Stream still get both.

## [0.3.0] - 2026-11-01

### Added
Expand Down
8 changes: 4 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ classifiers = [
dependencies = [
"ffmpeg-python==0.2.0",
"keyboard==0.13.5",
"mediapipe==1.1.1",
"mediapipe==1.2.0",
"numpy==2.5.4",
"opencv-contrib-python==5.0.0.93",
]
Expand Down Expand Up @@ -63,9 +63,9 @@ required-environments = [

[dependency-groups]
dev = [
"pytest==9.1.1",
"ruff==0.17.2",
"mypy==2.4.0",
"pytest==9.2.0",
"ruff==0.17.3",
"mypy==2.4.1",
"pre-commit==4.7.0",
]

Expand Down
4 changes: 2 additions & 2 deletions requirements.txt

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion secureEye/debian/source/options
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ tar-ignore = ".gitignore"
tar-ignore = ".github"
tar-ignore = "models"
tar-ignore = "snapshots"
tar-ignore = "tests"
tar-ignore = "README.md"
tar-ignore = ".travis.yml"
tar-ignore = "fedora"
Expand Down
20 changes: 18 additions & 2 deletions secureEye/rpm/secure-eye.spec
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@

%undefine __brp_python_bytecompile

# secure-eye-gui needs meson >= 1.7 (qt.qml_module). RHEL 10 and its rebuilds
# (AlmaLinux) ship meson 1.4, so they get the core package only; CentOS Stream
# and Fedora are newer. Override with --with gui / --without gui.
%if 0%{?rhel} && !0%{?centos}
%bcond_with gui
%else
%bcond_without gui
%endif

Name: secure-eye
Version: %{pkg_version}
Release: 1%{?rel_suffix}%{?dist}
Expand All @@ -38,11 +47,12 @@ BuildRequires: libevdev-devel
BuildRequires: inih-devel
BuildRequires: python3-devel
BuildRequires: systemd-rpm-macros
# secure-eye-gui
%if %{with gui}
BuildRequires: qt6-qtbase-devel
BuildRequires: qt6-qtdeclarative-devel
BuildRequires: desktop-file-utils
BuildRequires: appstream
%endif

Requires: python3 >= 3.12
Requires: python3-numpy
Expand Down Expand Up @@ -85,6 +95,7 @@ after a Python upgrade.
Unlike Debian/Ubuntu there is no pam-auth-update on Fedora; enable the module
manually or via an authselect custom profile (see README.Fedora.md).

%if %{with gui}
%package gui
Summary: SecureEye face authentication for Linux - management app
Requires: %{name}%{?_isa} = %{version}-%{release}
Expand All @@ -102,6 +113,7 @@ on and off, edit the configuration and control the secureeye-authd service.

The camera and the face models are handled by secureeye-authd; the app talks
to it over its UNIX socket and never opens the camera itself.
%endif

%prep
%autosetup -n %{name}-%{version}
Expand All @@ -123,7 +135,7 @@ meson setup %{_vpath_builddir} . \
-Dconfig_dir=%{_sysconfdir}/secureEye \
-Duser_models_dir=%{_sysconfdir}/secureEye/models \
-Dwith_polkit=true \
-Dinstall_gui=true
-Dinstall_gui=%{?with_gui:true}%{!?with_gui:false}
meson compile -C %{_vpath_builddir}

%install
Expand All @@ -138,8 +150,10 @@ install -d -m 0700 %{buildroot}%{_sysconfdir}/secureEye/models
install -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/secure-eye.conf

%check
%if %{with gui}
desktop-file-validate %{buildroot}%{_datadir}/applications/io.github.vhrabar.SecureEye.desktop
appstreamcli validate --no-net %{buildroot}%{_metainfodir}/io.github.vhrabar.SecureEye.metainfo.xml
%endif

%pre
%sysusers_create_compat %{SOURCE1}
Expand Down Expand Up @@ -170,12 +184,14 @@ appstreamcli validate --no-net %{buildroot}%{_metainfodir}/io.github.vhrabar.Sec
%config(noreplace) %{_sysconfdir}/secureEye/config.ini
%dir %attr(0700,secureeye,secureeye) %{_sysconfdir}/secureEye/models

%if %{with gui}
%files gui
%license LICENSE
%{_bindir}/secureeye-gui
%{_datadir}/applications/io.github.vhrabar.SecureEye.desktop
%{_datadir}/icons/hicolor/scalable/apps/io.github.vhrabar.SecureEye.svg
%{_metainfodir}/io.github.vhrabar.SecureEye.metainfo.xml
%endif

%changelog
* Sun Nov 01 2026 Vedran Hrabar <vedran.hrabar@outlook.com> - 0.3.0-1
Expand Down
Loading
Loading