Compare commits

...

14 Commits

Author SHA1 Message Date
Benjamin A. Beasley
9f124b497f Add a man page for the Xalan command-line tool 2024-04-05 13:22:32 -04:00
Benjamin A. Beasley
d560232797 Split libraries into a -libs subpackage separate from the command-line tool 2024-04-05 13:22:32 -04:00
Benjamin A. Beasley
c5b5aa7250 Make the -doc subpackage noarch 2024-04-05 13:22:32 -04:00
Benjamin A. Beasley
f2d51a9404 Add an rpmlintrc file
[skip changelog]
2024-04-05 13:22:32 -04:00
Benjamin A. Beasley
3cb349ac5f Convert some stray CRNL line endings 2024-04-05 13:22:32 -04:00
Benjamin A. Beasley
86cd3616f1 Do not install README.md in the base package, only in -doc 2024-04-05 13:22:31 -04:00
Benjamin A. Beasley
27ef2e4037 Do not install KEYS 2024-04-05 13:22:31 -04:00
Benjamin A. Beasley
369c548037 Treat CREDITS and NOTICE as additional license files 2024-04-05 13:22:31 -04:00
Benjamin A. Beasley
b23aae75d5 Save some space in the -doc subpackage by hardlinking duplicate files 2024-04-05 13:22:31 -04:00
Benjamin A. Beasley
c1ab286eef Switch URL from HTTP to HTTPS 2024-04-05 13:22:30 -04:00
Benjamin A. Beasley
f4e32bbb92 Put the GitHub URL in its own macro
[skip changelog]
2024-04-05 13:22:08 -04:00
Benjamin A. Beasley
a4f5818966 Trivially simplify one files list 2024-04-05 13:22:08 -04:00
Benjamin A. Beasley
1a0a944d7f Indicate dirs. in files list with trailing slashes 2024-04-05 13:22:08 -04:00
Benjamin A. Beasley
24acd886b3 Update License to SPDX 2024-04-05 13:22:08 -04:00
3 changed files with 123 additions and 25 deletions

52
Xalan.1 Normal file
View File

