File ddcutil.spec of Package ddcutil-test

# Variant of ddcutil spec file intended only for use with OBS
# File rpm_specfiles/obsonly_2.2.1-1.spec

%if 0%{?suse_version}
    %define release_suffix .suse_%{suse_version}
%endif
%if 0%{?fedora_version}
    %define release_suffix .fc%{fedora_version}
%endif

Name:     ddcutil
Version:  2.2.1
# Release: OBS will substitute 
#          tag template specified in prjconf: 
#          Release: <CI_CNT>.<B_CNT>%%{?release_suffix}
Release:  0
Summary:  Query and update monitor settings

# %%define _unpackaged_files_terminate_build 0 

%if 0%{?fedora_version}
License: GPLv2+
%else
# SuSE et al
License: GPL-2.0+
%endif

# Fedora guidelines say Group tag optional, but OBS for SuSE complains if not present
%if %{defined fedora_version}
Group: Hardware/Other
%endif
%if %{defined suse_version}
Group: System/GUI/Other
%endif
URL:      http://www.ddcutil.com
# Source: http://www.ddcutil.com/tarballs/%%{name}-%%{version}.tar.gz
Source:   %{name}-%{version}.tar.gz

%{echo:fedora_version is %{?fedora_version}, }
%{echo:suse_version   is %{?suse_version},   }   
%{echo:mageia_version is %{?mageia_version}, }   
%{echo:mageia         is %{?mageia},         }   
%{echo:is_mageia      is %{?is_mageia},      }   
%{echo:centos_version is %{?centos_version}, }   
%{echo:centos         is %{?centos},         }   
%{echo:is_centos      is %{?is_centos},      }   
%{echo:sle_version    is %{?sle_version},    }   
%{echo:fedora         is %{?fedora},         }   
%{echo:suse           is %{?suse},           }   
%{echo:dist           is %{dist},            }


BuildRequires:  automake             >= 1.13
BuildRequires:  autoconf             >= 2.50
BuildRequires:  gcc
# BuildRequires:  libc-bin

BuildRequires: pkgconfig(glib-2.0)   >= 2.32
BuildRequires: pkgconfig(libdrm)     >= 2.4.16
%if 0%{?fedora}
BuildRequires: libi2c-devel          >= 4.0
%endif
%if 0%{?suse_version}
BuildRequires: libi2c0-devel         >= 4.0
BuildRequires: libkmod-devel
%endif
%if 0%{?centos_version}
# neither found:
# BuildRequires: libi2c0-devel          >= 4.0
# BuildRequires: libi2c-devel          >= 4.0
%endif

BuildRequires: pkgconfig(jansson)
BuildRequires: pkgconfig(libkmod)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(libusb-1.0) >= 1.0.15
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(zlib)

# OpenSUSE 13.1, 13.2 requires i2c-tools for header file linux/i2c-dev.h
BuildRequires: i2c-tools

# BuildRequires: pkgconfig(python3) >= 3.4

# %%if %%{defined suse_version}
# BuildRequires: i2c-tools
# %%endif


# Fedora guidelines say BuildRoot ignored
BuildRoot: %{_tmppath}/%{name}-%{version}-build

# ddcutil - description 

%description 
Query and change monitor settings

ddcutil communicates with monitors implementing MCCS (Monitor Control Command
Set), using either the DDC/CI protocol on the I2C bus or as a Human Interface
Device on USB.


# libddcutil - package and description

%package -n libddcutil5
Summary: Shared library to query and update monitor settings 

%if 0%{?fedora_version}
Group: System Environment/Libraries
%endif
%if 0%{?suse_version}
Group: Development/Libraries/Other
%endif

%description -n libddcutil5
Shared library version of ddcutil, exposing a C API.  

ddcutil communicates with monitors implementing MCCS (Monitor Control Command
Set), using either the DDC/CI protocol on the I2C bus or as a Human Interface
Device on USB.

#libddcutil-devel - package and description

%package -n libddcutil-devel
Summary: Development files for libddcutil

