Compare commits

...

No commits in common. "c8" and "c10s" have entirely different histories.
c8 ... c10s

12 changed files with 286 additions and 142 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

3
.gitignore vendored
View File

@ -1 +1,2 @@
SOURCES/libdbusmenu-16.04.0.tar.gz
/libdbusmenu-12.10.2.tar.gz
/libdbusmenu-16.04.0.tar.gz

View File

@ -1 +0,0 @@
f88fc666609ed486a968fd6c8b739dff07d50bdd SOURCES/libdbusmenu-16.04.0.tar.gz

52
00-no-werror.patch Normal file
View File

@ -0,0 +1,52 @@
diff --git a/libdbusmenu-glib/Makefile.am b/libdbusmenu-glib/Makefile.am
index 2dea5f6..01832ce 100644
--- a/libdbusmenu-glib/Makefile.am
+++ b/libdbusmenu-glib/Makefile.am
@@ -66,7 +66,7 @@ libdbusmenu_glib_la_LDFLAGS = \
libdbusmenu_glib_la_CFLAGS = \
$(DBUSMENUGLIB_CFLAGS) \
$(COVERAGE_CFLAGS) \
- -Wall -Werror -Wno-error=deprecated-declarations \
+ -Wall -Wno-error=deprecated-declarations \
-DG_LOG_DOMAIN="\"LIBDBUSMENU-GLIB\""
libdbusmenu_glib_la_LIBADD = \
diff --git a/libdbusmenu-gtk/Makefile.am b/libdbusmenu-gtk/Makefile.am
index 9a7a2b0..a9a2b49 100644
--- a/libdbusmenu-gtk/Makefile.am
+++ b/libdbusmenu-gtk/Makefile.am
@@ -66,7 +66,7 @@ libdbusmenu_gtk_la_CFLAGS = \
$(DBUSMENUGTK_CFLAGS) \
$(COVERAGE_CFLAGS) \
-I$(top_srcdir) \
- -Wall -Werror -Wno-error=deprecated-declarations \
+ -Wall -Wno-error=deprecated-declarations \
-DG_LOG_DOMAIN="\"LIBDBUSMENU-GTK\""
libdbusmenu_gtk_la_LIBADD = \
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 64e3e75..699c2c9 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -103,7 +103,7 @@ TESTS_ENVIRONMENT = env GI_TYPELIB_PATH=$(top_builddir)/libdbusmenu-glib:$(top_b
############################################
DBUSMENU_GLIB_TEST_CFLAGS = \
- -Wall -Werror \
+ -Wall \
-DG_DISABLE_DEPRECATED \
-I$(top_srcdir) \
$(DBUSMENUTESTS_CFLAGS) \
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 029b73e..2258cca 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -16,7 +16,7 @@ dbusmenu_dumper_CFLAGS = \
-I $(srcdir)/.. \
$(DBUSMENUGLIB_CFLAGS) \
$(DBUSMENUDUMPER_CFLAGS) \
- -Wall -Werror
+ -Wall
dbusmenu_dumper_LDADD = \
../libdbusmenu-glib/libdbusmenu-glib.la \

View File

@ -1,11 +0,0 @@
diff -up libdbusmenu-16.04.0/libdbusmenu-16.04.0/libdbusmenu-glib/menuitem.c.covscan libdbusmenu-16.04.0/libdbusmenu-16.04.0/libdbusmenu-glib/menuitem.c
--- libdbusmenu-16.04.0/libdbusmenu-16.04.0/libdbusmenu-glib/menuitem.c.covscan 2016-02-27 19:58:43.000000000 +0100
+++ libdbusmenu-16.04.0/libdbusmenu-16.04.0/libdbusmenu-glib/menuitem.c 2018-10-09 12:56:22.308956723 +0200
@@ -1753,6 +1753,7 @@ dbusmenu_menuitem_handle_event (Dbusmenu
g_debug("Menuitem %d (%s) is getting event '%s'", ID(mi), LABEL(mi), name);
#endif
DbusmenuMenuitemClass * class = DBUSMENU_MENUITEM_GET_CLASS(mi);
+ g_return_if_fail(DBUSMENU_IS_MENUITEM_CLASS(class));
gboolean handled = FALSE;
if (variant == NULL) {

View File

@ -1,90 +0,0 @@
diff -up libdbusmenu-16.04.0/libdbusmenu-16.04.0/tools/dbusmenu-bench.python3 libdbusmenu-16.04.0/libdbusmenu-16.04.0/tools/dbusmenu-bench
--- libdbusmenu-16.04.0/libdbusmenu-16.04.0/tools/dbusmenu-bench.python3 2016-02-27 19:58:43.000000000 +0100
+++ libdbusmenu-16.04.0/libdbusmenu-16.04.0/tools/dbusmenu-bench 2018-06-15 13:15:10.966380083 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
# encoding: utf-8
"""
A library to communicate a menu object set accross DBus and
@@ -60,8 +60,8 @@ class Chrono(object):
def dump_properties(properties, prepend=""):
- for key, value in properties.items():
- print "%s- %s: %s" % (prepend, key, value)
+ for key, value in list(properties.items()):
+ print("%s- %s: %s" % (prepend, key, value))
def run_test_sequence(menu, dump=False):
@@ -74,9 +74,9 @@ def run_test_sequence(menu, dump=False):
revision, layout = menu.GetLayout(dbus.Int32(0))
times["GetLayout"] = chrono.elapsed()
if dump:
- print "revision:", revision
- print "layout:"
- print layout
+ print("revision:", revision)
+ print("layout:")
+ print(layout)
# Get ids
tree = ET.fromstring(layout)
@@ -89,27 +89,27 @@ def run_test_sequence(menu, dump=False):
children = menu.GetChildren(dbus.Int32(root_id), property_names)
times["GetChildren"] = chrono.elapsed()
if dump:
- print "children:"
+ print("children:")
for child in children:
id, properties = child
- print "- %d:" % id
+ print("- %d:" % id)
dump_properties(properties, prepend=" ")
chrono.restart()
properties = menu.GetProperties(dbus.Int32(child_id), property_names)
times["GetProperties"] = chrono.elapsed()
if dump:
- print "properties:"
+ print("properties:")
dump_properties(properties)
return times
def create_timing_dict():
- return dict(zip(PROBES, itertools.repeat(0)))
+ return dict(list(zip(PROBES, itertools.repeat(0))))
def print_probe(prefix, name, value, timestamp):
value = int(value * 1000000)
- print "%(prefix)s.%(name)s:%(value)d@%(timestamp)d" % locals()
+ print("%(prefix)s.%(name)s:%(value)d@%(timestamp)d" % locals())
def main():
parser = OptionParser(usage = "%prog [options]")
@@ -134,7 +134,7 @@ def main():
max_timings = create_timing_dict()
for x in range(options.count):
timings = run_test_sequence(menu)
- for name, timing in timings.items():
+ for name, timing in list(timings.items()):
cumulated_timings[name] += timing
if min_timings[name] == 0 or min_timings[name] > timing:
min_timings[name] = timing
@@ -142,11 +142,11 @@ def main():
max_timings[name] = timing
timestamp = int(time.time())
- for name, timing in cumulated_timings.items():
+ for name, timing in list(cumulated_timings.items()):
print_probe("average", name, timing / options.count, timestamp)
- for name, timing in min_timings.items():
+ for name, timing in list(min_timings.items()):
print_probe("min", name, timing, timestamp)
- for name, timing in max_timings.items():
+ for name, timing in list(max_timings.items()):
print_probe("max", name, timing, timestamp)
return 0

7
gating.yaml Normal file
View File

@ -0,0 +1,7 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
# this is the testcase identifier, which OSCI pipeline uses
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -7,26 +7,35 @@
# Set to 1 to run testsuite
%global with_tests 0
# No gtk2 in RHEL 10
%if 0%{?rhel} > 9
%bcond_with gtk2
%else
%bcond_without gtk2
%endif
Name: libdbusmenu
Version: %{ubuntu_release}.0
Release: 12%{?dist}
Release: 32%{?dist}
Summary: Library for passing menus over DBus
# All files installed in final rpms use C sources with dual licensing headers.
# Tests compiled in the build process are licensed GPLv3
License: LGPLv3 or LGPLv2 and GPLv3
License: (LGPL-3.0-only OR LGPL-2.1-only) AND GPL-3.0-only
URL: https://launchpad.net/libdbusmenu
Source0: https://launchpad.net/libdbusmenu/%{ubuntu_release}/%{version}/+download/%{name}-%{version}.tar.gz
Patch0: dbusmenu-bench-python3.patch
Patch1: covscan.patch
# patch to remove -Werror flag - fixes build despite usage of deprecated things
Patch0: 00-no-werror.patch
BuildRequires: make
BuildRequires: atk-devel
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gettext
BuildRequires: glibc-devel
BuildRequires: gnome-common
BuildRequires: gtk-doc
BuildRequires: intltool
BuildRequires: libtool
BuildRequires: libxslt
@ -36,17 +45,20 @@ BuildRequires: pkgconfig(gio-2.0) >= 2.35.4
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.24
BuildRequires: pkgconfig(glib-2.0) >= 2.35.4
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.10
%if %{with gtk2}
BuildRequires: pkgconfig(gtk+-2.0) >= 2.16
%endif
BuildRequires: pkgconfig(gtk+-3.0) >= 2.91
BuildRequires: pkgconfig(json-glib-1.0) >= 0.13.4
BuildRequires: pkgconfig(x11) >= 1.3
BuildRequires: vala-devel
BuildRequires: vala-tools
BuildRequires: vala
# pkgconfig file is checked for valgrind, but is actually only used for tests
# https://bugzilla.redhat.com/show_bug.cgi?id=1262274
# BuildRequires: pkgconfig(valgrind)
%if 0%{?with_tests}
BuildRequires: dbus-test-runner
BuildRequires: python2
BuildRequires: valgrind
%endif
@ -58,12 +70,20 @@ makes building menus simple.
%package devel
Summary: %{summary} - Development files
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: dbus-glib-devel
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%if %{with gtk2}
%package gtk2
Summary: %{summary} - GTK+2 version
Requires: %{name}%{?_isa} = %{version}-%{release}
%description gtk2
Shared libraries for the %{name}-gtk2 library.
%endif
%package gtk3
Summary: %{summary} - GTK+3 version
Requires: %{name}%{?_isa} = %{version}-%{release}
@ -71,12 +91,23 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
%description gtk3
Shared libraries for the %{name}-gtk3 library.
%if %{with gtk2}
%package gtk2-devel
Summary: Development files for %{name}-gtk2
Requires: %{name}-gtk2%{?_isa} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: gtk2-devel
%description gtk2-devel
The %{name}-gtk2-devel package contains libraries and header files for
developing applications that use %{name}-gtk2.
%endif
%package gtk3-devel
Summary: Development files for %{name}-gtk3
Requires: %{name}-gtk3%{?_isa} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: gtk3-devel
Requires: dbus-glib-devel
%description gtk3-devel
The %{name}-gtk3-devel package contains libraries and header files for
@ -115,43 +146,87 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
The %{name}-tools package contains helper tools for developing applications
that use %{name}.
%package gtk3-tests
Summary: Test tools for the dbusmenu libraries
Requires: %{name}-gtk3%{?_isa} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description gtk3-tests
The %{name}-tests package contains test tools that use %{name}-gtk3.
%prep
%setup -q -n %{name}-%{version} -c
%patch0 -p1 -b .python3
%patch1 -p1 -b .covscan
pushd %{name}-%{version}
%patch 0 -p1
autoreconf -fiv
popd
cp -a %{name}-%{version}/{README,COPYING,COPYING.2.1,COPYING-GPL3,AUTHORS,ChangeLog} .
cp -a %{name}-%{version} %{name}-gtk3-%{version}
%build
build(){
autoreconf -vif
%configure --disable-static --disable-dumper $*
%configure --disable-static --disable-dumper --enable-introspection $*
%make_build
}
pushd %{name}-%{version}
pushd %{name}-gtk3-%{version}
sed -i -e 's@^#!.*python$@#!/usr/bin/python2@' tools/dbusmenu-bench
build --with-gtk=3
cd tests
# Need dbus-test-runner package for other tests.
make test-glib-simple-items
cd ..
popd
%if %{with gtk2}
pushd %{name}-%{version}
sed -i -e 's@^#!.*python$@#!/usr/bin/python2@' tools/dbusmenu-bench
build --with-gtk=2
popd
%endif
%install
pushd %{name}-gtk3-%{version}
%make_install
find %{buildroot} -name '*.la' -delete
install -pm 755 -D test-driver \
$RPM_BUILD_ROOT%{_libexecdir}/%{name}-gtk3/test-driver
install -pm 755 -D tests/.libs/test-glib-simple-items \
$RPM_BUILD_ROOT%{_libexecdir}/%{name}-gtk3/test-glib-simple-items
popd
%if %{with gtk2}
pushd %{name}-%{version}
%make_install
find %{buildroot} -name '*.la' -delete
popd
%endif
# Let rpmbuild pick the documents in the files section
rm -fr %{buildroot}%{_docdir}/%{name}
# Remove benchmarking tool written in python2
rm %{buildroot}/%{_libexecdir}/dbusmenu-bench
%if 0%{?with_tests}
%check
pushd %{name}-%{version}
make check V=1
popd
for variant in %{name}-gtk3-%{version} %{name}-%{version}; do
pushd $variant
make check V=1
popd
done
%endif
%ldconfig_scriptlets
%if %{with gtk2}
%ldconfig_scriptlets gtk2
%endif
%ldconfig_scriptlets gtk3
%ldconfig_scriptlets jsonloader
@ -185,6 +260,12 @@ popd
%{_libdir}/libdbusmenu-gtk3.so.*
%{_libdir}/girepository-1.0/DbusmenuGtk3-0.4.typelib
%if %{with gtk2}
%files gtk2
%{_libdir}/libdbusmenu-gtk.so.*
%{_libdir}/girepository-1.0/DbusmenuGtk-0.4.typelib
%endif
%files gtk3-devel
%dir %{_includedir}/libdbusmenu-gtk3-0.4
%dir %{_includedir}/libdbusmenu-gtk3-0.4/libdbusmenu-gtk
@ -194,41 +275,114 @@ popd
%{_datadir}/gir-1.0/DbusmenuGtk3-0.4.gir
%{_datadir}/vala/vapi/DbusmenuGtk3-0.4.vapi
%if %{with gtk2}
%files gtk2-devel
%dir %{_includedir}/libdbusmenu-gtk-0.4
%dir %{_includedir}/libdbusmenu-gtk-0.4/libdbusmenu-gtk
%{_includedir}/libdbusmenu-gtk-0.4/libdbusmenu-gtk/*.h
%{_libdir}/libdbusmenu-gtk.so
%{_libdir}/pkgconfig/dbusmenu-gtk-0.4.pc
%{_datadir}/gir-1.0/DbusmenuGtk-0.4.gir
%{_datadir}/vala/vapi/DbusmenuGtk-0.4.vapi
%endif
%files doc
%dir %{_datadir}/gtk-doc/
%{_datadir}/gtk-doc/*
%files tools
%doc %{name}-%{version}/tools/README.dbusmenu-bench
%{_libexecdir}/dbusmenu-bench
%{_libexecdir}/dbusmenu-testapp
%dir %{_datadir}/%{name}/
%dir %{_datadir}/%{name}/json/
%{_datadir}/%{name}/json/test-gtk-label.json
%changelog
* Tue Oct 09 2018 Tomas Popela <tpopela@redhat.com> - 16.04.0-12
- Fix Coverity scan issues
- Resolves: rhbz#1637532
%files gtk3-tests
%{_libexecdir}/%{name}-gtk3/test-glib-simple-items
%{_libexecdir}/%{name}-gtk3/test-driver
* Mon Jul 02 2018 Charalampos Stratakis <cstratak@redhat.com> - 16.04.0-11
%changelog
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 16.04.0-32
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Fri Jul 12 2024 Takao Fujiwara <fujiwara@redhat.com> - 16.04.0-31
- Remove Xvfb dependency
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 16.04.0-30
- Bump release for June 2024 mass rebuild
* Sun May 12 2024 Takao Fujiwara <fujiwara@redhat.com> - 16.04.0-29
- Add gtk3-tests sub package
* Sat May 11 2024 Takao Fujiwara <fujiwara@redhat.com> - 16.04.0-28
- Add CI
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 16.04.0-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 16.04.0-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Nov 06 2023 Tomas Popela <tpopela@redhat.com> - 16.04.0-25
- Drop the requirements on dbus-glib as the project was migrated to GDBus
* Thu Nov 02 2023 Tomas Popela <tpopela@redhat.com> - 16.04.0-24
- Build require GTK+ 2 conditionally (follow up fix for previous change)
* Tue Oct 10 2023 Takao Fujiwara <fujiwara@redhat.com> - 16.04.0-23
- Delete GTK2 sub packages for RHEL
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 16.04.0-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 16.04.0-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 16.04.0-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 16.04.0-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 16.04.0-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 16.04.0-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 16.04.0-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 16.04.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Sep 09 2019 Fabio Valentini <decathorpe@gmail.com> - 16.04.0-14
- Remove benchmarking tool, drop python2 dependency.
* Mon Sep 09 2019 Fabio Valentini <decathorpe@gmail.com> - 16.04.0-13
- Remove -Werror flag to fix build despite usage of deprecated things.
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 16.04.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Feb 26 2019 Kalev Lember <klember@redhat.com> - 16.04.0-11
- Explicitly enable gobject-introspection support
* Mon Feb 04 2019 Kalev Lember <klember@redhat.com> - 16.04.0-10
- Update BRs for vala packaging changes
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 16.04.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 16.04.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jul 02 2018 Charalampos Stratakis <cstratak@redhat.com> - 16.04.0-7
- Remove gnome-doc-utils build dependency
* Fri Jun 15 2018 Tomas Popela <tpopela@redhat.com> - 16.04.0-10
- Port dbusmenu-bench to python3
- Resolves: rhbz#1591714
* Thu Jun 07 2018 Tomas Popela <tpopela@redhat.com> - 16.04.0-9
- Remove gtk2 support
* Fri May 25 2018 Tomas Popela <tpopela@redhat.com> - 16.04.0-8
- Move to ldcondif_scriptlets
* Fri May 25 2018 Tomas Popela <tpopela@redhat.com> - 16.04.0-7
- Fix jsonloader subpackage requires (backport from RHEL 7)
* Fri May 25 2018 Tomas Popela <tpopela@redhat.com> - 16.04.0-6
- Require python2 as a BR
* Wed Feb 07 2018 Iryna Shcherbina <ishcherb@redhat.com> - 16.04.0-6
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 16.04.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

5
plans/test.fmf Normal file
View File

@ -0,0 +1,5 @@
summary: Basic smoke test
discover:
how: fmf
execute:
how: tmt

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (libdbusmenu-16.04.0.tar.gz) = ee9654ac4ed94bdebc94a6db83b126784273a417a645b2881b2ba676a5f67d7fc95dd2bb37bfb0890aa47299ed73cb21ed7de8b75f3fed6b69bfd39065062241

View File

@ -0,0 +1,6 @@
summary: libdbusmenu-gtk3-tests tests
test: ./test.sh
framework: beakerlib
require:
- git
- libdbusmenu-gtk3-tests

View File

@ -0,0 +1,19 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
. /usr/share/beakerlib/beakerlib.sh || exit 1
rlJournalStart
rlPhaseStartSetup
rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"
rlRun "pushd $tmp"
rlPhaseEnd
rlPhaseStartTest
rlRun "/usr/libexec/libdbusmenu-gtk3/test-glib-simple-items >output 2>&1"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $tmp" 0 "Remove tmp directory"
rlPhaseEnd
rlJournalEnd