@ -0,0 +1,52 @@
.TH XALAN "1" "April 2024" "" "User Commands"
.SH NAME
.B Xalan
\(en Transform XML documents using a stylesheet
.SH SYNOPSIS
.B Xalan
.RI [ OPTIONS ]
.I source
.I stylesheet
.SH DESCRIPTION
Transform XML documents using a stylesheet
that conforms to XSLT 1.0 standards.
.SH OPTIONS
A dash as the
.I source
argument reads from stdin.
.RB ( \-
cannot be used for both arguments.)
.TP
.B \-a
Use xml-stylesheet PI, not the
.I stylesheet
argument.
.TP
.B \-e\ \fIencoding
Force the specified encoding for the output.
.TP
.B \-i\ \fIinteger
Indent the specified amount.
.TP
.B \-m
Omit the
.B META
tag in HTML output.
.TP
.B \-o\ \fIfilename
Write output to the specified file.
.TP
.B \-p\ \fIname\ expression
Sets a stylesheet parameter.
.TP
.B \-t
Display timing information.
.TP
.B \-u
Disable escaping of URLs in HTML output.
.TP
.B \-?
Display a help message.
.TP
.B \-v
Validates source documents.

10
xalan-c.rpmlintrc Normal file
View File

@ -0,0 +1,10 @@
# Not a real spelling error:
addFilter(r" spelling-error \('([Ss]tylesheet)s?',")
# Hardlinks within directories owned by a single package are safe.
addFilter(r" cross-directory-hard-link /\S+/xalan-c-doc/\S+ /\S+/xalan-c-doc/")
# All documentation is in the -doc subpackage.
addFilter(r" no-documentation$")
#xalan-c.x86_64: W: no-manual-page-for-binary Xalan
#xalan-c.x86_64: W: no-documentation
#xalan-c-devel.x86_64: W: no-documentation
#xalan-c-doc.x86_64: E: no-binary

View File

@ -10,35 +10,59 @@ Version: 1.12.0
Release: %autorelease Release: %autorelease
Summary: Xalan XSLT processor for C/C++ Summary: Xalan XSLT processor for C/C++
License: ASL 2.0 # The entire source is Apache-2.0, except cmake/RunTest.cmake, which is
URL: http://xalan.apache.org/xalan-c/ # libtiff, but is a build-system file that does not contribute to the licenses
# of the binary RPMs.
License: Apache-2.0
URL: https://apache.github.io/xalan-c/
%global tag Xalan-C_%(echo '%{version}' | tr . _) %global tag Xalan-C_%(echo '%{version}' | tr . _)
%global tar_name xalan_c-%(echo %{version} | cut -d . -f -2) %global tar_name xalan_c-%(echo %{version} | cut -d . -f -2)
%global release_url https://github.com/apache/xalan-c/releases/download/%{tag} %global forgeurl https://github.com/apache/xalan-c/
Source0: %{release_url}/%{tar_name}.tar.gz %global releaseurl %{forgeurl}/releases/download/%{tag}
Source1: %{release_url}/%{tar_name}.tar.gz.asc Source0: %{releaseurl}/%{tar_name}.tar.gz
Source2: %{release_url}/KEYS Source1: %{releaseurl}/%{tar_name}.tar.gz.asc
Source2: %{releaseurl}/KEYS
# Man page hand-written for Fedora in groff_man(7) format based on Xalan -?
Source3: Xalan.1
BuildRequires: gnupg2 BuildRequires: gnupg2
BuildRequires: cmake BuildRequires: cmake
# Either make or ninja is supported. # Either make or ninja is supported.
BuildRequires: ninja-build BuildRequires: ninja-build
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: dos2unix
BuildRequires: hardlink
BuildRequires: xerces-c-devel BuildRequires: xerces-c-devel
%if %{with icu} %if %{with icu}
BuildRequires: libicu-devel BuildRequires: libicu-devel
%endif %endif
%description Requires: xalan-c-libs%{?_isa} = %{version}-%{release}
%global common_description %{expand:
The Apache Xalan-C++ Project provides a library and a command line program to The Apache Xalan-C++ Project provides a library and a command line program to
transform XML documents using a stylesheet that conforms to XSLT 1.0 standards. transform XML documents using a stylesheet that conforms to XSLT 1.0 standards.
Xalan is a project of the Apache Software Foundation. Xalan is a project of the Apache Software Foundation.}
%description %{common_description}
This package contains the command-line tool.
%package libs
Summary: Shared libraries for xalan-c
%description libs
The xalan-c-libs package contains libraries needed by the command-line tool and
by applications that use xalan-c.
%package devel %package devel
Summary: Development files for xalan-c Summary: Development files for xalan-c
Requires: xalan-c%{?_isa} = %{version}-%{release} Requires: xalan-c-libs%{?_isa} = %{version}-%{release}
%description devel %description devel
The xalan-c-devel package contains libraries and header files for developing The xalan-c-devel package contains libraries and header files for developing
@ -55,6 +79,7 @@ Summary: Documentation for xalan-c
# Normally, we would enable the Doxygen PDF documentation as a lesser # Normally, we would enable the Doxygen PDF documentation as a lesser
# substitute, but building it fails with: # substitute, but building it fails with:
# ! TeX capacity exceeded, sorry [pool size=5905151]. # ! TeX capacity exceeded, sorry [pool size=5905151].
BuildArch: noarch
%description doc %description doc
Documentation for xalan-c. See https://apache.github.io/xalan-c/ for full HTML Documentation for xalan-c. See https://apache.github.io/xalan-c/ for full HTML
@ -75,6 +100,12 @@ chmod -v a-x NOTICE
# samples are only tested and not installed), and is annoying to exclude. # samples are only tested and not installed), and is annoying to exclude.
rm -vf samples/configure samples/configure.in rm -vf samples/configure samples/configure.in
# Convert line endings as needed:
find docs samples src -type f -exec file '{}' '+' |
grep -F 'CRLF' |
awk -F ':' '{ print $1 }' |
xargs dos2unix --keepdate
%build %build
%cmake %{?with_icu:-Dtranscoder=icu} -GNinja %cmake %{?with_icu:-Dtranscoder=icu} -GNinja
@ -89,42 +120,47 @@ rm -vf samples/configure samples/configure.in
# the HTML version of the API documentation. # the HTML version of the API documentation.
rm -rf %{buildroot}%{_prefix}/share/doc/xalan-c/api rm -rf %{buildroot}%{_prefix}/share/doc/xalan-c/api
install -t '%{buildroot}%{_docdir}/%{name}-doc' -D -p -m 0644 \
README.md docs/*.md
cp -rvp docs/images/ samples/ '%{buildroot}%{_docdir}/%{name}-doc'
hardlink -c -v '%{buildroot}%{_docdir}/%{name}-doc'
install -t '%{buildroot}%{_mandir}/man1' -D -p -m 0644 '%{SOURCE3}'
%check %check
%ctest %ctest
%files %files
%license LICENSE
%doc CREDITS
%doc KEYS
%doc NOTICE
%doc README.md
%{_bindir}/Xalan %{_bindir}/Xalan
%{_libdir}/libxalanMsg.so.%{so_version} %{_mandir}/man1/Xalan.1*
%{_libdir}/libxalanMsg.so.%{so_version}.*
%{_libdir}/libxalan-c.so.%{so_version}
%{_libdir}/libxalan-c.so.%{so_version}.* %files libs
%license CREDITS LICENSE NOTICE
%{_libdir}/libxalanMsg.so.%{so_version}{,.*}
%{_libdir}/libxalan-c.so.%{so_version}{,.*}
%files devel %files devel
%{_libdir}/libxalanMsg.so %{_libdir}/libxalanMsg.so
%{_libdir}/libxalan-c.so %{_libdir}/libxalan-c.so
%{_includedir}/xalanc/ %{_includedir}/xalanc/
%dir %{_libdir}/cmake/XalanC %dir %{_libdir}/cmake/XalanC
%{_libdir}/cmake/XalanC/*.cmake %{_libdir}/cmake/XalanC/*.cmake
%dir %{_libdir}/pkgconfig %dir %{_libdir}/pkgconfig
%{_libdir}/pkgconfig/xalan-c.pc %{_libdir}/pkgconfig/xalan-c.pc
%files doc %files doc
%license LICENSE %license CREDITS LICENSE NOTICE
%doc CREDITS
%doc KEYS %{_docdir}/%{name}-doc/
%doc NOTICE
%doc README.md
%doc docs/*.md docs/images
%doc samples
%changelog %changelog