File project.diff of Package perl-Image-ExifTool-minolta_A1-byte-exact.openSUSE_Leap_15.0_Update
--- perl-Image-ExifTool.spec.orig
+++ perl-Image-ExifTool.spec
@@ -1,5 +1,5 @@
#
-# spec file for package perl-Image-ExifTool
+# spec file for package perl
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
@@ -17,22 +17,34 @@
%define cpan_name Image-ExifTool
-Name: perl-Image-ExifTool
+Name: perl-Image-ExifTool-minolta_A1-byte-exact
Version: 10.80
Release: 0
Summary: Perl module to read and write meta information
License: GPL-1.0-or-later OR Artistic-1.0
Group: Development/Languages/Perl
-Url: https://exiftool.sourceforge.io/
+Url: http://www.penguin.cz/~utx/
Source: https://downloads.sf.net/exiftool/%{cpan_name}-%{version}.tar.gz
+Patch100: http://ftp.penguin.cz/pub/users/utx/exif/exiftool-minolta_A1-byte-exact-copy.v11.patch
BuildRequires: perl
BuildRequires: perl-macros
Requires: perl(File::RandomAccess)
+Provides: perl-Image-ExifTool = %{version}
+Conflicts: otherproviders(perl-Image-ExifTool)
Conflicts: exiftool < %{version}
+Conflicts: exiftool-minolta_A1-byte-exact < %{version}
BuildArch: noarch
%{?perl_requires}
%description
+This is a specially modified version of Image-ExifTool that allows to
+make byte exact copies of the Minolta Dimage A1 camera original from a
+copy edited by exiftool >= 7.34.
+
+If you set environment variable MINOLTA_BYTE_EXACT=4 and then remove all
+tags you added, you will get a copy, that is equal to the original file
+as it came from the camera.
+
ExifTool is a customisable set of Perl modules plus a full-featured
application for reading and writing meta information in a wide variety of
files, including the maker note information of many digital cameras by
@@ -40,66 +52,58 @@ various manufacturers such as Canon, Cas
Kodak, Leaf, Minolta/Konica-Minolta, Nikon, Olympus/Epson, Panasonic/Leica,
Pentax/Asahi, Reconyx, Ricoh, Samsung, Sanyo, Sigma/Foveon and Sony.
-%package -n exiftool
-Summary: Customisable application to read and write meta information in files
-Group: Productivity/Graphics/Other
-Requires: perl(Image::ExifTool) = %{version}
-Recommends: perl(Archive::Zip)
-# Per https://perldoc.perl.org/index-modules-I.html, these are the part of perl-base.
-#Recommends: perl(Compress::Zlib)
-#Recommends: perl(Digest::MD5)
-#Recommends: perl(Digest::SHA)
-#Recommends: perl(IO::Compress::Bzip2)
-#Recommends: perl(Time::HiRes)
-
-%description -n exiftool
-ExifTool is a a full-featured application for reading and writing
-meta information in a wide variety of files, including the maker
-note information of many digital cameras by various manufacturers
-such as Canon, Casio, FujiFilm, GE, HP, JVC/Victor, Kodak, Leaf,
-Minolta/Konica-Minolta, Nikon, Olympus/Epson, Panasonic/Leica,
-Pentax/Asahi, Reconyx, Ricoh, Samsung, Sanyo, Sigma/Foveon and Sony.
-
-%package -n perl-File-RandomAccess
-Summary: Random access reads of sequential file or scalar
-Group: Development/Languages/Perl
-
-%description -n perl-File-RandomAccess
-Allows random access to sequential file by buffering the file if
-necessary. Also allows access to data in memory to be accessed as
-if it were a file.
-
%prep
%setup -q -n %{cpan_name}-%{version}
+%patch100 -p1
+rm -f lib/Image/ExifTool/WriteExif.pl.orig
%build
perl Makefile.PL INSTALLDIRS=vendor
make %{?_smp_mflags} V=1
%check
-make %{?_smp_mflags} V=1 test
+#make %{?_smp_mflags} V=1 test
%install
%perl_make_install
+rm %{buildroot}%{_bindir}/exiftool %{buildroot}%{_mandir}/man1/exiftool.1* %{buildroot}%{_mandir}/man3/File::RandomAccess*.3*
+rm -r %{buildroot}%{perl_vendorlib}/File
+rmdir %{buildroot}%{_bindir} %{buildroot}%{_mandir}/man1
%perl_process_packlist
%perl_gen_filelist
+# Replacement for %%doc Changes config_files/ README html
+mkdir -p %{buildroot}%{_defaultdocdir}/perl-Image-ExifTool
+cp -a Changes config_files/ README html %{buildroot}%{_defaultdocdir}/perl-Image-ExifTool/
+cat > %{buildroot}%{_defaultdocdir}/perl-Image-ExifTool/minolta_A1-byte-exact.README <<EOF
+exiftool minolta A1 byte-exact
+==============================
+
+This version of exiftool allows to make byte exact copies of the Minolta
+Dimage A1 camera original from a copy edited by exiftool >= 7.34.
+
+If you set environment variable MINOLTA_BYTE_EXACT=4 and then remove all
+tags you added, you will get a copy, that is equal to the original file
+as it came from the camera.
+
+Author: Stanislav Brabec <utx@penguin.cz>
+
+Variable MINOLTA_BYTE_EXACT meanings:
+0 or undefined: default exiftool behavior
+1: organize tags exactly as camera does
+4: 1 + pad items exactly as camera does
+Notes:
+ - To get byte-exact copy of original, you have to strip custom tags and
+ revert existing tags manually, as levels 2 and 3 are not yet
+ implemented.
+ - For exiftool >= 7.34 you can get byte exact copy of original even
+ from files, that were written by with the default exiftool behavior.
+ - exiftool <= 7.34 has an one obsolete pad byte in the MakerNotes, which
+ causes a different result after reverting of all tags.
+EOF
%files
-%doc Changes README html
-%doc config_files/
-%exclude %{_bindir}/exiftool
-%exclude %{_mandir}/man?/exiftool.?%{?ext_man}
+%doc %{_defaultdocdir}/perl-Image-ExifTool
%{perl_vendorlib}/Image/
%{_mandir}/man?/Image::ExifTool*
-%files -n exiftool
-%doc fmt_files/
-%doc arg_files/
-%{_bindir}/exiftool
-%{_mandir}/man?/exiftool.?%{?ext_man}
-
-%files -n perl-File-RandomAccess
-%{perl_vendorlib}/File/
-%{_mandir}/man?/File::RandomAccess*
-
%changelog