%if 0%{?fedora_version}
Group: System/Libraries
%endif
%if 0%{?suse_version}
Group: Development/Libraries/Other
%endif
Requires: libddcutil5 >= %{version}

%description -n libddcutil-devel
Header files for libddcutil

Additional info about libddcutil-devel


%prep
%setup 
# %%setup -q
rpm --version
rpmbuild --version

%build

%configure --enable-lib=yes --enable-drm=yes --enable-usb=yes
make V=1

%check
make check

%install
%make_install
rm -rf %{buildroot}%{_datadir}/doc/%{name}/html

# Fedora guidelines: %%clean section not required
%clean
rm -rf %{buildroot}


#
# Package ddcutil
#

%files
# Not needed, is default:
%defattr(664,root,root)

# n. Fedora: docdir is /usr/share/doc
#    SuSE:   docdir is /usr/share/doc/packages

%doc     CHANGELOG.md AUTHORS NEWS.md README.md
%license COPYING


# would copy entire directory:
# %%{_datadir}/%%{name}/
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/data
%{_datadir}/%{name}/data/*rules
%{_datadir}/%{name}/data/90-nvidia-i2c.conf
%{_datadir}/%{name}/data/nvidia-i2c.conf

# For future appstream:
# %%{_datadir}/applications/ddcutil.desktop
# %%dir %%{_datadir}/icons/hicolor
# %%dir %%{_datadir}/icons/hicolor/16x16
# %%dir %%{_datadir}/icons/hicolor/16x16/apps
# %%dir %%{_datadir}/icons/hicolor/32x32
# %%dir %%{_datadir}/icons/hicolor/32x32/apps
# %%dir %%{_datadir}/icons/hicolor/48x48
# %%dir %%{_datadir}/icons/hicolor/48x48/apps
# %%dir %%{_datadir}/icons/hicolor/128x128
# %%dir %%{_datadir}/icons/hicolor/128x128/apps
# %%{_datadir}/icons/hicolor/16x16/apps/ddcutil.png
# %%{_datadir}/icons/hicolor/32x32/apps/ddcutil.png
# %%{_datadir}/icons/hicolor/48x48/apps/ddcutil.png
# %%{_datadir}/icons/hicolor/128x128/apps/ddcutil.png
# %%{_datadir}/metainfo/ddcutil.appdata.xml
# %%{_datadir}/pixmaps/ddcutil.png

%{_mandir}/man1/ddcutil.1*
%attr(755,root,root)%{_bindir}/ddcutil
# %%{_bindir}/ddcutil
%{_prefix}/lib/udev/rules.d/60-ddcutil-i2c.rules
%{_prefix}/lib/modules-load.d/ddcutil.conf

#
# Package libddcutil
#

%files -n libddcutil5
%defattr(-,root,root)
%{_libdir}/libddcutil.so.*


%doc     README.md AUTHORS NEWS.md  CHANGELOG.md
%license COPYING

#
# Package libddcutil-devel
#

%files -n libddcutil-devel
%defattr(-,root,root)
%{_includedir}/ddcutil_types.h
%{_includedir}/ddcutil_status_codes.h
%{_includedir}/ddcutil_macros.h
%{_includedir}/ddcutil_c_api.h
# %%{_datadir}/pkgconfig/ddcutil.pc
%{_libdir}/pkgconfig/ddcutil.pc
%{_libdir}/libddcutil.so
# Fails on SuSE, lack permissions to write to Modules
%dir %{_libdir}/cmake
%dir %{_libdir}/cmake/%{name}
%{_libdir}/cmake/%{name}/FindDDCUtil.cmake

%doc     NEWS.md README.md AUTHORS CHANGELOG.md 
%license COPYING


# %%doc -n ddcutil
# %%doc -n libddcutil-1
# %%doc -n libddcutil-devel

%post   -n libddcutil5 -p /sbin/ldconfig
%postun -n libddcutil5 -p /sbin/ldconfig


%changelog

* Wed Jul 09 2025 Sanford Rockowitz <rockowitz@minsoft.com> 2.2.1-1
- Release 2.2.1

* Wed Feb 07 2025 Sanford Rockowitz <rockowitz@minsoft.com> 2.2.0-1
- Release 2.2.0

* Sat Jan 27 2024 Sanford Rockowitz <rockowitz@minsoft.com> 2.1.2-1
- Release 2.1.2

* Thu Jan 11 2024 Sanford Rockowitz <rockowitz@minsoft.com> 2.1.0-1
- Release 2.1.0

* Mon Sep 11 2023 Sanford Rockowitz <rockowitz@minsoft.com> 2.0.0-1
- Release 2.0.0

* Mon Feb 20 2023 Sanford Rockowitz <rockowitz@minsoft.com> 1.4.2-1
- Release 1.4.2

* Mon Jan 16 2023 Sanford Rockowitz <rockowitz@minsoft.com> 1.4.1-1
- Release 1.4.1

* Mon Jan 09 2023 Sanford Rockowitz <rockowitz@minsoft.com> 1.4.0-1
- Release 1.4.0

* Fri Jul 22 2022 Sanford Rockowitz <rockowitz@minsoft.com> 1.3.0-1
- Release 1.3.0

* Thu Jan 27 2022 Sanford Rockowitz <rockowitz@minsoft.com> 1.2.2-1
- Release 1.2.2

* Thu Dec 02 2021 Sanford Rockowitz <rockowitz@minsoft.com> 1.2.1-1
- Release 1.2.1

* Fri Oct 01 2021 Sanford Rockowitz <rockowitz@minsoft.com> 1.2.0-1
- Release 1.2.0

* Thu Mar 25 2021 Sanford Rockowitz <rockowitz@minsoft.com> 1.1.0-1
- Release 1.1.0

* Sun Feb 07 2021 Sanford Rockowitz <rockowitz@minsoft.com> 1.0.1-1
- Release 1.0.1

* Wed Feb 03 2021 Sanford Rockowitz <rockowitz@minsoft.com> 1.0.0-1
- Release 1.0.0
- Bumped libddcutil3 to  libddcutl4

* Wed Jun 24 2020 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.9-3
- Release 0.9.9
- Bumped libddcutil2 to  libddcutl3

* Mon Oct 28 2019 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.7-1
- Release 0.9.8
- Bumped libddcutil1 to  libddcutl2

* Tue Sep 03 2019 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.7-1
- Release 0.9.7
- Bumped libddcutil0 to  libddcutl1

* Sat Aug 03 2019 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.6-1
- Release 0.9.6
- Bumped libddcutil0 to  libddcutl1

* Sun Feb 24 2019 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.5-1
  Release 0.9.5

* Tue Dec 25 2018 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.4-1
- Release 0.9.4

* Sat Nov 24 2018 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.3-1
- Release 0.9.3

* Sat Sep 01 2018 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.2-1
- Release 0.9.2

* Sun May 27 2018 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.1-1

- Release 0.9.1

* Sun May 13 2018 Sanford Rockowitz <rockowitz@minsoft.com> 0.9.0-1

- Release 0.9.0

* Fri Jan 19 2018 Sanford Rockowitz <rockowitz@minsoft.com> 0.8.6-1

- Release 0.8.6

* Thu Nov 16 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.8.5-1

- Release 0.8.5

- See http://www.ddcutil.com/release_notes for details.

* Sat Jul 22 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.8.4-1

- Release 0.8.4

- See http://www.ddcutil.com/release_notes for details.

* Wed May 17 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.8.2-1

  Release 0.8.2

* Sat May 06 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.8.1-1

  Release 0.8.1

* Mon May 01 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.8.0-1

  Release 0.8.0

* Sun Mar 05 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.7.3-1

  Release 0.7.3

* Mon Jan 02 2017 Sanford Rockowitz <rockowitz@minsoft.com> 0.7.0-1

- Release 0.7.0

- Added packages libddcutil0 and libddcutil-devel

openSUSE Build Service is sponsored by