diff --git a/jpegoptim-verbose-error.patch b/jpegoptim-verbose-error.patch new file mode 100644 index 0000000..48039b0 --- /dev/null +++ b/jpegoptim-verbose-error.patch @@ -0,0 +1,36 @@ +--- a/jpegoptim.c 2015-05-19 10:27:23.000000000 +0600 ++++ b/jpegoptim.c 2016-01-11 00:26:41.550678090 +0600 +@@ -793,19 +793,19 @@ + outfname=NULL; + set_filemode_binary(stdout); + if (fwrite(outbuffer,outbuffersize,1,stdout) != 1) +- fatal("write failed to stdout"); ++ fatal("%s, write failed to stdout",(stdin_mode?"stdin":argv[i])); + } else { + if (preserve_perms && !dest) { + /* make backup of the original file */ + snprintf(tmpfilename,sizeof(tmpfilename),"%s.jpegoptim.bak",newname); + if (verbose_mode > 1 && !quiet_mode) +- fprintf(LOG_FH,"creating backup of original image as: %s\n",tmpfilename); ++ fprintf(LOG_FH,"%s, creating backup as: %s\n",(stdin_mode?"stdin":argv[i]),tmpfilename); + if (file_exists(tmpfilename)) +- fatal("backup file already exists: %s",tmpfilename); ++ fatal("%s, backup file already exists: %s",(stdin_mode?"stdin":argv[i]),tmpfilename); + if (copy_file(newname,tmpfilename)) +- fatal("failed to create backup of original file"); ++ fatal("%s, failed to create backup: %s",(stdin_mode?"stdin":argv[i]),tmpfilename); + if ((outfile=fopen(newname,"wb"))==NULL) +- fatal("error opening output file: %s", newname); ++ fatal("%s, error opening output file: %s",(stdin_mode?"stdin":argv[i]),newname); + outfname=newname; + } else { + #ifdef HAVE_MKSTEMPS +@@ -813,7 +813,7 @@ + snprintf(tmpfilename,sizeof(tmpfilename), + "%sjpegoptim-%d-%d.XXXXXX.tmp", tmpdir, (int)getuid(), (int)getpid()); + if ((tmpfd = mkstemps(tmpfilename,4)) < 0) +- fatal("error creating temp file: mkstemps() failed"); ++ fatal("%s, error creating temp file %s: mkstemps() failed",(stdin_mode?"stdin":argv[i]),tmpfilename); + if ((outfile=fdopen(tmpfd,"wb"))==NULL) + #else + /* if platform is missing mkstemps(), try to create at least somewhat "safe" temp file... */ diff --git a/jpegoptim.spec b/jpegoptim.spec index d19f912..595585b 100644 --- a/jpegoptim.spec +++ b/jpegoptim.spec @@ -1,16 +1,22 @@ Name: jpegoptim Version: 1.4.3 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Utility to optimize JPEG files Group: Applications/Multimedia License: GPLv2 URL: http://www.kokkonen.net/tjko/projects.html + Source0: http://www.kokkonen.net/tjko/src/%{name}-%{version}.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +Patch0: jpegoptim-verbose-error.patch + +%{?el5:BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)} +BuildRequires: coreutils +BuildRequires: gcc BuildRequires: libjpeg-devel +BuildRequires: make %description Jpegoptim is an utility to optimize JPEG files. Provides lossless optimization @@ -20,6 +26,7 @@ setting maximum quality factor. %prep %setup -q +%patch0 -p1 %build @@ -42,13 +49,18 @@ rm -rf %{buildroot} %files -%defattr(-,root,root,-) -%doc README COPYRIGHT COPYING +%{!?_licensedir:%global license %doc} +%license COPYRIGHT COPYING +%doc README %{_bindir}/jpegoptim %{_mandir}/man1/*.1* %changelog +* Sat Feb 20 2016 Denis Fateyev - 1.4.3-4 +- Added detailed error handling patch +- Modernized the package spec + * Thu Feb 04 2016 Fedora Release Engineering - 1.4.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild