From owner-svn-ports-head@FreeBSD.ORG Sun Feb 17 20:11:16 2013 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CA2D8ACD; Sun, 17 Feb 2013 20:11:16 +0000 (UTC) (envelope-from swills@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A1883729; Sun, 17 Feb 2013 20:11:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1HKBGpv060509; Sun, 17 Feb 2013 20:11:16 GMT (envelope-from swills@svn.freebsd.org) Received: (from swills@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1HKBG7X060505; Sun, 17 Feb 2013 20:11:16 GMT (envelope-from swills@svn.freebsd.org) Message-Id: <201302172011.r1HKBG7X060505@svn.freebsd.org> From: Steve Wills Date: Sun, 17 Feb 2013 20:11:16 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r312445 - in head/archivers/libpar2: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Feb 2013 20:11:16 -0000 Author: swills Date: Sun Feb 17 20:11:15 2013 New Revision: 312445 URL: http://svnweb.freebsd.org/changeset/ports/312445 Log: - Update patches required by nzbget PR: ports/175846 Submitted by: Mark Felder Approved by: Jeff Burchell (maintainer) Modified: head/archivers/libpar2/Makefile (contents, props changed) head/archivers/libpar2/files/patch-par2repairer.cpp (contents, props changed) head/archivers/libpar2/files/xpatch-addcancel-par2repairer.cpp (contents, props changed) Modified: head/archivers/libpar2/Makefile ============================================================================== --- head/archivers/libpar2/Makefile Sun Feb 17 20:08:29 2013 (r312444) +++ head/archivers/libpar2/Makefile Sun Feb 17 20:11:15 2013 (r312445) @@ -3,7 +3,7 @@ PORTNAME= libpar2 PORTVERSION= 0.2 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= archivers MASTER_SITES= SF/parchive/${PORTNAME}/${PORTVERSION} Modified: head/archivers/libpar2/files/patch-par2repairer.cpp ============================================================================== --- head/archivers/libpar2/files/patch-par2repairer.cpp Sun Feb 17 20:08:29 2013 (r312444) +++ head/archivers/libpar2/files/patch-par2repairer.cpp Sun Feb 17 20:11:15 2013 (r312445) @@ -1,14 +1,9 @@ -##### -# This patch is maintained by Andrei Prygounkov, author of news/nzbget -# It fixes a memory leak and a segfault triggered by a corrupted par2 file. -# -# For more details, see: -# http://sf.net/tracker/?func=detail&aid=2209433&group_id=30568&atid=399700 -##### -diff -aud ../libpar2-0.2-original/par2repairer.cpp ../libpar2-0.2/par2repairer.cpp +diff -aud -U 5 ../libpar2-0.2-original/par2repairer.cpp ../libpar2-0.2/par2repairer.cpp --- ../libpar2-0.2-original/par2repairer.cpp 2006-01-20 18:25:20.000000000 +0100 -+++ ../libpar2-0.2/par2repairer.cpp 2008-02-06 12:02:53.226050300 +0100 -@@ -78,6 +78,7 @@ ++++ ../libpar2-0.2/par2repairer.cpp 2012-11-30 14:23:31.000000000 +0100 +@@ -76,10 +76,11 @@ + ++sf; + } delete mainpacket; delete creatorpacket; @@ -16,7 +11,11 @@ diff -aud ../libpar2-0.2-original/par2re } -@@ -1261,7 +1262,7 @@ + Result Par2Repairer::PreProcess(const CommandLine &commandline) + { +@@ -1259,11 +1260,11 @@ + string path; + string name; DiskFile::SplitFilename(filename, path, name); cout << "Target: \"" << name << "\" - missing." << endl; @@ -25,12 +24,37 @@ diff -aud ../libpar2-0.2-original/par2re } } -@@ -1804,7 +1805,7 @@ + ++sf; + } +@@ -1802,11 +1803,11 @@ + << "\" - no data found." + << endl; } } } - sig_done.emit(name,count,sourcefile->GetVerificationPacket()->BlockCount()); -+ sig_done.emit(name,count, sourcefile->GetVerificationPacket() ? sourcefile->GetVerificationPacket()->BlockCount() : 0); ++ sig_done.emit(name,count, count>0 && sourcefile->GetVerificationPacket() ? sourcefile->GetVerificationPacket()->BlockCount() : 0); sig_progress.emit(1000.0); return true; } + + // Find out how much data we have found +diff -aud -U 5 ../libpar2-0.2-original/par2repairer.h ../libpar2-0.2/par2repairer.h +--- ../libpar2-0.2-original/par2repairer.h 2006-01-20 00:38:27.000000000 +0100 ++++ ../libpar2-0.2/par2repairer.h 2012-11-30 14:24:46.000000000 +0100 +@@ -34,10 +34,15 @@ + sigc::signal sig_filename; + sigc::signal sig_progress; + sigc::signal sig_headers; + sigc::signal sig_done; + ++ // This method allows to determine whether libpar2 includes the patches ++ // ("libpar2-0.2-bugfixes.patch") submitted to libpar2 project. ++ // Use the method in configure scripts for detection. ++ void BugfixesPatchVersion2() { } ++ + protected: + // Steps in verifying and repairing files: + + // Load packets from the specified file + bool LoadPacketsFromFile(string filename); Modified: head/archivers/libpar2/files/xpatch-addcancel-par2repairer.cpp ============================================================================== --- head/archivers/libpar2/files/xpatch-addcancel-par2repairer.cpp Sun Feb 17 20:08:29 2013 (r312444) +++ head/archivers/libpar2/files/xpatch-addcancel-par2repairer.cpp Sun Feb 17 20:11:15 2013 (r312445) @@ -1,14 +1,9 @@ -##### -# This patch is maintained by Andrei Prygounkov, author of news/nzbget -# It adds a graceful method to cancel file repair operations in progress. -# -# For more details, see: -# http://sf.net/tracker/?func=detail&aid=2209488&group_id=30568&atid=399700 -##### -diff -aud ../libpar2-0.2-original/par2repairer.cpp ../libpar2-0.2/par2repairer.cpp ---- ../libpar2-0.2-original/par2repairer.cpp 2008-10-26 19:54:33.000000000 +0100 -+++ ../libpar2-0.2/par2repairer.cpp 2008-10-29 10:24:48.000000000 +0100 -@@ -52,6 +52,8 @@ +diff -aud -U 5 ../libpar2-0.2-original/par2repairer.cpp ../libpar2-0.2/par2repairer.cpp +--- ../libpar2-0.2-original/par2repairer.cpp 2012-12-03 10:47:04.000000000 +0100 ++++ ../libpar2-0.2/par2repairer.cpp 2012-12-03 10:48:13.000000000 +0100 +@@ -50,10 +50,12 @@ + outputbuffer = 0; + noiselevel = CommandLine::nlNormal; headers = new ParHeaders; alreadyloaded = false; @@ -17,7 +12,11 @@ diff -aud ../libpar2-0.2-original/par2re } Par2Repairer::~Par2Repairer(void) -@@ -406,6 +408,10 @@ + { + delete [] (u8*)inputbuffer; +@@ -404,10 +406,14 @@ + { + cout << "Loading: " << newfraction/10 << '.' << newfraction%10 << "%\r" << flush; progress = offset; sig_progress.emit(newfraction); @@ -28,7 +27,11 @@ diff -aud ../libpar2-0.2-original/par2re } } -@@ -584,6 +590,11 @@ + // Attempt to read the next packet header + PACKET_HEADER header; +@@ -582,10 +588,15 @@ + if (noiselevel > CommandLine::nlQuiet) + cout << "No new packets found" << endl; delete diskfile; } @@ -40,7 +43,11 @@ diff -aud ../libpar2-0.2-original/par2re return true; } -@@ -833,9 +844,17 @@ + // Finish loading a recovery packet + bool Par2Repairer::LoadRecoveryPacket(DiskFile *diskfile, u64 offset, PACKET_HEADER &header) +@@ -831,26 +842,42 @@ + + // Load packets from each file that was found for (list::const_iterator s=files->begin(); s!=files->end(); ++s) { LoadPacketsFromFile(*s); @@ -58,7 +65,10 @@ diff -aud ../libpar2-0.2-original/par2re } { -@@ -846,9 +865,17 @@ + string wildcard = name.empty() ? "*.PAR2" : name + ".*.PAR2"; + list *files = DiskFile::FindFiles(path, wildcard); + + // Load packets from each file that was found for (list::const_iterator s=files->begin(); s!=files->end(); ++s) { LoadPacketsFromFile(*s); @@ -76,7 +86,11 @@ diff -aud ../libpar2-0.2-original/par2re } return true; -@@ -866,9 +893,18 @@ + } + +@@ -864,13 +891,22 @@ + // If the filename contains ".par2" anywhere + if (string::npos != filename.find(".par2") || string::npos != filename.find(".PAR2")) { LoadPacketsFromFile(filename); @@ -95,7 +109,11 @@ diff -aud ../libpar2-0.2-original/par2re return true; } -@@ -1210,6 +1246,11 @@ + // Check that the packets are consistent and discard any that are not + bool Par2Repairer::CheckPacketConsistency(void) +@@ -1208,10 +1244,15 @@ + + // Start verifying the files sf = sortedfiles.begin(); while (sf != sortedfiles.end()) { @@ -107,7 +125,11 @@ diff -aud ../libpar2-0.2-original/par2re // Do we have a source file Par2RepairerSourceFile *sourcefile = *sf; -@@ -1562,6 +1603,10 @@ + // What filename does the file use + string filename = sourcefile->TargetFileName(); +@@ -1560,10 +1601,14 @@ + if (oldfraction != newfraction) + { cout << "Scanning: \"" << shortname << "\": " << newfraction/10 << '.' << newfraction%10 << "%\r" << flush; sig_progress.emit(newfraction); @@ -118,7 +140,11 @@ diff -aud ../libpar2-0.2-original/par2re } } -@@ -1651,6 +1696,11 @@ + // If we fail to find a match, it might be because it was a duplicate of a block + // that we have already found. +@@ -1649,10 +1694,15 @@ + return false; + } } } @@ -130,7 +156,11 @@ diff -aud ../libpar2-0.2-original/par2re // Get the Full and 16k hash values of the file filechecksummer.GetFileHashes(hashfull, hash16k); -@@ -2291,10 +2341,19 @@ + // Did we make any matches at all + if (count > 0) +@@ -2289,14 +2339,23 @@ + if (oldfraction != newfraction) + { cout << "Repairing: " << newfraction/10 << '.' << newfraction%10 << "%\r" << flush; sig_progress.emit(newfraction); @@ -150,7 +180,11 @@ diff -aud ../libpar2-0.2-original/par2re ++inputblock; ++inputindex; } -@@ -2348,9 +2407,18 @@ + } + else +@@ -2346,13 +2405,22 @@ + if (oldfraction != newfraction) + { cout << "Processing: " << newfraction/10 << '.' << newfraction%10 << "%\r" << flush; sig_progress.emit(newfraction); @@ -169,7 +203,11 @@ diff -aud ../libpar2-0.2-original/par2re ++copyblock; ++inputblock; } -@@ -2362,6 +2430,11 @@ + } + +@@ -2360,10 +2428,15 @@ + if (lastopenfile != NULL) + { lastopenfile->Close(); } @@ -181,10 +219,14 @@ diff -aud ../libpar2-0.2-original/par2re if (noiselevel > CommandLine::nlQuiet) cout << "Writing recovered data\r"; -diff -aud ../libpar2-0.2-original/par2repairer.h ../libpar2-0.2/par2repairer.h ---- ../libpar2-0.2-original/par2repairer.h 2006-01-20 00:38:27.000000000 +0100 -+++ ../libpar2-0.2/par2repairer.h 2008-10-26 19:01:08.000000000 +0100 -@@ -183,6 +183,7 @@ + // For each output block that has been recomputed + vector::iterator outputblock = outputblocks.begin(); +diff -aud -U 5 ../libpar2-0.2-with-bugfixes-patch/par2repairer.h ../libpar2-0.2/par2repairer.h +--- ../libpar2-0.2-original/par2repairer.h 2012-12-03 10:47:04.000000000 +0100 ++++ ../libpar2-0.2/par2repairer.h 2012-12-03 10:48:13.000000000 +0100 +@@ -186,8 +186,9 @@ + + u64 progress; // How much data has been processed. u64 totaldata; // Total amount of data to be processed. u64 totalsize; // Total data size