##
##  integrit.spec -- OpenPKG RPM Package Specification
##  Copyright (c) 2000-2025 OpenPKG Project <http://openpkg.org/>
##
##  Permission to use, copy, modify, and distribute this software for
##  any purpose with or without fee is hereby granted, provided that
##  the above copyright notice and this permission notice appear in all
##  copies.
##
##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
##  SUCH DAMAGE.
##

#   package version
%define       V_major 4
%define       V_minor 1

#   package information
Name:         integrit
Summary:      Filesystem Integrity Scanner
URL:          http://integrit.sourceforge.net/
Vendor:       Ed L Cashin
Packager:     OpenPKG Project
Distribution: OpenPKG Community
Class:        PLUS
Group:        Filesystem
License:      GPL
Version:      %{V_major}.%{V_minor}
Release:      20080101

#   list of sources
Source0:      http://download.sourceforge.net/integrit/integrit-%{version}.tar.gz
Source1:      integrit.conf

#   build information
BuildPreReq:  OpenPKG, openpkg >= 20160101, texinfo, gcc
PreReq:       OpenPKG, openpkg >= 20160101

%description
    Integrit is an alternative to file integrity verification programs
    like tripwire and aide. It helps you determine whether an intruder
    has modified a computer system. Without a system like integrit, a
    sysadmin can't know whether the tools he/she uses to investigate a
    potential break in are trojan horses or not. e.g., If the machine
    has a "/tmp/. " directory containing a shell that's setuid root,
    and you want to investigate to determine how badly the cracker has
    compromised the machine, how do you know that the attacker hasn't
    replaced your "find" and "ls" commands with tampered versions that
    fail to report the cracker's files? A system like integrit works
    by creating a database that is a snapshot of the most essential
    parts of your computer system. You put the database somewhere safe,
    and then later you can use it to make sure that no one has made
    any illicit modifications to the computer system. In the case of a
    break in, you know exactly which files have been modified, added, or
    removed. integrit is a robust, stable piece of software designed for
    professional use.

%track
    prog integrit = {
        version   = %{version}
        url       = http://sourceforge.net/projects/integrit/files/
        regex     = integrit-(__VER__)\.tar\.gz
    }

%prep
    %setup -q

%build
    CC="%{l_cc}" \
    CFLAGS="%{l_cflags -O}" \
    STATIC="" \
    ./configure \
        --prefix=%{l_prefix}
    %{l_make} %{l_mflags -O}
    %{l_make} %{l_mflags -O} utils

%install
    cd ./doc/
    %{l_make} %{l_mflags} install \
        prefix=$RPM_BUILD_ROOT%{l_prefix} \
        exec_prefix=$RPM_BUILD_ROOT%{l_prefix}
    cd ../utils/
    %{l_make} %{l_mflags} install \
        prefix=$RPM_BUILD_ROOT%{l_prefix} \
        exec_prefix=$RPM_BUILD_ROOT%{l_prefix}
    cd ../
    %{l_shtool} install -c -m 755 \
        integrit $RPM_BUILD_ROOT%{l_prefix}/sbin/

    #   install a default configuration
    %{l_shtool} mkdir -f -p -m 755 \
        $RPM_BUILD_ROOT%{l_prefix}/etc/integrit \
        $RPM_BUILD_ROOT%{l_prefix}/share/integrit
    %{l_shtool} install -c -m 644 %{l_value -s -a} \
        %{SOURCE integrit.conf} \
        $RPM_BUILD_ROOT%{l_prefix}/etc/integrit/
    rm -f $RPM_BUILD_ROOT%{l_prefix}/info/dir

    #   strip binaries
    strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
    strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true

    #   determine files
    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
        %{l_files_std} \
        '%config %{l_prefix}/etc/integrit/*'

%files -f files

%clean

