summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-gfx/exiv2/files
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-gfx/exiv2/files')
-rw-r--r--media-gfx/exiv2/files/exiv2-0.23-boost-fs-contrib.patch182
-rw-r--r--media-gfx/exiv2/files/exiv2-0.24-CVE-2014-9449.patch27
-rw-r--r--media-gfx/exiv2/files/exiv2-0.24-python3.patch27
3 files changed, 236 insertions, 0 deletions
diff --git a/media-gfx/exiv2/files/exiv2-0.23-boost-fs-contrib.patch b/media-gfx/exiv2/files/exiv2-0.23-boost-fs-contrib.patch
new file mode 100644
index 000000000000..f5ffc473e40a
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.23-boost-fs-contrib.patch
@@ -0,0 +1,182 @@
+--- work/exiv2-0.23/contrib/organize/organize.cpp 2009-03-08 09:26:30.000000000 +0100
++++ work/exiv2-0.23/contrib/organize/organize.cpp 2009-03-08 09:26:30.000000000 +0100
+@@ -294,7 +294,7 @@
+ bool md5sum(const fs::path &path, md5digest &digest)
+ {
+ try {
+- Exiv2::FileIo io(path.file_string());
++ Exiv2::FileIo io(path.string());
+ if (io.open() != 0)
+ return false;
+ Exiv2::IoCloser closer(io);
+@@ -568,8 +568,8 @@
+
+ fs::path uniquify(const fs::path &dest)
+ {
+- std::string ext = dest.extension();
+- std::string fname = dest.stem();
++ std::string ext = dest.extension().string();
++ std::string fname = dest.stem().string();
+ fs::path parent = dest.parent_path();
+
+ unsigned number = 1;
+@@ -600,13 +600,13 @@
+ std::vector<std::string>::const_iterator x_iter = params.excludes.begin();
+ std::vector<std::string>::const_iterator x_end = params.excludes.end();
+ for( ; x_iter != x_end; ++x_iter ) {
+- if(boost::contains(directory.file_string(), *x_iter)) {
++ if(boost::contains(directory.string(), *x_iter)) {
+ exclude = true;
+ break;
+ }
+ }
+ if(exclude) {
+- info(std::string("excluding directory: ") + directory.file_string() +
++ info(std::string("excluding directory: ") + directory.string() +
+ " matched: " + *x_iter);
+ ++params.dir_ex_count;
+ return;
+@@ -621,7 +621,7 @@
+ process_directory(p_iter->path(), depth + 1, params);
+ else {
+ info(std::string("depth reached, skipping: ") +
+- p_iter->path().file_string());
++ p_iter->path().string());
+ }
+ }
+ else if( is_regular_file(*p_iter) ) {
+@@ -630,13 +630,13 @@
+ exclude = false;
+ x_iter = params.excludes.begin();
+ for( ; x_iter != x_end; ++x_iter ) {
+- if(boost::contains(p_iter->path().file_string(), *x_iter)) {
++ if(boost::contains(p_iter->path().string(), *x_iter)) {
+ exclude = true;
+ break;
+ }
+ }
+ if(exclude) {
+- info(std::string("excluding file: ") + p_iter->path().file_string() +
++ info(std::string("excluding file: ") + p_iter->path().string() +
+ " matched: " + *x_iter);
+ ++params.file_ex_count;
+ continue;
+@@ -648,45 +648,45 @@
+ if(!dest_subdir.empty())
+ dest_file = params.dest_dir / dest_subdir;
+ else if(params.ignore_unsorted) {
+- info(std::string("ignoring unsorted: ") + p_iter->path().file_string());
++ info(std::string("ignoring unsorted: ") + p_iter->path().string());
+ ++params.unsorted_ignored_count;
+ continue;
+ }
+ else {
+- info(std::string("unsorted file (missing metadata): ") + p_iter->path().file_string());
++ info(std::string("unsorted file (missing metadata): ") + p_iter->path().string());
+ dest_file = params.unsorted_dir;
+ ++params.unsorted_count;
+ }
+
+- dest_file /= p_iter->filename();
++ dest_file /= p_iter->path().filename();
+
+ if(fs::exists(dest_file)) {
+ if(params.ignore_dups) {
+- info(std::string("ignoring: ") + p_iter->path().file_string() +
+- " duplicates: " + dest_file.file_string());
++ info(std::string("ignoring: ") + p_iter->path().string() +
++ " duplicates: " + dest_file.string());
+ ++params.dups_ignored_count;
+ continue;
+ }
+ else {
+ if(params.force) {
+- info(std::string("force removing: ") + dest_file.file_string() + " for: "
+- + p_iter->path().file_string());
++ info(std::string("force removing: ") + dest_file.string() + " for: "
++ + p_iter->path().string());
+ if(!params.dry_run)
+ fs::remove(dest_file);
+ }
+ else if(params.rename) {
+- info(std::string("renaming: ") + p_iter->path().file_string() +
+- " duplicates: " + dest_file.file_string());
++ info(std::string("renaming: ") + p_iter->path().string() +
++ " duplicates: " + dest_file.string());
+ dest_file = uniquify(dest_file);
+ }
+ else {
+- info(std::string("duplicate file: ") + p_iter->path().file_string() +
+- " of: " + dest_file.file_string());
+- dest_file = params.dups_dir / dest_subdir / p_iter->filename();
++ info(std::string("duplicate file: ") + p_iter->path().string() +
++ " of: " + dest_file.string());
++ dest_file = params.dups_dir / dest_subdir / p_iter->path().filename();
+ // Ugh, more dup possibilities
+ if(fs::exists(dest_file)) {
+- info(std::string("renaming: ") + p_iter->path().file_string() +
+- " duplicates: " + dest_file.file_string());
++ info(std::string("renaming: ") + p_iter->path().string() +
++ " duplicates: " + dest_file.string());
+ dest_file = uniquify(dest_file);
+ }
+ }
+@@ -698,8 +698,8 @@
+ fs::create_directories(dest_file.parent_path());
+
+ if(params.symlink) {
+- info(std::string("linking from: ") + p_iter->path().file_string() +
+- " to: " + dest_file.file_string());
++ info(std::string("linking from: ") + p_iter->path().string() +
++ " to: " + dest_file.string());
+ if(!params.dry_run) {
+ // The target of a symlink must be either absolute (aka complete) or
+ // relative to the location of the link. Easiest solution is to make
+@@ -713,8 +713,8 @@
+ }
+ }
+ else {
+- info(std::string("copying from: ") + p_iter->path().file_string() +
+- " to: " + dest_file.file_string());
++ info(std::string("copying from: ") + p_iter->path().string() +
++ " to: " + dest_file.string());
+ if(!params.dry_run) {
+ // Copy the file and restore its write time (needed for posix)
+ std::time_t time = fs::last_write_time(*p_iter);
+@@ -730,8 +730,8 @@
+ if(!ok) {
+ // Should probably find a more appropriate exception for this
+ throw std::runtime_error(std::string("File verification failed: '")
+- + p_iter->path().file_string() + "' differs from '" +
+- dest_file.file_string() + "'");
++ + p_iter->path().string() + "' differs from '" +
++ dest_file.string() + "'");
+ }
+ else {
+ info(std::string("verification passed"));
+@@ -740,7 +740,7 @@
+ }
+ }
+ if(params.move) {
+- info(std::string("removing: ") + p_iter->path().file_string());
++ info(std::string("removing: ") + p_iter->path().string());
+ if(!params.dry_run)
+ fs::remove(*p_iter);
+ }
+@@ -752,14 +752,14 @@
+ ++params.ok_count;
+ }
+ catch(fs::filesystem_error& e) {
+- error(e, std::string("skipping file: " + p_iter->path().file_string()));
++ error(e, std::string("skipping file: " + p_iter->path().string()));
+ ++params.file_err_count;
+ }
+ }
+ }
+ }
+ catch(fs::filesystem_error& e) {
+- error(e, std::string("skipping directory: " + directory.file_string()));
++ error(e, std::string("skipping directory: " + directory.string()));
+ ++params.dir_err_count;
+ }
+ }
diff --git a/media-gfx/exiv2/files/exiv2-0.24-CVE-2014-9449.patch b/media-gfx/exiv2/files/exiv2-0.24-CVE-2014-9449.patch
new file mode 100644
index 000000000000..cf1b46fbf69c
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.24-CVE-2014-9449.patch
@@ -0,0 +1,27 @@
+diff -up exiv2-0.24/src/riffvideo.cpp.CVE-2014-9449 exiv2-0.24/src/riffvideo.cpp
+--- exiv2-0.24/src/riffvideo.cpp.CVE-2014-9449 2013-12-01 06:13:42.000000000 -0600
++++ exiv2-0.24/src/riffvideo.cpp 2015-01-05 11:21:42.306728309 -0600
+@@ -856,7 +856,7 @@ namespace Exiv2 {
+
+ void RiffVideo::infoTagsHandler()
+ {
+- const long bufMinSize = 100;
++ const long bufMinSize = 10000;
+ DataBuf buf(bufMinSize);
+ buf.pData_[4] = '\0';
+ io_->seek(-12, BasicIo::cur);
+@@ -879,10 +879,14 @@ namespace Exiv2 {
+ if(infoSize >= 0) {
+ size -= infoSize;
+ io_->read(buf.pData_, infoSize);
++ if(infoSize < 4)
++ buf.pData_[infoSize] = '\0';
+ }
+
+ if(tv)
+ xmpData_[exvGettext(tv->label_)] = buf.pData_;
++ else
++ continue;
+ }
+ io_->seek(cur_pos + size_external, BasicIo::beg);
+ } // RiffVideo::infoTagsHandler
diff --git a/media-gfx/exiv2/files/exiv2-0.24-python3.patch b/media-gfx/exiv2/files/exiv2-0.24-python3.patch
new file mode 100644
index 000000000000..405a7d303e93
--- /dev/null
+++ b/media-gfx/exiv2/files/exiv2-0.24-python3.patch
@@ -0,0 +1,27 @@
+diff -ub -r exiv2-0.23.org/doc/templates/gen.py exiv2-0.23/doc/templates/gen.py
+--- exiv2-0.23.org/doc/templates/gen.py 2005-05-28 19:35:08.000000000 +0400
++++ exiv2-0.23/doc/templates/gen.py 2013-12-21 03:03:54.000000000 +0400
+@@ -7,9 +7,9 @@
+ # ----------------------------------------------------------------------
+ # functions
+ def usage():
+- print """Usage: gen.py file.in [...]
++ print("""Usage: gen.py file.in [...]
+ Substitute placeholders in input files with content
+- """
++ """)
+
+ def gen_html(file):
+ """Replace variables in the file with their content"""
+@@ -49,9 +49,9 @@
+ vars.sort()
+
+ # Substitute variables in all input files
+-print "Substituting variables", vars
++print("Substituting variables {0}".format(vars))
+ for file in input:
+- print "Processing", file, "..."
++ print("Processing {0}...".format(file))
+ text = gen_html(file)
+ file = file.replace(".in", "")
+ open(file, 'w').write(text)