[globus-core/f19: 2/2] Implement updated packaging guidelines
Mattias Ellert
ellert at fedoraproject.org
Sun Jul 28 07:38:58 UTC 2013
commit ac5fcf268463046a3393441cd7ddc83b901f70aa
Author: Mattias Ellert <mattias.ellert at fysast.uu.se>
Date: Sun Jul 28 04:58:09 2013 +0200
Implement updated packaging guidelines
- Fix documentation build rules - do not build twice
globus-core-doc-once.patch | 50 +++++++++++++++++++
globus-core-new-docdir.patch | 14 +++++
globus-core-spec-creator.patch | 107 +++++++++++++++++++++++++++++++---------
globus-core.spec | 25 +++++++--
4 files changed, 168 insertions(+), 28 deletions(-)
---
diff --git a/globus-core-doc-once.patch b/globus-core-doc-once.patch
new file mode 100644
index 0000000..07f70c6
--- /dev/null
+++ b/globus-core-doc-once.patch
@@ -0,0 +1,50 @@
+diff -ur globus_core-8.9.orig/aclocal/doxygen_Makefile.am globus_core-8.9/aclocal/doxygen_Makefile.am
+--- globus_core-8.9.orig/aclocal/doxygen_Makefile.am 2013-06-04 08:49:59.112119109 +0200
++++ globus_core-8.9/aclocal/doxygen_Makefile.am 2013-06-04 09:50:04.122319249 +0200
+@@ -4,7 +4,7 @@
+ #
+
+ doxygen_installdox = @lac_doxygen_installdox@
+-all-local: @DOXYFILE@
++doc-stamp: @DOXYFILE@
+ @if test ! -z "@DOXYGEN@"; then \
+ @DOXYGEN@ @DOXYFILE@; \
+ if test -n "$(doxygen_installdox)"; then \
+@@ -16,8 +16,11 @@
+ (cd doc/latex ; for f in *.tex ; do sed 's/\\doxyref{p\.}/\\doxyref{}{p\.}/g' $$f > $$f.new ; mv $$f.new $$f ; done ; sed 's/\(latex_count\)=[0-9] /\1=10 /' Makefile > Makefile.new ; mv Makefile.new Makefile ; make) ; \
+ fi \
+ fi
++ touch $@
+
+-install-data-local:
++all-local: doc-stamp
++
++install-data-local: doc-stamp
+ @if test ! -z "@DOXYGEN@"; then \
+ for dir in `find ./doc/{html,man} -type d -print|sed "s,./doc/,,"`; do \
+ if test -z "`echo $${dir}|sed -n '/^man/ p'`"; then \
+@@ -43,12 +46,13 @@
+ fi \
+ fi
+
+-clean-data-local:
++clean-local:
+ @if test ! -z "@DOXYGEN@"; then \
+ rm -rf ./doc*; \
+ fi
++ rm -f doc-stamp
+
+-filelist:
++filelist: doc-stamp
+ @if test ! -z "@DOXYGEN@"; then \
+ filelistdir="`echo $(FILELIST_FILE) | sed -e 's!/[^/]*$$!!'`"; \
+ find ./doc/{man,html} -type f -print | \
+@@ -62,7 +66,7 @@
+ fi \
+ fi
+
+-dist-hook: all-local
++dist-hook: doc-stamp
+ @if test ! -z "@DOXYGEN@"; then \
+ if test -d doc; then \
+ cp -r doc $(distdir)/doc ; \
diff --git a/globus-core-new-docdir.patch b/globus-core-new-docdir.patch
new file mode 100644
index 0000000..9d58825
--- /dev/null
+++ b/globus-core-new-docdir.patch
@@ -0,0 +1,14 @@
+diff -ur globus_core-8.5.orig/doxygen/globus-build-doxygen-dependencies.in globus_core-8.5/doxygen/globus-build-doxygen-dependencies.in
+--- globus_core-8.5.orig/doxygen/globus-build-doxygen-dependencies.in 2011-02-08 21:15:57.000000000 +0100
++++ globus_core-8.5/doxygen/globus-build-doxygen-dependencies.in 2012-01-02 09:53:50.919785409 +0100
+@@ -58,9 +58,7 @@
+
+ @deps = process_package($srcfile);
+ foreach (@deps) {
+- my $pkg = new Grid::GPT::V1::Package;
+- $pkg->read_metadata_file("$datadir/globus/packages/$_/pkg_data_noflavor_doc.gpt");
+- my $dir = "$_-$pkg->{'Version'}->{'major'}.$pkg->{'Version'}->{'minor'}";
++ my $dir = "$_";
+ $dir =~ s/_/-/g;
+ $_ = "$datadir/doc/$dir/html/$_.tag";
+ }
diff --git a/globus-core-spec-creator.patch b/globus-core-spec-creator.patch
index 4236ba0..2ae5daf 100644
--- a/globus-core-spec-creator.patch
+++ b/globus-core-spec-creator.patch
@@ -1,7 +1,7 @@
diff -ur globus_core-8.9.orig/scripts/globus-spec-creator globus_core-8.9/scripts/globus-spec-creator
--- globus_core-8.9.orig/scripts/globus-spec-creator 2011-10-28 19:24:29.000000000 +0200
-+++ globus_core-8.9/scripts/globus-spec-creator 2013-05-23 07:35:08.982481708 +0200
-@@ -217,7 +217,7 @@
++++ globus_core-8.9/scripts/globus-spec-creator 2013-07-27 07:13:38.009433632 +0200
+@@ -217,12 +217,16 @@
defined $srcdeps{'pgm_runtime'});
}
@@ -10,7 +10,42 @@ diff -ur globus_core-8.9.orig/scripts/globus-spec-creator globus_core-8.9/script
print "%global flavor gcc64\n";
print "%else\n";
print "%global flavor gcc32\n";
-@@ -346,10 +346,19 @@
+ print "%endif\n\n";
+
++if ($docpkg) {
++ print "%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}\n\n";
++}
++
+ print "Name:\t\t$name\n";
+ print "%global _name %(tr - _ <<< %{name})\n";
+ print "Version:\t$version\n";
+@@ -299,10 +303,10 @@
+ unless $key eq 'trusted-ca-setup';
+ }
+ print "BuildRequires:\tgrid-packaging-tools >= 3.4\n";
+- print "BuildRequires:\tglobus-core%{?_isa} >= 8\n";
++ print "BuildRequires:\tglobus-core >= 8\n";
+ while (($key, $value) = each(%{$srcdeps{'compile'}})) {
+ if ($key ne "globus-core") {
+- print "BuildRequires:\t$key-devel%{?_isa}" .
++ print "BuildRequires:\t$key-devel" .
+ ($value > 0 ? " >= $value\n" : "\n");
+ }
+ }
+@@ -329,10 +333,10 @@
+ unless $key eq 'trusted-ca-setup';
+ }
+ print "BuildRequires:\tgrid-packaging-tools >= 3.4\n";
+- print "BuildRequires:\tglobus-core%{?_isa} >= 8\n";
++ print "BuildRequires:\tglobus-core >= 8\n";
+ while (($key, $value) = each(%{$srcdeps{'compile'}})) {
+ if ($key ne "globus-core") {
+- print "BuildRequires:\t$key-devel%{?_isa}" .
++ print "BuildRequires:\t$key-devel" .
+ ($value > 0 ? " >= $value\n" : "\n");
+ }
+ }
+@@ -346,10 +350,19 @@
print "BuildRequires:\tgraphviz-gd\n";
print "%endif\n";
print "BuildRequires:\tghostscript\n";
@@ -33,7 +68,32 @@ diff -ur globus_core-8.9.orig/scripts/globus-spec-creator globus_core-8.9/script
print "%endif\n";
}
if ($progspkg) {
-@@ -548,20 +557,20 @@
+@@ -501,13 +514,13 @@
+ if ($docpkg) {
+ print "
+ %configure --disable-static --with-flavor=%{flavor} \\
+- --enable-doxygen --with-docdir=%{_docdir}/%{name}-%{version}
++ --enable-doxygen --with-docdir=%{_pkgdocdir}
+ ";
+ }
+ else {
+ print "
+ %configure --disable-static --with-flavor=%{flavor} \\
+- --with-docdir=%{_docdir}/%{name}-%{version}
++ --with-docdir=%{_pkgdocdir}
+ ";
+ }
+
+@@ -531,7 +544,7 @@
+
+ %{_datadir}/globus/globus-bootstrap.sh
+
+-%configure --without-flavor --with-docdir=%{_docdir}/%{name}-%{version}
++%configure --without-flavor --with-docdir=%{_pkgdocdir}
+
+ make %{?_smp_mflags}
+
+@@ -548,20 +561,20 @@
" if ($docpkg);
print "
@@ -58,7 +118,7 @@ diff -ur globus_core-8.9.orig/scripts/globus-spec-creator globus_core-8.9/script
\\\$metadata->finish();
EOF
-@@ -571,7 +580,7 @@
+@@ -571,7 +584,7 @@
" if defined $setupfile;
print "
@@ -67,7 +127,7 @@ diff -ur globus_core-8.9.orig/scripts/globus-spec-creator globus_core-8.9/script
";
if (not defined $pkglibs) {
-@@ -579,7 +588,7 @@
+@@ -579,7 +592,7 @@
# This library is opened using lt_dlopenext, so the libtool archive
# (.la file) can not be removed - fix the libdir and clear dependency_libs
# ... and move it to the main package
@@ -76,7 +136,7 @@ diff -ur globus_core-8.9.orig/scripts/globus-spec-creator globus_core-8.9/script
sed -e \"s!^libdir=.*!libdir=\\'%{_libdir}\\'!\" \\
-e \"s!^dependency_libs=.*!dependency_libs=\\'\\'!\" -i \$lib
done
-@@ -591,7 +600,7 @@
+@@ -591,7 +604,7 @@
else {
print "
# Remove libtool archives (.la files)
@@ -85,7 +145,7 @@ diff -ur globus_core-8.9.orig/scripts/globus-spec-creator globus_core-8.9/script
sed '/lib.*\\.la\$/d' -i \$GLOBUSPACKAGEDIR/%{_name}/%{flavor}_dev.filelist
" if ($libs);
}
-@@ -601,17 +610,11 @@
+@@ -601,17 +614,11 @@
grep GLOBUS_LICENSE \$GLOBUSPACKAGEDIR/%{_name}/noflavor_doc.filelist \\
>> \$GLOBUSPACKAGEDIR/%{_name}/%{flavor}_rtl.filelist
sed /GLOBUS_LICENSE/d -i \$GLOBUSPACKAGEDIR/%{_name}/noflavor_doc.filelist
@@ -100,31 +160,30 @@ diff -ur globus_core-8.9.orig/scripts/globus-spec-creator globus_core-8.9/script
# Install README file
-install -m 644 -p %{SOURCE8} \\
- \$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/README
-+install -m 644 -p %{SOURCE8} %{buildroot}%{_docdir}/%{name}-%{version}/README
++install -m 644 -p %{SOURCE8} %{buildroot}%{_pkgdocdir}/README
# Generate package filelists
";
-@@ -650,11 +653,6 @@
- }
+@@ -651,7 +658,7 @@
print "
--%clean
+ %clean
-rm -rf \$RPM_BUILD_ROOT
--";
--
--print "
- %post -p /sbin/ldconfig
++rm -rf %{buildroot}
+ ";
- %postun -p /sbin/ldconfig
-@@ -662,7 +660,6 @@
+ print "
+@@ -662,15 +669,13 @@
print "
%files -f package.filelist
-%defattr(-,root,root,-)
%dir %{_datadir}/globus/packages/%{_name}
- %dir %{_docdir}/%{name}-%{version}
- %doc %{_docdir}/%{name}-%{version}/README
-@@ -670,7 +667,6 @@
+-%dir %{_docdir}/%{name}-%{version}
+-%doc %{_docdir}/%{name}-%{version}/README
++%dir %{_pkgdocdir}
++%doc %{_pkgdocdir}/README
+ ";
print "
%files -f package-progs.filelist progs
@@ -132,7 +191,7 @@ diff -ur globus_core-8.9.orig/scripts/globus-spec-creator globus_core-8.9/script
" if ($progspkg);
print "%dir %{_datadir}/globus/packages/%{_name}_setup
-@@ -679,12 +675,10 @@
+@@ -679,13 +684,11 @@
print "
%files -f package-devel.filelist devel
@@ -142,6 +201,8 @@ diff -ur globus_core-8.9.orig/scripts/globus-spec-creator globus_core-8.9/script
print "
%files -f package-doc.filelist doc
-%defattr(-,root,root,-)
- %dir %{_docdir}/%{name}-%{version}/html
+-%dir %{_docdir}/%{name}-%{version}/html
++%dir %{_pkgdocdir}/html
" if ($docpkg);
+ print "
diff --git a/globus-core.spec b/globus-core.spec
index 2723dba..ad96ca3 100644
--- a/globus-core.spec
+++ b/globus-core.spec
@@ -10,10 +10,12 @@
%{!?perl_vendorlib: %global perl_vendorlib %(eval "`perl -V:installvendorlib`"; echo $installvendorlib)}
+%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
+
Name: globus-core
%global _name %(tr - _ <<< %{name})
Version: 8.9
-Release: 7%{?dist}
+Release: 8%{?dist}
Summary: Globus Toolkit - Globus Core
Group: Development/Tools
@@ -27,6 +29,8 @@ Patch1: %{name}-aarch64-x32.patch
Patch2: %{name}-ac.patch
Patch3: %{name}-latex-count.patch
Patch4: %{name}-force.patch
+Patch5: %{name}-doc-once.patch
+Patch6: %{name}-new-docdir.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: pkgconfig
@@ -50,6 +54,10 @@ Globus Core
%patch2 -p1
%patch3 -p1
%patch4 -p1
+%patch5 -p1
+%if %{?fedora}%{!?fedora:0} >= 20 || %{?rhel}%{!?rhel:0} >= 7
+%patch6 -p1
+%endif
sed 's/5.2.0/5.2.4/' -i scripts/globus-spec-creator
sed 's/ -L$libdir//' -i config/accompiler.m4
@@ -84,7 +92,7 @@ export LDFLAGS="-Wl,--as-needed %{?__global_ldflags}"
--with-flavorincludedir='${libdir}/globus/include' \
--with-perlmoduledir=%{perl_vendorlib} \
--with-doxygendir='${datadir}/globus/doxygen' \
- --with-docdir=%{_docdir}/%{name}-%{version} \
+ --with-docdir=%{_pkgdocdir} \
--with-initializer-libdir-based-on-machine-type
# Reduce overlinking
@@ -105,7 +113,7 @@ GLOBUSPACKAGEDIR=%{buildroot}%{_datadir}/globus/packages
sed 's!/usr/bin/env perl!/usr/bin/perl!' -i %{buildroot}%{_sbindir}/globus-*
# Install README file
-install -m 644 -p %{SOURCE8} %{buildroot}%{_docdir}/%{name}-%{version}/README
+install -m 644 -p %{SOURCE8} %{buildroot}%{_pkgdocdir}/README
# Generate package filelists
cat $GLOBUSPACKAGEDIR/%{_name}/%{flavor}_pgm.filelist \
@@ -115,6 +123,9 @@ cat $GLOBUSPACKAGEDIR/%{_name}/%{flavor}_pgm.filelist \
cat $GLOBUSPACKAGEDIR/%{_name}/noflavor_doc.filelist \
| sed -e 's!/man/.*!&*!' -e 's!^!%doc %{_prefix}!' >> package.filelist
+%clean
+rm -rf %{buildroot}
+
%files -f package.filelist
%dir %{_datadir}/globus
%dir %{_datadir}/globus/aclocal
@@ -124,10 +135,14 @@ cat $GLOBUSPACKAGEDIR/%{_name}/noflavor_doc.filelist \
%dir %{_datadir}/globus/packages/%{_name}
%dir %{_libdir}/globus
%dir %{_libdir}/globus/include
-%dir %{_docdir}/%{name}-%{version}
-%doc %{_docdir}/%{name}-%{version}/README
+%dir %{_pkgdocdir}
+%doc %{_pkgdocdir}/README
%changelog
+* Sun Jul 28 2013 Mattias Ellert <mattias.ellert at fysast.uu.se> - 8.9-8
+- Implement updated packaging guidelines
+- Fix documentation build rules - do not build twice
+
* Wed Jul 24 2013 Petr Pisar <ppisar at redhat.com> - 8.9-7
- Perl 5.18 rebuild
More information about the scm-commits
mailing list