fa2344
Name:           acpica-tools
fa2344
Version:        20160527
fa2344
Release:        3%{?dist}
fa2344
Summary:        ACPICA tools for the development and debug of ACPI tables
fa2344
fa2344
Group:          Development/Languages
fa2344
License:        GPLv2
fa2344
URL:            https://www.acpica.org/
fa2344
fa2344
Source0:        https://acpica.org/sites/acpica/files/acpica-unix2-%{version}.tar.gz
fa2344
Source1:        https://acpica.org/sites/acpica/files/acpitests-unix-%{version}.tar.gz
fa2344
Source2:        README
fa2344
Source3:        iasl.1
fa2344
Source4:        acpibin.1
fa2344
Source5:        acpidump.1
fa2344
Source6:        acpiexec.1
fa2344
Source7:        acpihelp.1
fa2344
Source8:        acpinames.1
fa2344
Source9:        acpisrc.1
fa2344
Source10:       acpixtract.1
fa2344
Source11:       badcode.asl.result
fa2344
Source12:       grammar.asl.result
fa2344
Source13:       run-misc-tests.sh
fa2344
Source14:       COPYING
fa2344
fa2344
Patch0:         debian-big_endian.patch
fa2344
Patch1:         debian-unaligned.patch
fa2344
Patch2:         name-miscompare.patch
fa2344
Patch3:         asllookup-miscompare.patch
fa2344
Patch4:         re-enable-big-endian.patch
fa2344
Patch5:         DSDT-too-long.patch
fa2344
Patch6:		add-nfit-subtable7.patch
fa2344
fa2344
BuildRequires:  bison patchutils flex
fa2344
fa2344
# The previous iasl package contained only a very small subset of these tools
fa2344
# and it produced only the iasl package listed below; further, the pmtools
fa2344
# package -- which provides acpidump -- also provides a /usr/sbin/acpixtract
fa2344
# that we don't really want to collide with
fa2344
Provides:       acpixtract >= 20120913-7
fa2344
Provides:       iasl = %{version}-%{release}
fa2344
Obsoletes:      iasl < 20120913-7
fa2344
fa2344
# The pmtools package provides an obsolete and deprecated version of the
fa2344
# acpidump command from lesswatts.org which has now been taken off-line.
fa2344
# ACPICA, however, is providing a new version and we again do not want to
fa2344
# conflict with the command name.
fa2344
Provides:       acpidump >= 20100513-5
fa2344
Provides:       pmtools = %{version}-%{release}
fa2344
Obsoletes:      pmtools < 20100513-5
fa2344
fa2344
%description
fa2344
The ACPI Component Architecture (ACPICA) project provides an OS-independent
fa2344
reference implementation of the Advanced Configuration and Power Interface
fa2344
Specification (ACPI).  ACPICA code contains those portions of ACPI meant to
fa2344
be directly integrated into the host OS as a kernel-resident subsystem, and
fa2344
a small set of tools to assist in developing and debugging ACPI tables.
fa2344
fa2344
This package contains only the user-space tools needed for ACPI table
fa2344
development, not the kernel implementation of ACPI.  The following commands
fa2344
are installed:
fa2344
   -- iasl: compiles ASL (ACPI Source Language) into AML (ACPI Machine
fa2344
      Language), suitable for inclusion as a DSDT in system firmware.
fa2344
      It also can disassemble AML, for debugging purposes.
fa2344
   -- acpibin: performs basic operations on binary AML files (e.g.,
fa2344
      comparison, data extraction)
fa2344
   -- acpidump: write out the current contents of ACPI tables
fa2344
   -- acpiexec: simulate AML execution in order to debug method definitions
fa2344
   -- acpihelp: display help messages describing ASL keywords and op-codes
fa2344
   -- acpinames: display complete ACPI name space from input AML
fa2344
   -- acpisrc: manipulate the ACPICA source tree and format source files
fa2344
      for specific environments
fa2344
   -- acpixtract: extract binary ACPI tables from acpidump output (see
fa2344
      also the pmtools package)
fa2344
fa2344
This version of the tools is being released under GPLv2 license.
fa2344
fa2344
%prep
fa2344
%setup -q -n acpica-unix2-%{version}
fa2344
gzip -dc %{SOURCE1} | tar -x --strip-components=1 -f -
fa2344
fa2344
%patch0 -p1 -b .debian-big_endian
fa2344
%patch1 -p1 -b .debian-unaligned
fa2344
%patch2 -p1 -b .name-miscompare
fa2344
%patch3 -p1 -b .asllookup-miscompare
fa2344
%patch4 -p1 -b .re-enable-big-endian
fa2344
%patch5 -p1 -b .DSDT-too-long
fa2344
%patch6 -p1 -b .add-nfit-subtable7
fa2344
fa2344
cp -p %{SOURCE2} README
fa2344
cp -p %{SOURCE3} iasl.1
fa2344
cp -p %{SOURCE4} acpibin.1
fa2344
cp -p %{SOURCE5} acpidump.1
fa2344
cp -p %{SOURCE6} acpiexec.1
fa2344
cp -p %{SOURCE7} acpihelp.1
fa2344
cp -p %{SOURCE8} acpinames.1
fa2344
cp -p %{SOURCE9} acpisrc.1
fa2344
cp -p %{SOURCE10} acpixtract.1
fa2344
cp -p %{SOURCE11} badcode.asl.result
fa2344
cp -p %{SOURCE12} grammar.asl.result
fa2344
cp -p %{SOURCE13} tests/run-misc-tests.sh
fa2344
chmod a+x tests/run-misc-tests.sh
fa2344
cp -p %{SOURCE14} COPYING
fa2344
fa2344
# remove spurious group write permissions from all files in tests directory
fa2344
chmod -R g-w tests/
fa2344
fa2344
fa2344
%build
fa2344
make OPT_CFLAGS="%{optflags} -fno-strict-aliasing"
fa2344
fa2344
fa2344
%install
fa2344
# Install the binaries
fa2344
mkdir -p %{buildroot}%{_bindir}
fa2344
install -pD generate/unix/bin*/* %{buildroot}%{_bindir}/
fa2344
mv %{buildroot}%{_bindir}/acpidump %{buildroot}%{_bindir}/acpidump-acpica
fa2344
mv %{buildroot}%{_bindir}/acpixtract %{buildroot}%{_bindir}/acpixtract-acpica
fa2344
fa2344
# Install the man pages
fa2344
mkdir -p %{buildroot}%{_mandir}/man1
fa2344
install -pDm 0644 -p -D *.1 %{buildroot}%{_mandir}/man1/
fa2344
mv %{buildroot}%{_mandir}/man1/acpixtract.1 \
fa2344
   %{buildroot}%{_mandir}/man1/acpixtract-acpica.1
fa2344
mv %{buildroot}%{_mandir}/man1/acpidump.1 \
fa2344
   %{buildroot}%{_mandir}/man1/acpidump-acpica.1
fa2344
fa2344
%check
fa2344
cd tests
fa2344
fa2344
# ASL tests
fa2344
./aslts.sh                         # relies on non-zero exit
fa2344
[ $? -eq 0 ] || exit 1
fa2344
fa2344
# misc tests
fa2344
./run-misc-tests.sh %{buildroot}%{_bindir} %{version}
fa2344
fa2344
# Template tests
fa2344
cd templates
fa2344
make
fa2344
if [ -f diff.log ]
fa2344
then
fa2344
    if [ -s diff.log ]
fa2344
    then
fa2344
        exit 1                  # implies errors occurred
fa2344
    fi
fa2344
fi
fa2344
cd ..
fa2344
fa2344
fa2344
%post
fa2344
alternatives --install %{_bindir}/acpixtract acpixtract \
fa2344
                       %{_bindir}/acpixtract-acpica 120 \
fa2344
               --slave %{_mandir}/man1/acpixtract.1.gz acpixtract.1.gz \
fa2344
                       %{_mandir}/man1/acpixtract-acpica.1.gz
fa2344
fa2344
alternatives --install %{_bindir}/acpidump acpidump \
fa2344
                       %{_bindir}/acpidump-acpica 120 \
fa2344
               --slave %{_mandir}/man1/acpidump.1.gz acpidump.1.gz \
fa2344
                       %{_mandir}/man1/acpidump-acpica.1.gz
fa2344
fa2344
fa2344
%postun
fa2344
if [ ! -e %{_bindir}/acpixtract-acpica ]
fa2344
then
fa2344
    alternatives --remove acpixtract %{_bindir}/acpixtract-acpica
fa2344
fi
fa2344
if [ ! -e %{_bindir}/acpidump-acpica ]
fa2344
then
fa2344
    alternatives --remove acpidump %{_bindir}/acpidump-acpica
fa2344
fi
fa2344
fa2344
fa2344
%files
fa2344
%doc changes.txt source/compiler/new_table.txt
fa2344
%doc README COPYING
fa2344
%{_bindir}/*
fa2344
%{_mandir}/*/*
fa2344
fa2344
fa2344
%changelog
fa2344
* Tue Jul 24 2018 Al Stone <ahs3@redhat.com> - 20160527-3
fa2344
- Added in support for NFIT subtable type 7 with an additional patch.
fa2344
  Resolves: #1600053.
fa2344
fa2344
* Thu Jul 12 2018 Al Stone <ahs3@redhat.com> - 20160527-2
fa2344
- Corrected the use of percent signs in the change log and made sure
fa2344
  they are all properly escaped.  Resolves: #1425899.
