diff --git a/.gitignore b/.gitignore index a2b0bbf..5629bfa 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,6 @@ -dc3dd-6.12.3.tar.gz +/dc3dd-6.12.3.tar.gz +/dc3dd-7.1.614.tar.gz +/dc3dd-7.2.641.tar.xz +/dc3dd-7.2.646.7z +/dc3dd-7.3.0.zip +/dc3dd-7.3.1.zip diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6fe63d9 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +# Makefile for source rpm: dc3dd +# $Id$ +NAME := dc3dd +SPECFILE = $(firstword $(wildcard *.spec)) + +define find-makefile-common +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +endef + +MAKEFILE_COMMON := $(shell $(find-makefile-common)) + +ifeq ($(MAKEFILE_COMMON),) +# attept a checkout +define checkout-makefile-common +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +endef + +MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) +endif + +include $(MAKEFILE_COMMON) diff --git a/changelog b/changelog new file mode 100644 index 0000000..2e48af7 --- /dev/null +++ b/changelog @@ -0,0 +1,140 @@ +* Thu Jan 16 2025 Fedora Release Engineering - 7.3.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 25 2024 Miroslav Suchý - 7.3.1-6 +- convert license to SPDX + +* Wed Jul 17 2024 Fedora Release Engineering - 7.3.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jan 24 2024 Fedora Release Engineering - 7.3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 7.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 7.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Apr 26 2023 Michal Ambroz - 7.3.1-1 +- bump to new upstream release 7.3.1 + +* Thu Apr 13 2023 Florian Weimer - 7.3.0-2 +- Port configure script to C99 + +* Mon Mar 06 2023 Michal Ambroz - 7.3.0-1 +- bump to new upstream release 7.3.0 + +* Thu Jan 19 2023 Fedora Release Engineering - 7.2.646-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 7.2.646-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 7.2.646-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 7.2.646-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Feb 19 2021 Michal Ambroz - 7.2.646-13 +- add dependency to perl(I18N::Langinfo) to fix FTBFS + +* Sat Aug 01 2020 Fedora Release Engineering - 7.2.646-12 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 7.2.646-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 7.2.646-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Oct 28 2019 Michal Ambroz - 7.2.646-9 +- License change to GPLv3+ (the lib/getdate.c is no longer gplv2+) + +* Sun Oct 20 2019 Michal Ambroz - 7.2.646-8 +- use Archlinux patch to fix FTBFS, do not update gnulib embedded library files + +* Thu Jan 31 2019 Fedora Release Engineering - 7.2.646-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Aug 28 2018 Michal Ambroz - 7.2.646-6 +- fix FTBFS, update gnulib embedded library files + +* Thu Jul 12 2018 Fedora Release Engineering - 7.2.646-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 7.2.646-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 7.2.646-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 7.2.646-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Apr 29 2017 Michal Ambroz - 7.2.646-1 +- bump to 7.2.646 + +* Fri Feb 10 2017 Fedora Release Engineering - 7.2.641-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sun Oct 02 2016 Michal Ambroz - 7.2.641-1 +- bump to 7.2.641 +- add BR for Locale::gettext + +* Wed Feb 03 2016 Fedora Release Engineering - 7.1.614-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 7.1.614-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Aug 16 2014 Fedora Release Engineering - 7.1.614-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 7.1.614-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Dec 22 2013 Michal Ambroz - 7.1.614-6 +- Fix the build issue with new automake + +* Sat Aug 03 2013 Fedora Release Engineering - 7.1.614-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sat Apr 27 2013 Adam Miller - 7.1.614-4 +- Fix BZ 925238 - rerun autoconf to add support for aarch64 + +* Wed Feb 13 2013 Fedora Release Engineering - 7.1.614-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jul 18 2012 Fedora Release Engineering - 7.1.614-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Adam Miller - 7.1.614-1 +- Update to upstream release + +* Fri Jan 13 2012 Fedora Release Engineering - 6.12.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Feb 08 2011 Fedora Release Engineering - 6.12.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Aug 10 2009 Adam Miller - 6.12.3-3 +- Fixed Source0 listing as reported https://www.redhat.com/archives/fedora-devel-list/2009-August/msg00591.html + +* Fri Jul 24 2009 Fedora Release Engineering - 6.12.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Mar 19 2009 Adam Miller - 6.12.3-1 +- New release of dc3dd + +* Thu Mar 05 2009 Adam Miller - 6.12.2-3 +- Cleaned up the .spec by looping through files needing EOF encoding fix + +* Mon Mar 02 2009 Adam Miller - 6.12.2-2 +- Removed .gmo binaries, fixed source0, added doc items, fixed EOF encoding +- fixed licencing listing + +* Mon Feb 23 2009 Adam Miller - 6.12.2-1 +- First build of dc3dd for fedora diff --git a/dc3dd-01_automake.patch b/dc3dd-01_automake.patch new file mode 100644 index 0000000..6082c47 --- /dev/null +++ b/dc3dd-01_automake.patch @@ -0,0 +1,18 @@ +diff -ru dc3dd-7.1.614/m4/jm-macros.m4 dc3dd-7.1.614.new/m4/jm-macros.m4 +--- dc3dd-7.1.614/m4/jm-macros.m4 2008-06-05 19:47:58.000000000 +0200 ++++ dc3dd-7.1.614.new/m4/jm-macros.m4 2013-12-22 01:15:24.044931510 +0100 +@@ -128,10 +128,10 @@ + dnl whether functions and headers are available, whether they work, etc. + AC_REQUIRE([AC_SYS_LARGEFILE]) + +- dnl This test must precede tests of compiler characteristics like +- dnl that for the inline keyword, since it may change the degree to +- dnl which the compiler supports such features. +- AC_REQUIRE([AM_C_PROTOTYPES]) ++# dnl This test must precede tests of compiler characteristics like ++# dnl that for the inline keyword, since it may change the degree to ++# dnl which the compiler supports such features. ++# AC_REQUIRE([AM_C_PROTOTYPES]) + + dnl Checks for typedefs, structures, and compiler characteristics. + AC_REQUIRE([AC_C_BIGENDIAN]) diff --git a/dc3dd-02_fix-FTBFS-with-glibc-2.28.patch b/dc3dd-02_fix-FTBFS-with-glibc-2.28.patch new file mode 100644 index 0000000..95eb1d5 --- /dev/null +++ b/dc3dd-02_fix-FTBFS-with-glibc-2.28.patch @@ -0,0 +1,100 @@ +Description: fix a FTBFS with glibc 2.28 +Author: mschlenker +Origin: https://aur.archlinux.org/packages/dc3dd/ +Bug-Debian: https://bugs.debian.org/915431 +Forwarded: https://sourceforge.net/p/dc3dd/bugs/19/ +Reviewed-By: Joao Eriberto Mota Filho +Last-Update: 2018-10-17 +--- dc3dd-7.2.646.orig/lib/fpurge.c ++++ dc3dd-7.2.646/lib/fpurge.c +@@ -61,7 +61,7 @@ fpurge (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-# if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + fp->_IO_read_end = fp->_IO_read_ptr; + fp->_IO_write_ptr = fp->_IO_write_base; + /* Avoid memory leak when there is an active ungetc buffer. */ +--- dc3dd-7.2.646.orig/lib/freadahead.c ++++ dc3dd-7.2.646/lib/freadahead.c +@@ -24,7 +24,7 @@ + size_t + freadahead (FILE *fp) + { +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + if (fp->_IO_write_ptr > fp->_IO_write_base) + return 0; + return (fp->_IO_read_end - fp->_IO_read_ptr) +--- dc3dd-7.2.646.orig/lib/freading.c ++++ dc3dd-7.2.646/lib/freading.c +@@ -31,7 +31,7 @@ freading (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + return ((fp->_flags & _IO_NO_WRITES) != 0 + || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 + && fp->_IO_read_base != NULL)); +--- dc3dd-7.2.646.orig/lib/freadptr.c ++++ dc3dd-7.2.646/lib/freadptr.c +@@ -29,7 +29,7 @@ freadptr (FILE *fp, size_t *sizep) + size_t size; + + /* Keep this code in sync with freadahead! */ +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + if (fp->_IO_write_ptr > fp->_IO_write_base) + return NULL; + size = fp->_IO_read_end - fp->_IO_read_ptr; +--- dc3dd-7.2.646.orig/lib/freadseek.c ++++ dc3dd-7.2.646/lib/freadseek.c +@@ -34,7 +34,7 @@ static inline void + freadptrinc (FILE *fp, size_t increment) + { + /* Keep this code in sync with freadptr! */ +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + fp->_IO_read_ptr += increment; + #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ + fp_->_p += increment; +--- dc3dd-7.2.646.orig/lib/fseeko.c ++++ dc3dd-7.2.646/lib/fseeko.c +@@ -44,7 +44,7 @@ rpl_fseeko (FILE *fp, off_t offset, int + #endif + + /* These tests are based on fpurge.c. */ +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + if (fp->_IO_read_end == fp->_IO_read_ptr + && fp->_IO_write_ptr == fp->_IO_write_base + && fp->_IO_save_base == NULL) +--- dc3dd-7.2.646.orig/lib/fseterr.c ++++ dc3dd-7.2.646/lib/fseterr.c +@@ -29,7 +29,7 @@ fseterr (FILE *fp) + /* Most systems provide FILE as a struct and the necessary bitmask in + , because they need it for implementing getc() and putc() as + fast macros. */ +-#if defined _IO_ferror_unlocked || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ ++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Linux libc5 */ + fp->_flags |= _IO_ERR_SEEN; + #elif defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, MacOS X, Cygwin */ + fp_->_flags |= __SERR; +--- dc3dd-7.2.646.orig/lib/stdio-impl.h ++++ dc3dd-7.2.646/lib/stdio-impl.h +@@ -18,6 +18,13 @@ + the same implementation of stdio extension API, except that some fields + have different naming conventions, or their access requires some casts. */ + ++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this ++ problem by defining it ourselves. FIXME: Do not rely on glibc ++ internals. */ ++ ++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN ++# define _IO_IN_BACKUP 0x100 ++#endif + + /* BSD stdio derived implementations. */ + diff --git a/dc3dd-configure-c99.patch b/dc3dd-configure-c99.patch new file mode 100644 index 0000000..83aec14 --- /dev/null +++ b/dc3dd-configure-c99.patch @@ -0,0 +1,37 @@ +Include for towlower, towupper, to avoid implicit function +declarations and build failures with future compilers. + +Submitted upstream: + +diff --git a/configure b/configure +index 1901a37..5a4b0c3 +--- a/configure ++++ b/configure +@@ -54147,6 +54147,7 @@ cat >>conftest.$ac_ext <<_ACEOF + #endif + #include + #include ++#include + struct tm t; + char buf[16]; + int main () { +@@ -54913,6 +54914,7 @@ cat >>conftest.$ac_ext <<_ACEOF + #endif + #include + #include ++#include + struct tm t; + char buf[16]; + int main () { +diff --git a/m4/locale-tr.m4 b/m4/locale-tr.m4 +index d6a2088..d92c674 100644 +--- a/m4/locale-tr.m4 ++++ b/m4/locale-tr.m4 +@@ -20,6 +20,7 @@ changequote(,)dnl + #endif + #include + #include ++#include + struct tm t; + char buf[16]; + int main () { diff --git a/dc3dd.spec b/dc3dd.spec index f669661..3c80d10 100644 --- a/dc3dd.spec +++ b/dc3dd.spec @@ -1,50 +1,69 @@ Name: dc3dd -Version: 6.12.3 -Release: 3%{?dist} +Version: 7.3.1 +Release: %autorelease Summary: Patched version of GNU dd for use in computer forensics -Group: Applications/Editors -License: GPLv2+ and GPLv3+ -URL: http://dc3dd.sourceforge.net/ -Source0: http://downloads.sourceforge.net/dc3dd/%{name}-%{version}.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot +# Automatically converted from old format: GPLv3+ - review is highly recommended. +License: GPL-3.0-or-later +URL: http://sourceforge.net/projects/dc3dd/ +Source0: http://downloads.sourceforge.net/dc3dd/%{name}-%{version}.zip +#Fixing build error: automatic de-ANSI-fication support has been removed +#Removing the check for AM_C_PROTOTYPES +Patch1: dc3dd-01_automake.patch +Patch2: dc3dd-configure-c99.patch + +# Original Archlinux patch to fix build with recent libtools version +# Author: mschlenker +# included upstream in version 7.3.0 +# Patch2: dc3dd-02_fix-FTBFS-with-glibc-2.28.patch + + +BuildRequires: gcc +BuildRequires: git BuildRequires: gettext +BuildRequires: gettext-devel +BuildRequires: gnulib-devel +BuildRequires: perl(Locale::gettext) +BuildRequires: perl(I18N::Langinfo) +BuildRequires: p7zip +BuildRequires: m4, readline-devel, autoconf, automake +BuildRequires: make %description dc3dd is a patched version of GNU dd to include a number of features useful for computer forensics. Many of these features were inspired by dcfldd, but were rewritten for dc3dd. - * Pattern writes. The program can write a single hexadecimal value or a +* Pattern writes. The program can write a single hexadecimal value or a text string to the output device for wiping purposes. - * Piecewise and overall hashing with multiple algorithms and variable +* Piecewise and overall hashing with multiple algorithms and variable size windows. Supports MD5, SHA-1, SHA-256, and SHA-512. Hashes can be computed before or after conversions are made. - * Progress meter with automatic input/output file size probing - * Combined log for hashes and errors - * Error grouping. Produces one error message for identical sequential +* Progress meter with automatic input/output file size probing +* Combined log for hashes and errors +* Error grouping. Produces one error message for identical sequential errors - * Verify mode. Able to repeat any transformations done to the input +* Verify mode. Able to repeat any transformations done to the input file and compare it to an output. - * Ability to split the output into chunks with numerical or alphabetic +* Ability to split the output into chunks with numerical or alphabetic extensions %prep -%setup -q +%autosetup -S git -for file in README Sample_Commands.txt Options_Reference.txt; -do - sed 's|\r||' $file > $file.tmp - touch -r $file $file.tmp - mv -f $file.tmp $file -done +#Missing x flag in version 7.2.646 makes the build fail +chmod +x build-aux/git-version-gen configure + +# ChangeLog having wrong ends of lines +sed -i -e 's|\r||g' ChangeLog -rm po/*.gmo %build -%configure +autoreconf -vif #BZ925238 - support aarch64 +# TODO check the --enable-hdparm option +%configure make %{?_smp_mflags} %install @@ -53,32 +72,12 @@ make install DESTDIR=$RPM_BUILD_ROOT %find_lang %{name} -%clean -rm -rf $RPM_BUILD_ROOT - %files -f %{name}.lang -%defattr(-,root,root,-) -%doc ABOUT-NLS AUTHORS COPYING ChangeLog README README.coreutils THANKS THANKS-to-translators TODO Sample_Commands.txt NEWS Options_Reference.txt +%license COPYING +%doc ABOUT-NLS AUTHORS ChangeLog README README.coreutils THANKS THANKS-to-translators TODO Sample_Commands.txt NEWS Options_Reference.txt %{_bindir}/%{name} %{_mandir}/man1/%{name}.* %changelog -* Mon Aug 10 2009 Adam Miller - 6.12.3-3 -- Fixed Source0 listing as reported https://www.redhat.com/archives/fedora-devel-list/2009-August/msg00591.html - -* Fri Jul 24 2009 Fedora Release Engineering - 6.12.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Thu Mar 19 2009 Adam Miller - 6.12.3-1 -- New release of dc3dd - -* Thu Mar 05 2009 Adam Miller - 6.12.2-3 -- Cleaned up the .spec by looping through files needing EOF encoding fix - -* Mon Mar 02 2009 Adam Miller - 6.12.2-2 -- Removed .gmo binaries, fixed source0, added doc items, fixed EOF encoding -- fixed licencing listing - -* Mon Feb 23 2009 Adam Miller - 6.12.2-1 -- First build of dc3dd for fedora +%autochangelog diff --git a/sources b/sources index a34bb33..71d051b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b01dd06bbfea7cb49cf4a677715a1524 dc3dd-6.12.3.tar.gz +SHA512 (dc3dd-7.3.1.zip) = 493d9165ffc61fe9401701578ba9645a106e4fb81968cd341d17d41f4e86358bb5c8f8add28966a0650164bf898eb61587d24d4046ac4b542a1e498aff9512f7