Sisyphus repository
Last update: 4 december 2021 | SRPMs: 17404 | Visits: 22448473
en ru br
ALT Linux repos
S:20201113-alt2

Group :: System/Kernel and hardware
RPM: acpica

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 


Name: acpica
Version: 20201113
Release: alt2
Summary: ACPICA tools for the development and debug of ACPI tables

Group: System/Kernel and hardware
License: GPLv2
Url: https://www.acpica.org/

#vcs-git https://github.com/acpica/acpica.git

Source: %name-%version.tar
Source3: iasl.1
Source4: acpibin.1
Source5: acpidump.1
Source6: acpiexec.1
Source7: acpihelp.1
Source8: acpinames.1
Source9: acpisrc.1
Source10: acpixtract.1
Source11: acpiexamples.1
Source12: badcode.asl.result
Source13: grammar.asl.result
Source14: converterSample.asl.result
Source15: run-misc-tests.sh

# the big-endian patch set (from fedora)

Patch0: 0001-Add-in-basic-infrastructure-for-big-endian-support.patch
Patch1: 0002-Modify-utility-functions-to-be-endian-agnostic.patch
Patch2: 0003-Always-display-table-header-content-in-human-readabl.patch
Patch3: 0004-Re-enable-support-for-big-endian-machines.patch
Patch4: 0005-Support-MADT-aka-APIC-in-a-big-endian-world.patch
Patch5: 0006-Support-ASF-tables-in-a-big-endian-world.patch
Patch6: 0007-Support-CPEP-tables-in-a-big-endian-world.patch
Patch7: 0008-Support-DBG2-table-in-a-big-endian-world.patch
Patch8: 0009-Support-DMAR-in-a-big-endian-world.patch
Patch9: 0010-Support-DRTM-in-a-big-endian-world.patch
Patch10: 0011-Support-EINJ-in-a-big-endian-world.patch
Patch11: 0012-Support-ERST-in-a-big-endian-world.patch
Patch12: 0013-Support-FADT-aka-FACP-in-a-big-endian-world.patch
Patch13: 0014-Support-most-FPDTs-in-a-big-endian-world.patch
Patch14: 0015-Support-GTDT-in-a-big-endian-world.patch
Patch15: 0016-Support-HEST-in-a-big-endian-world.patch
Patch16: 0017-Support-RSDT-RSD-PTR-in-a-big-endian-world.patch
Patch17: 0018-Support-XSDT-in-a-big-endian-world.patch
Patch18: 0019-Support-SRAT-in-a-big-endian-world.patch
Patch19: 0020-Support-SLIT-in-a-big-endian-world.patch
Patch20: 0021-Support-MSCT-in-a-big-endian-world.patch
Patch21: 0022-Support-MPST-in-a-big-endian-world.patch
Patch22: 0023-Support-NFIT-in-a-big-endian-world.patch
Patch23: 0024-Support-SDEV-in-a-big-endian-world.patch
Patch24: 0025-Support-HMAT-in-a-big-endian-world.patch
Patch25: 0026-Support-PDTT-in-a-big-endian-world.patch
Patch26: 0027-Support-PPTT-in-a-big-endian-world.patch
Patch27: 0028-Support-PCCT-in-a-big-endian-world.patch
Patch28: 0029-Support-WDAT-in-a-big-endian-world.patch
Patch29: 0030-Support-TCPA-in-a-big-endian-world.patch
Patch30: 0031-Support-STAO-in-a-big-endian-world.patch
Patch31: 0032-Support-SLIC-and-MSDM-in-a-big-endian-world.patch
Patch32: 0033-Support-MCFG-in-a-big-endian-world.patch
Patch33: 0034-Support-LPIT-in-a-big-endian-world.patch
Patch34: 0035-Support-PMTT-in-a-big-endian-world.patch
Patch35: 0036-Support-IORT-in-a-big-endian-world.patch
Patch36: 0037-Support-IVRS-in-a-big-endian-world.patch
Patch37: 0038-Support-TPM2-in-a-big-endian-world.patch
Patch38: 0039-Add-partial-big-endian-support-for-WPBT-tables.patch
Patch39: 0040-Support-DSDT-SSDT-in-a-big-endian-world.patch
Patch40: 0041-Support-MTMR-in-a-big-endian-world.patch
Patch41: 0042-Support-VRTC-in-a-big-endian-world.patch
Patch42: 0043-Support-S3PT-in-a-big-endian-world.patch
Patch43: 0044-Correct-an-endian-ness-problem-when-converting-ASL-t.patch
Patch44: 0045-Correct-a-couple-of-endianness-issues-previously-uns.patch


# other miscellaneous patches

Patch100: unaligned.patch
Patch101: OPT_LDFLAGS.patch
Patch102: int-format.patch
Patch103: f23-harden.patch
Patch104: template.patch
Patch105: arm7hl.patch
Patch106: simple-64bit.patch
Patch107: mips-be-fix.patch
Patch108: cve-2017-13693.patch
Patch109: cve-2017-13694.patch
Patch110: cve-2017-13695.patch
Patch111: str-trunc-warn.patch
Patch112: ptr-cast.patch
Patch113: facp.patch
Patch114: armv7-str-fixes.patch
Patch115: dbtest.patch
Patch116: ull-32bit.patch

BuildRequires: bison flex

Provides: %name-tools = %version-%release