fa2344
fa2344
* Tue Jun 14 2016 Dean Nelson <dnelson@redhat.com> - 20160527-1
fa2344
- Update to the latest upstream version of acpica as requested by RHBZ 1278038.
fa2344
- Refresh existing patches and add/delete ones to enable a clean build.
fa2344
fa2344
* Wed Jul 15 2015 Dean Nelson <dnelson@redhat.com> - 20150619-3
fa2344
- Remove acpitests-unix-%%{version} directory from the build because it was a
fa2344
  mistake that it was present and it complicated the fixing of the file
fa2344
  permissions done related to RHBZ 1211328's requested rebase.
fa2344
fa2344
* Wed Jul 01 2015 Dean Nelson <dnelson@redhat.com> - 20150619-2
fa2344
- Fix the file permissions issue reported by rpmdiff related to RHBZ 1211328's
fa2344
  requested rebase.
fa2344
fa2344
* Mon Jun 22 2015 Dean Nelson <dnelson@redhat.com> - 20150619-1
fa2344
- Update to the latest upstream version of acpica as requested by RHBZ 1211328.
fa2344
- Refresh existing patches and add/delete ones to enable a clean build.
fa2344
- Add missing return status checks after a few calls to AcpiDmDumpTable() and
fa2344
  one to fopen().
fa2344
fa2344
* Mon Sep 29 2014 Dean Nelson <dnelson@redhat.com> - 20140926-1
fa2344
- Update to the latest upstream version of acpica as requested by RHBZ 967963.
fa2344
- Refresh existing patches and add new ones to enable a clean build.
fa2344
- Fix build failures that start before and finish after midnight.
fa2344
fa2344
* Wed Aug 06 2014 Dean Nelson <dnelson@redhat.com> - 20130823-8
fa2344
- Fix run-misc-tests.sh script to properly set the number of BITS to 64 when run
fa2344
  on a ppc64le system as requested by RHBZ 1125471.
fa2344
fa2344
* Wed Aug 06 2014 Dean Nelson <dnelson@redhat.com> - 20130823-7
fa2344
- Fix the dangling symlink issue for acpidump(1) and acpixtract(1) man pages
fa2344
  that was reported in RHBZ 1074681.
fa2344
fa2344
* Tue Jan 28 2014 Daniel Mach <dmach@redhat.com> - 20130823-6
fa2344
- Mass rebuild 2014-01-24
fa2344
fa2344
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 20130823-5
fa2344
- Mass rebuild 2013-12-27
fa2344
fa2344
* Mon Oct 21 2013 Dean Nelson <dnelson@redhat.com> - 20130823-4
fa2344
- Fix the four issues identified by RPMdiff that were reported in RHBZ 1017311.
fa2344
fa2344
* Wed Sep 04 2013 Dean Nelson <dnelson@redhat.com> - 20130823-3
fa2344
- Fix run-misc-tests.sh script to properly set the number of BITS to 64 when run
fa2344
  on a s390x system.
fa2344
fa2344
* Tue Aug 27 2013 Al Stone <ahs3@redhat.com> - 20130823-2
fa2344
- Add in a copy of the GPLv2 text in order to comply with the requirement
fa2344
  to always redistribute the terms of the license.
fa2344
fa2344
* Mon Aug 26 2013 Al Stone <ahs3@redhat.com> - 20130823-1
fa2344
- Update to latest upstream source.
fa2344
fa2344
* Tue Aug 20 2013 Al Stone <ahs3@redhat.com> - 20130725-2
fa2344
- Fix several rpmlint items (listed below)
fa2344
- Add versions to explicit provides for acpixtract, acpidump
fa2344
- Not all setup steps used -q
fa2344
- Setup executable test script (run-misc-tests.sh) differently
fa2344
- Removed unneeded commented out line with macros in it
fa2344
- Removed mixed use of spaces and tabs (all spaces now)
fa2344
- Corrected source URLs (upstream moved)
fa2344
fa2344
* Sun Aug 18 2013 Al Stone <ahs3@redhat.com> - 20130725-1
fa2344
- Update to latest upstream source.
fa2344
fa2344
* Wed Jul 24 2013 Al Stone <ahs3@redhat.com> - 20130626-1
fa2344
- Update to latest upstream source.
fa2344
- Move acpidump to acpidump-acpica so it be an alternative properly
fa2344
- Add basic man page for acpidump
fa2344
- Enable use of AAPITS tests during the check step
fa2344
fa2344
* Sun Jun 02 2013 Al Stone <ahs3@redhat.com> - 20130517-2
fa2344
- Correct an oversight: we provide an acpidump in conflict with the
fa2344
  version in pmtools (which appears to be dead upstream) but had not
