[packages/xpdf] - updated to 4.01.01 (fixes CVE-2018-7173 CVE-2018-7174 CVE-2018-7175 CVE-2018-7452 CVE-2018-7454 CV

qboosh qboosh at pld-linux.org
Sun May 19 12:05:28 CEST 2019


commit 5310ccb10d4565f55ea1cc64f724f89bd36471d6
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun May 19 12:06:09 2019 +0200

    - updated to 4.01.01 (fixes CVE-2018-7173 CVE-2018-7174 CVE-2018-7175 CVE-2018-7452 CVE-2018-7454 CVE-2018-16368 CVE-2018-18651)
    - updated dynamic_private patch
    - added qt4 patch (fixes build with Qt4)
    - added link patch (fix internal libs linking)
    - package libs in libdir (depending on arch ABI)
    - added qt5 bcond

 dynamic_private.patch | 12 ++++----
 xpdf-link.patch       | 15 ++++++++++
 xpdf-qt4.patch        | 11 ++++++++
 xpdf.spec             | 76 +++++++++++++++++++++++++++++++++++----------------
 4 files changed, 85 insertions(+), 29 deletions(-)
---
diff --git a/xpdf.spec b/xpdf.spec
index c39acd5..7562f52 100644
--- a/xpdf.spec
+++ b/xpdf.spec
@@ -1,5 +1,7 @@
+#
 # Conditional build:
 %bcond_with	protections	# protections against fair use (printing and copying)
+%bcond_with	qt5		# Qt5 instead of Qt4
 %bcond_without	x		# X-based browser
 
 Summary:	Portable Document Format (PDF) file viewer
@@ -10,28 +12,45 @@ Summary(pt_BR.UTF-8):	Visualizador de arquivos PDF
 Summary(ru.UTF-8):	Программа для просмотра PDF файлов
 Summary(uk.UTF-8):	Програма для перегляду PDF файлів
 Name:		xpdf
-Version:	4.00
-Release:	6
+Version:	4.01.01
+Release:	1
 License:	GPL v2+
 Group:		Applications/Publishing
-Source0:	http://www.xpdfreader.com/dl/%{name}-%{version}.tar.gz
-# Source0-md5:	80c8ce77acf1d36de93cecb82bd64a0f
+#Source0Download: http://www.xpdfreader.com/download.html
+Source0:	https://xpdfreader-dl.s3.amazonaws.com/%{name}-%{version}.tar.gz
+# Source0-md5:	2c07a8c4381eb368be6f3f2149cc0ed1
 Source1:	%{name}.desktop
 Source2:	%{name}.png
 Source3:	%{name}rc
 Patch0:		%{name}-remove_protections.patch
 Patch1:		%{name}-fontdirs.patch
 Patch2:		dynamic_private.patch
+Patch3:		%{name}-qt4.patch
+Patch4:		%{name}-link.patch
 URL:		http://www.xpdfreader.com/
 BuildRequires:	cmake >= 2.8.8
+%{?with_x:BuildRequires:	cups-devel}
 BuildRequires:	freetype-devel >= 2.1.0
 BuildRequires:	libpaper-devel
 BuildRequires:	libpng-devel
 BuildRequires:	libstdc++-devel
-%{?with_x:BuildRequires:	QtCore-devel}
-%{?with_x:BuildRequires:	QtGui-devel}
-%{?with_x:BuildRequires:	qt4-qmake}
-BuildRequires:	rpmbuild(macros) >= 1.596
+BuildRequires:	rpmbuild(macros) >= 1.605
+BuildRequires:	zlib-devel
+%if %{with x}
+%if %{with qt5}
+BuildRequires:	Qt5Core-devel >= 5
+BuildRequires:	Qt5Network-devel >= 5
+BuildRequires:	Qt5PrintSupport-devel >= 5
+BuildRequires:	Qt5Widgets-devel >= 5
+BuildRequires:	qt5-qmake >= 5
+%else
+BuildRequires:	QtCore-devel >= 4
+BuildRequires:	QtGui-devel >= 4
+BuildRequires:	QtNetwork-devel >= 4
+BuildRequires:	qt4-qmake >= 4
+%endif
+%endif
+Requires:	%{name}-common = %{version}-%{release}
 Requires:	desktop-file-utils
 Suggests:	ghostscript-fonts-std
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -89,11 +108,16 @@ Group:		Applications/Publishing
 %description common
 Private libraries used by xpdf GUI and CLI tools and xpdfrc file.
 
+%description common -l pl.UTF-8
+Prywatne biblioteki używane przez graficzny interfejs xpdf oraz
+narzędzia linii poleceń, wraz z plikiem xpdfrc.
+
 %package tools
 Summary:	Set of tools for viewing information and converting PDF files
 Summary(pl.UTF-8):	Zestaw narzędzi do wyświetlania informacji i konwertowania plików PDF
 Group:		Applications/Publishing
 Provides:	pdftops
+Requires:	%{name}-common = %{version}-%{release}
 Obsoletes:	pdftohtml-pdftops
 
 %description tools
@@ -111,30 +135,33 @@ pdftops, pdftotext).
 %{!?with_protections:%patch0 -p1}
 %patch1 -p1
 %patch2 -p1
