init package

This commit is contained in:
wangmian 2020-07-23 10:38:57 +08:00
parent be72c6e51a
commit e83a3fb1cb
3 changed files with 179 additions and 0 deletions

BIN
bamf-0.5.4.tar.gz Normal file

Binary file not shown.

117
bamf.spec Normal file
View File

@ -0,0 +1,117 @@
Summary: Application matching framework
Name: bamf
Version: 0.5.4
Release: 4%{?dist}
# Library bits are LGPLv2 or LGPLv3 (but not open-ended LGPLv2+);
# non-lib bits are GPLv3.
# pbrobinson points out that three files in the lib are actually
# marked GPL in headers, making library GPL, though we think this
# may not be upstream's intention. For now, marking library as
# GPL.
# License: LGPLv2 or LGPLv3
License: GPLv2 or GPLv3
URL: https://launchpad.net/bamf
Source0: http://launchpad.net/bamf/0.5/%{version}/+download/%{name}-%{version}.tar.gz
# Convert tests/gtester2xunit.py to Python 3 and lxml
Patch1: gtester2xunit-py3.patch
BuildRequires: vala
BuildRequires: gtk-doc
BuildRequires: gobject-introspection-devel
BuildRequires: python3-devel
BuildRequires: python3-lxml
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(libgtop-2.0)
BuildRequires: pkgconfig(libwnck-3.0)
BuildRequires: pkgconfig(x11)
BuildRequires: systemd
%description
BAMF removes the headache of applications matching into a simple DBus
daemon and C wrapper library. Currently features application matching
at amazing levels of accuracy (covering nearly every corner case).
%package devel
Summary: Development files for %{name}
License: GPLv2 or GPLv3
Requires: %{name}%{?_isa} = %{version}-%{release}
# For %%{_libdir}/girepository-1.0 and %%{_datadir}/gir-1.0
#Requires: gobject-introspection-devel
Requires: pkgconfig
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package daemon
Summary: Application matching framework
License: GPLv3
Requires: %{name}%{?_isa} = %{version}-%{release}
%{?systemd_requires}
%description daemon
BAMF removes the headache of applications matching into a simple DBus
daemon and C wrapper library. Currently features application matching
at amazing levels of accuracy (covering nearly every corner case). This
package contains the bamf daemon and supporting data.
%prep
%autosetup -p1
# autotools add -Werror after our flags, and there are glib deprecation warnings
# see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=940164
sed -i 's/ -Werror//' configure*
%build
CFLAGS="$RPM_OPT_FLAGS"
PYTHON="%{__python3}"
export CFLAGS PYTHON
%configure --disable-static --disable-webapps --enable-gtk-doc
make %{?_smp_mflags}
%install
make DESTDIR=%{buildroot} install
find %{buildroot} -regex ".*\.la$" | xargs rm -f --
%ldconfig_scriptlets
%post daemon
%systemd_user_post %{name}daemon.service
%preun
%systemd_user_preun %{name}daemon.service
%files
%license COPYING.LGPL COPYING
%{_libdir}/libbamf3.so.*
%{_libdir}/girepository-1.0/Bamf*.typelib
%files devel
%doc ChangeLog TODO
%{_includedir}/libbamf3
%{_libdir}/libbamf3.so
%{_libdir}/pkgconfig/libbamf3.pc
%{_datadir}/gtk-doc
%{_datadir}/gir-1.0/Bamf*.gir
%dir %{_datadir}/vala
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/libbamf3.vapi
%files daemon
%doc COPYING
%{_libexecdir}/bamf
%{_datadir}/dbus-1/services/*.service
%{_userunitdir}/bamfdaemon.service
%exclude %{_datadir}/upstart/sessions/bamfdaemon.conf
%changelog
* Thu Jul 23 2020 wangmian<wangmian@kylinos.cn> - 0.5.4-4
- Init bamf project

62
gtester2xunit-py3.patch Normal file
View File

@ -0,0 +1,62 @@
diff --git a/configure b/configure
index af65be1..d915eea 100755
--- a/configure
+++ b/configure
@@ -14653,10 +14653,10 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtester2xunit dependencies" >&5
$as_echo_n "checking for gtester2xunit dependencies... " >&6; }
-if !($PYTHON -c "import libxslt, libxml2" 2> /dev/null); then
+if !($PYTHON -c "import lxml" 2> /dev/null); then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- as_fn_error $? "You need to install python-libxslt1 and python-libxml2" "$LINENO" 5;
+ as_fn_error $? "You need to install python-lxml" "$LINENO" 5;
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
diff --git a/configure.ac b/configure.ac
index 41cb7db..e62c807 100644
--- a/configure.ac
+++ b/configure.ac
@@ -115,9 +115,9 @@ GTK_DOC_CHECK(1.0)
AC_PATH_PROG([PYTHON],[python])
AC_MSG_CHECKING(for gtester2xunit dependencies)
-if !($PYTHON -c "import libxslt, libxml2" 2> /dev/null); then
+if !($PYTHON -c "import lxml" 2> /dev/null); then
AC_MSG_RESULT([no])
- AC_MSG_ERROR([You need to install python-libxslt1 and python-libxml2]);
+ AC_MSG_ERROR([You need to install python-lxml]);
fi
AC_MSG_RESULT([yes])
diff --git a/tests/gtester2xunit.py b/tests/gtester2xunit.py
index fbe3c66..861d541 100755
--- a/tests/gtester2xunit.py
+++ b/tests/gtester2xunit.py
@@ -1,18 +1,17 @@
#! /usr/bin/python
from argparse import ArgumentParser
-import libxslt
-import libxml2
import sys
import os
+from lxml import etree
XSL_TRANSFORM='/usr/share/gtester2xunit/gtester.xsl'
def transform_file(input_filename, output_filename, xsl_file):
- gtester = libxml2.parseFile(xsl_file)
- style = libxslt.parseStylesheetDoc(gtester)
- doc = libxml2.parseFile(input_filename)
- result = style.applyStylesheet(doc, None)
- result.saveFormatFile(filename=output_filename, format=True)
+ gtester = etree.parse(xsl_file)
+ style = etree.XSLT(gtester)
+ doc = etree.parse(input_filename)
+ result = style(doc)
+ result.write(filename=output_filename, format=True)
def get_output_filename(input_filename):