# Tests by default. No tests: rpm -ba --define 'dotests 0' *.spec
%{!?dotests: %define dotests 1}

Summary:	Finds duplicate files in a given set of directories
Name:		fdupes
Version:	2.3.0
Release:	1
License:	MIT
Group:		Applications/File
URL:	        https://github.com/adrianlopezroche/fdupes	
Source0:	https://fossies.org/linux/privat/fdupes-%{version}.tar.gz

Patch0:         %{name}-2.3.0-getopt.patch

Patch1:         %{name}-2.3.0-macro.patch

Patch2:         %{name}-2.3.0-md5.patch

Requires:	ncurses >= 6.4
Requires:	pcre2 >= 10.40
Requires:       sqlite-devel >= 3.41.2 	

BuildRequires:	patch  
BuildRequires:	coreutils  
BuildRequires:	make  

%description
FDUPES is a program for identifying duplicate files residing within specified
directories.


%prep
%setup -q
export PATH=/opt/freeware/bin:$PATH
%patch0
%patch1
%patch2

# Duplicate source for 32 & 64 bits
rm -rf /tmp/%{name}-%{version}-32bit
mkdir  /tmp/%{name}-%{version}-32bit
mv *   /tmp/%{name}-%{version}-32bit
mkdir 32bit
mv     /tmp/%{name}-%{version}-32bit/* 32bit
rm -rf /tmp/%{name}-%{version}-32bit
mkdir 64bit
cp -rp 32bit/* 64bit/


%build
# first build the 64-bit version
cd 64bit
export LDFLAGS="-Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib -L/opt/freeware/lib64 -L/opt/freeware/lib -lcurses -lncurses"
export CC="gcc"
export CFLAGS=" -maix64 -O2 -I/opt/freeware/include/ncurses"
export OBJECT_MODE=64
./configure \
   --prefix=%{_prefix} \
   --mandir=%{_mandir} 

gmake %{?_smp_mflags} COMPILER_OPTIONS="${CFLAGS}"
if [ "%{dotests}" == 1 ]
then
    (gmake -k check || true)
fi


# now build the 32-bit version
cd ../32bit
export LDFLAGS="-Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 -L/opt/freeware/lib -lcurses -lncurses"
export CC="gcc"
export CFLAGS=" -maix32 -O2 -D_LARGE_FILES -I/opt/freeware/include/ncurses"
export OBJECT_MODE=32
./configure \
    --prefix=%{_prefix} \
    --mandir=%{_mandir}

gmake %{?_smp_mflags} COMPILER_OPTIONS="${CFLAGS}"
if [ "%{dotests}" == 1 ]
then
    (gmake -k check || true)
fi


%install
[ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT}


cd 64bit

export AR="/usr/bin/ar -X64"
export OBJECT_MODE=64
make DESTDIR=${RPM_BUILD_ROOT} install
/usr/bin/strip ${RPM_BUILD_ROOT}%{_bindir}/* || :
(
    cd  ${RPM_BUILD_ROOT}/%{_prefix}/bin
    for fic in $(ls -1| grep -v -e _32 -e _64)
    do
        mv $fic "$fic"_64
    done
)

cd ../32bit
export AR="/usr/bin/ar -X32"
export OBJECT_MODE=32
make DESTDIR=${RPM_BUILD_ROOT} install
/usr/bin/strip ${RPM_BUILD_ROOT}%{_bindir}/* || :
(
    cd  ${RPM_BUILD_ROOT}/%{_prefix}/bin
    for fic in $(ls -1| grep -v -e _32 -e _64)
    do
        mv $fic "$fic"_32
        ln -sf "$fic"_64 $fic
    done
)


%check
cd 64bit
./%{name} testdir
./%{name} -r testdir
cd ../32bit
./%{name} testdir
./%{name} -r testdir


%clean
[ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT}


%files
%defattr(-,root,system,-)
%doc 32bit/CHANGES 32bit/CONTRIBUTORS 32bit/README 32bit/INSTALL
%{_bindir}/*
%{_mandir}/man1/%{name}.1*

%changelog
* Thu Mar 07 2024 Shubham Gupta <Shubham.Gupta36@ibm.com> - 2.3.0-1
- Update to version 2.3.0-1

* Thu Oct 26 2023 Harshith K A <harshith.k.a@ibm.com> - 2.2.1-1 
- Update to version 2.2.1-1

* Wed Jun 15 2022 Sangeetha Bandi <sanbandi@in.ibm.com> 2.1.2-1
- Update to version 2.1.2

* Tue Mar 10 2020 Rishita Saha <risaha16@in.ibm.com> 2.0.0-1
- Update to version 2.0.0

* Wed May 25 2016 Ravi Hirekurabar <rhirekur@in.ibm.com> 1.51-1
- updated to version 1.51

* Wed Apr 13 2011 Michael Perzl <michael@perzl.org> - 1.50-1.PR2
- first version for AIX5L v5.1 and higher