-sed -e 's|DESTINATION man/|DESTINATION share/man/|g' -i xpdf{,-qt}/CMakeLists.txt
+%patch3 -p1
+%patch4 -p1
 
 %build
-%cmake . \
+install -d build
+cd build
+%cmake .. \
 	-DA4_PAPER=ON \
+	-DCMAKE_CXX_FLAGS="%{rpmcxxflags}" \
+	%{!?with_qt5:-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=1} \
+	-DCMAKE_EXE_LINKER_FLAGS="-lpaper %{rpmldflags}" \
+	-DCMAKE_INSTALL_RPATH="%{_libdir}/%{name}" \
 	-DOPI_SUPPORT=ON \
 	-DSPLASH_CMYK=ON \
-	-DSYSTEM_XPDFRC="%{_sysconfdir}/%{name}rc" \
+	-DSYSTEM_XPDFRC="%{_sysconfdir}/xpdfrc" \
 	-DXPDFWIDGET_PRINTING=ON \
-	-DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=1 \
-	-DCMAKE_CXX_FLAGS="%{rpmcxxflags}" \
-	-DCMAKE_INSTALL_RPATH="%{_libexecdir}/%{name}" \
-	-DCMAKE_EXE_LINKER_FLAGS="-lpaper %{rpmldflags}"
 
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_desktopdir},%{_pixmapsdir},{%{_datadir},%{_libexecdir}}/%{name}}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_desktopdir},%{_pixmapsdir},{%{_datadir},%{_libdir}}/%{name}}
 
-%{__make} install \
+%{__make} -C build install \
 	DESTDIR=$RPM_BUILD_ROOT
 
-install {fofi/libfofi,goo/libgoo,splash/libsplash}.so $RPM_BUILD_ROOT%{_libexecdir}/%{name}
+install build/{fofi/libfofi,goo/libgoo,splash/libsplash}.so $RPM_BUILD_ROOT%{_libdir}/%{name}
 
 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_pixmapsdir}
@@ -153,16 +180,19 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/xpdf
-%{_desktopdir}/%{name}.desktop
-%{_pixmapsdir}/%{name}.png
+%{_desktopdir}/xpdf.desktop
+%{_pixmapsdir}/xpdf.png
 %{_mandir}/man1/xpdf.1*
 %endif
 
 %files common
+%defattr(644,root,root,755)
 %doc ANNOUNCE CHANGES README
-%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/%{name}rc
-%dir %{_libexecdir}/%{name}
-%attr(755,root,root) %{_libexecdir}/%{name}/lib*.so
+%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/xpdfrc
+%dir %{_libdir}/%{name}
+%attr(755,root,root) %{_libdir}/%{name}/libfofi.so
+%attr(755,root,root) %{_libdir}/%{name}/libgoo.so
+%attr(755,root,root) %{_libdir}/%{name}/libsplash.so
 %{_datadir}/xpdf
 %{_mandir}/man5/xpdfrc.5*
 
