diff options
author | CoprDistGit <infra@openeuler.org> | 2023-10-30 11:01:30 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-10-30 11:01:30 +0000 |
commit | 71f0e4da1620fbf2aa3356c6d3d56e407880df46 (patch) | |
tree | 7d027dc72cbacfa4e2018cdd3c1063ceaa33f2db | |
parent | 5f3503601bf4143f724b4e70c036e548046e11aa (diff) |
automatic import of ghc-pandocopeneuler23.09
-rw-r--r-- | .gitignore | 1 | ||||
-rwxr-xr-x | CVE-2023-35936.patch | 124 | ||||
-rwxr-xr-x | CVE-2023-38745.patch | 68 | ||||
-rw-r--r-- | ghc-pandoc.spec | 410 | ||||
-rw-r--r-- | sources | 1 |
5 files changed, 604 insertions, 0 deletions
@@ -0,0 +1 @@ +/pandoc-3.1.3.tar.gz diff --git a/CVE-2023-35936.patch b/CVE-2023-35936.patch new file mode 100755 index 0000000..779d6d4 --- /dev/null +++ b/CVE-2023-35936.patch @@ -0,0 +1,124 @@ +From 5e381e3878b5da87ee7542f7e51c3c1a7fd84b89 Mon Sep 17 00:00:00 2001 +From: John MacFarlane <jgm@berkeley.edu> +Date: Tue, 20 Jun 2023 13:50:13 -0700 +Subject: [PATCH] Fix a security vulnerability in MediaBag and + T.P.Class.IO.writeMedia. + +This vulnerability, discovered by Entroy C, allows users to write +arbitrary files to any location by feeding pandoc a specially crafted +URL in an image element. The vulnerability is serious for anyone +using pandoc to process untrusted input. The vulnerability does +not affect pandoc when run with the `--sandbox` flag. +--- + src/Text/Pandoc/Class/IO.hs | 14 +++++++------- + src/Text/Pandoc/MediaBag.hs | 28 ++++++++++++++++------------ + 2 files changed, 23 insertions(+), 19 deletions(-) + +Index: pandoc-3.1.3/src/Text/Pandoc/Class/IO.hs +=================================================================== +--- pandoc-3.1.3.orig/src/Text/Pandoc/Class/IO.hs 2001-09-09 01:46:40.000000000 +0000 ++++ pandoc-3.1.3/src/Text/Pandoc/Class/IO.hs 2023-07-14 18:39:12.169005026 +0000 +@@ -50,7 +50,7 @@ import Network.HTTP.Client.Internal (add + import Network.HTTP.Client.TLS (mkManagerSettings) + import Network.HTTP.Types.Header ( hContentType ) + import Network.Socket (withSocketsDo) +-import Network.URI (unEscapeString) ++import Network.URI (URI(..), parseURI) + import System.Directory (createDirectoryIfMissing) + import System.Environment (getEnv) + import System.FilePath ((</>), takeDirectory, normalise) +@@ -122,11 +122,11 @@ newUniqueHash = hashUnique <$> liftIO Da + + openURL :: (PandocMonad m, MonadIO m) => Text -> m (B.ByteString, Maybe MimeType) + openURL u +- | Just u'' <- T.stripPrefix "data:" u = do +- let mime = T.takeWhile (/=',') u'' +- let contents = UTF8.fromString $ +- unEscapeString $ T.unpack $ T.drop 1 $ T.dropWhile (/=',') u'' +- return (decodeBase64Lenient contents, Just mime) ++ | Just (URI{ uriScheme = "data:", ++ uriPath = upath }) <- parseURI (T.unpack u) = do ++ let (mime, rest) = break (== '.') upath ++ let contents = UTF8.fromString $ drop 1 rest ++ return (decodeBase64Lenient contents, Just (T.pack mime)) + | otherwise = do + let toReqHeader (n, v) = (CI.mk (UTF8.fromText n), UTF8.fromText v) + customHeaders <- map toReqHeader <$> getsCommonState stRequestHeaders +@@ -224,7 +224,7 @@ writeMedia :: (PandocMonad m, MonadIO m) + -> m () + writeMedia dir (fp, _mt, bs) = do + -- we normalize to get proper path separators for the platform +- let fullpath = normalise $ dir </> unEscapeString fp ++ let fullpath = normalise $ dir </> fp + liftIOError (createDirectoryIfMissing True) (takeDirectory fullpath) + logIOError $ BL.writeFile fullpath bs + +Index: pandoc-3.1.3/src/Text/Pandoc/MediaBag.hs +=================================================================== +--- pandoc-3.1.3.orig/src/Text/Pandoc/MediaBag.hs 2001-09-09 01:46:40.000000000 +0000 ++++ pandoc-3.1.3/src/Text/Pandoc/MediaBag.hs 2023-07-14 18:39:12.170005139 +0000 +@@ -28,6 +28,7 @@ import Data.Data (Data) + import qualified Data.Map as M + import Data.Maybe (fromMaybe, isNothing) + import Data.Typeable (Typeable) ++import Network.URI (unEscapeString) + import System.FilePath + import qualified System.FilePath.Posix as Posix + import qualified System.FilePath.Windows as Windows +@@ -35,7 +36,7 @@ import Text.Pandoc.MIME (MimeType, getMi + import Data.Text (Text) + import qualified Data.Text as T + import Data.Digest.Pure.SHA (sha1, showDigest) +-import Network.URI (URI (..), parseURI) ++import Network.URI (URI (..), parseURI, isURI) + + data MediaItem = + MediaItem +@@ -54,9 +55,12 @@ newtype MediaBag = MediaBag (M.Map Text + instance Show MediaBag where + show bag = "MediaBag " ++ show (mediaDirectory bag) + +--- | We represent paths with /, in normalized form. ++-- | We represent paths with /, in normalized form. Percent-encoding ++-- is resolved. + canonicalize :: FilePath -> Text +-canonicalize = T.replace "\\" "/" . T.pack . normalise ++canonicalize fp ++ | isURI fp = T.pack fp ++ | otherwise = T.replace "\\" "/" . T.pack . normalise . unEscapeString $ fp + + -- | Delete a media item from a 'MediaBag', or do nothing if no item corresponds + -- to the given path. +@@ -79,23 +83,23 @@ insertMedia fp mbMime contents (MediaBag + , mediaContents = contents + , mediaMimeType = mt } + fp' = canonicalize fp ++ fp'' = T.unpack fp' + uri = parseURI fp +- newpath = if Posix.isRelative fp +- && Windows.isRelative fp ++ newpath = if Posix.isRelative fp'' ++ && Windows.isRelative fp'' + && isNothing uri +- && ".." `notElem` splitDirectories fp +- then T.unpack fp' ++ && not (".." `T.isInfixOf` fp') ++ then fp'' + else showDigest (sha1 contents) <> "." <> ext +- fallback = case takeExtension fp of +- ".gz" -> getMimeTypeDef $ dropExtension fp +- _ -> getMimeTypeDef fp ++ fallback = case takeExtension fp'' of ++ ".gz" -> getMimeTypeDef $ dropExtension fp'' ++ _ -> getMimeTypeDef fp'' + mt = fromMaybe fallback mbMime +- path = maybe fp uriPath uri ++ path = maybe fp'' (unEscapeString . uriPath) uri + ext = case takeExtension path of + '.':e -> e + _ -> maybe "" T.unpack $ extensionFromMimeType mt + +- + -- | Lookup a media item in a 'MediaBag', returning mime type and contents. + lookupMedia :: FilePath + -> MediaBag diff --git a/CVE-2023-38745.patch b/CVE-2023-38745.patch new file mode 100755 index 0000000..dd4354f --- /dev/null +++ b/CVE-2023-38745.patch @@ -0,0 +1,68 @@ +From eddedbfc14916aa06fc01ff04b38aeb30ae2e625 Mon Sep 17 00:00:00 2001 +From: John MacFarlane <jgm@berkeley.edu> +Date: Thu, 20 Jul 2023 09:26:38 -0700 +Subject: [PATCH] Fix new variant of the vulnerability in CVE-2023-35936. + +Guilhem Moulin noticed that the fix to CVE-2023-35936 was incomplete. +An attacker could get around it by double-encoding the malicious +extension to create or override arbitrary files. + + $ echo '' >b.md + $ .cabal/bin/pandoc b.md --extract-media=bar + <p><img + src="bar/2a0eaa89f43fada3e6c577beea4f2f8f53ab6a1d.lua+%2f%2e%2e%2f%2e%2e%2fb%2elua" /></p> + $ cat b.lua + print "hello" + $ find bar + bar/ + bar/2a0eaa89f43fada3e6c577beea4f2f8f53ab6a1d.lua+ + +This commit adds a test case for this more complex attack and fixes +the vulnerability. (The fix is quite simple: if the URL-unescaped +filename or extension contains a '%', we just use the sha1 hash of the +contents as the canonical name, just as we do if the filename contains +'..'.) +--- + src/Text/Pandoc/Class/IO.hs | 2 ++ + src/Text/Pandoc/MediaBag.hs | 7 ++++--- + test/Tests/MediaBag.hs | 12 +++++++++++- + 3 files changed, 17 insertions(+), 4 deletions(-) + +Index: pandoc-3.1.3/src/Text/Pandoc/Class/IO.hs +=================================================================== +--- pandoc-3.1.3.orig/src/Text/Pandoc/Class/IO.hs 2023-09-21 09:24:23.311539088 +0000 ++++ pandoc-3.1.3/src/Text/Pandoc/Class/IO.hs 2023-09-21 09:27:24.005959930 +0000 +@@ -224,6 +224,8 @@ writeMedia :: (PandocMonad m, MonadIO m) + -> m () + writeMedia dir (fp, _mt, bs) = do + -- we normalize to get proper path separators for the platform ++ -- we unescape URI encoding, but given how insertMedia ++ -- is written, we shouldn't have any % in a canonical media name... + let fullpath = normalise $ dir </> fp + liftIOError (createDirectoryIfMissing True) (takeDirectory fullpath) + logIOError $ BL.writeFile fullpath bs +Index: pandoc-3.1.3/src/Text/Pandoc/MediaBag.hs +=================================================================== +--- pandoc-3.1.3.orig/src/Text/Pandoc/MediaBag.hs 2023-09-21 09:24:23.311539088 +0000 ++++ pandoc-3.1.3/src/Text/Pandoc/MediaBag.hs 2023-09-21 09:27:24.006959920 +0000 +@@ -89,16 +89,17 @@ insertMedia fp mbMime contents (MediaBag + && Windows.isRelative fp'' + && isNothing uri + && not (".." `T.isInfixOf` fp') ++ && '%' `notElem` fp'' + then fp'' +- else showDigest (sha1 contents) <> "." <> ext ++ else showDigest (sha1 contents) <> ext + fallback = case takeExtension fp'' of + ".gz" -> getMimeTypeDef $ dropExtension fp'' + _ -> getMimeTypeDef fp'' + mt = fromMaybe fallback mbMime + path = maybe fp'' (unEscapeString . uriPath) uri + ext = case takeExtension path of +- '.':e -> e +- _ -> maybe "" T.unpack $ extensionFromMimeType mt ++ '.':e | '%' `notElem` e -> '.':e ++ _ -> maybe "" (\x -> '.':T.unpack x) $ extensionFromMimeType mt + + -- | Lookup a media item in a 'MediaBag', returning mime type and contents. + lookupMedia :: FilePath diff --git a/ghc-pandoc.spec b/ghc-pandoc.spec new file mode 100644 index 0000000..5d141fa --- /dev/null +++ b/ghc-pandoc.spec @@ -0,0 +1,410 @@ +%global pkg_name pandoc +%global pkgver %{pkg_name}-%{version} +%bcond_with tests + +Name: ghc-%{pkg_name} +Version: 3.1.3 +Release: 1 +Summary: Conversion between markup formats +License: GPL-2.0-or-later +URL: https://hackage.haskell.org/package/%{pkg_name} +Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz +Patch1: CVE-2023-35936.patch +Patch2: CVE-2023-38745.patch +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-Glob-devel +BuildRequires: ghc-Glob-prof +BuildRequires: ghc-JuicyPixels-devel +BuildRequires: ghc-JuicyPixels-prof +BuildRequires: ghc-SHA-devel +BuildRequires: ghc-SHA-prof +BuildRequires: ghc-aeson-devel +BuildRequires: ghc-aeson-pretty-devel +BuildRequires: ghc-aeson-pretty-prof +BuildRequires: ghc-aeson-prof +BuildRequires: ghc-array-devel +BuildRequires: ghc-array-prof +BuildRequires: ghc-attoparsec-devel +BuildRequires: ghc-attoparsec-prof +BuildRequires: ghc-base-devel +BuildRequires: ghc-base-prof +BuildRequires: ghc-base64-devel +BuildRequires: ghc-base64-prof +BuildRequires: ghc-binary-devel +BuildRequires: ghc-binary-prof +BuildRequires: ghc-blaze-html-devel +BuildRequires: ghc-blaze-html-prof +BuildRequires: ghc-blaze-markup-devel +BuildRequires: ghc-blaze-markup-prof +BuildRequires: ghc-bytestring-devel +BuildRequires: ghc-bytestring-prof +BuildRequires: ghc-case-insensitive-devel +BuildRequires: ghc-case-insensitive-prof +BuildRequires: ghc-citeproc-devel +BuildRequires: ghc-citeproc-prof +BuildRequires: ghc-commonmark-devel +BuildRequires: ghc-commonmark-extensions-devel +BuildRequires: ghc-commonmark-extensions-prof +BuildRequires: ghc-commonmark-pandoc-devel +BuildRequires: ghc-commonmark-pandoc-prof +BuildRequires: ghc-commonmark-prof +BuildRequires: ghc-connection-devel +BuildRequires: ghc-connection-prof +BuildRequires: ghc-containers-devel +BuildRequires: ghc-containers-prof +BuildRequires: ghc-data-default-devel +BuildRequires: ghc-data-default-prof +BuildRequires: ghc-deepseq-devel +BuildRequires: ghc-deepseq-prof +BuildRequires: ghc-directory-devel +BuildRequires: ghc-directory-prof +BuildRequires: ghc-doclayout-devel +BuildRequires: ghc-doclayout-prof +BuildRequires: ghc-doctemplates-devel +BuildRequires: ghc-doctemplates-prof +BuildRequires: ghc-emojis-devel +BuildRequires: ghc-emojis-prof +BuildRequires: ghc-exceptions-devel +BuildRequires: ghc-exceptions-prof +BuildRequires: ghc-file-embed-devel +BuildRequires: ghc-file-embed-prof +BuildRequires: ghc-filepath-devel +BuildRequires: ghc-filepath-prof +BuildRequires: ghc-gridtables-devel +BuildRequires: ghc-gridtables-prof +BuildRequires: ghc-haddock-library-devel +BuildRequires: ghc-haddock-library-prof +BuildRequires: ghc-http-client-devel +BuildRequires: ghc-http-client-prof +BuildRequires: ghc-http-client-tls-devel +BuildRequires: ghc-http-client-tls-prof +BuildRequires: ghc-http-types-devel +BuildRequires: ghc-http-types-prof +BuildRequires: ghc-ipynb-devel +BuildRequires: ghc-ipynb-prof +BuildRequires: ghc-jira-wiki-markup-devel +BuildRequires: ghc-jira-wiki-markup-prof +BuildRequires: ghc-mime-types-devel +BuildRequires: ghc-mime-types-prof +BuildRequires: ghc-mtl-devel +BuildRequires: ghc-mtl-prof +BuildRequires: ghc-network-devel +BuildRequires: ghc-network-prof +BuildRequires: ghc-network-uri-devel +BuildRequires: ghc-network-uri-prof +BuildRequires: ghc-pandoc-types-devel +BuildRequires: ghc-pandoc-types-prof +BuildRequires: ghc-parsec-devel +BuildRequires: ghc-parsec-prof +BuildRequires: ghc-pretty-devel +BuildRequires: ghc-pretty-prof +BuildRequires: ghc-pretty-show-devel +BuildRequires: ghc-pretty-show-prof +BuildRequires: ghc-process-devel +BuildRequires: ghc-process-prof +BuildRequires: ghc-random-devel +BuildRequires: ghc-random-prof +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-safe-devel +BuildRequires: ghc-safe-prof +BuildRequires: ghc-scientific-devel +BuildRequires: ghc-scientific-prof +BuildRequires: ghc-skylighting-core-devel +BuildRequires: ghc-skylighting-core-prof +BuildRequires: ghc-skylighting-devel +BuildRequires: ghc-skylighting-prof +BuildRequires: ghc-split-devel +BuildRequires: ghc-split-prof +BuildRequires: ghc-syb-devel +BuildRequires: ghc-syb-prof +BuildRequires: ghc-tagsoup-devel +BuildRequires: ghc-tagsoup-prof +BuildRequires: ghc-temporary-devel +BuildRequires: ghc-temporary-prof +BuildRequires: ghc-texmath-devel +BuildRequires: ghc-texmath-prof +BuildRequires: ghc-text-conversions-devel +BuildRequires: ghc-text-conversions-prof +BuildRequires: ghc-text-devel +BuildRequires: ghc-text-prof +BuildRequires: ghc-time-devel +BuildRequires: ghc-time-prof +BuildRequires: ghc-typst-devel +BuildRequires: ghc-typst-prof +BuildRequires: ghc-unicode-collation-devel +BuildRequires: ghc-unicode-collation-prof +BuildRequires: ghc-unicode-transforms-devel +BuildRequires: ghc-unicode-transforms-prof +BuildRequires: ghc-unix-devel +BuildRequires: ghc-unix-prof +BuildRequires: ghc-vector-devel +BuildRequires: ghc-vector-prof +BuildRequires: ghc-xml-conduit-devel +BuildRequires: ghc-xml-conduit-prof +BuildRequires: ghc-xml-devel +BuildRequires: ghc-xml-prof +BuildRequires: ghc-xml-types-devel +BuildRequires: ghc-xml-types-prof +BuildRequires: ghc-yaml-devel +BuildRequires: ghc-yaml-prof +BuildRequires: ghc-zip-archive-devel +BuildRequires: ghc-zip-archive-prof +BuildRequires: ghc-zlib-devel +BuildRequires: ghc-zlib-prof +ExcludeArch: %{ix86} +%if %{with tests} +BuildRequires: ghc-Diff-devel +BuildRequires: ghc-Diff-prof +BuildRequires: ghc-tasty-devel +BuildRequires: ghc-tasty-golden-devel +BuildRequires: ghc-tasty-golden-prof +BuildRequires: ghc-tasty-hunit-devel +BuildRequires: ghc-tasty-hunit-prof +BuildRequires: ghc-tasty-prof +BuildRequires: ghc-tasty-quickcheck-devel +BuildRequires: ghc-tasty-quickcheck-prof +%endif + +%description +Pandoc is a Haskell library for converting from one markup format to another. +The formats it can handle include + +- light markup formats (many variants of Markdown, reStructuredText, AsciiDoc, +Org-mode, Muse, Textile, txt2tags) - HTML formats (HTML 4 and 5) - Ebook +formats (EPUB v2 and v3, FB2) - Documentation formats (GNU TexInfo, Haddock) - +Roff formats (man, ms) - TeX formats (LaTeX, ConTeXt) - Typst - XML formats +(DocBook 4 and 5, JATS, TEI Simple, OpenDocument) - Outline formats (OPML) - +Bibliography formats (BibTeX, BibLaTeX, CSL JSON, CSL YAML, RIS) - Word +processor formats (Docx, RTF, ODT) - Interactive notebook formats (Jupyter +notebook ipynb) - Page layout formats (InDesign ICML) - Wiki markup formats +(MediaWiki, DokuWiki, TikiWiki, TWiki, Vimwiki, XWiki, ZimWiki, Jira wiki, +Creole) - Slide show formats (LaTeX Beamer, PowerPoint, Slidy, reveal.js, +Slideous, S5, DZSlides) - Data formats (CSV and TSV tables) - PDF (via external +programs such as pdflatex or wkhtmltopdf) + +Pandoc can convert mathematical content in documents between TeX, MathML, Word +equations, roff eqn, typst, and plain text. It includes a powerful system for +automatic citations and bibliographies, and it can be customized extensively +using templates, filters, and custom readers and writers written in Lua. + +%package devel +Summary: Haskell %{pkg_name} library development files +Requires: %{name} = %{version}-%{release} +Requires: ghc-compiler = %{ghc_version} +Requires(post): ghc-compiler = %{ghc_version} +Requires(postun): ghc-compiler = %{ghc_version} + +%description devel +This package provides the Haskell %{pkg_name} library development files. + +%package -n ghc-%{pkg_name}-help +Summary: Haskell %{pkg_name} library documentation +BuildArch: noarch + +%description -n ghc-%{pkg_name}-help +This package provides the Haskell %{pkg_name} library documentation. + +%package -n ghc-%{pkg_name}-prof +Summary: Haskell %{pkg_name} profiling library +Requires: ghc-%{pkg_name}-devel = %{version}-%{release} +Supplements: (ghc-%{pkg_name}-devel and ghc-prof) + +%description -n ghc-%{pkg_name}-prof +This package provides the Haskell %{pkg_name} profiling library. + +%prep +%autosetup -p1 -n %{pkg_name}-%{version} + +%build +%ghc_lib_build + +%install +%ghc_lib_install + +%check +%cabal_test + +%post devel +%ghc_pkg_recache + +%postun devel +%ghc_pkg_recache + +%files -f %{name}.files +%license COPYING.md +%dir %{_datadir}/%{pkg_name}-%{version} +%dir %{_datadir}/%{pkg_name}-%{version}/citeproc +%dir %{_datadir}/%{pkg_name}-%{version}/citeproc/biblatex-localization +%dir %{_datadir}/%{pkg_name}-%{version}/data +%dir %{_datadir}/%{pkg_name}-%{version}/data/docx +%dir %{_datadir}/%{pkg_name}-%{version}/data/docx/_rels +%dir %{_datadir}/%{pkg_name}-%{version}/data/docx/docProps +%dir %{_datadir}/%{pkg_name}-%{version}/data/docx/word +%dir %{_datadir}/%{pkg_name}-%{version}/data/docx/word/_rels +%dir %{_datadir}/%{pkg_name}-%{version}/data/docx/word/theme +%dir %{_datadir}/%{pkg_name}-%{version}/data/dzslides +%dir %{_datadir}/%{pkg_name}-%{version}/data/odt +%dir %{_datadir}/%{pkg_name}-%{version}/data/odt/META-INF +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/_rels +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/docProps +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/_rels +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/notesMasters +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/notesMasters/_rels +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/notesSlides +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/notesSlides/_rels +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/_rels +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideMasters +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideMasters/_rels +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slides +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slides/_rels +%dir %{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/theme +%dir %{_datadir}/%{pkg_name}-%{version}/data/templates +%dir %{_datadir}/%{pkg_name}-%{version}/data/translations +%{_datadir}/%{pkg_name}-%{version}/COPYRIGHT +%{_datadir}/%{pkg_name}-%{version}/MANUAL.txt +%{_datadir}/%{pkg_name}-%{version}/citeproc/biblatex-localization/*.lbx.strings +%{_datadir}/%{pkg_name}-%{version}/data/abbreviations +%{_datadir}/%{pkg_name}-%{version}/data/bash_completion.tpl +%{_datadir}/%{pkg_name}-%{version}/data/creole.lua +%{_datadir}/%{pkg_name}-%{version}/data/default.csl +%{_datadir}/%{pkg_name}-%{version}/data/docbook-entities.txt +%{_datadir}/%{pkg_name}-%{version}/data/docx/?Content_Types?.xml +%{_datadir}/%{pkg_name}-%{version}/data/docx/_rels/.rels +%{_datadir}/%{pkg_name}-%{version}/data/docx/docProps/app.xml +%{_datadir}/%{pkg_name}-%{version}/data/docx/docProps/core.xml +%{_datadir}/%{pkg_name}-%{version}/data/docx/docProps/custom.xml +%{_datadir}/%{pkg_name}-%{version}/data/docx/word/_rels/document.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/docx/word/_rels/footnotes.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/docx/word/comments.xml +%{_datadir}/%{pkg_name}-%{version}/data/docx/word/document.xml +%{_datadir}/%{pkg_name}-%{version}/data/docx/word/fontTable.xml +%{_datadir}/%{pkg_name}-%{version}/data/docx/word/footnotes.xml +%{_datadir}/%{pkg_name}-%{version}/data/docx/word/numbering.xml +%{_datadir}/%{pkg_name}-%{version}/data/docx/word/settings.xml +%{_datadir}/%{pkg_name}-%{version}/data/docx/word/styles.xml +%{_datadir}/%{pkg_name}-%{version}/data/docx/word/theme/theme1.xml +%{_datadir}/%{pkg_name}-%{version}/data/docx/word/webSettings.xml +%{_datadir}/%{pkg_name}-%{version}/data/dzslides/template.html +%{_datadir}/%{pkg_name}-%{version}/data/epub.css +%{_datadir}/%{pkg_name}-%{version}/data/init.lua +%{_datadir}/%{pkg_name}-%{version}/data/odt/META-INF/manifest.xml +%{_datadir}/%{pkg_name}-%{version}/data/odt/content.xml +%{_datadir}/%{pkg_name}-%{version}/data/odt/manifest.rdf +%{_datadir}/%{pkg_name}-%{version}/data/odt/meta.xml +%{_datadir}/%{pkg_name}-%{version}/data/odt/mimetype +%{_datadir}/%{pkg_name}-%{version}/data/odt/styles.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/?Content_Types?.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/_rels/.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/docProps/app.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/docProps/core.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/_rels/presentation.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/notesMasters/_rels/notesMaster1.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/notesMasters/notesMaster1.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/notesSlides/_rels/notesSlide1.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/notesSlides/_rels/notesSlide2.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/notesSlides/notesSlide1.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/notesSlides/notesSlide2.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/presProps.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/presentation.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/_rels/slideLayout1.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/_rels/slideLayout10.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/_rels/slideLayout11.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/_rels/slideLayout2.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/_rels/slideLayout3.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/_rels/slideLayout4.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/_rels/slideLayout5.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/_rels/slideLayout6.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/_rels/slideLayout7.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/_rels/slideLayout8.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/_rels/slideLayout9.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/slideLayout1.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/slideLayout10.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/slideLayout11.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/slideLayout2.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/slideLayout3.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/slideLayout4.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/slideLayout5.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/slideLayout6.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/slideLayout7.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/slideLayout8.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideLayouts/slideLayout9.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideMasters/_rels/slideMaster1.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slideMasters/slideMaster1.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slides/_rels/slide1.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slides/_rels/slide2.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slides/_rels/slide3.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slides/_rels/slide4.xml.rels +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slides/slide1.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slides/slide2.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slides/slide3.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/slides/slide4.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/tableStyles.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/theme/theme1.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/theme/theme2.xml +%{_datadir}/%{pkg_name}-%{version}/data/pptx/ppt/viewProps.xml +%{_datadir}/%{pkg_name}-%{version}/data/templates/affiliations.jats +%{_datadir}/%{pkg_name}-%{version}/data/templates/article.jats_publishing +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.asciidoc +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.asciidoctor +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.biblatex +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.bibtex +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.chunkedhtml +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.commonmark +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.context +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.docbook4 +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.docbook5 +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.dokuwiki +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.dzslides +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.epub2 +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.epub3 +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.haddock +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.html4 +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.html5 +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.icml +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.jats_archiving +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.jats_articleauthoring +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.jats_publishing +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.jira +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.latex +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.man +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.markdown +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.markua +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.mediawiki +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.ms +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.muse +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.opendocument +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.opml +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.org +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.plain +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.revealjs +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.rst +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.rtf +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.s5 +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.slideous +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.slidy +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.tei +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.texinfo +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.textile +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.typst +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.xwiki +%{_datadir}/%{pkg_name}-%{version}/data/templates/default.zimwiki +%{_datadir}/%{pkg_name}-%{version}/data/templates/definitions.typst +%{_datadir}/%{pkg_name}-%{version}/data/templates/styles.citations.html +%{_datadir}/%{pkg_name}-%{version}/data/templates/styles.html +%{_datadir}/%{pkg_name}-%{version}/data/templates/template.typst +%{_datadir}/%{pkg_name}-%{version}/data/translations/*.yaml + +%files devel -f %{name}-devel.files +%doc AUTHORS.md README.md changelog.md + +%files -n ghc-%{pkg_name}-help -f ghc-%{pkg_name}-help.files +%license COPYING.md + +%files -n ghc-%{pkg_name}-prof -f ghc-%{pkg_name}-prof.files + +%changelog +* Thu Sep 28 2023 Lin Runze <lrzlin@163.com> 3.1.3-1 +- Initial packaging (Version 3.1.3) @@ -0,0 +1 @@ +68dcc931cb575a4b86995bb293eccab7 pandoc-3.1.3.tar.gz |