diff --git a/.gitignore b/.gitignore index f489fa9..728419b 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,18 @@ xpdf-3.02-novms.tar.gz /xpdf-chinese-traditional-2017-jul-25-NOCMAP.tar.gz /xpdf-japanese-2017-jul-25-NOCMAP.tar.gz /xpdf-korean-2017-jul-25-NOCMAP.tar.gz +/xpdf-4.01.tar.gz +/xpdf-4.02.tar.gz +/xpdf-chinese-simplified-2020-dec-22-NOCMAP.tar.gz +/xpdf-chinese-traditional-2020-dec-22-NOCMAP.tar.gz +/xpdf-japanese-2020-dec-22-NOCMAP.tar.gz +/xpdf-korean-2020-dec-22-NOCMAP.tar.gz +/xpdf-4.03.tar.gz +/xpdf-4.04.tar.gz +/xpdf-4.05.tar.gz +/xpdf-chinese-simplified-2023-dec-05-NOCMAP.tar.gz +/xpdf-korean-2023-dec-05-NOCMAP.tar.gz +/xpdf-4.05.tar.gz.sig +/xpdf-thai.tar.gz +/xpdf-4.06.tar.gz +/xpdf-4.06.tar.gz.sig diff --git a/gpg-key.txt b/gpg-key.txt new file mode 100644 index 0000000..8c71bda --- /dev/null +++ b/gpg-key.txt @@ -0,0 +1,62 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +PYZrVz++lRb0 +=6AFt +-----END PGP PUBLIC KEY BLOCK----- diff --git a/sources b/sources index c890fa3..86afc35 100644 --- a/sources +++ b/sources @@ -1,12 +1,13 @@ -SHA512 (xpdf-4.00.tar.gz) = 32fb928aeb053be29c7342dda8caac8a7a3720e8f39507df29ad5a070e1423cc0960da4d7b36046d0be27b842b108e984363c0285839a0fd371a119948af0cac SHA512 (xpdf-arabic-2011-aug-15.tar.gz) = 1ddaee045c0c3576bda0ebf065021e66e1ac6673d6872aff8e8afb3bae33dd927d920d89761553bade040d20e4b60eb286131bdb2f2d75ec1e833b9a9ce58d3e -SHA512 (xpdf-chinese-simplified-2017-jul-25-NOCMAP.tar.gz) = dfff0ca5e784618e9f6a80de6388859bc3995e70da9d0977f9b6fc3043c50a1c5cb41d8373782bdd552a2a3411006d8d992c846dbad19da389daec62308ce05c -SHA512 (xpdf-chinese-traditional-2017-jul-25-NOCMAP.tar.gz) = 42c444565fdfe275b7fe0ecf273e89ae6cd7cc05104c4d888b63dde6b7874ea718dac3e2ffa87b34b570af8844e1d2c379a25634cc2126e28467ec3fad969afc SHA512 (xpdf-cyrillic-2011-aug-15.tar.gz) = ab1197c90f8cd3d8664ebbdc7ecefdfb8ec12e24da2f7616cad1d5bc9c7fd172c48db6a18d76172de8342377acc8e1dcd78bcf0fb1ef9f05cf94729e90586827 SHA512 (xpdf-greek-2011-aug-15.tar.gz) = 2e0e281e09e1abc2f0e40b6787703538d52cb62edcd4c4156698700a5f908afee290c62ad9a6ff4ea74bc42e0a8fe9a7765a212efbc223512d4bb442448ea52f SHA512 (xpdf-hebrew-2011-aug-15.tar.gz) = 0ebe652f8633151d13ef2403bd293682b511ab86c1391ce187f1fc0274f33bd9c7e6ec682c8f79ac4fd27c74ab81ad2ae334a75f26001092521cff9a73cd0b8a -SHA512 (xpdf-japanese-2017-jul-25-NOCMAP.tar.gz) = 41db6dc1e08d9480d2eb7d106d20e2cd8f5291e03c4eae85c60526db4f334d586de0fd4bd7a4791412e7a099684dee3b87c08709df72ff38c956619000b21d99 -SHA512 (xpdf-korean-2017-jul-25-NOCMAP.tar.gz) = d52b3d1e7d1fe524464e1cce55ad7507f6387e469cbe15dc9c26cfff9c64ce6181ab403c18024e5ed0da4e72a4247e4f7d3d0e9f1f4f4996f6ba1b80ad06e88a SHA512 (xpdf-latin2-2011-aug-15.tar.gz) = 5fe0b60bfac7f0f4a26e3e7216de5043f6b94446f464c984b7c25431ec01a5912952c0dc66bb2c7159c9f63e4805689c6cfc761086aad9e59f1f21d0cddb5d15 -SHA512 (xpdf-thai-2011-aug-15.tar.gz) = 5584b590e34da29285c379e3b7a7243c28241ec6fddb3e4a8e2e7bf88b8f7aaae3483061d12c332a1ff042ec5e2b31869a67d60512ac48f7903c5e2fc871aa87 SHA512 (xpdf-turkish-2011-aug-15.tar.gz) = a73e90bce8f2a12154b06ef29333a45d96258c0d653d5cb15afd2e5ad9e79a9b617e5f8ebeb20bde545684d50f3bc1349800c99f70c863bdd502c24c266b4fb1 +SHA512 (xpdf-chinese-traditional-2020-dec-22-NOCMAP.tar.gz) = ff25947dbf09b51f9c97aff898b8d33441af230d25c827380f1f5dd4144b5c3d14fc0d1e1ed42e039ff706568a490925f1cafc94ff5f70ae7879827c82dfbc85 +SHA512 (xpdf-japanese-2020-dec-22-NOCMAP.tar.gz) = aff90d0c8f26e1dffd2b178c5ee676cfa520086d28dd56af65ef3fcd016c2770361edeb35974f45328cd62d5cd7dff0ac719e38ee2594bef07e062869289a647 +SHA512 (xpdf-chinese-simplified-2023-dec-05-NOCMAP.tar.gz) = 292a819cca4d6095b6835b30241abbbbb07354adc839c9a49b90f2dd9deb1fc7d8727a9bade3cab88da8e903e00199ecf8672727ae7310cc15e1ad8c282d218b +SHA512 (xpdf-korean-2023-dec-05-NOCMAP.tar.gz) = 3ca81eaee279122a8054fc26f16d85c668d0571a1b249a410346196c2b61081bcdfec61c140a7334a921d80738e908b507ac47a301f3aae37b3050c8e8b77f29 +SHA512 (xpdf-thai.tar.gz) = c738ef97c57630feb4d1bae3df36ba02118f73e770caeef4bd3256740b9aadb94ec07b993a01a6abc9ba711d6dc2900f90eb7e1c7bbbf157f07160be1743d3f1 +SHA512 (xpdf-4.06.tar.gz) = ace2d2c006411ef40f3510fe34809e6ed5fd4a2367ac11a75e9d4795aa5054e72f12e307165d11a25b12609d33b279b9b99d9c072442e98308a77ad022bc8355 +SHA512 (xpdf-4.06.tar.gz.sig) = 2df5d491a2126c9f879896c623193cfb6e7b38da53a1eaac4060b77569d84b2d28a12e3a1285d31bb9a422f774f3d70238d47bfec388db1222fc041627da1ec7 diff --git a/xpdf-3.03-ext.patch b/xpdf-3.03-ext.patch deleted file mode 100644 index 3115d65..0000000 --- a/xpdf-3.03-ext.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff -up xpdf-3.03/goo/gfile.cc.ext xpdf-3.03/goo/gfile.cc ---- xpdf-3.03/goo/gfile.cc.ext 2011-08-15 17:08:53.000000000 -0400 -+++ xpdf-3.03/goo/gfile.cc 2011-08-22 13:43:54.540304026 -0400 -@@ -507,32 +507,14 @@ GBool openTempFile(GString **name, FILE - char *s; - int fd; - -- if (ext) { --#if HAVE_MKSTEMPS -- if ((s = getenv("TMPDIR"))) { -- *name = new GString(s); -- } else { -- *name = new GString("/tmp"); -- } -- (*name)->append("/XXXXXX")->append(ext); -- fd = mkstemps((*name)->getCString(), strlen(ext)); --#else -- if (!(s = tmpnam(NULL))) { -- return gFalse; -- } -+#if HAVE_MKSTEMP -+ if ((s = getenv("TMPDIR"))) { - *name = new GString(s); -- (*name)->append(ext); -- fd = open((*name)->getCString(), O_WRONLY | O_CREAT | O_EXCL, 0600); --#endif - } else { --#if HAVE_MKSTEMP -- if ((s = getenv("TMPDIR"))) { -- *name = new GString(s); -- } else { -- *name = new GString("/tmp"); -- } -- (*name)->append("/XXXXXX"); -- fd = mkstemp((*name)->getCString()); -+ *name = new GString("/tmp"); -+ } -+ (*name)->append("/XXXXXX"); -+ fd = mkstemp((*name)->getCString()); - #else // HAVE_MKSTEMP - if (!(s = tmpnam(NULL))) { - return gFalse; -@@ -540,7 +522,7 @@ GBool openTempFile(GString **name, FILE - *name = new GString(s); - fd = open((*name)->getCString(), O_WRONLY | O_CREAT | O_EXCL, 0600); - #endif // HAVE_MKSTEMP -- } -+ - if (fd < 0 || !(*f = fdopen(fd, mode))) { - delete *name; - *name = NULL; diff --git a/xpdf-3.04-1.fc21.src.rpm b/xpdf-3.04-1.fc21.src.rpm deleted file mode 100644 index d5bd345..0000000 Binary files a/xpdf-3.04-1.fc21.src.rpm and /dev/null differ diff --git a/xpdf-3.04-crash.patch b/xpdf-3.04-crash.patch deleted file mode 100644 index a816d89..0000000 --- a/xpdf-3.04-crash.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up xpdf-3.04/fofi/FoFiType1.cc.crash xpdf-3.04/fofi/FoFiType1.cc ---- xpdf-3.04/fofi/FoFiType1.cc.crash 2014-05-28 14:50:50.000000000 -0400 -+++ xpdf-3.04/fofi/FoFiType1.cc 2014-05-29 14:56:09.199571189 -0400 -@@ -268,9 +268,14 @@ void FoFiType1::parse() { - } - } - } else { -- if (strtok(buf, " \t") && -- (p = strtok(NULL, " \t\n\r")) && !strcmp(p, "def")) { -- break; -+ p = strtok(buf, " \t\n\r"); -+ if (p) -+ { -+ if (!strcmp(p, "def")) break; -+ if (!strcmp(p, "readonly")) break; -+ // the spec does not says this but i'm mantaining old xpdf behaviour that accepts "foo def" as end of the encoding array -+ p = strtok(buf, " \t\n\r"); -+ if (p && !strcmp(p, "def")) break; - } - } - } -diff -up xpdf-3.04/splash/Splash.cc.crash xpdf-3.04/splash/Splash.cc diff --git a/xpdf-4.00-libpaperfix.patch b/xpdf-4.00-libpaperfix.patch deleted file mode 100644 index 39ab831..0000000 --- a/xpdf-4.00-libpaperfix.patch +++ /dev/null @@ -1,105 +0,0 @@ -diff -up xpdf-4.00/xpdf/CMakeLists.txt.paperfix xpdf-4.00/xpdf/CMakeLists.txt ---- xpdf-4.00/xpdf/CMakeLists.txt.paperfix 2017-08-08 19:22:50.000000000 -0400 -+++ xpdf-4.00/xpdf/CMakeLists.txt 2017-08-16 19:40:19.103263736 -0400 -@@ -108,7 +108,7 @@ if (HAVE_SPLASH) - target_link_libraries(pdftops goo fofi splash - ${FREETYPE_LIBRARY} ${FREETYPE_OTHER_LIBS} - ${DTYPE_LIBRARY} -- ${LCMS_LIBRARY}) -+ ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - else () - add_executable(pdftops - $ -@@ -116,7 +116,7 @@ else () - PSOutputDev.cc - pdftops.cc - ) -- target_link_libraries(pdftops goo fofi ${LCMS_LIBRARY}) -+ target_link_libraries(pdftops goo fofi ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - endif () - install(TARGETS pdftops RUNTIME DESTINATION bin) - install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftops.1 DESTINATION man/man1) -@@ -128,7 +128,7 @@ add_executable(pdftotext - TextOutputDev.cc - pdftotext.cc - ) --target_link_libraries(pdftotext goo fofi ${LCMS_LIBRARY}) -+target_link_libraries(pdftotext goo fofi ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - install(TARGETS pdftotext RUNTIME DESTINATION bin) - install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftotext.1 DESTINATION man/man1) - -@@ -145,7 +145,7 @@ if (HAVE_SPLASH AND PNG_FOUND) - target_link_libraries(pdftohtml goo fofi splash - ${FREETYPE_LIBRARY} ${FREETYPE_OTHER_LIBS} - ${DTYPE_LIBRARY} -- ${LCMS_LIBRARY} ${PNG_LIBRARIES}) -+ ${LCMS_LIBRARY} ${PNG_LIBRARIES} ${HAVE_PAPER_H}) - install(TARGETS pdftohtml RUNTIME DESTINATION bin) - install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftohtml.1 DESTINATION man/man1) - endif () -@@ -156,7 +156,7 @@ add_executable(pdfinfo - $ - pdfinfo.cc - ) --target_link_libraries(pdfinfo goo fofi ${LCMS_LIBRARY}) -+target_link_libraries(pdfinfo goo fofi ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - install(TARGETS pdfinfo RUNTIME DESTINATION bin) - install(FILES ${PROJECT_SOURCE_DIR}/doc/pdfinfo.1 DESTINATION man/man1) - -@@ -166,7 +166,7 @@ add_executable(pdffonts - $ - pdffonts.cc - ) --target_link_libraries(pdffonts goo fofi ${LCMS_LIBRARY}) -+target_link_libraries(pdffonts goo fofi ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - install(TARGETS pdffonts RUNTIME DESTINATION bin) - install(FILES ${PROJECT_SOURCE_DIR}/doc/pdffonts.1 DESTINATION man/man1) - -@@ -176,7 +176,7 @@ add_executable(pdfdetach - $ - pdfdetach.cc - ) --target_link_libraries(pdfdetach goo fofi ${LCMS_LIBRARY}) -+target_link_libraries(pdfdetach goo fofi ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - install(TARGETS pdfdetach RUNTIME DESTINATION bin) - install(FILES ${PROJECT_SOURCE_DIR}/doc/pdfdetach.1 DESTINATION man/man1) - -@@ -191,7 +191,7 @@ if (HAVE_SPLASH) - target_link_libraries(pdftoppm goo fofi splash - ${FREETYPE_LIBRARY} ${FREETYPE_OTHER_LIBS} - ${DTYPE_LIBRARY} -- ${LCMS_LIBRARY}) -+ ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - install(TARGETS pdftoppm RUNTIME DESTINATION bin) - install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftoppm.1 DESTINATION man/man1) - endif () -@@ -207,7 +207,7 @@ if (HAVE_SPLASH AND PNG_FOUND) - target_link_libraries(pdftopng goo fofi splash - ${FREETYPE_LIBRARY} ${FREETYPE_OTHER_LIBS} - ${DTYPE_LIBRARY} -- ${LCMS_LIBRARY} ${PNG_LIBRARIES}) -+ ${LCMS_LIBRARY} ${PNG_LIBRARIES} ${HAVE_PAPER_H}) - install(TARGETS pdftopng RUNTIME DESTINATION bin) - install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftopng.1 DESTINATION man/man1) - endif () -@@ -219,7 +219,7 @@ add_executable(pdfimages - ImageOutputDev.cc - pdfimages.cc - ) --target_link_libraries(pdfimages goo fofi ${LCMS_LIBRARY}) -+target_link_libraries(pdfimages goo fofi ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - install(TARGETS pdfimages RUNTIME DESTINATION bin) - install(FILES ${PROJECT_SOURCE_DIR}/doc/pdfimages.1 DESTINATION man/man1) - -diff -up xpdf-4.00/xpdf-qt/CMakeLists.txt.paperfix xpdf-4.00/xpdf-qt/CMakeLists.txt ---- xpdf-4.00/xpdf-qt/CMakeLists.txt.paperfix 2017-08-16 19:39:23.275757290 -0400 -+++ xpdf-4.00/xpdf-qt/CMakeLists.txt 2017-08-16 19:39:47.810100923 -0400 -@@ -83,7 +83,7 @@ if ((QT4_FOUND OR Qt5Widgets_FOUND) - target_link_libraries(xpdf ${QT_LIBRARIES} ${EXTRA_QT_LIBRARIES} - ${FREETYPE_LIBRARY} ${FREETYPE_OTHER_LIBS} - ${DTYPE_LIBRARY} ${LCMS_LIBRARY} -- ${CMAKE_THREAD_LIBS_INIT}) -+ ${CMAKE_THREAD_LIBS_INIT} ${HAVE_PAPER_H}) - set_property(TARGET xpdf PROPERTY WIN32_EXECUTABLE 1) - - install(TARGETS xpdf RUNTIME DESTINATION bin) diff --git a/xpdf-4.00-man-path-fix.patch b/xpdf-4.00-man-path-fix.patch deleted file mode 100644 index 1c60dfa..0000000 --- a/xpdf-4.00-man-path-fix.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff -up xpdf-4.00/xpdf/CMakeLists.txt.manfix xpdf-4.00/xpdf/CMakeLists.txt ---- xpdf-4.00/xpdf/CMakeLists.txt.manfix 2017-08-16 19:43:23.612344976 -0400 -+++ xpdf-4.00/xpdf/CMakeLists.txt 2017-08-16 19:43:46.189746281 -0400 -@@ -119,7 +119,7 @@ else () - target_link_libraries(pdftops goo fofi ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - endif () - install(TARGETS pdftops RUNTIME DESTINATION bin) --install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftops.1 DESTINATION man/man1) -+install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftops.1 DESTINATION share/man/man1) - - #--- pdftotext - -@@ -130,7 +130,7 @@ add_executable(pdftotext - ) - target_link_libraries(pdftotext goo fofi ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - install(TARGETS pdftotext RUNTIME DESTINATION bin) --install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftotext.1 DESTINATION man/man1) -+install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftotext.1 DESTINATION share/man/man1) - - #--- pdftohtml - -@@ -147,7 +147,7 @@ if (HAVE_SPLASH AND PNG_FOUND) - ${DTYPE_LIBRARY} - ${LCMS_LIBRARY} ${PNG_LIBRARIES} ${HAVE_PAPER_H}) - install(TARGETS pdftohtml RUNTIME DESTINATION bin) -- install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftohtml.1 DESTINATION man/man1) -+ install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftohtml.1 DESTINATION share/man/man1) - endif () - - #--- pdfinfo -@@ -158,7 +158,7 @@ add_executable(pdfinfo - ) - target_link_libraries(pdfinfo goo fofi ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - install(TARGETS pdfinfo RUNTIME DESTINATION bin) --install(FILES ${PROJECT_SOURCE_DIR}/doc/pdfinfo.1 DESTINATION man/man1) -+install(FILES ${PROJECT_SOURCE_DIR}/doc/pdfinfo.1 DESTINATION share/man/man1) - - #--- pdffonts - -@@ -168,7 +168,7 @@ add_executable(pdffonts - ) - target_link_libraries(pdffonts goo fofi ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - install(TARGETS pdffonts RUNTIME DESTINATION bin) --install(FILES ${PROJECT_SOURCE_DIR}/doc/pdffonts.1 DESTINATION man/man1) -+install(FILES ${PROJECT_SOURCE_DIR}/doc/pdffonts.1 DESTINATION share/man/man1) - - #--- pdfdetach - -@@ -178,7 +178,7 @@ add_executable(pdfdetach - ) - target_link_libraries(pdfdetach goo fofi ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - install(TARGETS pdfdetach RUNTIME DESTINATION bin) --install(FILES ${PROJECT_SOURCE_DIR}/doc/pdfdetach.1 DESTINATION man/man1) -+install(FILES ${PROJECT_SOURCE_DIR}/doc/pdfdetach.1 DESTINATION share/man/man1) - - #--- pdftoppm - -@@ -193,7 +193,7 @@ if (HAVE_SPLASH) - ${DTYPE_LIBRARY} - ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - install(TARGETS pdftoppm RUNTIME DESTINATION bin) -- install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftoppm.1 DESTINATION man/man1) -+ install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftoppm.1 DESTINATION share/man/man1) - endif () - - #--- pdftopng -@@ -209,7 +209,7 @@ if (HAVE_SPLASH AND PNG_FOUND) - ${DTYPE_LIBRARY} - ${LCMS_LIBRARY} ${PNG_LIBRARIES} ${HAVE_PAPER_H}) - install(TARGETS pdftopng RUNTIME DESTINATION bin) -- install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftopng.1 DESTINATION man/man1) -+ install(FILES ${PROJECT_SOURCE_DIR}/doc/pdftopng.1 DESTINATION share/man/man1) - endif () - - #--- pdfimages -@@ -221,8 +221,8 @@ add_executable(pdfimages - ) - target_link_libraries(pdfimages goo fofi ${LCMS_LIBRARY} ${HAVE_PAPER_H}) - install(TARGETS pdfimages RUNTIME DESTINATION bin) --install(FILES ${PROJECT_SOURCE_DIR}/doc/pdfimages.1 DESTINATION man/man1) -+install(FILES ${PROJECT_SOURCE_DIR}/doc/pdfimages.1 DESTINATION share/man/man1) - - #--- xpdfrc man page - --install(FILES ${PROJECT_SOURCE_DIR}/doc/xpdfrc.5 DESTINATION man/man5) -+install(FILES ${PROJECT_SOURCE_DIR}/doc/xpdfrc.5 DESTINATION share/man/man5) -diff -up xpdf-4.00/xpdf-qt/CMakeLists.txt.manfix xpdf-4.00/xpdf-qt/CMakeLists.txt ---- xpdf-4.00/xpdf-qt/CMakeLists.txt.manfix 2017-08-16 19:44:45.218180999 -0400 -+++ xpdf-4.00/xpdf-qt/CMakeLists.txt 2017-08-16 19:44:50.394043748 -0400 -@@ -87,5 +87,5 @@ if ((QT4_FOUND OR Qt5Widgets_FOUND) - set_property(TARGET xpdf PROPERTY WIN32_EXECUTABLE 1) - - install(TARGETS xpdf RUNTIME DESTINATION bin) -- install(FILES ${PROJECT_SOURCE_DIR}/doc/xpdf.1 DESTINATION man/man1) -+ install(FILES ${PROJECT_SOURCE_DIR}/doc/xpdf.1 DESTINATION share/man/man1) - endif () diff --git a/xpdf-4.00-redhat-new.patch b/xpdf-4.00-redhat-new.patch deleted file mode 100644 index 18216d5..0000000 --- a/xpdf-4.00-redhat-new.patch +++ /dev/null @@ -1,188 +0,0 @@ -diff -up xpdf-4.00/doc/sample-xpdfrc.new xpdf-4.00/doc/sample-xpdfrc ---- xpdf-4.00/doc/sample-xpdfrc.new 2017-08-08 19:22:50.000000000 -0400 -+++ xpdf-4.00/doc/sample-xpdfrc 2017-08-16 17:55:27.293145138 -0400 -@@ -56,7 +56,7 @@ - - # Set the default PostScript file or command. - --#psFile "|lpr -Pmyprinter" -+psFile "|lpr" - - # Set the default PostScript paper size -- this can be letter, legal, - # A4, or A3. You can also specify a paper size as width and height -@@ -88,4 +88,19 @@ - # clicked. - - #launchCommand viewer-script --#urlCommand "netscape -remote 'openURL(%s)'" -+urlCommand "xdg-open '%s'" -+ -+# CJK -+include /etc/xpdf/add-to-xpdfrc.japanese -+include /etc/xpdf/add-to-xpdfrc.korean -+include /etc/xpdf/add-to-xpdfrc.chinese-simplified -+include /etc/xpdf/add-to-xpdfrc.chinese-traditional -+# Others -+include /etc/xpdf/add-to-xpdfrc.arabic -+include /etc/xpdf/add-to-xpdfrc.cyrillic -+include /etc/xpdf/add-to-xpdfrc.greek -+include /etc/xpdf/add-to-xpdfrc.hebrew -+include /etc/xpdf/add-to-xpdfrc.latin2 -+include /etc/xpdf/add-to-xpdfrc.thai -+include /etc/xpdf/add-to-xpdfrc.turkish -+ -diff -up xpdf-4.00/doc/xpdfrc.5.new xpdf-4.00/doc/xpdfrc.5 ---- xpdf-4.00/doc/xpdfrc.5.new 2017-08-08 19:22:50.000000000 -0400 -+++ xpdf-4.00/doc/xpdfrc.5 2017-08-16 17:49:01.852839167 -0400 -@@ -7,7 +7,7 @@ All of the Xpdf tools read a single conf - .I .xpdfrc - file in your home directory, it will be read. Otherwise, a - system-wide configuration file will be read from --.IR /usr/local/etc/xpdfrc , -+.IR /etc/xpdfrc , - if it exists. (This is its default location; depending on build - options, it may be placed elsewhere.) On Win32 systems, the - .I xpdfrc -@@ -731,7 +731,7 @@ urlCommand "netscape \-remote 'open - .fi - .SH FILES - .TP --.B /usr/local/etc/xpdfrc -+.B /etc/xpdfrc - This is the default location for the system-wide configuration file. - Depending on build options, it may be placed elsewhere. - .TP -diff -up xpdf-4.00/xpdf-arabic/add-to-xpdfrc.new xpdf-4.00/xpdf-arabic/add-to-xpdfrc ---- xpdf-4.00/xpdf-arabic/add-to-xpdfrc.new 2017-08-16 17:52:28.453655573 -0400 -+++ xpdf-4.00/xpdf-arabic/add-to-xpdfrc 2017-08-16 17:52:35.275483522 -0400 -@@ -1,3 +1,3 @@ - #----- begin Arabic support package (2011-aug-15) --unicodeMap ISO-8859-6 /usr/local/share/xpdf/arabic/ISO-8859-6.unicodeMap -+unicodeMap ISO-8859-6 /usr/share/xpdf/arabic/ISO-8859-6.unicodeMap - #----- end Arabic support package -diff -up xpdf-4.00/xpdf-chinese-simplified/add-to-xpdfrc.new xpdf-4.00/xpdf-chinese-simplified/add-to-xpdfrc ---- xpdf-4.00/xpdf-chinese-simplified/add-to-xpdfrc.new 2017-08-16 17:49:01.852839167 -0400 -+++ xpdf-4.00/xpdf-chinese-simplified/add-to-xpdfrc 2017-08-16 17:50:45.754245711 -0400 -@@ -1,9 +1,9 @@ - #----- begin Chinese Simplified support package (2011-sep-02) --cidToUnicode Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode --unicodeMap ISO-2022-CN /usr/local/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap --unicodeMap EUC-CN /usr/local/share/xpdf/chinese-simplified/EUC-CN.unicodeMap --unicodeMap GBK /usr/local/share/xpdf/chinese-simplified/GBK.unicodeMap --cMapDir Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/CMap --toUnicodeDir /usr/local/share/xpdf/chinese-simplified/CMap -+cidToUnicode Adobe-GB1 /usr/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode -+unicodeMap ISO-2022-CN /usr/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap -+unicodeMap EUC-CN /usr/share/xpdf/chinese-simplified/EUC-CN.unicodeMap -+unicodeMap GBK /usr/share/xpdf/chinese-simplified/GBK.unicodeMap -+cMapDir Adobe-GB1 /usr/share/xpdf/chinese-simplified/CMap -+toUnicodeDir /usr/share/xpdf/chinese-simplified/CMap - #fontFileCC Adobe-GB1 /usr/..../NotoSansCJKsc-Regular.otf - #----- end Chinese Simplified support package -diff -up xpdf-4.00/xpdf-chinese-traditional/add-to-xpdfrc.new xpdf-4.00/xpdf-chinese-traditional/add-to-xpdfrc ---- xpdf-4.00/xpdf-chinese-traditional/add-to-xpdfrc.new 2017-08-16 17:49:01.852839167 -0400 -+++ xpdf-4.00/xpdf-chinese-traditional/add-to-xpdfrc 2017-08-16 17:51:00.657869833 -0400 -@@ -1,8 +1,8 @@ - #----- begin Chinese Traditional support package (2011-sep-02) --cidToUnicode Adobe-CNS1 /usr/local/share/xpdf/chinese-traditional/Adobe-CNS1.cidToUnicode --unicodeMap Big5 /usr/local/share/xpdf/chinese-traditional/Big5.unicodeMap --unicodeMap Big5ascii /usr/local/share/xpdf/chinese-traditional/Big5ascii.unicodeMap --cMapDir Adobe-CNS1 /usr/local/share/xpdf/chinese-traditional/CMap --toUnicodeDir /usr/local/share/xpdf/chinese-traditional/CMap -+cidToUnicode Adobe-CNS1 /usr/share/xpdf/chinese-traditional/Adobe-CNS1.cidToUnicode -+unicodeMap Big5 /usr/share/xpdf/chinese-traditional/Big5.unicodeMap -+unicodeMap Big5ascii /usr/share/xpdf/chinese-traditional/Big5ascii.unicodeMap -+cMapDir Adobe-CNS1 /usr/share/xpdf/chinese-traditional/CMap -+toUnicodeDir /usr/share/xpdf/chinese-traditional/CMap - #fontFileCC Adobe-CNS1 /usr/..../NotoSansCJKtc-Regular.otf" - #----- end Chinese Traditional support package -diff -up xpdf-4.00/xpdf-cyrillic/add-to-xpdfrc.new xpdf-4.00/xpdf-cyrillic/add-to-xpdfrc ---- xpdf-4.00/xpdf-cyrillic/add-to-xpdfrc.new 2011-08-15 17:24:29.000000000 -0400 -+++ xpdf-4.00/xpdf-cyrillic/add-to-xpdfrc 2017-08-16 17:49:01.852839167 -0400 -@@ -1,4 +1,4 @@ - #----- begin Cyrillic support package (2011-aug-15) --nameToUnicode /usr/local/share/xpdf/cyrillic/Bulgarian.nameToUnicode --unicodeMap KOI8-R /usr/local/share/xpdf/cyrillic/KOI8-R.unicodeMap -+nameToUnicode /usr/share/xpdf/cyrillic/Bulgarian.nameToUnicode -+unicodeMap KOI8-R /usr/share/xpdf/cyrillic/KOI8-R.unicodeMap - #----- end Cyrillic support package -diff -up xpdf-4.00/xpdf-greek/add-to-xpdfrc.new xpdf-4.00/xpdf-greek/add-to-xpdfrc ---- xpdf-4.00/xpdf-greek/add-to-xpdfrc.new 2017-08-16 17:52:59.677868080 -0400 -+++ xpdf-4.00/xpdf-greek/add-to-xpdfrc 2017-08-16 17:53:08.733639688 -0400 -@@ -1,4 +1,4 @@ - #----- begin Greek support package (2011-aug-15) --nameToUnicode /usr/local/share/xpdf/greek/Greek.nameToUnicode --unicodeMap ISO-8859-7 /usr/local/share/xpdf/greek/ISO-8859-7.unicodeMap -+nameToUnicode /usr/share/xpdf/greek/Greek.nameToUnicode -+unicodeMap ISO-8859-7 /usr/share/xpdf/greek/ISO-8859-7.unicodeMap - #----- end Greek support package -diff -up xpdf-4.00/xpdf-hebrew/add-to-xpdfrc.new xpdf-4.00/xpdf-hebrew/add-to-xpdfrc ---- xpdf-4.00/xpdf-hebrew/add-to-xpdfrc.new 2017-08-16 17:52:08.484159215 -0400 -+++ xpdf-4.00/xpdf-hebrew/add-to-xpdfrc 2017-08-16 17:52:19.940870269 -0400 -@@ -1,4 +1,4 @@ - #----- begin Hebrew support package (2011-aug-15) --unicodeMap ISO-8859-8 /usr/local/share/xpdf/hebrew/ISO-8859-8.unicodeMap --unicodeMap Windows-1255 /usr/local/share/xpdf/hebrew/Windows-1255.unicodeMap -+unicodeMap ISO-8859-8 /usr/share/xpdf/hebrew/ISO-8859-8.unicodeMap -+unicodeMap Windows-1255 /usr/share/xpdf/hebrew/Windows-1255.unicodeMap - #----- end Hebrew support package -diff -up xpdf-4.00/xpdf-japanese/add-to-xpdfrc.new xpdf-4.00/xpdf-japanese/add-to-xpdfrc ---- xpdf-4.00/xpdf-japanese/add-to-xpdfrc.new 2017-08-16 17:49:01.852839167 -0400 -+++ xpdf-4.00/xpdf-japanese/add-to-xpdfrc 2017-08-16 17:50:00.990367958 -0400 -@@ -1,9 +1,9 @@ - #----- begin Japanese support package (2011-sep-02) --cidToUnicode Adobe-Japan1 /usr/local/share/xpdf/japanese/Adobe-Japan1.cidToUnicode --unicodeMap ISO-2022-JP /usr/local/share/xpdf/japanese/ISO-2022-JP.unicodeMap --unicodeMap EUC-JP /usr/local/share/xpdf/japanese/EUC-JP.unicodeMap --unicodeMap Shift-JIS /usr/local/share/xpdf/japanese/Shift-JIS.unicodeMap --cMapDir Adobe-Japan1 /usr/local/share/xpdf/japanese/CMap --toUnicodeDir /usr/local/share/xpdf/japanese/CMap -+cidToUnicode Adobe-Japan1 /usr/share/xpdf/japanese/Adobe-Japan1.cidToUnicode -+unicodeMap ISO-2022-JP /usr/share/xpdf/japanese/ISO-2022-JP.unicodeMap -+unicodeMap EUC-JP /usr/share/xpdf/japanese/EUC-JP.unicodeMap -+unicodeMap Shift-JIS /usr/share/xpdf/japanese/Shift-JIS.unicodeMap -+cMapDir Adobe-Japan1 /usr/share/xpdf/japanese/CMap -+toUnicodeDir /usr/share/xpdf/japanese/CMap - #fontFileCC Adobe-Japan1 /usr/..../NotoSansCJKjp-Regular.otf - #----- end Japanese support package -diff -up xpdf-4.00/xpdf-korean/add-to-xpdfrc.new xpdf-4.00/xpdf-korean/add-to-xpdfrc ---- xpdf-4.00/xpdf-korean/add-to-xpdfrc.new 2017-08-16 17:49:01.853839142 -0400 -+++ xpdf-4.00/xpdf-korean/add-to-xpdfrc 2017-08-16 17:50:22.453833361 -0400 -@@ -1,7 +1,7 @@ - #----- begin Korean support package (2011-sep-02) --cidToUnicode Adobe-Korea1 /usr/local/share/xpdf/korean/Adobe-Korea1.cidToUnicode --unicodeMap ISO-2022-KR /usr/local/share/xpdf/korean/ISO-2022-KR.unicodeMap --cMapDir Adobe-Korea1 /usr/local/share/xpdf/korean/CMap --toUnicodeDir /usr/local/share/xpdf/korean/CMap -+cidToUnicode Adobe-Korea1 /usr/share/xpdf/korean/Adobe-Korea1.cidToUnicode -+unicodeMap ISO-2022-KR /usr/share/xpdf/korean/ISO-2022-KR.unicodeMap -+cMapDir Adobe-Korea1 /usr/share/xpdf/korean/CMap -+toUnicodeDir /usr/share/xpdf/korean/CMap - #fontFileCC Adobe-Korea1 /usr/..../NotoSansCJKkr-Regular.otf - #----- end Korean support package -diff -up xpdf-4.00/xpdf-latin2/add-to-xpdfrc.new xpdf-4.00/xpdf-latin2/add-to-xpdfrc ---- xpdf-4.00/xpdf-latin2/add-to-xpdfrc.new 2017-08-16 17:52:45.862216519 -0400 -+++ xpdf-4.00/xpdf-latin2/add-to-xpdfrc 2017-08-16 17:52:51.658070344 -0400 -@@ -1,3 +1,3 @@ - #----- begin Latin2 support package (2011-aug-15) --unicodeMap Latin2 /usr/local/share/xpdf/latin2/Latin2.unicodeMap -+unicodeMap Latin2 /usr/share/xpdf/latin2/Latin2.unicodeMap - #----- end Latin2 support package -diff -up xpdf-4.00/xpdf-thai/add-to-xpdfrc.new xpdf-4.00/xpdf-thai/add-to-xpdfrc ---- xpdf-4.00/xpdf-thai/add-to-xpdfrc.new 2011-08-15 17:24:29.000000000 -0400 -+++ xpdf-4.00/xpdf-thai/add-to-xpdfrc 2017-08-16 17:49:01.853839142 -0400 -@@ -1,4 +1,4 @@ - #----- begin Thai support package (2011-aug-15) --nameToUnicode /usr/local/share/xpdf/thai/Thai.nameToUnicode --unicodeMap TIS-620 /usr/local/share/xpdf/thai/TIS-620.unicodeMap -+nameToUnicode /usr/share/xpdf/thai/Thai.nameToUnicode -+unicodeMap TIS-620 /usr/share/xpdf/thai/TIS-620.unicodeMap - #----- end Thai support package -diff -up xpdf-4.00/xpdf-turkish/add-to-xpdfrc.new xpdf-4.00/xpdf-turkish/add-to-xpdfrc ---- xpdf-4.00/xpdf-turkish/add-to-xpdfrc.new 2017-08-16 17:53:20.954331475 -0400 -+++ xpdf-4.00/xpdf-turkish/add-to-xpdfrc 2017-08-16 17:53:28.037152842 -0400 -@@ -1,3 +1,3 @@ - #----- begin Turkish support package (2011-aug-15) --unicodeMap ISO-8859-9 /usr/local/share/xpdf/turkish/ISO-8859-9.unicodeMap -+unicodeMap ISO-8859-9 /usr/share/xpdf/turkish/ISO-8859-9.unicodeMap - #----- end Turkish support package diff --git a/xpdf-4.00-64bit.patch b/xpdf-4.01-64bit.patch similarity index 63% rename from xpdf-4.00-64bit.patch rename to xpdf-4.01-64bit.patch index 5cf8694..64952fc 100644 --- a/xpdf-4.00-64bit.patch +++ b/xpdf-4.01-64bit.patch @@ -1,7 +1,7 @@ -diff -up xpdf-4.00/goo/gmem.cc.alloc xpdf-4.00/goo/gmem.cc ---- xpdf-4.00/goo/gmem.cc.alloc 2017-08-08 19:22:50.000000000 -0400 -+++ xpdf-4.00/goo/gmem.cc 2017-08-16 18:01:21.363210992 -0400 -@@ -78,8 +78,8 @@ static int gMaxMemInUse = 0; +diff -up xpdf-4.01/goo/gmem.cc.alloc xpdf-4.01/goo/gmem.cc +--- xpdf-4.01/goo/gmem.cc.alloc 2019-02-18 13:24:19.000000000 -0500 ++++ xpdf-4.01/goo/gmem.cc 2019-02-22 09:37:02.683498383 -0500 +@@ -84,8 +84,8 @@ static size_t gMaxMemInUse = 0; #endif /* DEBUG_MEM */ #ifdef DEBUG_MEM @@ -12,7 +12,7 @@ diff -up xpdf-4.00/goo/gmem.cc.alloc xpdf-4.00/goo/gmem.cc char *mem; GMemHdr *hdr; void *data; -@@ -128,7 +128,7 @@ void *gmalloc(int size, int ignore) GMEM +@@ -134,7 +134,7 @@ void *gmalloc(int size, int ignore) GMEM return data; } #else @@ -21,7 +21,7 @@ diff -up xpdf-4.00/goo/gmem.cc.alloc xpdf-4.00/goo/gmem.cc void *p; if (size < 0) { -@@ -144,11 +144,11 @@ void *gmalloc(int size) GMEM_EXCEP { +@@ -150,11 +150,11 @@ void *gmalloc(int size) GMEM_EXCEP { } #endif @@ -35,18 +35,9 @@ diff -up xpdf-4.00/goo/gmem.cc.alloc xpdf-4.00/goo/gmem.cc if (size < 0) { gMemError("Invalid memory allocation size"); -@@ -224,7 +224,7 @@ void *greallocn(void *p, int nObjs, int - - void gfree(void *p) { - #ifdef DEBUG_MEM -- int size; -+ size_t size; - GMemHdr *hdr; - unsigned long *trl, *clr; - -diff -up xpdf-4.00/goo/gmem.h.alloc xpdf-4.00/goo/gmem.h ---- xpdf-4.00/goo/gmem.h.alloc 2017-08-16 17:59:32.770952926 -0400 -+++ xpdf-4.00/goo/gmem.h 2017-08-16 18:02:14.289874604 -0400 +diff -up xpdf-4.01/goo/gmem.h.alloc xpdf-4.01/goo/gmem.h +--- xpdf-4.01/goo/gmem.h.alloc 2019-02-18 13:24:19.000000000 -0500 ++++ xpdf-4.01/goo/gmem.h 2019-02-22 09:37:02.683498383 -0500 @@ -37,16 +37,16 @@ extern "C" { * returns NULL. */ diff --git a/xpdf-4.01-crash.patch b/xpdf-4.01-crash.patch new file mode 100644 index 0000000..468086f --- /dev/null +++ b/xpdf-4.01-crash.patch @@ -0,0 +1,21 @@ +diff -up xpdf-4.01/fofi/FoFiType1.cc.crash xpdf-4.01/fofi/FoFiType1.cc +--- xpdf-4.01/fofi/FoFiType1.cc.crash 2019-02-22 09:33:55.304458147 -0500 ++++ xpdf-4.01/fofi/FoFiType1.cc 2019-02-22 09:36:30.966169469 -0500 +@@ -276,9 +276,14 @@ void FoFiType1::parse() { + p += 3; + } + } else { +- if (strtok(buf, " \t") && +- (p = strtok(NULL, " \t\n\r")) && !strcmp(p, "def")) { +- break; ++ p = strtok(buf, " \t\n\r"); ++ if (p) ++ { ++ if (!strcmp(p, "def")) break; ++ if (!strcmp(p, "readonly")) break; ++ // the spec does not says this but i'm mantaining old xpdf behaviour that accepts "foo def" as end of the encoding array ++ p = strtok(buf, " \t\n\r"); ++ if (p && !strcmp(p, "def")) break; + } + } + } diff --git a/xpdf-4.01-ext.patch b/xpdf-4.01-ext.patch new file mode 100644 index 0000000..8828273 --- /dev/null +++ b/xpdf-4.01-ext.patch @@ -0,0 +1,37 @@ +diff -up xpdf-4.01/goo/gfile.cc.ext xpdf-4.01/goo/gfile.cc +--- xpdf-4.01/goo/gfile.cc.ext 2019-02-18 13:24:19.000000000 -0500 ++++ xpdf-4.01/goo/gfile.cc 2019-02-22 09:33:17.023259251 -0500 +@@ -473,24 +473,6 @@ GBool openTempFile(GString **name, FILE + char *s; + int fd; + +- if (ext) { +-#if HAVE_MKSTEMPS +- if ((s = getenv("TMPDIR"))) { +- *name = new GString(s); +- } else { +- *name = new GString("/tmp"); +- } +- (*name)->append("/XXXXXX")->append(ext); +- fd = mkstemps((*name)->getCString(), (int)strlen(ext)); +-#else +- if (!(s = tmpnam(NULL))) { +- return gFalse; +- } +- *name = new GString(s); +- (*name)->append(ext); +- fd = open((*name)->getCString(), O_WRONLY | O_CREAT | O_EXCL, 0600); +-#endif +- } else { + #if HAVE_MKSTEMP + if ((s = getenv("TMPDIR"))) { + *name = new GString(s); +@@ -506,7 +488,7 @@ GBool openTempFile(GString **name, FILE + *name = new GString(s); + fd = open((*name)->getCString(), O_WRONLY | O_CREAT | O_EXCL, 0600); + #endif // HAVE_MKSTEMP +- } ++ + if (fd < 0 || !(*f = fdopen(fd, mode))) { + delete *name; + *name = NULL; diff --git a/xpdf-4.00-urw-base35-fonts.patch b/xpdf-4.01-urw-base35-fonts.patch similarity index 89% rename from xpdf-4.00-urw-base35-fonts.patch rename to xpdf-4.01-urw-base35-fonts.patch index c6f10ba..5029cd5 100644 --- a/xpdf-4.00-urw-base35-fonts.patch +++ b/xpdf-4.01-urw-base35-fonts.patch @@ -1,6 +1,7 @@ ---- xpdf-4.00/xpdf/GlobalParams.cc.orig 2017-08-08 18:22:50.000000000 -0500 -+++ xpdf-4.00/xpdf/GlobalParams.cc 2017-11-06 03:18:35.636604800 -0600 -@@ -78,20 +78,20 @@ static struct { +diff -up xpdf-4.01/xpdf/GlobalParams.cc.urw-font-fix xpdf-4.01/xpdf/GlobalParams.cc +--- xpdf-4.01/xpdf/GlobalParams.cc.urw-font-fix 2019-02-18 13:24:19.000000000 -0500 ++++ xpdf-4.01/xpdf/GlobalParams.cc 2019-02-22 09:44:56.842457771 -0500 +@@ -79,20 +79,20 @@ static struct { const char *obliqueFont; // name of font to oblique double obliqueFactor; // oblique sheer factor } displayFontTab[] = { @@ -35,7 +36,7 @@ {NULL} }; -@@ -103,6 +103,7 @@ static const char *displayFontDirs[] = { +@@ -104,6 +104,7 @@ static const char *displayFontDirs[] = { }; #else static const char *displayFontDirs[] = { @@ -43,12 +44,12 @@ "/usr/share/ghostscript/fonts", "/usr/local/share/ghostscript/fonts", "/usr/share/fonts/default/Type1", -@@ -2213,7 +2216,7 @@ FILE *GlobalParams::findToUnicodeFile(GS +@@ -2204,7 +2205,7 @@ UnicodeRemapping *GlobalParams::getUnico } GString *GlobalParams::findFontFile(GString *fontName) { -- static const char *exts[] = { ".pfa", ".pfb", ".ttf", ".ttc" }; -+ static const char *exts[] = { ".pfa", ".pfb", ".t1", ".ttf", ".ttc" }; +- static const char *exts[] = { ".pfa", ".pfb", ".ttf", ".ttc", ".otf" }; ++ static const char *exts[] = { ".pfa", ".pfb", ".t1", ".ttf", ".ttc", ".otf" }; GString *path, *dir; #ifdef _WIN32 GString *fontNameU; diff --git a/xpdf-4.02-CVE-2019-12360.patch b/xpdf-4.02-CVE-2019-12360.patch new file mode 100644 index 0000000..808ce35 --- /dev/null +++ b/xpdf-4.02-CVE-2019-12360.patch @@ -0,0 +1,79 @@ +diff -up xpdf-4.02/fofi/FoFiTrueType.cc.CVE-2019-12360 xpdf-4.02/fofi/FoFiTrueType.cc +--- xpdf-4.02/fofi/FoFiTrueType.cc.CVE-2019-12360 2020-06-26 15:15:48.156850534 -0400 ++++ xpdf-4.02/fofi/FoFiTrueType.cc 2020-06-26 15:15:35.204068577 -0400 +@@ -20,6 +20,7 @@ + #include "gtypes.h" + #include "gmem.h" + #include "gmempp.h" ++#include "GLikely.h" + #include "GString.h" + #include "GHash.h" + #include "FoFiType1C.h" +@@ -1764,7 +1765,7 @@ void FoFiTrueType::cvtSfnts(FoFiOutputFu + GBool ok; + Guint checksum; + int nNewTables; +- int glyfTableLen, length, pos, glyfPos, i, j, k; ++ int glyfTableLen, length, pos, glyfPos, i, j, k, vmtxTabLength; + Guchar vheaTab[36] = { + 0, 1, 0, 0, // table version number + 0, 0, // ascent +@@ -1891,6 +1892,7 @@ void FoFiTrueType::cvtSfnts(FoFiOutputFu + } + } + vmtxTab = NULL; // make gcc happy ++ vmtxTabLength = 0; + advance = 0; // make gcc happy + if (needVerticalMetrics) { + needVhea = seekTable("vhea") < 0; +@@ -1951,6 +1953,7 @@ void FoFiTrueType::cvtSfnts(FoFiOutputFu + checksum = computeTableChecksum(vheaTab, length); + } else if (needVerticalMetrics && i == t42VmtxTable) { + length = 4 + (nGlyphs - 1) * 2; ++ vmtxTabLength = length; + vmtxTab = (Guchar *)gmalloc(length); + vmtxTab[0] = (Guchar)(advance / 256); + vmtxTab[1] = (Guchar)(advance % 256); +@@ -2065,8 +2068,16 @@ void FoFiTrueType::cvtSfnts(FoFiOutputFu + dumpString(file + tables[j].offset, tables[j].len, + outputFunc, outputStream); + } else if (needVerticalMetrics && i == t42VheaTable) { ++ if (unlikely(length > (int)sizeof(vheaTab))) { ++ //~ error(errSyntaxWarning, -1, "length bigger than vheaTab size"); ++ length = sizeof(vheaTab); ++ } + dumpString(vheaTab, length, outputFunc, outputStream); + } else if (needVerticalMetrics && i == t42VmtxTable) { ++ if (unlikely(length > vmtxTabLength)) { ++ //~ error(errSyntaxWarning, -1, "length bigger than vmtxTab size"); ++ length = vmtxTabLength; ++ } + dumpString(vmtxTab, length, outputFunc, outputStream); + } + } +diff -up xpdf-4.02/goo/GLikely.h.CVE-2019-12360 xpdf-4.02/goo/GLikely.h +--- xpdf-4.02/goo/GLikely.h.CVE-2019-12360 2020-06-26 15:11:32.839149675 -0400 ++++ xpdf-4.02/goo/GLikely.h 2020-06-26 15:11:07.713572773 -0400 +@@ -0,0 +1,22 @@ ++//======================================================================== ++// ++// GLikely.h ++// ++// This file is licensed under the GPLv2 or later ++// ++// Copyright (C) 2008 Kees Cook ++// ++//======================================================================== ++ ++#ifndef GLIKELY_H ++#define GLIKELY_H ++ ++#if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__) ++# define likely(x) __builtin_expect((x), 1) ++# define unlikely(x) __builtin_expect((x), 0) ++#else ++# define likely(x) (x) ++# define unlikely(x) (x) ++#endif ++ ++#endif diff --git a/xpdf-4.02-CVE-2019-17064.patch b/xpdf-4.02-CVE-2019-17064.patch new file mode 100644 index 0000000..a49bf60 --- /dev/null +++ b/xpdf-4.02-CVE-2019-17064.patch @@ -0,0 +1,19 @@ +diff -up xpdf-4.02/xpdf/Catalog.cc.CVE-2019-17064 xpdf-4.02/xpdf/Catalog.cc +--- xpdf-4.02/xpdf/Catalog.cc.CVE-2019-17064 2019-12-02 12:21:54.480562087 -0500 ++++ xpdf-4.02/xpdf/Catalog.cc 2019-12-02 12:22:37.047605136 -0500 +@@ -159,6 +159,7 @@ Catalog::Catalog(PDFDoc *docA) { + baseURI = NULL; + form = NULL; + embeddedFiles = NULL; ++ pageLabels = NULL; + #if MULTITHREADED + gInitMutex(&pageMutex); + #endif +@@ -241,7 +242,6 @@ Catalog::Catalog(PDFDoc *docA) { + // get the ViewerPreferences object + catDict.dictLookupNF("ViewerPreferences", &viewerPrefs); + +- pageLabels = NULL; + if (catDict.dictLookup("PageLabels", &obj)->isDict()) { + readPageLabelTree(&obj); + } diff --git a/xpdf-4.04-GlobalParams-null-fix.patch b/xpdf-4.04-GlobalParams-null-fix.patch new file mode 100644 index 0000000..eaa073c --- /dev/null +++ b/xpdf-4.04-GlobalParams-null-fix.patch @@ -0,0 +1,12 @@ +diff -up xpdf-4.04/xpdf/GlobalParams.h.null-fix xpdf-4.04/xpdf/GlobalParams.h +--- xpdf-4.04/xpdf/GlobalParams.h.null-fix 2023-01-30 14:10:42.286805370 -0500 ++++ xpdf-4.04/xpdf/GlobalParams.h 2023-01-30 14:10:50.383895185 -0500 +@@ -237,7 +237,7 @@ public: + + // Initialize the global parameters by attempting to read a config + // file. +- GlobalParams(const char *cfgFileName); ++ GlobalParams(const char *cfgFileName = NULL); + + ~GlobalParams(); + diff --git a/xpdf-4.04-shared-xpdf-lib.patch b/xpdf-4.04-shared-xpdf-lib.patch new file mode 100644 index 0000000..b4a7544 --- /dev/null +++ b/xpdf-4.04-shared-xpdf-lib.patch @@ -0,0 +1,17 @@ +diff -up xpdf-4.04/xpdf/CMakeLists.txt.shared-xpdf-lib xpdf-4.04/xpdf/CMakeLists.txt +--- xpdf-4.04/xpdf/CMakeLists.txt.shared-xpdf-lib 2023-01-30 14:30:07.185779720 -0500 ++++ xpdf-4.04/xpdf/CMakeLists.txt 2023-01-30 14:31:41.942842314 -0500 +@@ -78,6 +78,13 @@ add_library(xpdf_objs OBJECT + set_property(TARGET xpdf_objs + PROPERTY POSITION_INDEPENDENT_CODE True) + ++add_library(xpdfcore ++ $ ++) ++ ++set_target_properties(xpdfcore PROPERTIES VERSION 4 SOVERSION 4) ++ ++ + #--- object files needed by XpdfWidget + + if ((QT4_FOUND OR Qt5Widgets_FOUND OR Qt6Widgets_FOUND) diff --git a/xpdf-4.05-CVE-2024-4141.patch b/xpdf-4.05-CVE-2024-4141.patch new file mode 100644 index 0000000..906444b --- /dev/null +++ b/xpdf-4.05-CVE-2024-4141.patch @@ -0,0 +1,22 @@ +diff -up xpdf-4.05/fofi/FoFiType1.cc.CVE-2024-4141 xpdf-4.05/fofi/FoFiType1.cc +--- xpdf-4.05/fofi/FoFiType1.cc.CVE-2024-4141 2024-05-29 10:19:51.918225689 -0400 ++++ xpdf-4.05/fofi/FoFiType1.cc 2024-05-29 10:20:53.406160594 -0400 +@@ -193,7 +193,8 @@ void FoFiType1::parse() { + char *line, *line1, *p, *p2; + char buf[256]; + char c; +- int n, code, base, i, j; ++ unsigned int code; ++ int n, base, i, j; + GBool gotMatrix, startsWithDup, endsWithDup; + + gotMatrix = gFalse; +@@ -262,7 +263,7 @@ void FoFiType1::parse() { + } + ++p; + for (p2 = p; *p2 && *p2 != ' ' && *p2 != '\t'; ++p2) ; +- if (code >= 0 && code < 256) { ++ if (code < 256) { + c = *p2; + *p2 = '\0'; + gfree(encoding[code]); diff --git a/xpdf-4.06-permissions.patch b/xpdf-4.06-permissions.patch new file mode 100644 index 0000000..0192028 --- /dev/null +++ b/xpdf-4.06-permissions.patch @@ -0,0 +1,131 @@ +diff -up xpdf-4.06/xpdf/pdfimages.cc.permissions xpdf-4.06/xpdf/pdfimages.cc +--- xpdf-4.06/xpdf/pdfimages.cc.permissions 2025-11-13 17:08:30.000000000 -0500 ++++ xpdf-4.06/xpdf/pdfimages.cc 2025-11-18 15:27:00.093784988 -0500 +@@ -4,6 +4,8 @@ + // + // Copyright 1998-2003 Glyph & Cog, LLC + // ++// Modified for Debian by Hamish Moffatt, 22 May 2002. ++// + //======================================================================== + + #include +@@ -153,12 +155,14 @@ int main(int argc, char *argv[]) { + } + + // check for copy permission ++#ifdef ENFORCE_PERMISSIONS + if (!listOnly && !doc->okToCopy()) { + error(errNotAllowed, -1, + "Copying of images from this document is not allowed."); + exitCode = 3; + goto err1; + } ++#endif + + // get page range + if (firstPage < 1) +diff -up xpdf-4.06/xpdf/pdftohtml.cc.permissions xpdf-4.06/xpdf/pdftohtml.cc +--- xpdf-4.06/xpdf/pdftohtml.cc.permissions 2025-11-13 17:08:30.000000000 -0500 ++++ xpdf-4.06/xpdf/pdftohtml.cc 2025-11-18 15:25:43.149122766 -0500 +@@ -183,6 +183,7 @@ int main(int argc, char *argv[]) { + goto err1; + } + ++#ifdef ENFORCE_PERMISSIONS + // check for copy permission + if (!doc->okToCopy()) { + error(errNotAllowed, -1, +@@ -190,6 +191,7 @@ int main(int argc, char *argv[]) { + exitCode = 3; + goto err1; + } ++#endif + + // get page range + if (firstPage < 1) { +diff -up xpdf-4.06/xpdf/pdftops.cc.permissions xpdf-4.06/xpdf/pdftops.cc +--- xpdf-4.06/xpdf/pdftops.cc.permissions 2025-11-13 17:08:30.000000000 -0500 ++++ xpdf-4.06/xpdf/pdftops.cc 2025-11-18 15:25:43.149260566 -0500 +@@ -4,6 +4,8 @@ + // + // Copyright 1996-2003 Glyph & Cog, LLC + // ++// Modified for Debian by Hamish Moffatt, 22 May 2002. ++// + //======================================================================== + + #include +@@ -337,12 +339,14 @@ int main(int argc, char *argv[]) { + goto err1; + } + ++#ifdef ENFORCE_PERMISSIONS + // check for print permission + if (!doc->okToPrint()) { + error(errNotAllowed, -1, "Printing this document is not allowed."); + exitCode = 3; + goto err1; + } ++#endif + + // construct PostScript file name + if (argc == 3) { +diff -up xpdf-4.06/xpdf/pdftotext.cc.permissions xpdf-4.06/xpdf/pdftotext.cc +--- xpdf-4.06/xpdf/pdftotext.cc.permissions 2025-11-13 17:08:30.000000000 -0500 ++++ xpdf-4.06/xpdf/pdftotext.cc 2025-11-18 15:25:43.149380451 -0500 +@@ -4,6 +4,8 @@ + // + // Copyright 1997-2013 Glyph & Cog, LLC + // ++// Modified for Debian by Hamish Moffatt, 22 May 2002. ++// + //======================================================================== + + #include +@@ -248,6 +250,7 @@ int main(int argc, char *argv[]) { + goto err2; + } + ++#ifdef ENFORCE_PERMISSIONS + // check for copy permission + if (!doc->okToCopy()) { + error(errNotAllowed, -1, +@@ -255,6 +258,7 @@ int main(int argc, char *argv[]) { + exitCode = 3; + goto err2; + } ++#endif + + // construct text file name + if (argc == 3) { +diff -up xpdf-4.06/xpdf-qt/QtPDFCore.cc.permissions xpdf-4.06/xpdf-qt/QtPDFCore.cc +--- xpdf-4.06/xpdf-qt/QtPDFCore.cc.permissions 2025-11-13 17:08:30.000000000 -0500 ++++ xpdf-4.06/xpdf-qt/QtPDFCore.cc 2025-11-18 15:25:43.149536859 -0500 +@@ -494,9 +494,11 @@ QString QtPDFCore::getSelectedTextQStrin + QString qs; + int i; + ++#ifdef ENFORCE_PERMISSIONS + if (!doc->okToCopy()) { + return ""; + } ++#endif + if (!(s = getSelectedText())) { + return ""; + } +diff -up xpdf-4.06/xpdf-qt/XpdfWidget.cc.permissions xpdf-4.06/xpdf-qt/XpdfWidget.cc +--- xpdf-4.06/xpdf-qt/XpdfWidget.cc.permissions 2025-11-13 17:08:30.000000000 -0500 ++++ xpdf-4.06/xpdf-qt/XpdfWidget.cc 2025-11-18 15:25:43.149737940 -0500 +@@ -1526,7 +1526,11 @@ bool XpdfWidget::okToExtractText() const + if (!core->getDoc()) { + return false; + } ++#ifdef ENFORCE_PERMISSIONS + return (bool)core->getDoc()->okToCopy(); ++#else ++ return true; ++#endif + } catch (GMemException e) { + return false; + } diff --git a/xpdf-4.06-urw-base35-fonts.patch b/xpdf-4.06-urw-base35-fonts.patch new file mode 100644 index 0000000..0fdc470 --- /dev/null +++ b/xpdf-4.06-urw-base35-fonts.patch @@ -0,0 +1,133 @@ +diff -up xpdf-4.06/xpdf/GlobalParams.cc.urw-font-fix xpdf-4.06/xpdf/GlobalParams.cc +--- xpdf-4.06/xpdf/GlobalParams.cc.urw-font-fix 2025-11-13 17:08:30.000000000 -0500 ++++ xpdf-4.06/xpdf/GlobalParams.cc 2025-11-18 15:23:11.114577091 -0500 +@@ -84,98 +84,98 @@ static struct { + double obliqueFactor; // oblique sheer factor + } displayFontTab[] = { + {"Courier", // name +- "n022003l.pfb", // t1FileName ++ "NimbusMonoPS-Regular.t1", // t1FileName + "cour.ttf", // ttFileName + "Courier", "Courier", // macFileName, macFontName + "NimbusMonoPS-Regular", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Courier-Bold", // name +- "n022004l.pfb", // t1FileName ++ "NimbusMonoPS-Bold.t1", // t1FileName + "courbd.ttf", // ttFileName + "Courier", "Courier Bold", // macFileName, macFontName + "NimbusMonoPS-Bold", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Courier-BoldOblique", // name +- "n022024l.pfb", // t1FileName ++ "NimbusMonoPS-BoldItalic.t1", // t1FileName + "courbi.ttf", // ttFileName + "Courier", "Courier Bold Oblique", // macFileName, macFontName + "NimbusMonoPS-BoldItalic", // fcFontName + "Courier-Bold", 0.212557 // obliqueFont, obliqueFactor + }, + {"Courier-Oblique", // name +- "n022023l.pfb", // t1FileName ++ "NimbusMonoPS-Italic.t1", // t1FileName + "couri.ttf", // ttFileName + "Courier", "Courier Oblique", // macFileName, macFontName + "NimbusMonoPS-Italic", // fcFontName + "Courier", 0.212557 // obliqueFont, obliqueFactor + }, + {"Helvetica", // name +- "n019003l.pfb", // t1FileName ++ "NimbusSans-Regular.t1", // t1FileName + "arial.ttf", // ttFileName + "Helvetica", "Helvetica", // macFileName, macFontName + "NimbusSans-Regular", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Helvetica-Bold", // name +- "n019004l.pfb", // t1FileName ++ "NimbusSans-Bold.t1", // t1FileName + "arialbd.ttf", // ttFileName + "Helvetica", "Helvetica Bold", // macFileName, macFontName + "NimbusSans-Bold", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Helvetica-BoldOblique", // name +- "n019024l.pfb", // t1FileName ++ "NimbusSans-BoldItalic.t1", // t1FileName + "arialbi.ttf", // ttFileName + "Helvetica", "Helvetica Bold Oblique", // macFileName, macFontName + "NimbusSans-BoldItalic", // fcFontName + "Helvetica-Bold", 0.212557 // obliqueFont, obliqueFactor + }, + {"Helvetica-Oblique", // name +- "n019023l.pfb", // t1FileName ++ "NimbusSans-Italic.t1", // t1FileName + "ariali.ttf", // ttFileName + "Helvetica", "Helvetica Oblique", // macFileName, macFontName + "NimbusSans-Italic", // fcFontName + "Helvetica", 0.212557 // obliqueFont, obliqueFactor + }, + {"Symbol", // name +- "s050000l.pfb", // t1FileName ++ "StandardSymbolsPS.t1", // t1FileName + NULL, // ttFileName + "Symbol", "Symbol", // macFileName, macFontName + "Standard Symbols PS", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Times-Bold", // name +- "n021004l.pfb", // t1FileName ++ "NimbusRoman-Bold.t1", // t1FileName + "timesbd.ttf", // ttFileName + "Times", "Times Bold", // macFileName, macFontName + "NimbusRoman-Bold", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Times-BoldItalic", // name +- "n021024l.pfb", // t1FileName ++ "NimbusRoman-BoldItalic.t1", // t1FileName + "timesbi.ttf", // ttFileName + "Times", "Times Bold Italic", // macFileName, macFontName + "NimbusRoman-BoldItalic", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Times-Italic", // name +- "n021023l.pfb", // t1FileName ++ "NimbusRoman-Italic.t1", // t1FileName + "timesi.ttf", // ttFileName + "Times", "Times Italic", // macFileName, macFontName + "NimbusRoman-Italic", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"Times-Roman", // name +- "n021003l.pfb", // t1FileName ++ "NimbusRoman-Regular.t1", // t1FileName + "times.ttf", // ttFileName + "Times", "Times Roman", // macFileName, macFontName + "NimbusRoman-Regular", // fcFontName + NULL, 0 // obliqueFont, obliqueFactor + }, + {"ZapfDingbats", // name +- "d050000l.pfb", // t1FileName ++ "D050000L.t1", // t1FileName + NULL, // ttFileName + "ZapfDingbats", "Zapf Dingbats", // macFileName, macFontName + "D050000L", // fcFontName +@@ -192,6 +192,7 @@ static const char *displayFontDirs[] = { + "c:/windows/fonts", + "c:/winnt/fonts", + #else // _WIN32 ++ "/usr/share/fonts/urw-base35", + "/usr/share/ghostscript/fonts", + "/usr/local/share/ghostscript/fonts", + "/usr/share/fonts/default/Type1", +@@ -2788,7 +2789,7 @@ UnicodeRemapping *GlobalParams::getUnico + } + + GString *GlobalParams::findFontFile(GString *fontName) { +- static const char *exts[] = { ".pfa", ".pfb", ".ttf", ".ttc", ".otf" }; ++ static const char *exts[] = { ".pfa", ".pfb", ".t1", ".ttf", ".ttc", ".otf" }; + GString *path, *dir; + #ifdef _WIN32 + GString *fontNameU; diff --git a/xpdf.spec b/xpdf.spec index 25c5bb4..9c5c715 100644 --- a/xpdf.spec +++ b/xpdf.spec @@ -1,41 +1,46 @@ +%undefine __cmake_in_source_build + Summary: A PDF file viewer for the X Window System Name: xpdf -Version: 4.00 -Release: 6%{?dist} -License: (GPLv2 or GPLv3) and BSD +Version: 4.06 +Release: 3%{?dist} +License: (GPL-2.0-only OR GPL-3.0-only) AND BSD-3-Clause Epoch: 1 -Url: http://www.xpdfreader.com/ -Group: Applications/Publishing +Url: https://www.xpdfreader.com/ -Source0: http://www.xpdfreader.com/dl/%{name}-%{version}.tar.gz +Source0: https://dl.xpdfreader.com/%{name}-%{version}.tar.gz +Source1: https://dl.xpdfreader.com/%{name}-%{version}.tar.gz.sig +Source2: https://www.xpdfreader.com/gpg-key.txt +%if 0%{?fedora} # We have to pull the following CMap files out due to non-free license. # CMap/Adobe-GB1-UCS2 # CMap/GBK-EUC-UCS2 # CMap/GBpc-EUC-UCS2 # CMap/GBpc-EUC-UCS2C # Source3: http://www.xpdfreader.com/dl/xpdf-chinese-simplified.tar.gz -Source3: xpdf-chinese-simplified-2017-jul-25-NOCMAP.tar.gz +Source3: xpdf-chinese-simplified-2023-dec-05-NOCMAP.tar.gz # CMap/Adobe-CNS1-UCS2 # CMap/B5pc-UCS2 # CMap/B5pc-UCS2C # CMap/ETen-B5-UCS2 # Source4: http://www.xpdfreader.com/dl/xpdf-chinese-traditional.tar.gz -Source4: xpdf-chinese-traditional-2017-jul-25-NOCMAP.tar.gz +Source4: xpdf-chinese-traditional-2020-dec-22-NOCMAP.tar.gz # CMap/90ms-RKSJ-UCS2 # CMap/90pv-RKSJ-UCS2 # CMap/90pv-RKSJ-UCS2C # CMap/Adobe-Japan1-UCS2 # Source5: http://www.xpdfreader.com/dl/xpdf-japanese.tar.gz -Source5: xpdf-japanese-2017-jul-25-NOCMAP.tar.gz +Source5: xpdf-japanese-2020-dec-22-NOCMAP.tar.gz # CMap/Adobe-Korea1-UCS2 # CMap/KSCms-UHC-UCS2 # CMap/KSCpc-EUC-UCS2 # CMap/KSCpc-EUC-UCS2C # Source6: http://www.xpdfreader.com/dl/xpdf-korean.tar.gz -Source6: xpdf-korean-2017-jul-25-NOCMAP.tar.gz +Source6: xpdf-korean-2023-dec-05-NOCMAP.tar.gz # cyrillic and thai don't have CMap files to worry about. Source7: ftp://ftp.foolabs.com/pub/xpdf/xpdf-cyrillic-2011-aug-15.tar.gz -Source8: ftp://ftp.foolabs.com/pub/xpdf/xpdf-thai-2011-aug-15.tar.gz +# thai: 2025-08-13 +Source8: https://dl.xpdfreader.com/xpdf-thai.tar.gz Source10: xpdf.desktop Source11: xpdf.png Source12: ftp://ftp.foolabs.com/pub/xpdf/xpdf-arabic-2011-aug-15.tar.gz @@ -43,22 +48,29 @@ Source13: ftp://ftp.foolabs.com/pub/xpdf/xpdf-greek-2011-aug-15.tar.gz Source14: ftp://ftp.foolabs.com/pub/xpdf/xpdf-hebrew-2011-aug-15.tar.gz Source15: ftp://ftp.foolabs.com/pub/xpdf/xpdf-latin2-2011-aug-15.tar.gz Source16: ftp://ftp.foolabs.com/pub/xpdf/xpdf-turkish-2011-aug-15.tar.gz +%endif -Patch0: xpdf-4.00-redhat-new.patch -Patch3: xpdf-3.03-ext.patch +Patch3: xpdf-4.01-ext.patch Patch9: xpdf-3.00-papersize.patch -Patch11: xpdf-3.04-crash.patch -Patch12: xpdf-4.00-64bit.patch +Patch11: xpdf-4.01-crash.patch +Patch12: xpdf-4.01-64bit.patch Patch15: xpdf-3.04-nocmap.patch -Patch23: xpdf-4.00-libpaperfix.patch -Patch24: xpdf-4.00-man-path-fix.patch Patch25: xpdf-4.00-versionedlib.patch -Patch26: xpdf-4.00-urw-base35-fonts.patch +Patch26: xpdf-4.06-urw-base35-fonts.patch +Patch28: xpdf-4.04-GlobalParams-null-fix.patch +# https://forum.xpdfreader.com/viewtopic.php?t=42521 +Patch29: xpdf-4.04-shared-xpdf-lib.patch # Security patches +# Based on +# https://gitlab.freedesktop.org/poppler/poppler/commit/cdb7ad95f7c8fbf63ade040d8a07ec96467042fc +# https://gitlab.freedesktop.org/poppler/poppler/commit/bf4aae25a244b1033a2479b9a8f633224f7d5de5 +Patch101: xpdf-4.02-CVE-2019-12360.patch +# merged in 4.06 +# Patch102: xpdf-4.05-CVE-2024-4141.patch # Debian patches -Patch200: xpdf-4.00-permissions.patch +Patch200: xpdf-4.06-permissions.patch # Proper stream encoding on 64bit platforms Patch203: fix-444648.dpatch @@ -67,14 +79,26 @@ Requires: xdg-utils Requires: poppler-utils Requires: xorg-x11-fonts-ISO8859-1-75dpi Requires: xorg-x11-fonts-ISO8859-1-100dpi +Requires: qt5-qtsvg -BuildRequires: qt5-devel, cmake +%if 0%{?fedora} +BuildRequires: qt5-qtbase-devel, cmake BuildRequires: freetype-devel >= 2.1.7 +BuildRequires: fontconfig-devel BuildRequires: desktop-file-utils BuildRequires: libpaper-devel BuildRequires: libpng-devel BuildRequires: libXpm-devel BuildRequires: cups-devel +%else +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: freetype-devel >= 2.1.7 +BuildRequires: fontconfig-devel +BuildRequires: libpng-devel +%endif +# for %%gpgverify +BuildRequires: gnupg2 Provides: %{name}-chinese-simplified = %{version}-%{release} Obsoletes: %{name}-chinese-simplified @@ -85,6 +109,7 @@ Obsoletes: %{name}-korean Provides: %{name}-japanese = %{version}-%{release} Obsoletes: %{name}-japanese +Requires: %{name}-libs%{_isa} = %{epoch}:%{version}-%{release} %description Xpdf is an X Window System based viewer for Portable Document Format @@ -92,29 +117,46 @@ Xpdf is an X Window System based viewer for Portable Document Format standard X fonts. %package devel +%if 0%{?fedora} Requires: %{name}%{_isa} = %{epoch}:%{version}-%{release} +Requires: libpaper-devel +%endif +Requires: fontconfig-devel, freetype-devel +Requires: libpng-devel Summary: Development files for xpdf libraries %description devel Development files for xpdf libraries. +%package libs +Summary: Libraries from xpdf + +%description libs +Libraries from xpdf. + %prep +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%if 0%{?fedora} %setup -q -a 3 -a 4 -a 5 -a 6 -a 7 -a 8 -a 12 -a 13 -a 14 -a 15 -a 16 -%patch0 -p1 -b .new -%patch3 -p1 -b .ext -%patch9 -p1 -b .papersize -%patch11 -p1 -b .crash -%patch12 -p1 -b .alloc -%patch23 -p1 -b .paperfix -%patch24 -p1 -b .manfix -%patch25 -p1 -b .versionedlib -%patch26 -p1 -b .urw-font-fix +%else +%setup -q +%endif +%patch -P3 -p1 -b .ext +%patch -P9 -p1 -b .papersize +%patch -P11 -p1 -b .crash +%patch -P12 -p1 -b .alloc +%patch -P25 -p1 -b .versionedlib +%patch -P26 -p1 -b .urw-font-fix +%patch -P28 -p1 -b .GlobalParams-null-fix +%patch -P29 -p1 -b .shared-xpdf-lib # security patches +%patch -P101 -p1 -b .CVE-2019-12360 +# %%patch -P102 -p1 -b .CVE-2024-4141 # debian patches -%patch200 -p1 -b .permissions -%patch203 -p1 -b .64bit-stream +%patch -P200 -p1 -b .permissions +%patch -P203 -p1 -b .64bit-stream # Comment out unused urlCommand option sed -i 's|urlCommand|#urlCommand|g' doc/sample-xpdfrc @@ -122,6 +164,7 @@ sed -i 's|urlCommand|#urlCommand|g' doc/sample-xpdfrc %build find -name "*orig" | xargs rm -f +%if 0%{?fedora} # This may seem pointless, but in the unlikely event that _sysconfdir != /etc ... for file in doc/*.1 doc/*.5 xpdf-*/README; do sed -i -e 's:/etc/xpdfrc:%{_sysconfdir}/xpdfrc:g' $file @@ -131,15 +174,19 @@ for file in xpdf-*/README xpdf-*/add-to-xpdfrc; do sed -i -e 's:/usr/share/:%{_datadir}/:g' $file sed -i -e 's:/usr/local/share/:%{_datadir}/:g' $file done +%endif export CFLAGS="%{optflags} -fPIC" export CXXFLAGS="%{optflags} -Wno-deprecated -fPIC" -%cmake -DMULTITHREADED=ON -DOPI_SUPPORT=ON -DXPDFWIDGET_PRINTING=1 -DSYSTEM_XPDFRC="%{_sysconfdir}/xpdfrc" +%cmake -DMULTITHREADED=ON -DOPI_SUPPORT=ON -DXPDFWIDGET_PRINTING=1 -DSYSTEM_XPDFRC="%{_sysconfdir}/xpdfrc" -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -make %{?_smp_mflags} -make xpdf %{?_smp_mflags} +%cmake_build +%if 0%{?fedora} +%cmake_build --target xpdf +%endif %install +%if 0%{?fedora} mkdir -p $RPM_BUILD_ROOT%{_datadir}/xpdf/arabic \ $RPM_BUILD_ROOT%{_datadir}/xpdf/chinese-simplified \ $RPM_BUILD_ROOT%{_datadir}/xpdf/chinese-traditional \ @@ -153,13 +200,15 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/xpdf/arabic \ $RPM_BUILD_ROOT%{_datadir}/xpdf/turkish \ $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps -make install DESTDIR=$RPM_BUILD_ROOT +%cmake_install +%endif # Y U NO INSTALL LIBS?!? mkdir -p $RPM_BUILD_ROOT%{_libdir} -cp -a fofi/libfofi.so* $RPM_BUILD_ROOT%{_libdir} -cp -a goo/libgoo.so* $RPM_BUILD_ROOT%{_libdir} -cp -a splash/libsplash.so* $RPM_BUILD_ROOT%{_libdir} +cp -a %{_vpath_builddir}/fofi/libfofi.so* $RPM_BUILD_ROOT%{_libdir} +cp -a %{_vpath_builddir}/goo/libgoo.so* $RPM_BUILD_ROOT%{_libdir} +cp -a %{_vpath_builddir}/splash/libsplash.so* $RPM_BUILD_ROOT%{_libdir} +cp -a %{_vpath_builddir}/xpdf/libxpdfcore.so* $RPM_BUILD_ROOT%{_libdir} # headers mkdir -p $RPM_BUILD_ROOT%{_includedir}/xpdf/fofi @@ -168,7 +217,10 @@ mkdir -p $RPM_BUILD_ROOT%{_includedir}/xpdf/splash cp -a fofi/*.h $RPM_BUILD_ROOT%{_includedir}/xpdf/fofi/ cp -a goo/*.h $RPM_BUILD_ROOT%{_includedir}/xpdf/goo/ cp -a splash/*.h $RPM_BUILD_ROOT%{_includedir}/xpdf/splash/ +cp -a xpdf/*.h $RPM_BUILD_ROOT%{_includedir}/xpdf/ +cp -a %{__cmake_builddir}/aconf.h $RPM_BUILD_ROOT%{_includedir}/xpdf/ +%if 0%{?fedora} mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications/ %if 0%{?rhel} > 5 || 0%{?fedora} desktop-file-install \ @@ -228,19 +280,11 @@ done mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ cp -a doc/sample-xpdfrc $RPM_BUILD_ROOT%{_sysconfdir}/xpdfrc sed -i -e 's:/usr/local/share/:%{_datadir}/:g' $RPM_BUILD_ROOT%{_sysconfdir}/xpdfrc +%endif -%post -/sbin/ldconfig -touch --no-create %{_datadir}/icons/hicolor || : -%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : -update-desktop-database &> /dev/null ||: - -%postun -/sbin/ldconfig -touch --no-create %{_datadir}/icons/hicolor || : -%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : -update-desktop-database &> /dev/null ||: +%ldconfig_scriptlets +%if 0%{?fedora} %files %license COPYING COPYING3 %doc CHANGES README README.* @@ -289,12 +333,126 @@ update-desktop-database &> /dev/null ||: %lang(tr) %{_datadir}/xpdf/turkish %{_datadir}/xpdf/cyrillic %{_datadir}/xpdf/latin2 +%endif %files devel %{_includedir}/xpdf/ %{_libdir}/lib*.so +%files libs +%{_libdir}/lib*.so.* + %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 1:4.06-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jan 17 2026 Fedora Release Engineering - 1:4.06-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Tue Nov 18 2025 Tom Callaway - 1:4.06-1 +- update to 4.06 + +* Thu Jul 31 2025 Tom Callaway - 1:4.05-8 +- passing -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to fix FTBFS with CMake4 (bz2381643) + +* Fri Jul 25 2025 Fedora Release Engineering - 1:4.05-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jan 19 2025 Fedora Release Engineering - 1:4.05-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Jul 20 2024 Fedora Release Engineering - 1:4.05-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed May 29 2024 Tom Callaway - 4.05-4 +- apply fix for CVE-2024-4141, thanks to Petr Gajdos and Derek Noonburg + +* Fri Apr 5 2024 Peter Lemenkov - 4.05-3 +- Verify GPG signature + +* Thu Feb 29 2024 Tom Callaway - 4.05-2 +- update langpacks + +* Tue Feb 27 2024 Than Ngo - 4.05-1 +- fixed bz#2263444, update to 4.05 + +* Sat Jan 27 2024 Fedora Release Engineering - 1:4.04-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 1:4.04-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jun 16 2023 Than Ngo - 1:4.04-9 +- added ELN/RHEL conditions + +* Fri Apr 28 2023 Tom Callaway 1:4.04-8 +- move libs to -libs subpackage to minimize dep footprint of texlive-pdftex (bz2188328) + +* Tue Feb 21 2023 Than Ngo - 4.04-7 +- migrated to SPDX license + +* Thu Feb 16 2023 Tom Callaway - 1:4.04-6 +- drop now unnecessary libpaper2 patch + +* Mon Jan 30 2023 Tom Callaway - 1:4.04-5 +- pull in all the headers +- apply null fix for default var in GlobalParams() +- make a libxpdfcore for texlive-base to use + +* Sat Jan 21 2023 Fedora Release Engineering - 1:4.04-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sun Jan 8 2023 Tom Callaway - 1:4.04-3 +- fix build with libpaper2, rebuild for it + +* Sat Jul 23 2022 Fedora Release Engineering - 1:4.04-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Apr 22 2022 Tom Callaway - 1:4.04-1 +- update to 4.04 + +* Sat Jan 22 2022 Fedora Release Engineering - 1:4.03-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 1:4.03-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Feb 2 2021 Tom Callaway - 1:4.03-1 +- update to 4.03 + +* Thu Jan 28 2021 Fedora Release Engineering - 1:4.02-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 1:4.02-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jun 26 2020 Tom Callaway - 1:4.02-4 +- generate and apply fix based on poppler fix for CVE-2019-12360 + +* Fri Jan 31 2020 Fedora Release Engineering - 1:4.02-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Dec 2 2019 Tom Callaway - 1:4.02-2 +- apply upstream fix for CVE-2019-17064 + +* Wed Oct 16 2019 Tom Callaway - 1:4.02-1 +- update to 4.02 + +* Sat Jul 27 2019 Fedora Release Engineering - 1:4.01-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 22 2019 Tom Callaway 1:4.01-1 +- update to 4.01 + +* Sun Feb 03 2019 Fedora Release Engineering - 1:4.00-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 1:4.00-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Apr 30 2018 Tom Callaway - 1:4.00-7 +- add Requires: qt5-qtsvg to ensure icons are shown + * Fri Feb 09 2018 Fedora Release Engineering - 1:4.00-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild