File vdu_controls.spec of Package vdu_controls

# spec file for package vdu_controls
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2021-2023 Michael Hamilton <>
# 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

Name:           vdu_controls
Version:        2.0.3
Release:        0
Summary:        Visual Display Unit virtual control panel
License:        GPL-3.0-or-later
Group:          System/GUI/Other
BuildRequires:  coreutils
BuildRequires:  hicolor-icon-theme
BuildArch:      noarch
%if 0%{?suse_version}
Requires:       ddcutil
Requires:       noto-sans-math-fonts
Requires:       noto-sans-symbols2-fonts
Requires:       python3
Requires:       python3-qt5
Recommends:     ddcutil-service
Recommends:     python3-pyserial
%if 0%{?fedora_version}
%define ext_man *
Requires:       ddcutil
Requires:       google-noto-sans-math-fonts
Requires:       google-noto-sans-symbols2-fonts
Requires:       python3
Requires:       python3-qt5
Suggests:       python3-pyserial

vdu_controls is a virtual control panel for externally connected
VDUs (visual display units).  Controls are included for backlight
brightness, and contrast.  vdu_controls uses the ddcutil command
line utility to interact with external displays via VESA Display
Data Channel (DDC) Virtual Control Panel (VCP) standards.


#Just a placeholder, no build required.

install -d -m 0755 %{buildroot}%{_bindir} \
                   %{buildroot}%{_mandir}/man1/ \
                   %{buildroot}%{_datadir}/applications \
                   %{buildroot}%{_datadir}/%{name}/translations \
                   %{buildroot}%{_datadir}/%{name}/icons \
                   %{buildroot}%{_datadir}/%{name}/sample-scripts \
install -m 0755 %{name}.py  %{buildroot}/%{_bindir}/%{name}
install -m 0644 %{name}.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop
install -m 0644 %{name}.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
install -m 0644 icons/* %{buildroot}%{_datadir}/%{name}/icons/
install -m 0644 translations/*.ts %{buildroot}%{_datadir}/%{name}/translations/
install -m 0644 translations/about_*.txt %{buildroot}%{_datadir}/%{name}/translations/
install -m 0755 sample-scripts/* %{buildroot}%{_datadir}/%{name}/sample-scripts/
install -m 0644 docs/_build/man/%{name}.1 %{buildroot}%{_mandir}/man1/

# This script is supposed to work with any python3 - so leave the shebang alone
# %%if 0%{?suse_version}
# %%python3_fix_shebang
# %%endif

ln -s -f %{_datadir}/icons %{_datadir}/%{name}/icons/system-icons

%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/icons
%dir %{_datadir}/%{name}/translations
%dir %{_datadir}/%{name}/sample-scripts
%ghost %{_datadir}/%{name}/icons/system-icons

# Build service notes:
# 0) Build service page:
# 1) branch the package (link on left margin of page)
# 2) upload/alter package files in branch (should be the github versions)
# 3) wait for builds to complete
# 4) when OK/finished/happy, submit
# 5) check assigned tasks: self approve submission and opt to remove branch
# 6) check build service page (above) has updated
# 7) wait for propagation to experimental package
openSUSE Build Service is sponsored by