docbook/valgrind

This commit is contained in:
YellowJacketLinux 2024-10-22 11:09:00 -07:00
parent 0e0886ff6c
commit 3e079db4e6
3 changed files with 285 additions and 3 deletions

View File

@ -140,12 +140,13 @@ Intermission Bootstrapping
[`git`](SPECS/git.spec). Fortunately the spec files I had written for my LFS
11.3 RPM system needed very little modification.
* Secondly, I decided it would be good to package [`gdb`](gdb.spec) and
`valgrind` now, so that package test suites that do more
extensive testing when those packages are available can do that testing.
[`valgrind`](SPECS/valgrind.spec) now, so that package test suites that do
more extensive testing when those packages are available can do that testing.
* Thirdly, I need to come up with a so-called best practices for RPM spec
files that I can use to audit my spec files.
Currently I am working on getting `gdb` and `valgrind` packaged.
Currently the first two are done, working on the third (in LaTeX, and not (yet)
in a public git)
Then I can go through the LFS book Chapter 8 in order, even rebuilding the
packages I already built so they have the benefit of gdb/valgrind in the test

167
SPECS/docbook-xml.spec Normal file
View File

@ -0,0 +1,167 @@
## FIXME - as it, it works, but I think it needs
# a postun (or preun?) scriplet that uses
# xmlcatalog --del rather than owning the
# catalog files, and a few other things, to be
# a robust package that plays well with others.
%if 0%{?!__xmlcatalog:1} == 1
%global __xmlcatalog %{_bindir}/xmlcatalog
%endif
Name: docbook-xml
Version: 4.5
Release: %{?repo}0.rc1%{?dist}
Summary: General purpose XML and SGML document type
BuildArch: noarch
Group: Applications/Publishing
License: Unspecified
URL: https://docbook.org/
Source0: https://www.docbook.org/xml/4.5/docbook-xml-4.5.zip
Requires(post): %{__xmlcatalog}
%description
DocBook is a schema (available in several languages including RELAX NG, SGML and
XML DTDs, and W3C XML Schema) maintained by the DocBook Technical Committee of
OASIS. It is particularly well suited to books and papers about computer
hardware and software (though it is by no means limited to these applications).
Because it is a large and robust schema, and because its main structures
correspond to the general notion of what constitutes a "book," DocBook has been
adopted by a large and growing community of authors writing books of all kinds.
DocBook is supported "out of the box" by a number of commercial tools, and there
is rapidly expanding support for it in a number of free software environments.
These features have combined to make DocBook a generally easy to understand,
widely useful, and very popular schema. Dozens of organizations are using
DocBook for millions of pages of documentation, in various print and online
formats, worldwide.
%prep
%setup -c
%build
%install
install -d -m755 %{buildroot}%{_datadir}/xml/docbook/xml-dtd-4.5
install -d -m755 %{buildroot}%{_sysconfdir}/xml
touch %{buildroot}%{_sysconfdir}/xml/docbook
touch %{buildroot}%{_sysconfdir}/xml/catalog
cp -af docbook.cat *.dtd ent/ *.mod \
%{buildroot}%{_datadir}/xml/docbook/xml-dtd-4.5
%post
if [ ! -e %{_sysconfdir}/xml/docbook ]; then
%{__xmlcatalog} --noout --create %{_sysconfdir}/xml/docbook ||:
fi
%{__xmlcatalog} --noout --add "public" \
"-//OASIS//DTD DocBook XML V4.5//EN" \
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \
%{_sysconfdir}/xml/docbook ||:
%{__xmlcatalog} --noout --add "public" \
"-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" \
"file://%{_datadir}/xml/docbook/xml-dtd-4.5/calstblx.dtd" \
%{_sysconfdir}/xml/docbook ||:
%{__xmlcatalog} --noout --add "public" \
"-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
"file://%{_datadir}/xml/docbook/xml-dtd-4.5/soextblx.dtd" \
%{_sysconfdir}/xml/docbook ||:
%{__xmlcatalog} --noout --add "public" \
"-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" \
"file://%{_datadir}/xml/docbook/xml-dtd-4.5/dbpoolx.mod" \
%{_sysconfdir}/xml/docbook ||:
%{__xmlcatalog} --noout --add "public" \
"-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" \
"file://%{_datadir}/xml/docbook/xml-dtd-4.5/dbhierx.mod" \
%{_sysconfdir}/xml/docbook ||:
%{__xmlcatalog} --noout --add "public" \
"-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" \
"file://%{_datadir}/xml/docbook/xml-dtd-4.5/htmltblx.mod" \
%{_sysconfdir}/xml/docbook ||:
%{__xmlcatalog} --noout --add "public" \
"-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" \
"file://%{_datadir}/xml/docbook/xml-dtd-4.5/dbnotnx.mod" \
%{_sysconfdir}/xml/docbook ||:
%{__xmlcatalog} --noout --add "public" \
"-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" \
"file://%{_datadir}/xml/docbook/xml-dtd-4.5/dbcentx.mod" \
%{_sysconfdir}/xml/docbook ||:
%{__xmlcatalog} --noout --add "public" \
"-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" \
"file://%{_datadir}/xml/docbook/xml-dtd-4.5/dbgenent.mod" \
%{_sysconfdir}/xml/docbook ||:
%{__xmlcatalog} --noout --add "rewriteSystem" \
"http://www.oasis-open.org/docbook/xml/4.5" \
"file://%{_datadir}/xml/docbook/xml-dtd-4.5" \
%{_sysconfdir}/xml/docbook ||:
%{__xmlcatalog} --noout --add "rewriteURI" \
"http://www.oasis-open.org/docbook/xml/4.5" \
"file://%{_datadir}/xml/docbook/xml-dtd-4.5" \
%{_sysconfdir}/xml/docbook ||:
if [ ! -e %{_sysconfdir}/xml/catalog ]; then
%{__xmlcatalog} --noout --create %{_sysconfdir}/xml/catalog ||:
fi
%{__xmlcatalog} --noout --add "delegatePublic" \
"-//OASIS//ENTITIES DocBook XML" \
"file://%{_sysconfdir}/xml/docbook" \
%{_sysconfdir}/xml/catalog ||:
%{__xmlcatalog} --noout --add "delegatePublic" \
"-//OASIS//DTD DocBook XML" \
"file://%{_sysconfdir}/xml/docbook" \
%{_sysconfdir}/xml/catalog ||:
%{__xmlcatalog} --noout --add "delegateSystem" \
"http://www.oasis-open.org/docbook/" \
"file://%{_sysconfdir}/xml/docbook" \
%{_sysconfdir}/xml/catalog ||:
%{__xmlcatalog} --noout --add "delegateURI" \
"http://www.oasis-open.org/docbook/" \
"file://%{_sysconfdir}/xml/docbook" \
%{_sysconfdir}/xml/catalog ||:
for DTDVERSION in 4.1.2 4.2 4.3 4.4; do
%{__xmlcatalog} --noout --add "public" \
"-//OASIS//DTD DocBook XML V$DTDVERSION//EN" \
"http://www.oasis-open.org/docbook/xml/$DTDVERSION/docbookx.dtd" \
%{_sysconfdir}/xml/docbook ||:
%{__xmlcatalog} --noout --add "rewriteSystem" \
"http://www.oasis-open.org/docbook/xml/$DTDVERSION" \
"file://%{_datadir}/xml/docbook/xml-dtd-4.5" \
%{_sysconfdir}/xml/docbook ||:
%{__xmlcatalog} --noout --add "rewriteURI" \
"http://www.oasis-open.org/docbook/xml/$DTDVERSION" \
"file://%{_datadir}/xml/docbook/xml-dtd-4.5" \
%{_sysconfdir}/xml/docbook ||:
%{__xmlcatalog} --noout --add "delegateSystem" \
"http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \
"file://%{_sysconfdir}/xml/docbook" \
%{_sysconfdir}/xml/catalog ||:
%{__xmlcatalog} --noout --add "delegateURI" \
"http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \
"file://%{_sysconfdir}/xml/docbook" \
%{_sysconfdir}/xml/catalog ||:
done
%files
%defattr(-,root,root,-)
%dir %{_sysconfdir}/xml
%ghost %{_sysconfdir}/xml/docbook
%ghost %{_sysconfdir}/xml/catalog
%dir %{_datadir}/xml
%dir %{_datadir}/xml/docbook
%dir %{_datadir}/xml/docbook/xml-dtd-%{version}
%attr(0644,root,root) %{_datadir}/xml/docbook/xml-dtd-%{version}/*.cat
%attr(0644,root,root) %{_datadir}/xml/docbook/xml-dtd-%{version}/*.dtd
%attr(0644,root,root) %{_datadir}/xml/docbook/xml-dtd-%{version}/*.mod
%dir %{_datadir}/xml/docbook/xml-dtd-%{version}/ent
%attr(0644,root,root) %{_datadir}/xml/docbook/xml-dtd-%{version}/ent/README
%attr(0644,root,root) %{_datadir}/xml/docbook/xml-dtd-%{version}/ent/*.ent
%doc README
%changelog
* Tue Oct 22 2024 Michael A. Peters <anymouseprophet@gmail.com> - 4.5-0.rc1
- Initial RPM spec file for YJL 6.6 (LFS 12.2)

114
SPECS/valgrind.spec Normal file
View File

@ -0,0 +1,114 @@
# SEE README_DEVELOPERS
%global debug_package %{nil}
%global __strip /bin/true
%if 0%{?!__which:1} == 1
%global __which %{_bindir}/which
%endif
%if 0%{?!__sed:1} == 1
%global __sed %{_bindir}/sed
%endif
Name: valgrind
Version: 3.23.0
Release: %{?repo}0.rc1%{?dist}
Summary: Framework for building dynamic analysis tools
Group: Development/Utilities
License: GPLv2 GFDL1.2
URL: https://valgrind.org/
Source0: https://sourceware.org/pub/valgrind/valgrind-3.23.0.tar.bz2
BuildRequires: %{__sed}
%if 0%{?runtests:1} == 1
BuildRequires: docbook-xml
BuildRequires: gdb
BuildRequires: %{__which}
%endif
#Requires:
%description
Valgrind is an instrumentation framework for building dynamic analysis tools.
There are Valgrind tools that can automatically detect many memory management
and threading bugs, and profile your programs in detail. You can also use
Valgrind to build new tools.
The Valgrind distribution currently includes seven production-quality tools: a
memory error detector, two thread error detectors, a cache and branch-prediction
profiler, a call-graph generating cache and branch-prediction profiler, and two
different heap profilers. It also includes an experimental SimPoint basic block
vector generator.
%prep
%setup -q
sed -i 's|/doc/valgrind||' docs/Makefile.in
# note to self, above works but is dirty
%build
./configure --prefix=%{_prefix} --datadir=%{_datadir}/doc/%{name}-%{version}
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
%check
%if 0%{?runtests:1} == 1
make regtest > %{name}-make.regtest.log 2>&1 ||:
%else
echo "make regtest not during package build" > %{name}-make.regtest.log
%endif
%files
%defattr(-,root,root,-)
%attr(0755,root,root) %{_bindir}/callgrind_annotate
%attr(0755,root,root) %{_bindir}/callgrind_control
%attr(0755,root,root) %{_bindir}/cg_annotate
%attr(0755,root,root) %{_bindir}/cg_diff
%attr(0755,root,root) %{_bindir}/cg_merge
%attr(0755,root,root) %{_bindir}/ms_print
%attr(0755,root,root) %{_bindir}/valgrind
%attr(0755,root,root) %{_bindir}/valgrind-di-server
%attr(0755,root,root) %{_bindir}/valgrind-listener
%attr(0755,root,root) %{_bindir}/vgdb
%dir %{_includedir}/valgrind
%attr(0644,root,root) %{_includedir}/valgrind/*.h
%dir %{_includedir}/valgrind/vki
%attr(0644,root,root) %{_includedir}/valgrind/vki/*.h
%dir %{_libdir}/valgrind
%attr(0644,root,root) %{_libdir}/valgrind/*.a
%attr(0644,root,root) %{_prefix}/lib/pkgconfig/valgrind.pc
%dir %{_libexecdir}/valgrind
%attr(0644,root,root) %{_libexecdir}/valgrind/*.xml
%attr(0644,root,root) %{_libexecdir}/valgrind/*.so
%attr(0644,root,root) %{_libexecdir}/valgrind/*.py
%attr(0644,root,root) %{_libexecdir}/valgrind/default.supp
%attr(0644,root,root) %{_libexecdir}/valgrind/dh_view.*
%attr(0755,root,root) %{_libexecdir}/valgrind/cachegrind-amd64-linux
%attr(0755,root,root) %{_libexecdir}/valgrind/callgrind-amd64-linux
%attr(0755,root,root) %{_libexecdir}/valgrind/dhat-amd64-linux
%attr(0755,root,root) %{_libexecdir}/valgrind/drd-amd64-linux
%attr(0755,root,root) %{_libexecdir}/valgrind/exp-bbv-amd64-linux
%attr(0755,root,root) %{_libexecdir}/valgrind/getoff-amd64-linux
%attr(0755,root,root) %{_libexecdir}/valgrind/helgrind-amd64-linux
%attr(0755,root,root) %{_libexecdir}/valgrind/lackey-amd64-linux
%attr(0755,root,root) %{_libexecdir}/valgrind/massif-amd64-linux
%attr(0755,root,root) %{_libexecdir}/valgrind/memcheck-amd64-linux
%attr(0755,root,root) %{_libexecdir}/valgrind/none-amd64-linux
%dir %{_datadir}/doc/%{name}-%{version}/html
%attr(0644,root,root) %{_datadir}/doc/%{name}-%{version}/html/*.html
%attr(0644,root,root) %{_datadir}/doc/%{name}-%{version}/html/*.css
%dir %{_datadir}/doc/%{name}-%{version}/html/images
%attr(0644,root,root) %{_datadir}/doc/%{name}-%{version}/html/images/*.png
%attr(0644,root,root) %{_datadir}/doc/%{name}-%{version}/valgrind_manual.*
%attr(0644,root,root) %{_mandir}/man1/*.1*
%license COPYING COPYING.DOCS
%doc %{name}-make.regtest.log
%doc AUTHORS COPYING COPYING.DOCS NEWS README README_PACKAGERS
%changelog
* Tue Oct 22 2024 Michael A. Peters <anymouseprophet@gmail.com> - 3.23.0-0.rc1
- Initial RPM spec file for YJL 6.6 (LFS 12.2)