fa2344
  made it an alternative before
fa2344
fa2344
* Tue May 28 2013 Al Stone <ahs3@redhat.com> - 20130517-1
fa2344
- Update to latest upstream source.
fa2344
- Remove acpica-tools-config.patch -- now in upstream
fa2344
- Remove iasl-signed-char.patch -- now in upstream
fa2344
- Updated debian-big_endian.patch
fa2344
- Updated debian-unaligned.patch
fa2344
fa2344
* Mon May 13 2013 Al Stone <ahs3@redhat.com> - 20130328-1
fa2344
- Update to latest upstream source.
fa2344
fa2344
* Wed Mar 20 2013 Al Stone <ahs3@redhat.com> - 20130214-2
fa2344
- Incorporate use of optflags macro in the build.
fa2344
- Remove extraneous rm -rf of buildroot.
fa2344
- Remove extraneous use of defattr in the files section.
fa2344
- Incorporate use of parallel make.
fa2344
- Remove extraneous use of the clean section.
fa2344
- Use simpler globbing in the files section.
fa2344
- Use simpler globbing in the install section.
fa2344
- Remove obsolete git notes from README.Fedora.
fa2344
- Remove ExcludeArch restrictions.
fa2344
fa2344
* Mon Feb 18 2013 Al Stone <ahs3@redhat.com> - 20130214-1
fa2344
- New upstream.
fa2344
- Remove most of the config file patch; still need to remove -m{32,64}.
fa2344
- Clarify the licensing; this source is dual-licensed and is being released
fa2344
  under the GPLv2 as allowed by the original Intel license.
fa2344
- Redo the misc tests so they compare results properly.
fa2344
fa2344
* Wed Feb 06 2013 Al Stone <ahs3@redhat.com> - 20130117-6
fa2344
- Added a zero-fill to a date used in comparing testing results so that the
fa2344
  comparison would be correct on days numbered < 10.
fa2344
fa2344
* Thu Jan 31 2013 Al Stone <ahs3@redhat.com> - 20130117-5
fa2344
- Simplify versioning scheme and revert to the original scheme in use by
fa2344
  iasl, which is use the latest official tarball date (2013017) as the
fa2344
  version and 1%%{?dist} as the release, to be incremented for packaging
fa2344
  and bug fixes as needed.
fa2344
fa2344
* Wed Jan 30 2013 Al Stone <ahs3@redhat.com> - 20130117-4
fa2344
- Do a little reset: go back to using just the original upstream tarball
fa2344
  instead of the latest git; the snapshot approach was more complicated
fa2344
  than needed.
fa2344
- Upstream tarballs split commands from test suites, so had to add the
fa2344
  test suite back in as another Source: file.
fa2344
- Change versioning scheme to include the APCI specification level (5.0),
fa2344
  the latest official tarball date (2013017) and a revision level  (the
fa2344
  .1 at the end) for packaging and bug fixes as needed.
fa2344
- Changed the License field to reflect the source tarball change; the release
fa2344
  tarball is dual-licensed, Intel ACPI or GPLv2.
fa2344
- Updated patches to apply cleanly as needed.
fa2344
- Corrected Obsoletes and Provides version numbers.
fa2344
fa2344
* Mon Jan 28 2013 Al Stone <ahs3@redhat.com> - 20130117-3
fa2344
- Reconcile Fedora and Debian patches to be as alike as possible
fa2344
fa2344
* Mon Jan 28 2013 Al Stone <ahs3@redhat.com> - 20130117-2
fa2344
- Verify ExcludeArch restrictions -- the architectures excluded can have
fa2344
  no use for these tools.  Hardware support for ACPI is simply not
fa2344
  implemented for them.
fa2344
- Corrected versioning to note this source came from a git pull.
fa2344
- Add License file as upstream has not yet provided one (and has not for
fa2344
  many years).
fa2344
- Insert properly versioned Provides and Obsoletes for iasl.
fa2344
- Corrected files to use man.1* (vs man.1.gz) to allow flexibility in the
fa2344
  compression being used.
fa2344
fa2344
* Wed Jan 23 2013 Al Stone <ahs3@redhat.com> - 20130117-1
fa2344
- Clone from the current iasl package, with the intent of replacing it
fa2344
- Update source to latest upstream
fa2344
- NB: ACPICA documentation would normally be included in a source tarball.
fa2344
  But, since it is not clearly redistributable, it is not included in the
fa2344
  source RPM for this package.
fa2344
- Build all ACPICA tools, not just iasl (and hence the package replacement)
fa2344
- Add in brief man pages
fa2344
- Set up acpixtract from this package as an alternative to the same command
fa2344
  in the pmtools package
fa2344
- Run the check step once built
fa2344