diff --git a/dynamic_private.patch b/dynamic_private.patch
index b59ad92..980c363 100644
--- a/dynamic_private.patch
+++ b/dynamic_private.patch
@@ -1,6 +1,6 @@
---- a/xpdf-qt/CMakeLists.txt.orig	2017-08-09 01:22:50.000000000 +0200
-+++ b/xpdf-qt/CMakeLists.txt	2017-11-19 12:38:14.000000000 +0100
-@@ -63,9 +63,6 @@
+--- xpdf-4.01.01/xpdf-qt/CMakeLists.txt.orig	2019-03-14 22:01:02.000000000 +0100
++++ xpdf-4.01.01/xpdf-qt/CMakeLists.txt	2019-05-19 07:34:41.876234349 +0200
+@@ -65,9 +65,6 @@
    endif ()
  
    add_executable(xpdf
@@ -10,11 +10,11 @@
      $<TARGET_OBJECTS:xpdf_objs>
      $<TARGET_OBJECTS:xpdf_widget_objs>
      ${XPDFWIDGET_PRINT_MODULES}
-@@ -81,6 +78,7 @@
+@@ -83,6 +80,7 @@
      ${XPDF_ICONS}
    )
    target_link_libraries(xpdf ${QT_LIBRARIES} ${EXTRA_QT_LIBRARIES}
-+			goo fofi splash
++                        goo fofi splash
+                         ${PAPER_LIBRARY}
                          ${FREETYPE_LIBRARY} ${FREETYPE_OTHER_LIBS}
                          ${DTYPE_LIBRARY} ${LCMS_LIBRARY}
-                         ${CMAKE_THREAD_LIBS_INIT})
diff --git a/xpdf-link.patch b/xpdf-link.patch
new file mode 100644
index 0000000..ac6e378
--- /dev/null
+++ b/xpdf-link.patch
@@ -0,0 +1,15 @@
+--- xpdf-4.01.01/fofi/CMakeLists.txt.orig	2019-03-14 22:01:02.000000000 +0100
++++ xpdf-4.01.01/fofi/CMakeLists.txt	2019-05-19 10:21:08.075467801 +0200
+@@ -24,3 +24,4 @@
+ add_library(fofi
+   $<TARGET_OBJECTS:fofi_objs>
+ )
++target_link_libraries(fofi goo)
+--- xpdf-4.01.01/splash/CMakeLists.txt.orig	2019-03-14 22:01:02.000000000 +0100
++++ xpdf-4.01.01/splash/CMakeLists.txt	2019-05-19 10:22:19.315081863 +0200
+@@ -44,4 +44,5 @@
+   add_library(splash
+     $<TARGET_OBJECTS:splash_objs>
+   )
++  target_link_libraries(splash fofi goo ${DTYPE_LIBS} ${FREETYPE_LIBS})
+ endif ()
diff --git a/xpdf-qt4.patch b/xpdf-qt4.patch
new file mode 100644
index 0000000..7e17234
--- /dev/null
+++ b/xpdf-qt4.patch
@@ -0,0 +1,11 @@
+--- xpdf-4.01.01/cmake-config.txt.orig	2019-03-14 22:01:02.000000000 +0100
++++ xpdf-4.01.01/cmake-config.txt	2019-05-19 09:28:12.156006566 +0200
+@@ -193,7 +193,7 @@
+   find_package(Qt5Network)
+   find_package(Qt5PrintSupport)
+ else ()
+-  find_package(Qt4)
++  find_package(Qt4 COMPONENTS QtCore QtGui QtNetwork)
+ endif ()
+ if(Qt5Widgets_FOUND)
+   message(STATUS "Qt5 found")
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xpdf.git/commitdiff/5310ccb10d4565f55ea1cc64f724f89bd36471d6



More information about the pld-cvs-commit mailing list