}
if (KeyList.empty())
KeyList = KeyID;
+--- apt-0.5.15lorg3.94a/python/apt_wrap.cxx.orig 2008-01-12 10:45:07.000000000 +0100
++++ apt-0.5.15lorg3.94a/python/apt_wrap.cxx 2015-02-08 21:21:33.543740596 +0100
+@@ -17503,7 +17503,7 @@
+
+ if(!PyArg_ParseTuple(args,(char *)"Oss:GlobalError_Errno",&obj0,&arg2,&arg3)) goto fail;
+ if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GlobalError,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+- result = (bool)(arg1)->Errno((char const *)arg2,(char const *)arg3);
++ result = (bool)(arg1)->Errno((char const *)arg2,"%s",(char const *)arg3);
+
+ resultobj = PyInt_FromLong((long)result);
+ return resultobj;
+@@ -17522,7 +17522,7 @@
+
+ if(!PyArg_ParseTuple(args,(char *)"Oss:GlobalError_WarningE",&obj0,&arg2,&arg3)) goto fail;
+ if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GlobalError,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+- result = (bool)(arg1)->WarningE((char const *)arg2,(char const *)arg3);
++ result = (bool)(arg1)->WarningE((char const *)arg2,"%s",(char const *)arg3);
+
+ resultobj = PyInt_FromLong((long)result);
+ return resultobj;
+@@ -17540,7 +17540,7 @@
+
+ if(!PyArg_ParseTuple(args,(char *)"Os:GlobalError_Error",&obj0,&arg2)) goto fail;
+ if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GlobalError,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+- result = (bool)(arg1)->Error((char const *)arg2);
++ result = (bool)(arg1)->Error("%s",(char const *)arg2);
+
+ resultobj = PyInt_FromLong((long)result);
+ return resultobj;
+@@ -17558,7 +17558,7 @@
+
+ if(!PyArg_ParseTuple(args,(char *)"Os:GlobalError_Warning",&obj0,&arg2)) goto fail;
+ if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_GlobalError,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+- result = (bool)(arg1)->Warning((char const *)arg2);
++ result = (bool)(arg1)->Warning("%s",(char const *)arg2);
+
+ resultobj = PyInt_FromLong((long)result);
+ return resultobj;
# TODO:
-# - build python bindings
# - use system lua
+#
+# Conditional build:
+%bcond_without python # Python binding
+#
Summary: Debian's Advanced Packaging Tool with RPM support
Summary(pl.UTF-8): Zaawansowane narzędzie do zarządzania pakietami
Summary(pt.UTF-8): Frontend avançado para pacotes rpm e deb
BuildRequires: rpm-devel >= 5
BuildRequires: sqlite3-devel
BuildRequires: zlib-devel
+%if %{with python}
+BuildRequires: python-devel >= 2
+BuildRequires: rpm-pythonprov
+BuildRequires: swig-python
+%endif
Requires: gnupg
Requires: libxml2 >= 1:2.6
Requires: rpm
%description static -l pl.UTF-8
Statyczna biblioteka libapt-pkg.
+%package -n python-apt
+Summary: Python bindings for libapt-pkg library
+Summary(pl.UTF-8): Wiązania Pythona do biblioteki libapt-pkg
+Group: Libraries/Python
+Requires: %{name} = %{version}-%{release}
+
+%description -n python-apt
+Python bindings for libapt-pkg library.
+
+%description -n python-apt -l pl.UTF-8
+Wiązania Pythona do biblioteki libapt-pkg.
+
%prep
%setup -q -a5
%patch0 -p1
%patch5 -p1
%patch6 -p1
+# swig rebuild doesn't work (plain swig cannot cope with class Class::SubClass { })
+#%{__rm} python/{apt.py,apt_wrap.cxx}
+
%build
%{__gettextize}
%{__libtoolize}
%{__make}
+%if %{with python}
+%{__make} -C python \
+ CC="%{__cxx} %{rpmcxxflags} %{rpmcppflags}" \
+ PYTHON="%{__python}"
+%endif
+
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/var/cache/apt/archives/partial \
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+%if %{with python}
+install -d $RPM_BUILD_ROOT%{py_sitedir}
+install python/_apt.so $RPM_BUILD_ROOT%{py_sitedir}
+cp -p python/apt.py $RPM_BUILD_ROOT%{py_sitedir}
+%py_comp $RPM_BUILD_ROOT%{py_sitedir}
+%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
+%py_postclean
+%endif
+
install doc/pl/*.8 $RPM_BUILD_ROOT%{_mandir}/pl/man8
%{__rm} $RPM_BUILD_ROOT%{_libdir}/apt/methods/bzip2
%files static
%defattr(644,root,root,755)
%{_libdir}/libapt-pkg.a
+
+%if %{with python}
+%files -n python-apt
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py_sitedir}/_apt.so
+%{py_sitedir}/apt.py[co]
+%endif