SHA256
1
0
forked from pool/automake
automake/automake.spec
Philipp Thomas 66e54df606 - Update to 1.15:
New in 1.15:
  * Improvements and refactorings in the install-sh script:
    - It has been modernized, and now makes the following assumptions
      *unconditionally*:
      (1) a working 'dirname' program is available;
      (2) the ${var:-value} shell parameters substitution works;
      (3) the "set -f" and "set +f" shell commands work, and, respectively,
          disable and enable shell globbing.
    - The script implements stricter error checking, and now it complains
      and bails out if any of the following expectations is not met:
      (1) the options -d and -t are never used together;
      (2) the argument passed to option -t is a directory;
      (3) if there are two or more SOURCEFILE arguments, the
          DESTINATION argument must be a directory.
  * Automake-generated testsuites:
    - The default test-driver used by the Automake-generates testsuites
      now appends the result and exit status of each "plain" test to the
      associated log file (automake bug#11814).
    - The perl implementation of the TAP testsuite driver is no longer
      installed in the Automake's scripts directory, and is instead just
      distributed as a "contrib" addition.  There should be no reason to
      use this implementation anyway in real packages, since the awk+shell
      implementation of the TAP driver (which is documented in the manual)
      is more portable and has feature parity with the perl implementation.
    - The rule generating 'test-suite.log' no longer risk incurring in an
      extra useless "make all" recursive invocation in some corner cases
      (automake bug#16302).
  * Distribution:
    - Automake bug#18286: "make distcheck" could sometimes fail to detect
      files missing from the distribution tarball, especially in those cases
      where both the generated files and their dependencies are explicitly
      in $(srcdir).  An important example of this are *generated* makefile
      fragments included at Automake time in Makefile.am; e.g.:

          ...
          $(srcdir)/fragment.am: $(srcdir)/data.txt $(srcdir)/preproc.sh
              cd $(srcdir) && $(SHELL) preproc.sh <data.txt >fragment.am
          include $(srcdir)/fragment.am
          ...

      If the use forgot to add data.txt and/or preproc.sh in the distribution
      tarball, "make distcheck" would have erroneously succeeded!  This issue
      is now fixed.

    - As a consequence of the previous change, "make distcheck" will run
      using '$(distdir)/_build/sub' as the build directory, rather than
      simply '$(distdir)/_build' (as it was the case for Automake 1.14 and
      earlier).  Consequently, the './configure' and 'make' invocations
      issued by the distcheck recipe now have $(srcdir) equal to '../..',
      rather than to just '..'.  Dependent and similar variables (e.g.,
      '$(top_srcdir)') are also changed accordingly.

      Thus, Makefiles that made assumptions about the exact values of the
      build and source directories used by "make distcheck" will have to
      be adjusted.  Notice that making such assumptions was a bad and
      unsupported practice anyway, since the exact locations of those
      directories should be considered implementation details, and we
      reserve the right to change them at any time.

  * Miscellaneous bugs fixed:

    - The expansion of AM_INIT_AUTOMAKE ends once again with a trailing
      newline (bug#16841).  Regression introduced in Automake 1.14.

    - We no longer risk to use '$ac_aux_dir' before it's defined (see
      automake bug#15981). Bug introduced in Automake 1.14.

    - The code used to detect whether the currently used make is GNU make
      or not (relying on the private macro 'am__is_gnu_make') no longer
      risks causing "Arg list too long" for projects using automatic
      dependency tracking and having a ton of source files (bug#18744).

    - Automake tries to offer a more deterministic output for generated
      Makefiles, in the face of the newly-introduced randomization for
      hash keys order in Perl 5.18.

    - In older Automake versions, if a user defined one single Makefile
      fragment (say 'foo.am') to be included via Automake includes in
      his main Makefile.am, and defined a custom make rule to generate that
      file from other data, Automake used to spuriously complain with some
      message like "... overrides Automake target '$(srcdir)/foo.am".
      This bug is now fixed.

    - The user can now extend the special .PRECIOUS target, the same way
      he could already do with the .MAKE .and .PHONY targets.

    - Some confusing typos have been fixed in the manual and in few warning
      messages (automake bug#16827 and bug#16997).

- Remove automake-fix-ac_aux_dir-used-before-initialized.patch as the
  change is incorporated now.
- Refresh automake-SuSE.patch and automake-require_file.patch so that
  they apply cleanly.

OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/automake?expand=0&rev=46
2015-02-10 11:25:10 +00:00

114 lines
3.2 KiB
RPMSpec

#
# spec file for package automake
#
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# PLEASE run pre_checkin.sh in this directory before submitting
# this package. Otherwise the .spec and .changes for automake-testsuite
# aren't updated.
Name: automake
Version: 1.15
Release: 0
Summary: A Program for Automatically Generating GNU-Style Makefile.in Files
License: GPL-2.0+
Group: Development/Tools/Building
Url: http://www.gnu.org/software/automake
Source: http://ftp.gnu.org/gnu/automake/automake-%{version}.tar.xz
Source2: http://ftp.gnu.org/gnu/automake/automake-%{version}.tar.xz.sig
Source3: automake-rpmlintrc
Patch2: automake-require_file.patch
Patch3: automake-1.13.4-fix-primary-prefix-invalid-couples-test.patch
Patch100: automake-SuSE.patch
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf >= 2.69
BuildRequires: bison
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: xz
%if "%{name}" == "automake-testsuite"
BuildRequires: libtool
Requires: libtool
BuildRequires: flex
Requires: flex
BuildRequires: expect
Requires: expect
%endif
Requires: autoconf >= 2.69
Requires: info
%description
Automake is a tool for automatically generating "Makefile.in" files
from "Makefile.am" files. "Makefile.am" is a series of "make" macro
definitions (with rules occasionally thrown in). The generated
"Makefile.in" files are compatible with the GNU Makefile standards.
%prep
%setup -q -n automake-%{version}
%patch2
%patch3 -p1
%patch100
%build
sh bootstrap.sh
%configure --docdir=%{_docdir}/%{name}
make %{?_smp_mflags}
%if "%{name}" == "automake-testsuite"
%check
# Some architectures can't keep up the pace.
%ifnarch alpha %arm
make check VERBOSE=1
%endif
%install
%else
%install
make install DESTDIR=%{buildroot}
mkdir %{buildroot}/etc
echo /usr/local/share/aclocal >%{buildroot}/etc/aclocal_dirlist
ln -s /etc/aclocal_dirlist %{buildroot}/usr/share/aclocal/dirlist
install -m644 AUTHORS COPYING ChangeLog NEWS README THANKS %{buildroot}%{_docdir}/%{name}
# info's dir file is not auto ignored on some systems
rm -rf %{buildroot}%{_infodir}/dir
#name == automake
%endif
%post
%install_info --info-dir=%{_infodir} %{_infodir}/automake.info.gz
%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/automake.info.gz
%if "%{name}" == "automake"
%files
%defattr(-,root,root)
%doc %{_docdir}/%{name}
%{_bindir}/*
%doc %{_infodir}/*.gz
%doc %{_mandir}/man1/*
%{_datadir}/aclocal*
%{_datadir}/automake-*
%config /etc/aclocal_dirlist
%endif
%changelog