# The previous iasl package contained only a very small subset of these tools

# and it produced only the iasl package listed below; further, the pmtools
# package -- which provides acpidump -- also provides a /usr/sbin/acpixtract
# that we don't really want to collide with
Provides: acpixtract = %version-%release
Provides: iasl = %version-%release
Obsoletes: iasl < %version-%release

# The pmtools package provides an obsolete and deprecated version of the

# acpidump command from lesswatts.org which has now been taken off-line.
# ACPICA, however, is providing a new version and we again do not want to
# conflict with the command name.
Provides: acpidump = %version-%release
Provides: pmtools = %version-%release
Obsoletes: pmtools < %version-%release

%description
The ACPI Component Architecture (ACPICA) project provides an OS-independent
reference implementation of the Advanced Configuration and Power Interface
Specification (ACPI).  ACPICA code contains those portions of ACPI meant to
be directly integrated into the host OS as a kernel-resident subsystem, and
a small set of tools to assist in developing and debugging ACPI tables.

This package contains only the user-space tools needed for ACPI table
development, not the kernel implementation of ACPI.  The following commands
are installed:
  -- iasl: compiles ASL (ACPI Source Language) into AML (ACPI Machine
     Language), suitable for inclusion as a DSDT in system firmware.
     It also can disassemble AML, for debugging purposes.
  -- acpibin: performs basic operations on binary AML files (e.g.,
     comparison, data extraction)
  -- acpidump: write out the current contents of ACPI tables
  -- acpiexec: simulate AML execution in order to debug method definitions
  -- acpihelp: display help messages describing ASL keywords and op-codes
  -- acpinames: display complete ACPI name space from input AML
  -- acpisrc: manipulate the ACPICA source tree and format source files
     for specific environments
  -- acpixtract: extract binary ACPI tables from acpidump output (see
     also the pmtools package)

This version of the tools is being released under GPLv2 license.

%prep
%setup

%patch0 -p1 -b .big-endian
%patch1 -p1 -b .unaligned
%patch2 -p1 -b .OPT_LDFLAGS
%patch3 -p1 -b .int-format
%patch4 -p1 -b .f23-harden
# do not preserve a backup for this patch; it alters the results
# of the template test case and forces it to fail
%patch5 -p1
%patch6 -p1 -b .ppc64le
%patch7 -p1 -b .arm7hl
%patch8 -p1 -b .big-endian-v2
%patch9 -p1 -b .simple-64bit
%patch10 -p1 -b .mips-be-fix
%patch11 -p1 -b .cve-2017-13693
%patch12 -p1 -b .cve-2017-13694
%patch13 -p1 -b .cve-2017-13695
%patch14 -p1 -b .str-trunc-warn
%patch15 -p1 -b .ptr-cast
%patch16 -p1 -b .aslcodegen
%patch17 -p1 -b .facp
%patch18 -p1 -b .badexit

cp -p %SOURCE3 iasl.1
cp -p %SOURCE4 acpibin.1
cp -p %SOURCE5 acpidump.1
cp -p %SOURCE6 acpiexec.1
cp -p %SOURCE7 acpihelp.1
cp -p %SOURCE8 acpinames.1
cp -p %SOURCE9 acpisrc.1
cp -p %SOURCE10 acpixtract.1
cp -p %SOURCE11 acpiexamples.1
cp -p %SOURCE12 badcode.asl.result
cp -p %SOURCE13 grammar.asl.result
cp -p %SOURCE14 converterSample.asl.result
cp -p %SOURCE15 tests/run-misc-tests.sh
chmod a+x tests/run-misc-tests.sh

%ifarch %e2k
sed -i 's,-Werror ,,' generate/unix/iasl/Makefile
%endif

%build
CWARNINGFLAGS="\
   -std=c99 \
   -Wall \
   -Wbad-function-cast \
   -Wdeclaration-after-statement \
%ifnarch %e2k
   -Werror \
%endif
   -Wformat=2 \
   -Wmissing-declarations \
   -Wmissing-prototypes \
   -Wstrict-aliasing \
   -Wstrict-prototypes \
   -Wswitch-default \
   -Wpointer-arith \
   -Wundef \
   -Waddress \
   -Waggregate-return \
   -Winit-self \
   -Winline \
   -Wmissing-declarations \
   -Wmissing-field-initializers \
   -Wnested-externs \
   -Wold-style-definition \
   -Wno-format-nonliteral \
   -Wredundant-decls \
   -Wempty-body \
   -Woverride-init \
   -Wlogical-op \
   -Wmissing-parameter-type \
   -Wold-style-declaration \
   -Wtype-limits"

OPT_CFLAGS="%optflags $CWARNINGFLAGS"
export OPT_CFLAGS

%make HOST=_LINUX

%install
# Install the binaries
mkdir -p %buildroot%_bindir
install -pD -m0755 generate/unix/bin*/* %buildroot%_bindir/

# Install the man pages

mkdir -p %buildroot%_man1dir
install -pD -m0644 *.1 %buildroot%_man1dir/

%check
cd tests

# ASL tests

./aslts.sh                         # relies on non-zero exit
[ $? -eq 0 ] || exit 1

# misc tests

./run-misc-tests.sh %buildroot%_bindir %version

%files
%doc documents/changes.txt source/compiler/new_table.txt
%_bindir/*
%_man1dir/*

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin