openSUSE Commits
Threads by month
- ----- 2024 -----
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
June 2017
- 1 participants
- 2052 discussions
29 Jun '17
Hello community,
here is the log from the commit of package perl-Mojolicious-Plugin-AssetPack for openSUSE:Factory checked in at 2017-06-29 15:04:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious-Plugin-AssetPack (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-AssetPack.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious-Plugin-AssetPack"
Thu Jun 29 15:04:36 2017 rev:33 rq:504916 version:1.45
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojolicious-Plugin-AssetPack/perl-Mojolicious-Plugin-AssetPack.changes 2017-05-27 13:19:45.391701726 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-AssetPack.new/perl-Mojolicious-Plugin-AssetPack.changes 2017-06-29 15:05:11.481233422 +0200
@@ -1,0 +2,18 @@
+Tue Jun 20 06:01:05 UTC 2017 - coolo(a)suse.com
+
+- updated to 1.45
+ see /usr/share/doc/packages/perl-Mojolicious-Plugin-AssetPack/Changes
+
+ 1.45 2017-06-19T23:49:30+0200
+ - Add Developing guide
+ - Removed deprecated method end_range() from AssetPack::Asset
+ - Removed deprecated method get_chunk() from AssetPack::Asset
+ - Removed deprecated method is_range() from AssetPack::Asset
+ - Removed deprecated method mtime() from AssetPack::Asset
+ - Removed deprecated method start_range() from AssetPack::Asset
+ - Removed deprecated method tag_helper() from AssetPack::Asset
+ - Removed MOJO_ASSETPACK_CLEANUP (only used in test suite)
+ - Can prevent AssetPack::Store from writing assetpack.db while developing
+ with MOJO_ASSETPACK_LAZY=1 (EXPERIMENTAL)
+
+-------------------------------------------------------------------
Old:
----
Mojolicious-Plugin-AssetPack-1.44.tar.gz
New:
----
Mojolicious-Plugin-AssetPack-1.45.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojolicious-Plugin-AssetPack.spec ++++++
--- /var/tmp/diff_new_pack.X9EIwD/_old 2017-06-29 15:05:16.640503982 +0200
+++ /var/tmp/diff_new_pack.X9EIwD/_new 2017-06-29 15:05:16.640503982 +0200
@@ -17,7 +17,7 @@
Name: perl-Mojolicious-Plugin-AssetPack
-Version: 1.44
+Version: 1.45
Release: 0
%define cpan_name Mojolicious-Plugin-AssetPack
Summary: Compress and convert css, less, sass, javascript and coffeescript files
++++++ Mojolicious-Plugin-AssetPack-1.44.tar.gz -> Mojolicious-Plugin-AssetPack-1.45.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/Changes new/Mojolicious-Plugin-AssetPack-1.45/Changes
--- old/Mojolicious-Plugin-AssetPack-1.44/Changes 2017-05-21 23:02:46.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.45/Changes 2017-06-19 23:49:30.000000000 +0200
@@ -1,5 +1,17 @@
Revision history for perl distribution Mojolicious-Plugin-AssetPack
+1.45 2017-06-19T23:49:30+0200
+ - Add Developing guide
+ - Removed deprecated method end_range() from AssetPack::Asset
+ - Removed deprecated method get_chunk() from AssetPack::Asset
+ - Removed deprecated method is_range() from AssetPack::Asset
+ - Removed deprecated method mtime() from AssetPack::Asset
+ - Removed deprecated method start_range() from AssetPack::Asset
+ - Removed deprecated method tag_helper() from AssetPack::Asset
+ - Removed MOJO_ASSETPACK_CLEANUP (only used in test suite)
+ - Can prevent AssetPack::Store from writing assetpack.db while developing
+ with MOJO_ASSETPACK_LAZY=1 (EXPERIMENTAL)
+
1.44 2017-05-21T23:02:46+0200
- Improved documentation #125
Contributor: William Lindley
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/MANIFEST new/Mojolicious-Plugin-AssetPack-1.45/MANIFEST
--- old/Mojolicious-Plugin-AssetPack-1.44/MANIFEST 2017-05-21 23:02:47.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.45/MANIFEST 2017-06-19 23:49:31.000000000 +0200
@@ -9,6 +9,7 @@
lib/Mojolicious/Plugin/AssetPack/Asset.pm
lib/Mojolicious/Plugin/AssetPack/Asset/Null.pm
lib/Mojolicious/Plugin/AssetPack/Guides/Cookbook.pod
+lib/Mojolicious/Plugin/AssetPack/Guides/Developing.pod
lib/Mojolicious/Plugin/AssetPack/Guides/Tutorial.pod
lib/Mojolicious/Plugin/AssetPack/Pipe.pm
lib/Mojolicious/Plugin/AssetPack/Pipe/CoffeeScript.pm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/META.json new/Mojolicious-Plugin-AssetPack-1.45/META.json
--- old/Mojolicious-Plugin-AssetPack-1.44/META.json 2017-05-21 23:02:47.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.45/META.json 2017-06-19 23:49:31.000000000 +0200
@@ -48,6 +48,6 @@
"url" : "https://github.com/jhthorsen/mojolicious-plugin-assetpack.git"
}
},
- "version" : "1.44",
+ "version" : "1.45",
"x_serialization_backend" : "JSON::PP version 2.27300_01"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/META.yml new/Mojolicious-Plugin-AssetPack-1.45/META.yml
--- old/Mojolicious-Plugin-AssetPack-1.44/META.yml 2017-05-21 23:02:47.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.45/META.yml 2017-06-19 23:49:31.000000000 +0200
@@ -25,5 +25,5 @@
bugtracker: https://github.com/jhthorsen/mojolicious-plugin-assetpack/issues
homepage: https://github.com/jhthorsen/mojolicious-plugin-assetpack
repository: https://github.com/jhthorsen/mojolicious-plugin-assetpack.git
-version: '1.44'
+version: '1.45'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/README new/Mojolicious-Plugin-AssetPack-1.45/README
--- old/Mojolicious-Plugin-AssetPack-1.44/README 2017-05-21 23:02:46.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.45/README 2017-06-19 23:49:30.000000000 +0200
@@ -3,7 +3,7 @@
javascript and coffeescript files
VERSION
- 1.44
+ 1.45
SYNOPSIS
Application
@@ -33,17 +33,6 @@
<body><%= content %></body>
</html>
-FOR EXISTING USERS
- Are you already using AssetPack? You can still do so without any change.
- This new version was written to make it easier to maintain and also
- easier to extend. The new code will be "activated" by loadind this
- plugin with a list of pipes:
-
- $app->plugin(AssetPack => {pipes => [...]});
-
- The old API require Mojolicious::Plugin::AssetPack::Backcompat to be
- installed.
-
DESCRIPTION
Mojolicious::Plugin::AssetPack is Mojolicious plugin for processing
static assets. The idea is that JavaScript and CSS files should be
@@ -65,44 +54,15 @@
The tutorial will give an introduction to how AssetPack can be used.
- * Mojolicious::Plugin::AssetPack::Guides::Cookbook
-
- The cookbook has various receipes on how to cook with AssetPack.
-
-ENVIRONMENT
- It is possible to set environment variables to change the behavior of
- AssetPack:
-
- * MOJO_ASSETPACK_DEBUG
-
- Set this environment variable to get more debug to STDERR. Currently
- you can set it to a value between 0 and 3, where 3 provides the most
- debug.
-
- * MOJO_ASSETPACK_LAZY
+ * Mojolicious::Plugin::AssetPack::Guides::Developing
- Set this environment variable if you want to delay processing the
- assets until they are requested. This can be very useful while
- developing when the assets are changed frequently.
+ The "developing" guide will give insight on how to do effective
+ development with AssetPack and more details about the internals in
+ this plugin.
-OPTIONAL MODULES
- There are some optional modules you might want to install:
-
- * CSS::Minifier::XS
-
- Used by Mojolicious::Plugin::AssetPack::Pipe::Css.
-
- * CSS::Sass
-
- Used by Mojolicious::Plugin::AssetPack::Pipe::Sass.
-
- * IO::Socket::SSL
-
- Required if you want to download assets served over SSL.
-
- * JavaScript::Minifier::XS
+ * Mojolicious::Plugin::AssetPack::Guides::Cookbook
- Used by Mojolicious::Plugin::AssetPack::Pipe::JavaScript.
+ The cookbook has various receipes on how to cook with AssetPack.
HELPERS
asset
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack/Asset.pm new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack/Asset.pm
--- old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack/Asset.pm 2017-01-12 20:22:26.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack/Asset.pm 2017-06-19 21:03:42.000000000 +0200
@@ -4,7 +4,6 @@
use Mojo::Asset::Memory;
use Mojo::URL;
use Mojo::File;
-use Mojo::Util 'deprecated';
use Mojolicious::Plugin::AssetPack::Util qw(diag has_ro DEBUG);
has checksum => sub { Mojolicious::Plugin::AssetPack::Util::checksum(shift->content) };
@@ -20,8 +19,6 @@
has minified => sub { shift->url =~ /\bmin\b/ ? 1 : 0 };
-sub tag_helper { warn "DEPRECATED in v1.17! This attribute does nothing." }
-
has _asset => sub {
my $self = shift;
return $self->content(delete $self->{content})->_asset if $self->{content};
@@ -81,21 +78,11 @@
return $self->_asset(Mojo::Asset::Memory->new->add_chunk($_[0]));
}
-sub end_range { deprecated 'end_range() is deprecated'; shift->_asset->end_range(@_) }
-sub get_chunk { deprecated 'get_chunk() is deprecated'; shift->_asset->get_chunk(@_) }
-sub is_range { deprecated 'is_range() is deprecated'; shift->_asset->is_range }
-sub mtime { deprecated 'mtime() is deprecated'; shift->_asset->mtime }
-
sub path {
$_[0]->_asset->isa('Mojo::Asset::File') ? Mojo::File->new($_[0]->_asset->path) : undef;
}
sub size { $_[0]->_asset->size }
-sub start_range {
- deprecated 'start_range() is deprecated';
- shift->_asset->start_range(@_);
-}
-
sub url_for { $_[1]->url_for(assetpack => $_[0]->TO_JSON); }
sub FROM_JSON {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack/Guides/Cookbook.pod new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack/Guides/Cookbook.pod
--- old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack/Guides/Cookbook.pod 2016-11-13 17:44:56.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack/Guides/Cookbook.pod 2017-06-19 23:18:28.000000000 +0200
@@ -213,29 +213,10 @@
(Note that the rest of the example file above is truncated)
-=head1 BUILDING PRODUCTION ASSETS
-
-To be sure that production assets are alwasy built, you can add a unit test
-like the one below:
-
- use Test::Mojo;
- use Test::More;
-
- $ENV{MOJO_MODE} = "production";
- my $t = Test::Mojo->new("MyApp");
-
- $t->get_ok("/")
- ->element_exists(q(head link[href$="/app.css"]))
- ->element_exists(q(body script[src$="/app.js"]));
-
- done_testing;
-
-The C<element_exists()> tests should match the topics defined when defining the
-different assets.
-
=head1 SEE ALSO
-L<Mojolicious::Plugin::AssetPack> and
+L<Mojolicious::Plugin::AssetPack>,
+L<Mojolicious::Plugin::AssetPack::Guides::Developing> and
L<Mojolicious::Plugin::AssetPack::Guides::Tutorial>.
=cut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack/Guides/Developing.pod new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack/Guides/Developing.pod
--- old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack/Guides/Developing.pod 1970-01-01 01:00:00.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack/Guides/Developing.pod 2017-06-19 23:38:58.000000000 +0200
@@ -0,0 +1,126 @@
+=head1 NAME
+
+Mojolicious::Plugin::AssetPack::Guides::Developing - Developing with AssetPack
+
+=head1 OVERVIEW
+
+This guide will provide a setup for effective development with
+L<Mojolicious::Plugin::AssetPack>.
+
+=head1 GUIDE
+
+=head2 Environment variables
+
+It is possible to set environment variables to change the behavior of AssetPack:
+
+=over 2
+
+=item * MOJO_ASSETPACK_DEBUG
+
+Set this environment variable to get more debug to STDERR. Currently you can
+set it to a value between 0 and 3, where 3 provides the most debug.
+
+=item * MOJO_ASSETPACK_LAZY
+
+Set this environment variable if you want to delay processing the assets until
+they are requested. This can be very useful while developing when the assets
+are changed frequently.
+
+=back
+
+=head2 Faster development cycle
+
+For a faster development cycle, you can use
+L<Mojolicious::Plugin::AssetPack::Pipe::Reloader>, and L<MOJO_ASSETPACK_LAZY>.
+The combination of the two will result in a webpage that reload itself when
+a change is found in either an asset or the perl code.
+
+Example application:
+
+ use Mojolicious::Lite;
+ plugin "AssetPack" => {pipes => [qw(Css Reloader)]};
+ app->asset->process;
+ get "/" => "example";
+ app->start;
+
+ __DATA__
+ @@ assetpack.def
+ ! myapp.css
+ < main.css
+
+ @@ main.css
+ body { background: pink; }
+
+ @@ example.html.ep
+ <!DOCTYPE html>
+ <html>
+ <head>
+ <title>This page will reload when changes are made</title>
+
+ %# Some asset you have defined:
+ %= asset "myapp.css"
+
+ %# See Reloader pipe for details
+ %= asset "reloader.js" if app->mode eq "development"
+ </head>
+ <body>
+ This is a reload test page!
+ </body>
+ </html>
+
+How to run the application:
+
+ $ MOJO_ASSETPACK_LAZY=1 morbo myapp.pl
+
+=head2 Enforcing production assets
+
+To be sure that production assets are built correctly, you can add a unit test
+like the one below. This is especially important if you are using
+L</MOJO_ASSETPACK_LAZY>.
+
+ use Test::Mojo;
+ use Test::More;
+
+ $ENV{MOJO_MODE} = "production";
+ my $t = Test::Mojo->new("MyApp");
+
+ $t->get_ok("/")
+ ->element_exists(q(head link[href$="/app.css"]))
+ ->element_exists(q(body script[src$="/app.js"]));
+
+ done_testing;
+
+The C<element_exists()> tests should match the topics defined when defining the
+different assets.
+
+=head1 Optional modules
+
+There are some optional modules you might want to install:
+
+=over 2
+
+=item * L<CSS::Minifier::XS>
+
+Used by L<Mojolicious::Plugin::AssetPack::Pipe::Css>.
+
+=item * L<CSS::Sass>
+
+Used by L<Mojolicious::Plugin::AssetPack::Pipe::Sass>.
+
+=item * L<IO::Socket::SSL>
+
+Required if you want to download assets served over SSL.
+
+=item * L<JavaScript::Minifier::XS>
+
+Used by L<Mojolicious::Plugin::AssetPack::Pipe::JavaScript>.
+
+=back
+
+=head1 SEE ALSO
+
+L<Mojolicious::Plugin::AssetPack>,
+L<Mojolicious::Plugin::AssetPack::Guides::Cookbook> and
+L<Mojolicious::Plugin::AssetPack::Guides::Tutorial>.
+
+=cut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack/Guides/Tutorial.pod new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack/Guides/Tutorial.pod
--- old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack/Guides/Tutorial.pod 2017-05-21 23:01:47.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack/Guides/Tutorial.pod 2017-06-19 23:18:28.000000000 +0200
@@ -325,7 +325,8 @@
=head1 SEE ALSO
-L<Mojolicious::Plugin::AssetPack> and
+L<Mojolicious::Plugin::AssetPack>,
+L<Mojolicious::Plugin::AssetPack::Guides::Developing> and
L<Mojolicious::Plugin::AssetPack::Guides::Cookbook>.
=cut
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack/Pipe/Reloader.pm new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack/Pipe/Reloader.pm
--- old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack/Pipe/Reloader.pm 2017-01-27 15:27:24.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack/Pipe/Reloader.pm 2017-06-19 23:28:41.000000000 +0200
@@ -119,7 +119,7 @@
$bool = $self->enabled;
This pipe is only enabled if either
-L<Mojolicious::Plugin::AssetPack/MOJO_ASSETPACK_LAZY> is
+L<Mojolicious::Plugin::AssetPack::Guides::Developing/MOJO_ASSETPACK_LAZY> is
set or L<Mojolicious/mode> is "development".
=head1 METHODS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm
--- old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm 2017-03-15 22:06:47.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm 2017-06-19 23:28:41.000000000 +0200
@@ -225,9 +225,9 @@
L<https://robots.thoughtbot.com/sass-source-maps-chrome-magic> for more
information about the usefulness.
-See also L<Mojolicious::Plugin::AssetPack/MOJO_ASSETPACK_LAZY> and
-L<Mojolicious::Plugin::AssetPack::Pipe::Reloader> for how to reload the page
-when changes are done inside the browser's dev tools.
+See also Mojolicious::Plugin::AssetPack::Guides::Developing/Faster development
+cycle> for how to reload the page when changes are done inside the browser's
+dev tools.
=head1 METHODS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack/Store.pm new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack/Store.pm
--- old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack/Store.pm 2017-05-12 14:37:49.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack/Store.pm 2017-06-19 23:11:19.000000000 +0200
@@ -7,7 +7,8 @@
use Mojolicious::Plugin::AssetPack::Util qw(diag checksum has_ro DEBUG);
# MOJO_ASSETPACK_DB_FILE is used in tests
-use constant DB_FILE_NAME => $ENV{MOJO_ASSETPACK_DB_FILE} || 'assetpack.db';
+use constant DB_FILE => $ENV{MOJO_ASSETPACK_DB_FILE} || 'assetpack.db';
+our %DB_KEYS = map { $_ => 1 } qw(checksum format minified rel);
has default_headers => sub { +{"Cache-Control" => "max-age=31536000"} };
@@ -26,11 +27,11 @@
has_ro _db => sub {
my $self = shift;
my ($db, $key, $url) = ({});
- for my $path (reverse @{$self->_files(DB_FILE_NAME, sub {-r})}) {
+ for my $path (reverse map { path($_, DB_FILE) } @{$self->paths}) {
open my $DB, '<', $path or next;
while (my $line = <$DB>) {
($key, $url) = ($1, $2) if $line =~ /^\[([\w-]+):(.+)\]$/;
- $db->{$url}{$key}{$1} = $2 if $key and $line =~ /^(\w+)=(.*)/;
+ $db->{$url}{$key}{$1} = $2 if $key and $line =~ /^(\w+)=(.*)/ and $DB_KEYS{$1};
}
}
return $db;
@@ -83,6 +84,33 @@
return $asset;
}
+sub persist {
+ my $self = shift;
+ my $db = $self->_db;
+ my $path = path($self->paths->[0], DB_FILE);
+ my @db_keys = sort keys %DB_KEYS;
+ my $DB;
+
+ unless (open $DB, '>', $path) {
+ diag 'Save "%s" = 0 (%s)', $path, $! if DEBUG;
+ return $self;
+ }
+
+ diag 'Save "%s" = 1', $path if DEBUG;
+ for my $url (sort keys %$db) {
+ for my $key (sort keys %{$db->{$url}}) {
+ Carp::confess("Invalid key '$key'. Need to be [a-z-].") unless $key =~ /^[\w-]+$/;
+ printf $DB "[%s:%s]\n", $key, $url;
+ for my $attr (@db_keys) {
+ next unless defined $db->{$url}{$key}{$attr};
+ printf $DB "%s=%s\n", $attr, $db->{$url}{$key}{$attr};
+ }
+ }
+ }
+
+ return $self;
+}
+
sub save {
my ($self, $ref, $attrs) = @_;
my $path = path($self->paths->[0], $self->_cache_path($attrs));
@@ -94,8 +122,9 @@
return Mojolicious::Plugin::AssetPack::Asset->new(%$attrs, content => $$ref)
unless -w $dir;
- $self->_db_set($attrs);
+
$path->spurt($$ref);
+ $self->_db_set(%$attrs);
return Mojolicious::Plugin::AssetPack::Asset->new(%$attrs, path => $path);
}
@@ -116,15 +145,11 @@
my $attrs = $self->_db_get({key => 'original', url => $url}) or return undef;
my $asset;
- if ($attrs->{rel} and $asset = $self->asset($attrs->{rel})) {
- $asset->{url} = $url;
- $asset->{format} ||= $attrs->{format} if $attrs->{format};
- $asset->{mtime} ||= $attrs->{mtime} if $attrs->{mtime};
- diag 'Already downloaded: %s', $asset->url if DEBUG;
- return $asset;
- }
-
- return undef;
+ return undef unless $attrs->{rel} and $asset = $self->asset($attrs->{rel});
+ $asset->{url} = $url;
+ $asset->{format} ||= $attrs->{format} if $attrs->{format};
+ diag 'Already downloaded: %s', $asset->url if DEBUG;
+ return $asset;
}
sub _cache_path {
@@ -147,30 +172,10 @@
}
sub _db_set {
- my ($self, $attrs) = @_;
- my $db = $self->_db;
- my $path = $self->_files(DB_FILE_NAME)->[0];
- my $data = $db->{$attrs->{url}}{$attrs->{key}} ||= {};
-
- %$data = %$attrs;
- if (open my $DB, '>', $path) {
- diag 'Save "%s" = 1', $path if DEBUG;
- for my $url (sort keys %$db) {
- for my $key (sort keys %{$db->{$url}}) {
- delete $db->{$url}{$key}{$_} for qw(key name url);
- next unless my @attrs = keys %{$db->{$url}{$key}};
- Carp::confess("Invalid key '$key'. Need to be [a-z-].") unless $key =~ /^[\w-]+$/;
- printf $DB "[%s:%s]\n", $key, $url;
- for my $attr (sort @attrs) {
- next unless defined $db->{$url}{$key}{$attr};
- printf $DB "%s=%s\n", $attr, $db->{$url}{$key}{$attr};
- }
- }
- }
- }
- else {
- diag 'Save "%s" = 0 (%s)', $path, $! if DEBUG;
- }
+ my ($self, %attrs) = @_;
+ my ($key, $url) = @attrs{qw(key url)};
+ return if $ENV{MOJO_ASSETPACK_LAZY} and $key ne 'original';
+ $self->_db->{$url}{$key} = {%attrs};
}
sub _download {
@@ -202,9 +207,6 @@
$path->spurt($tx->res->body);
}
- if (my $lm = $h->last_modified) {
- $attrs->{mtime} = Mojo::Date->new($lm)->epoch;
- }
if (my $ct = $h->content_type) {
$ct =~ s!;.*$!!;
$attrs->{format} = $self->_types->detect($ct)->[0] unless $ct eq 'text/plain';
@@ -212,18 +214,11 @@
$attrs->{format} ||= $tx->req->url->path->[-1] =~ /\.(\w+)$/ ? $1 : undef;
@$attrs{qw(key rel url)} = ('original', $rel, $url);
- $self->_db_set($attrs);
+ $self->_db_set(%$attrs);
return Mojolicious::Plugin::AssetPack::Asset->new(%$attrs, path => $path) if $path;
return Mojolicious::Plugin::AssetPack::Asset->new(%$attrs)->content($tx->res->body);
}
-sub _files {
- my ($self, $name, $check) = @_;
- my @files = map { path($_, split '/', $name) } @{$self->paths};
- return [grep $check, @files] if $check;
- return \@files;
-}
-
sub _rel {
local $_ = shift->clone->scheme(undef)->to_string;
s![^\w\.\/-]!_!g;
@@ -232,15 +227,6 @@
"cache/$_";
}
-sub _reset {
- my ($self, $args) = @_;
- return unless $args->{unlink};
- local $! = 0;
- my $file = $self->_files(DB_FILE_NAME)->[0];
- unlink $file;
- diag 'unlink %s = %s', $file, $! || '1' if DEBUG;
-}
-
1;
=encoding utf8
@@ -350,6 +336,14 @@
$bool = $self->load($asset, {minified => $bool});
+=head2 persist
+
+ $self = $self->persist;
+
+Used to save the internal state of the store to disk.
+
+This method is EXPERIMENTAL, and may change without warning.
+
=head2 save
$bool = $self->save($asset, \%attr);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack.pm new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack.pm
--- old/Mojolicious-Plugin-AssetPack-1.44/lib/Mojolicious/Plugin/AssetPack.pm 2017-05-21 23:02:46.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.45/lib/Mojolicious/Plugin/AssetPack.pm 2017-06-19 23:49:30.000000000 +0200
@@ -6,7 +6,7 @@
use Mojolicious::Plugin::AssetPack::Store;
use Mojolicious::Plugin::AssetPack::Util qw(diag has_ro load_module DEBUG);
-our $VERSION = '1.44';
+our $VERSION = '1.45';
my %TAG_TEMPLATE;
$TAG_TEMPLATE{css} = [qw(link rel stylesheet href)];
@@ -171,6 +171,7 @@
$self->_app->log->debug(qq(Processed asset "$topic". [@checksum])) if DEBUG;
$self->{by_checksum}{$_->checksum} = $_ for @$assets;
$self->{by_topic}{$topic} = $assets;
+ $self->store->persist;
$self;
}
@@ -215,25 +216,6 @@
->map($self->tag_for, $c, \%args, @attrs)->join("\n");
}
-sub _reset {
- my ($self, $args) = @_;
-
- diag "Reset $self." if DEBUG;
-
- if ($args->{unlink}) {
- for (@{$self->{asset_paths} || []}) {
- next unless /\bcache\b/;
- next unless -e;
- local $! = 0;
- unlink;
- diag 'unlink %s = %s', $_, $! || '1' if DEBUG;
- }
- }
-
- $self->store->_reset($args);
- delete $self->{$_} for qw(by_checksum by_topic);
-}
-
sub _serve {
my $c = shift;
my $checksum = $c->stash('checksum');
@@ -262,11 +244,6 @@
return $assets;
}
-sub DESTROY {
- my $self = shift;
- $self->_reset({unlink => 1}) if $ENV{MOJO_ASSETPACK_CLEANUP} and $self->{store};
-}
-
1;
=encoding utf8
@@ -277,7 +254,7 @@
=head1 VERSION
-1.44
+1.45
=head1 SYNOPSIS
@@ -310,17 +287,6 @@
<body><%= content %></body>
</html>
-=head1 FOR EXISTING USERS
-
-Are you already using AssetPack? You can still do so without any change. This
-new version was written to make it easier to maintain and also easier to
-extend. The new code will be "activated" by loadind this plugin with a list of
-pipes:
-
- $app->plugin(AssetPack => {pipes => [...]});
-
-The old API require L<Mojolicious::Plugin::AssetPack::Backcompat> to be installed.
-
=head1 DESCRIPTION
L<Mojolicious::Plugin::AssetPack> is L<Mojolicious plugin|Mojolicious::Plugin>
@@ -346,52 +312,14 @@
The tutorial will give an introduction to how AssetPack can be used.
-=item * L<Mojolicious::Plugin::AssetPack::Guides::Cookbook>
-
-The cookbook has various receipes on how to cook with AssetPack.
-
-=back
-
-=head1 ENVIRONMENT
+=item * L<Mojolicious::Plugin::AssetPack::Guides::Developing>
-It is possible to set environment variables to change the behavior of AssetPack:
+The "developing" guide will give insight on how to do effective development with
+AssetPack and more details about the internals in this plugin.
-=over 2
-
-=item * MOJO_ASSETPACK_DEBUG
-
-Set this environment variable to get more debug to STDERR. Currently you can
-set it to a value between 0 and 3, where 3 provides the most debug.
-
-=item * MOJO_ASSETPACK_LAZY
-
-Set this environment variable if you want to delay processing the assets until
-they are requested. This can be very useful while developing when the assets
-are changed frequently.
-
-=back
-
-=head1 OPTIONAL MODULES
-
-There are some optional modules you might want to install:
-
-=over 2
-
-=item * L<CSS::Minifier::XS>
-
-Used by L<Mojolicious::Plugin::AssetPack::Pipe::Css>.
-
-=item * L<CSS::Sass>
-
-Used by L<Mojolicious::Plugin::AssetPack::Pipe::Sass>.
-
-=item * L<IO::Socket::SSL>
-
-Required if you want to download assets served over SSL.
-
-=item * L<JavaScript::Minifier::XS>
+=item * L<Mojolicious::Plugin::AssetPack::Guides::Cookbook>
-Used by L<Mojolicious::Plugin::AssetPack::Pipe::JavaScript>.
+The cookbook has various receipes on how to cook with AssetPack.
=back
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/t/00-basic.t new/Mojolicious-Plugin-AssetPack-1.45/t/00-basic.t
--- old/Mojolicious-Plugin-AssetPack-1.44/t/00-basic.t 2016-12-23 02:10:42.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.45/t/00-basic.t 2017-06-19 21:02:44.000000000 +0200
@@ -27,7 +27,6 @@
plan tests => @files * 3 + 4;
-my @deprecated = qw(end_range get_chunk is_range mtime start_range tag_helper);
for my $file (@files) {
my $module = $file;
$module =~ s,\.pm$,,;
@@ -35,8 +34,7 @@
$module =~ s,/,::,g;
ok eval "use $module; 1", "use $module" or diag $@;
Test::Pod::pod_file_ok($file);
- Test::Pod::Coverage::pod_coverage_ok($module,
- {also_private => [@deprecated, qr/^[A-Z_]+$/]});
+ Test::Pod::Coverage::pod_coverage_ok($module, {also_private => [qr/^[A-Z_]+$/]});
}
Test::CPAN::Changes::changes_file_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/t/Helper.pm new/Mojolicious-Plugin-AssetPack-1.45/t/Helper.pm
--- old/Mojolicious-Plugin-AssetPack-1.44/t/Helper.pm 2017-01-10 23:05:38.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.45/t/Helper.pm 2017-06-19 22:15:11.000000000 +0200
@@ -1,24 +1,45 @@
package t::Helper;
use Mojo::Base -strict;
+
+use Mojo::File 'path';
+use Mojo::Util;
use Mojo::Loader;
-use Mojolicious;
use Mojolicious::Plugin::AssetPack::Util;
-use Cwd ();
-use File::Basename qw(basename dirname);
-use File::Spec;
+use Mojolicious;
use Test::Mojo;
-use Test::More;
+use Test::More ();
$ENV{MOJO_LOG_LEVEL} = $ENV{HARNESS_IS_VERBOSE} ? 'debug' : 'error';
+$ENV{TEST_HOME} = path(__FILE__)->to_abs->dirname;
+
+END { cleanup() }
+
+my %CREATED_FILES;
+
+unless ($ENV{TEST_KEEP_FILES}) {
+ my $spurt = \&Mojo::File::spurt;
+ Mojo::Util::monkey_patch(
+ 'Mojo::File' => spurt => sub {
+ $CREATED_FILES{$_[0]} = 1 unless -e $_[0];
+ goto $spurt;
+ }
+ );
+}
+
+sub cleanup {
+ $CREATED_FILES{path($ENV{TEST_HOME}, 'assets', $ENV{MOJO_ASSETPACK_DB_FILE})} = 1
+ if $ENV{MOJO_ASSETPACK_DB_FILE};
+ unlink $_ for keys %CREATED_FILES;
+}
sub t {
my $class = shift;
my $args = ref $_[0] ? shift : {@_};
my $app = Mojolicious->new;
- $ENV{MOJO_ASSETPACK_CLEANUP} //= 1; # remove generated assets
- $ENV{MOJO_ASSETPACK_DB_FILE} = sprintf '%s.db', basename $0;
- ${$app->home} = Cwd::abs_path(dirname __FILE__);
+ $ENV{MOJO_ASSETPACK_DB_FILE} = sprintf '%s.db', path($0)->basename;
+ $class->cleanup unless state $cleaned_up++;
+ ${$app->home} = $ENV{TEST_HOME};
delete $app->log->{$_} for qw(handle path);
$app->routes->get('/' => 'index');
$app->plugin(AssetPack => $args);
@@ -29,17 +50,14 @@
my $class = shift;
my $caller = caller;
- unlink glob 't/public/packed/*' unless $ENV{TEST_KEEP_FILES};
-
- strict->import;
- warnings->import;
+ Mojo::Base->import('-strict');
- eval <<" CODE" or die $@;
+ eval <<"HERE" or die $@;
package $caller;
use Test::More;
use Test::Mojo;
1;
- CODE
+HERE
}
1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/t/css.t new/Mojolicious-Plugin-AssetPack-1.45/t/css.t
--- old/Mojolicious-Plugin-AssetPack-1.44/t/css.t 2016-12-23 02:10:10.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.45/t/css.t 2017-06-19 21:42:41.000000000 +0200
@@ -31,9 +31,8 @@
->header_is('Cache-Control', 'max-age=31536000')->header_is('Content-Type', 'text/css')
->content_like(qr/\.one\{color.*\.two\{color.*.skipped\s\{/s);
-Mojo::Util::monkey_patch('CSS::Minifier::XS', minify => sub { die 'Nope!' });
+Mojo::Util::monkey_patch('CSS::Minifier::XS', minify => sub { die 'Not cached!' });
ok -e $file->path, 'cached file exists';
-$ENV{MOJO_ASSETPACK_CLEANUP} = 0;
$t = t::Helper->t(pipes => [qw(Css Combine)]);
$t->app->asset->process('app.css' => @assets);
@@ -41,7 +40,6 @@
$t->get_ok('/inline')->status_is(200)
->content_like(qr/\.one\{color.*\.two\{color.*.skipped\s\{/s);
-$ENV{MOJO_ASSETPACK_CLEANUP} = 1;
done_testing;
__DATA__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/t/fetch-source-map.t new/Mojolicious-Plugin-AssetPack-1.45/t/fetch-source-map.t
--- old/Mojolicious-Plugin-AssetPack-1.44/t/fetch-source-map.t 2017-04-29 14:11:32.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.45/t/fetch-source-map.t 2017-06-19 21:02:44.000000000 +0200
@@ -13,8 +13,7 @@
$t->get_ok('/asset/0bf00b0aa8/angular.min.js.map')->status_is(200);
-$ENV{MOJO_ASSETPACK_CLEANUP} = 0;
-$ENV{MOJO_MODE} = 'production';
+$ENV{MOJO_MODE} = 'production';
$t = t::Helper->t(pipes => [qw(Fetch Combine)]);
$t->app->asset->process(
'app.js' => 'https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.min.js');
@@ -25,8 +24,6 @@
$t->get_ok('/asset/0bf00b0aa8/angular.min.js.map')->status_is(200);
-$ENV{MOJO_ASSETPACK_CLEANUP} = 1;
-
done_testing;
__DATA__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/t/font-awesome.t new/Mojolicious-Plugin-AssetPack-1.45/t/font-awesome.t
--- old/Mojolicious-Plugin-AssetPack-1.44/t/font-awesome.t 2017-01-11 10:44:04.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.45/t/font-awesome.t 2017-06-19 21:02:44.000000000 +0200
@@ -14,8 +14,7 @@
$t->get_ok('/asset/986eed8dca/fontawesome-webfont_v_4_5_0.eot')->status_is(200);
-$ENV{MOJO_ASSETPACK_CLEANUP} = 0;
-$ENV{MOJO_MODE} = 'production';
+$ENV{MOJO_MODE} = 'production';
$t = t::Helper->t(pipes => [qw(Css Fetch Combine)]);
$t->app->asset->process('app.css' =>
'https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css');
@@ -27,8 +26,6 @@
$t->get_ok('/asset/986eed8dca/fontawesome-webfont_v_4_5_0.eot')->status_is(200);
-$ENV{MOJO_ASSETPACK_CLEANUP} = 1;
-
done_testing;
__DATA__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/t/google-font.t new/Mojolicious-Plugin-AssetPack-1.45/t/google-font.t
--- old/Mojolicious-Plugin-AssetPack-1.44/t/google-font.t 2017-04-29 14:14:11.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.45/t/google-font.t 2017-06-19 22:47:31.000000000 +0200
@@ -25,6 +25,26 @@
$t2->get_ok($t2->tx->res->dom->at('link')->{href})->status_is(200)
->header_is('Content-Type', 'text/css')->content_like(qr{font-family:\W*Roboto});
+my $t3 = t::Helper->t(pipes => [qw(Css Fetch)]);
+my $db = $t3->app->asset->store->_db;
+
+is_deeply(
+ $db->{'https://fonts.googleapis.com/css?family=Roboto:400,700'},
+ {
+ original =>
+ {format => 'css', rel => 'cache/fonts.googleapis.com/css_family_Roboto_400_700'}
+ },
+ 'assetpack.db looks right'
+);
+
+for my $url (keys %$db) {
+ like $url, qr{^https?:}, "db $url";
+ for my $key (keys %{$db->{$url}}) {
+ is $key, 'original', 'db has no processed assets';
+ is_deeply [sort keys %{$db->{$url}{$key}}], [qw(format rel)], 'correct db attributes';
+ }
+}
+
done_testing;
__DATA__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/t/lazy.t new/Mojolicious-Plugin-AssetPack-1.45/t/lazy.t
--- old/Mojolicious-Plugin-AssetPack-1.44/t/lazy.t 2017-01-11 11:16:57.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.45/t/lazy.t 2017-06-19 22:16:08.000000000 +0200
@@ -4,6 +4,7 @@
plan skip_all => 'cpanm CSS::Sass' unless eval 'use CSS::Sass 3.3.0;1';
my $t = t::Helper->t(pipes => [qw(Sass Css)]);
+
$t->app->asset->process('app.css' => ('sass-one.sass', 'sass-two.scss'));
$t->get_ok('/asset/5660087922/sass-one.css')->status_is(404, 'not yet compiled');
@@ -30,6 +31,9 @@
$t->get_ok('/asset/0dfb452e32/sass-two.css')->status_is(200)
->content_like(qr{body\W+background:\s*black}s);
+$t = t::Helper->t(pipes => [qw(Css Fetch)]);
+is_deeply($t->app->asset->store->_db, {}, 'nothing was stored in db');
+
done_testing;
__DATA__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/t/mount.t new/Mojolicious-Plugin-AssetPack-1.45/t/mount.t
--- old/Mojolicious-Plugin-AssetPack-1.44/t/mount.t 2016-11-14 19:55:17.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.45/t/mount.t 2017-06-19 21:02:44.000000000 +0200
@@ -1,8 +1,7 @@
use lib '.';
use t::Helper;
-$ENV{MOJO_MODE} = 'development';
-$ENV{MOJO_ASSETPACK_CLEANUP} //= 1; # remove generated assets
+$ENV{MOJO_MODE} = 'development';
$ENV{MOJO_ASSETPACK_DB_FILE} = 'mount.db';
my $app = Mojolicious->new;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/t/recreate.t new/Mojolicious-Plugin-AssetPack-1.45/t/recreate.t
--- old/Mojolicious-Plugin-AssetPack-1.44/t/recreate.t 2017-01-11 10:30:24.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.45/t/recreate.t 2017-06-19 21:02:44.000000000 +0200
@@ -5,8 +5,6 @@
use Mojo::Loader 'data_section';
use Mojolicious::Plugin::AssetPack::Util 'checksum';
-$ENV{MOJO_ASSETPACK_CLEANUP} = 0;
-
# simulate minify()
no warnings 'once';
$INC{'CSS/Minifier/XS.pm'} = 'mocked';
@@ -40,7 +38,6 @@
# reset asset
$recreate->spurt(".recreate { color: #aaa }\n");
-$ENV{MOJO_ASSETPACK_CLEANUP} = 1;
done_testing;
__DATA__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/t/register.t new/Mojolicious-Plugin-AssetPack-1.45/t/register.t
--- old/Mojolicious-Plugin-AssetPack-1.44/t/register.t 2017-04-29 13:40:52.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.45/t/register.t 2017-06-19 21:02:44.000000000 +0200
@@ -5,6 +5,8 @@
$ENV{NO_PROXY} = 'mojolicious.org';
$ENV{no_proxy} = '';
+ok !eval '$undeclared_variable=123', 'strict is enabled';
+
my $t = Test::Mojo->new(Mojolicious->new);
delete $t->app->log->{$_} for qw(path handle);
$t->app->plugin(AssetPack => {helper => 'foo', pipes => ['Css']});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/t/sass-unable-to-download.t new/Mojolicious-Plugin-AssetPack-1.45/t/sass-unable-to-download.t
--- old/Mojolicious-Plugin-AssetPack-1.44/t/sass-unable-to-download.t 2017-01-12 20:34:40.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.45/t/sass-unable-to-download.t 2017-06-19 21:02:44.000000000 +0200
@@ -16,8 +16,6 @@
ok + (grep {/Unable to download.*_layout\.scss/} @message), 'unable to download'
or map { diag $_ } @message;
-$ENV{MOJO_ASSETPACK_CLEANUP} = 0;
-
@message = ();
$t = t::Helper->t(pipes => [qw(Sass Css)]);
$t->app->log->on(message => sub { shift; push @message, @_ });
@@ -30,8 +28,6 @@
ok !(grep {/Unable to download.*_layout\.scss/} @message), 'assets are already downloaded'
or diag join ',', @message;
-$ENV{MOJO_ASSETPACK_CLEANUP} = 1;
-
done_testing;
__DATA__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/t/sass.t new/Mojolicious-Plugin-AssetPack-1.45/t/sass.t
--- old/Mojolicious-Plugin-AssetPack-1.44/t/sass.t 2017-02-05 23:56:19.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.45/t/sass.t 2017-06-19 21:02:44.000000000 +0200
@@ -33,12 +33,10 @@
}
Mojo::Util::monkey_patch('CSS::Sass', sass2scss => sub { die 'Nope!' });
-$ENV{MOJO_ASSETPACK_CLEANUP} = 0;
$t = t::Helper->t(pipes => [qw(Sass Css Combine)]);
ok eval { $t->app->asset->process('app.css' => ('sass-one.sass', 'sass-two.scss')) },
'using cached assets'
or diag $@;
-$ENV{MOJO_ASSETPACK_CLEANUP} = 1;
# Assets from disk
$t = t::Helper->t(pipes => [qw(Sass Css Combine)]);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.44/t/util.t new/Mojolicious-Plugin-AssetPack-1.45/t/util.t
--- old/Mojolicious-Plugin-AssetPack-1.44/t/util.t 2016-04-02 21:25:40.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.45/t/util.t 2017-06-19 21:02:44.000000000 +0200
@@ -1,4 +1,3 @@
-BEGIN { $ENV{TEST_DIAG} = 1 }
use Mojo::Base -strict;
use Test::Mojo;
use Test::More;
1
0
Hello community,
here is the log from the commit of package tpm-quote-tools for openSUSE:Factory checked in at 2017-06-29 15:03:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tpm-quote-tools (Old)
and /work/SRC/openSUSE:Factory/.tpm-quote-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tpm-quote-tools"
Thu Jun 29 15:03:36 2017 rev:1 rq:504822 version:1.0.3
Changes:
--------
New Changes file:
--- /dev/null 2017-06-22 07:57:20.067658250 +0200
+++ /work/SRC/openSUSE:Factory/.tpm-quote-tools.new/tpm-quote-tools.changes 2017-06-29 15:04:27.107507210 +0200
@@ -0,0 +1,9 @@
+-------------------------------------------------------------------
+Mon Jun 19 15:39:52 UTC 2017 - matthias.gerstner(a)suse.com
+
+- fix license specification, it's BSD-3-Clause, not BSD
+
+-------------------------------------------------------------------
+Thu May 18 13:38:18 UTC 2017 - matthias.gerstner(a)suse.com
+
+- initial package, version 1.0.3
New:
----
tpm-quote-tools-1.0.3.tar.gz
tpm-quote-tools.changes
tpm-quote-tools.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tpm-quote-tools.spec ++++++
#
# spec file for package tpm-tools
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: tpm-quote-tools
Version: 1.0.3
Release: 0
Summary: Trusted Platform Module (TPM) remote attestation tools
License: BSD-3-Clause
Group: Productivity/Security
Url: https://sourceforge.net/projects/tpmquotetools
Source0: https://downloads.sourceforge.net/project/tpmquotetools/%{version}/tpm-quot…
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: trousers-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Trusted Computing is a set of specifications published by the Trusted
Computing Group (TCG). The Trusted Platform Module (TPM) is the
hardware component for Trusted Computing. The tpm-quote-tools package
provides additional tools that employ the TPM quote command to facilitate
remote attestation. These tools are based on the trousers TPM 1.2 stack.
%prep
%setup -q
%build
autoreconf -fiv
%configure --disable-static
make %{?_smp_mflags}
%install
%define docdir %{_defaultdocdir}/%{name}
make DESTDIR=%{buildroot} install %{?_smp_mflags}
mkdir -p %{buildroot}/%{docdir}
cp README COPYING %{buildroot}/%{docdir}
%files
%defattr(-,root,root)
%doc README COPYING
%{_mandir}/man8/tpm_*
%{_bindir}/tpm_*
%changelog
1
0
Hello community,
here is the log from the commit of package curl for openSUSE:Factory checked in at 2017-06-29 15:00:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/curl (Old)
and /work/SRC/openSUSE:Factory/.curl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "curl"
Thu Jun 29 15:00:29 2017 rev:124 rq:506883 version:7.54.1
Changes:
--------
New Changes file:
--- /dev/null 2017-06-22 07:57:20.067658250 +0200
+++ /work/SRC/openSUSE:Factory/.curl.new/curl-mini.changes 2017-06-29 15:00:46.218722736 +0200
@@ -0,0 +1,2029 @@
+-------------------------------------------------------------------
+Wed Jun 28 13:50:08 UTC 2017 - dimstar(a)opensuse.org
+
+- Update License to 'curl' as per review on OBS sr#505976.
+
+-------------------------------------------------------------------
+Fri Jun 23 10:49:11 UTC 2017 - dimstar(a)opensuse.org
+
+- Have the -mini packages conflict the real ones.
+
+-------------------------------------------------------------------
+Tue Jun 20 11:30:01 UTC 2017 - idonmez(a)suse.com
+
+- Add curl-invalid-free.patch to fix an invalid free in
+ curl_multi_setopt function.
+
+-------------------------------------------------------------------
+Wed Jun 14 11:19:16 UTC 2017 - idonmez(a)suse.com
+
+- Update to 7.54.1
+ Changes:
+ * curl now shows release date in --version output
+ Bugfixes:
+ * Fixes CVE-2017-9502: default protocol drive letter
+ buffer overflow bsc#1044243
+ * openssl: fix memory leak in servercert
+ * curl: set a 100K buffer size by default
+ * nss: do not leak PKCS #11 slot while loading a key
+ * nss: load libnssckbi.so if no other trust is specified
+ * curl: use utimes instead of obsolescent utime when available
+ * url: fixed a memory leak on OOM while setting CURLOPT_BUFFERSIZE
+ * CURLOPT_BUFFERSIZE: 1024 bytes is now the minimum size
+ * curl: non-boolean command line args reject --no- prefixes
+ * telnet: Write full buffer instead of byte-by-byte
+ * curl: remove --environment and tool_writeenv.c
+ * curl: generate the --help output
+ * curl.1: clarify --config
+ * curl.1: mention --oauth2-bearer's argument
+ * ssh: fix memory leak in disconnect due to timeout
+ * redirect: store the "would redirect to" URL when max redirs is reached
+ * file: make speedcheck use current time for checks
+ * urlglob: fix division by zero
+
+-------------------------------------------------------------------
+Tue Jun 13 13:08:21 UTC 2017 - lnussel(a)suse.de
+
+- Create curl-mini for bootstrapping (boo#1042919)
+
+-------------------------------------------------------------------
+Wed Apr 19 08:17:17 UTC 2017 - idonmez(a)suse.com
+
+- Update to 7.54.0
+ Changes:
+ * Add CURL_SSLVERSION_MAX_* constants to CURLOPT_SSLVERSION
+ * Add --max-tls
+ * Add CURLOPT_SUPPRESS_CONNECT_HEADERS
+ * Add --suppress-connect-headers
+ Bugfixes:
+ * CVE-2017-7468: switch off SSL session id when client cert is used
+ * bsc#1033413
+ * tests: use consistent environment variables for setting charset
+ * proxy: fixed a memory leak on OOM
+ * ftp: removed an erroneous free in an OOM path
+ * ftp: fixed a NULL pointer dereference on OOM
+ * gopher: fixed detection of an error condition from Curl_urldecode
+ * url: fix unix-socket support for proxy-disabled builds
+ * fix potential use of uninitialized variables
+ * ares: return error at once if timed out before name resolve starts
+ * URL: return error on malformed URLs with junk after port number
+ * http2: Fix assertion error on redirect with CL=0
+ * --insecure: clarify that this option is for server connections
+ * authneg: clear auth.multi flag at http_done
+ * curl_easy_reset: Also reset the authentication state
+ * proxy: skip SSL initialization for closed connections
+ * http_proxy: ignore TE and CL in CONNECT 2xx responses
+ * multi: fix streamclose() crash in debug mode
+ * openssl: fall back on SSL_ERROR_* string when no error detail
+ * asiohiper: make sure socket is open in event_cb
+ * curl: check for end of input in writeout backslash handling
+ * openssl: exclude DSA code when OPENSSL_NO_DSA is defined
+ * http: Fix proxy connection reuse with basic-auth
+ * pause: handle mixed types of data when paused
+ * http: do not treat FTPS over CONNECT as HTTPS
+ * conncache: make hashkey avoid malloc
+ * multi: fix queueing of pending easy handles
+ * low_speed_limit: improved function for longer time periods
+ * nss: load CA certificates even with --insecure
+ * Curl_expire_latest: ignore already expired timers
+ * http2: fix handle leak in error path
+ * openssl: make SSL_ERROR_to_str more future-proof
+ * openssl: fix thread-safety bugs in error-handling
+ * openssl: don't try to print nonexistant peer private keys
+
+-------------------------------------------------------------------
+Fri Feb 24 11:42:10 UTC 2017 - idonmez(a)suse.com
+
+- Update to 7.53.1
+ Bugfixes:
+ * url: Improve CURLOPT_PROXY_CAPATH error handling
+ * urldata: include curl_sspi.h when Windows SSPI is enabled
+ * formdata: check for EOF when reading from stdin
+ * tests: Set CHARSET & LANG to UTF-8 in 1035, 2046 and 2047
+ * url: Default the proxy CA bundle location to CURL_CA_BUNDLE
+ * rand: added missing #ifdef HAVE_FCNTL_H around fcntl.h header
+
+-------------------------------------------------------------------
+Wed Feb 22 09:49:12 UTC 2017 - idonmez(a)suse.com
+
+- Update to 7.53.0
+ Changes:
+ * unix_socket: added --abstract-unix-socket and
+ CURLOPT_ABSTRACT_UNIX_SOCKET
+ * CURLOPT_BUFFERSIZE: support enlarging receive buffer
+
+ Bugfixes:
+ * CVE-2017-2629: make SSL_VERIFYSTATUS work again
+ * gnutls-random: check return code for failed random
+ * openssl-random: check return code when asking for random
+ * http: remove "Curl_http_done: called premature" message
+ * cyassl: use time_t instead of long for timeout
+ * build-wolfssl: Sync config with wolfSSL 3.10
+ * ftp-gss: check for init before use
+ * configure: accept --with-libidn2 instead
+ * ftp: failure to resolve proxy should return that error code
+ * curl.1: add three more exit codes
+ * docs/ciphers: link to our own new page about ciphers
+ * vtls: s/SSLEAY/OPENSSL - fixes multi_socket timeouts with openssl
+ * darwinssl: fix iOS build
+ * darwinssl: fix CFArrayRef leak
+ * cmake: use crypt32.lib when building with OpenSSL on windows
+ * curl_formadd.3: CURLFORM_CONTENTSLENGTH not needed when chunked
+ * digest_sspi: copy terminating NUL as well
+ * curl: fix --remote-time incorrect times on Windows
+ * curl.1: several updates and corrections
+ * content_encoding: change return code on a failure
+ * curl.h: CURLE_FUNCTION_NOT_FOUND is no longer in use
+ * docs: TCP_KEEPALIVE start and interval default to 60
+ * darwinssl: --insecure overrides --cacert if both settings are in use
+ * TheArtOfHttpScripting: grammar
+ * CIPHERS.md: document GSKit ciphers
+ * wolfssl: support setting cipher list
+ * wolfssl: display negotiated SSL version and cipher
+ * lib506: fix build for Open Watcom
+ * asiohiper: improved socket handling
+ * examples: make the C++ examples follow our code style too
+ * tests/sws: retry send() on EWOULDBLOCK
+ * cmake: Fix passing _WINSOCKAPI_ macro to compiler
+ * smtp: Fix STARTTLS denied error message
+ * imap/pop3: don't print response character in STARTTLS denied messages
+ * rand: make it work without TLS backing
+ * url: fix parsing for when 'file' is the default protocol
+ * url: allow file://X:/path URLs on windows again
+ * gnutls: check for alpn and ocsp in configure
+ * IDN: Use TR46 'non-transitional' for toASCII translations
+ * url: Fix NO_PROXY env var to work properly with --proxy option
+ * CURLOPT_PREQUOTE.3: takes a struct curl_slist*, not a char*
+ * docs: Add note about libcurl copying strings to CURLOPT_* manpages
+ * curl: reset the easy handle at --next
+ * --next docs: --trace and --trace-ascii are also global
+ * --write-out docs: 'time_total' is not always shown with ms precision
+ * http: print correct HTTP string in verbose output when using HTTP/2
+ * docs: improved language in README.md HISTORY.md CONTRIBUTE.md
+ * http2: disable server push if not requested
+ * nss: use the correct lock in nss_find_slot_by_name()
+ * usercertinmem.c: improve the short description
+ * CURLOPT_CONNECT_TO: Fix compile warnings
+ * docs: non-blocking SSL handshake is now supported with NSS
+ * *.rc: escape non-ASCII/non-UTF-8 character for clarity
+ * mbedTLS: fix multi interface non-blocking handshake
+ * PolarSSL: fix multi interface non-blocking handshake
+ * VC: remove the makefile.vc6 build infra
+ * telnet: fix windows compiler warnings
+ * cookies: do not assume a valid domain has a dot
+ * polarssl: fix hangs
+ * gnutls: disable TLS session tickets
+ * mbedtls: disable TLS session tickets
+ * mbedtls: implement CTR-DRBG and HAVEGE random generators
+ * openssl: Don't use certificate after transferring ownership
+ * cmake: Support curl --xattr when built with cmake
+ * OS400: Fix symbols
+ * docs: Add more HTTPS proxy documentation
+ * docs: use more HTTPS links
+ * cmdline-opts: Fixed build and test in out of source tree builds
+ * CHANGES.0: removed
+ * schannel: Remove incorrect SNI disabled message
+ * darwinssl: Avoid parsing certificates when not in verbose mode
+ * test552: Fix typos
+ * telnet: Fix typos
+ * transfer: only retry nobody-requests for HTTP
+ * http2: reset push header counter fixes crash
+ * nss: make FTPS work with --proxytunnel
+ * test1139: Added the --manual keyword since the manual is required
+ * polarssl, mbedtls: Fix detection of pending data
+ * http_proxy: Fix tiny memory leak upon edge case connecting to proxy
+ * URL: only accept ";options" in SMTP/POP3/IMAP URL schemes
+ * curl.1: ftp.sunet.se is no longer an FTP mirror
+ * tool_operate: Show HTTPS-Proxy options on CURLE_SSL_CACERT
++++ 1832 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Factory/.curl.new/curl-mini.changes
--- /work/SRC/openSUSE:Factory/curl/curl.changes 2017-05-03 15:51:44.586365046 +0200
+++ /work/SRC/openSUSE:Factory/.curl.new/curl.changes 2017-06-29 15:00:47.666518311 +0200
@@ -1,0 +2,48 @@
+Wed Jun 28 13:50:08 UTC 2017 - dimstar(a)opensuse.org
+
+- Update License to 'curl' as per review on OBS sr#505976.
+
+-------------------------------------------------------------------
+Fri Jun 23 10:49:11 UTC 2017 - dimstar(a)opensuse.org
+
+- Have the -mini packages conflict the real ones.
+
+-------------------------------------------------------------------
+Tue Jun 20 11:30:01 UTC 2017 - idonmez(a)suse.com
+
+- Add curl-invalid-free.patch to fix an invalid free in
+ curl_multi_setopt function.
+
+-------------------------------------------------------------------
+Wed Jun 14 11:19:16 UTC 2017 - idonmez(a)suse.com
+
+- Update to 7.54.1
+ Changes:
+ * curl now shows release date in --version output
+ Bugfixes:
+ * Fixes CVE-2017-9502: default protocol drive letter
+ buffer overflow bsc#1044243
+ * openssl: fix memory leak in servercert
+ * curl: set a 100K buffer size by default
+ * nss: do not leak PKCS #11 slot while loading a key
+ * nss: load libnssckbi.so if no other trust is specified
+ * curl: use utimes instead of obsolescent utime when available
+ * url: fixed a memory leak on OOM while setting CURLOPT_BUFFERSIZE
+ * CURLOPT_BUFFERSIZE: 1024 bytes is now the minimum size
+ * curl: non-boolean command line args reject --no- prefixes
+ * telnet: Write full buffer instead of byte-by-byte
+ * curl: remove --environment and tool_writeenv.c
+ * curl: generate the --help output
+ * curl.1: clarify --config
+ * curl.1: mention --oauth2-bearer's argument
+ * ssh: fix memory leak in disconnect due to timeout
+ * redirect: store the "would redirect to" URL when max redirs is reached
+ * file: make speedcheck use current time for checks
+ * urlglob: fix division by zero
+
+-------------------------------------------------------------------
+Tue Jun 13 13:08:21 UTC 2017 - lnussel(a)suse.de
+
+- Create curl-mini for bootstrapping (boo#1042919)
+
+-------------------------------------------------------------------
Old:
----
curl-7.54.0.tar.lzma
curl-7.54.0.tar.lzma.asc
New:
----
curl-7.54.1.tar.lzma
curl-7.54.1.tar.lzma.asc
curl-invalid-free.patch
curl-mini.changes
curl-mini.spec
pre_checkin.sh
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ curl-mini.spec ++++++
#
# spec file for package curl-mini
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
##### WARNING: please do not edit this auto generated spec file. Use the curl.spec! #####
%define bootstrap 1
##### WARNING: please do not edit this auto generated spec file. Use the curl.spec! #####
%define mini -mini
%bcond_with mozilla_nss
# need ssl always for python-pycurl
%bcond_without openssl
%if 0%{?bootstrap}
%bcond_with testsuite
%else
%bcond_without testsuite
%endif
Name: curl-mini
Version: 7.54.1
Release: 0
Summary: A Tool for Transferring Data from URLs
License: curl
Group: Productivity/Networking/Web/Utilities
Url: https://curl.haxx.se/
Source: https://curl.haxx.se/download/curl-%{version}.tar.lzma
Source2: https://curl.haxx.se/download/curl-%{version}.tar.lzma.asc
Source3: baselibs.conf
Source4: https://daniel.haxx.se/mykey.asc#/curl.keyring
Patch0: libcurl-ocloexec.patch
Patch1: dont-mess-with-rpmoptflags.diff
Patch2: curl-secure-getenv.patch
Patch3: curl-invalid-free.patch
BuildRequires: libtool
BuildRequires: pkgconfig
%if !0%{?bootstrap}
BuildRequires: groff
BuildRequires: krb5-mini-devel
BuildRequires: libidn2-devel
BuildRequires: lzma
BuildRequires: openldap2-devel
BuildRequires: pkgconfig(libmetalink)
BuildRequires: pkgconfig(libnghttp2)
BuildRequires: pkgconfig(libpsl)
BuildRequires: pkgconfig(libssh2)
BuildRequires: pkgconfig(zlib)
%else
Requires: this-is-only-for-build-envs
Conflicts: curl
# The -mini package is sufficient for the build hosts
Provides: curl = %{version}
%endif
Requires: libcurl4%{?mini} = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{with openssl}
BuildRequires: pkgconfig(libssl)
%endif
%if %{with mozilla_nss}
BuildRequires: mozilla-nss-devel
%endif
#BuildRequires: openssh
%if 0%{?_with_stunnel:1}
# used by the testsuite
BuildRequires: stunnel
%endif
# bug437293
%ifarch ppc64
Obsoletes: curl-64bit
%endif
%description
Curl is a client to get documents and files from or send documents to a
server using any of the supported protocols (HTTP, HTTPS, FTP, FTPS,
TFTP, DICT, TELNET, LDAP, or FILE). The command is designed to work
without user interaction or any kind of interactivity.
%package -n libcurl4%{?mini}
Summary: Version 4 of cURL shared library
Group: Productivity/Networking/Web/Utilities
%if 0%{?bootstrap}
Requires: this-is-only-for-build-envs
Conflicts: libcurl4
%endif
%description -n libcurl4%{?mini}
The cURL shared library version 4 for accessing data using different
network protocols.
%package -n libcurl%{?mini}-devel
Summary: A Tool for Transferring Data from URLs
Group: Development/Libraries/C and C++
Requires: glibc-devel
Requires: libcurl4%{?mini} = %{version}
# curl-devel (v 7.15.5) was last used in 10.2
Provides: curl-devel <= 7.15.5
Obsoletes: curl-devel < 7.16.2
%if 0%{?bootstrap}
Requires: this-is-only-for-build-envs
Provides: libcurl-devel = %{version}-%{release}
Conflicts: libcurl-devel
%endif
%description -n libcurl%{?mini}-devel
Curl is a client to get documents and files from or send documents to a
server using any of the supported protocols (HTTP, HTTPS, FTP, GOPHER,
DICT, TELNET, LDAP, or FILE). The command is designed to work without
user interaction or any kind of interactivity.
%prep
%setup -q -n curl-%version
%patch0
%patch1
%patch2
%patch3 -p1
%build
# curl complains if macro definition is contained in CFLAGS
# see m4/xc-val-flgs.m4
CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS=$(echo "%{optflags}" | sed -e 's/-D_FORTIFY_SOURCE=2//')
export CPPFLAGS CFLAGS
export CFLAGS="$CFLAGS -fPIE"
export LDFLAGS="$LDFLAGS -pie"
autoreconf -fiv
# local hack to make curl-config --libs stop printing libraries it depends on
# (currently, libtool sets link_all_deplibs=(yes|unknown) everywhere,
# will hopefully change in the future)
sed -i 's/\(link_all_deplibs=\)unknown/\1no/' configure
%configure \
--enable-ipv6 \
%if %{with openssl}
--with-ssl \
--with-ca-fallback \
--without-ca-path \
--without-ca-bundle \
%else
--without-ssl \
%if %{with mozilla_nss}
--with-nss \
%endif
%endif
%if !0%{?bootstrap}
--with-gssapi=%{_libexecdir}/mit \
--with-libidn2 \
--with-libssh2 \
--with-libmetalink \
%endif
--enable-hidden-symbols \
--disable-static \
--enable-threaded-resolver
# if this fails, the above sed hack did not work
./libtool --config | grep -q link_all_deplibs=no
# enable-hidden-symbols needs gcc4 and causes that curl exports only its API
make %{?_smp_mflags} V=1
%if %{with testsuite}
%check
pushd tests
make %{?_smp_mflags}
# make sure the testsuite runs don't race on MP machines in autobuild
if test -z "$BUILD_INCARNATION" -a -r /.buildenv; then
. /.buildenv
fi
if test -z "$BUILD_INCARNATION"; then
BUILD_INCARNATION=0
fi
base=$((8990 + $BUILD_INCARNATION * 20))
# bug940009 do not run flaky tests for any architecture
# at least test 1510 do fail for i586 and ppc64le
perl ./runtests.pl -a -b$base '!flaky' || exit
popd
%endif
%install
%make_install
rm -f %{buildroot}%{_libdir}/libcurl.la
install -Dm 0644 docs/libcurl/libcurl.m4 %{buildroot}%{_datadir}/aclocal/libcurl.m4
pushd scripts
make %{?_smp_mflags} DESTDIR=%{buildroot} install
popd
%post -n libcurl4%{?mini} -p /sbin/ldconfig
%postun -n libcurl4%{?mini} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc README RELEASE-NOTES
%doc docs/{BUGS,FAQ,FEATURES,MANUAL,RESOURCES,TODO,TheArtOfHttpScripting}
%{_bindir}/curl
%{_datadir}/zsh/site-functions/_curl
%{_mandir}/man1/curl.1%{ext_man}
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%files -n libcurl4%{?mini}
%defattr(-,root,root)
%{_libdir}/libcurl.so.4*
%files -n libcurl%{?mini}-devel
%defattr(-,root,root)
%{_bindir}/curl-config
%{_includedir}/curl
%dir %{_datadir}/aclocal/
%{_datadir}/aclocal/libcurl.m4
%{_libdir}/libcurl.so
%{_libdir}/pkgconfig/libcurl.pc
%{_mandir}/man1/curl-config.1%{ext_man}
%{_mandir}/man3/*
%doc docs/libcurl/symbols-in-versions
%changelog
++++++ curl.spec ++++++
--- /var/tmp/diff_new_pack.t2dctC/_old 2017-06-29 15:00:50.110173274 +0200
+++ /var/tmp/diff_new_pack.t2dctC/_new 2017-06-29 15:00:50.110173274 +0200
@@ -16,36 +16,54 @@
#
-%bcond_without openssl
+%define bootstrap 0
+%define mini %nil
+
%bcond_with mozilla_nss
+# need ssl always for python-pycurl
+%bcond_without openssl
+
+%if 0%{?bootstrap}
+%bcond_with testsuite
+%else
%bcond_without testsuite
+%endif
+
Name: curl
-Version: 7.54.0
+Version: 7.54.1
Release: 0
Summary: A Tool for Transferring Data from URLs
-License: BSD-3-Clause and MIT
+License: curl
Group: Productivity/Networking/Web/Utilities
Url: https://curl.haxx.se/
-Source: https://curl.haxx.se/download/%{name}-%{version}.tar.lzma
-Source2: https://curl.haxx.se/download/%{name}-%{version}.tar.lzma.asc
+Source: https://curl.haxx.se/download/curl-%{version}.tar.lzma
+Source2: https://curl.haxx.se/download/curl-%{version}.tar.lzma.asc
Source3: baselibs.conf
-Source4: https://daniel.haxx.se/mykey.asc#/%{name}.keyring
+Source4: https://daniel.haxx.se/mykey.asc#/curl.keyring
Patch0: libcurl-ocloexec.patch
Patch1: dont-mess-with-rpmoptflags.diff
Patch2: curl-secure-getenv.patch
+Patch3: curl-invalid-free.patch
+BuildRequires: libtool
+BuildRequires: pkgconfig
+%if !0%{?bootstrap}
BuildRequires: groff
BuildRequires: krb5-mini-devel
BuildRequires: libidn2-devel
-BuildRequires: libtool
BuildRequires: lzma
BuildRequires: openldap2-devel
-BuildRequires: pkgconfig
BuildRequires: pkgconfig(libmetalink)
BuildRequires: pkgconfig(libnghttp2)
BuildRequires: pkgconfig(libpsl)
BuildRequires: pkgconfig(libssh2)
BuildRequires: pkgconfig(zlib)
-Requires: libcurl4 = %{version}
+%else
+Requires: this-is-only-for-build-envs
+Conflicts: curl
+# The -mini package is sufficient for the build hosts
+Provides: curl = %{version}
+%endif
+Requires: libcurl4%{?mini} = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{with openssl}
BuildRequires: pkgconfig(libssl)
@@ -69,34 +87,44 @@
TFTP, DICT, TELNET, LDAP, or FILE). The command is designed to work
without user interaction or any kind of interactivity.
-%package -n libcurl4
+%package -n libcurl4%{?mini}
Summary: Version 4 of cURL shared library
Group: Productivity/Networking/Web/Utilities
+%if 0%{?bootstrap}
+Requires: this-is-only-for-build-envs
+Conflicts: libcurl4
+%endif
-%description -n libcurl4
+%description -n libcurl4%{?mini}
The cURL shared library version 4 for accessing data using different
network protocols.
-%package -n libcurl-devel
+%package -n libcurl%{?mini}-devel
Summary: A Tool for Transferring Data from URLs
Group: Development/Libraries/C and C++
Requires: glibc-devel
-Requires: libcurl4 = %{version}
+Requires: libcurl4%{?mini} = %{version}
# curl-devel (v 7.15.5) was last used in 10.2
Provides: curl-devel <= 7.15.5
Obsoletes: curl-devel < 7.16.2
+%if 0%{?bootstrap}
+Requires: this-is-only-for-build-envs
+Provides: libcurl-devel = %{version}-%{release}
+Conflicts: libcurl-devel
+%endif
-%description -n libcurl-devel
+%description -n libcurl%{?mini}-devel
Curl is a client to get documents and files from or send documents to a
server using any of the supported protocols (HTTP, HTTPS, FTP, GOPHER,
DICT, TELNET, LDAP, or FILE). The command is designed to work without
user interaction or any kind of interactivity.
%prep
-%setup -q
+%setup -q -n curl-%version
%patch0
%patch1
%patch2
+%patch3 -p1
%build
# curl complains if macro definition is contained in CFLAGS
@@ -124,13 +152,15 @@
--with-nss \
%endif
%endif
+%if !0%{?bootstrap}
--with-gssapi=%{_libexecdir}/mit \
--with-libidn2 \
--with-libssh2 \
+ --with-libmetalink \
+%endif
--enable-hidden-symbols \
--disable-static \
- --enable-threaded-resolver \
- --with-libmetalink
+ --enable-threaded-resolver
# if this fails, the above sed hack did not work
./libtool --config | grep -q link_all_deplibs=no
@@ -165,8 +195,8 @@
make %{?_smp_mflags} DESTDIR=%{buildroot} install
popd
-%post -n libcurl4 -p /sbin/ldconfig
-%postun -n libcurl4 -p /sbin/ldconfig
+%post -n libcurl4%{?mini} -p /sbin/ldconfig
+%postun -n libcurl4%{?mini} -p /sbin/ldconfig
%files
%defattr(-,root,root)
@@ -178,11 +208,11 @@
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
-%files -n libcurl4
+%files -n libcurl4%{?mini}
%defattr(-,root,root)
%{_libdir}/libcurl.so.4*
-%files -n libcurl-devel
+%files -n libcurl%{?mini}-devel
%defattr(-,root,root)
%{_bindir}/curl-config
%{_includedir}/curl
++++++ curl-invalid-free.patch ++++++
>From 19e775b499c5c3cc7ec717af7c1e764f42817369 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel(a)haxx.se>
Date: Sun, 18 Jun 2017 17:54:55 +0200
Subject: [PATCH] PIPELINING_SERVER_BL: cleanup the internal list use
The list was freed incorrectly since the llist refactor of
cbae73e1dd959. Aded test 1550 to verify that it works and avoid future
regressions.
Reported-by: Pascal Terjan
Fixes #1584
---
lib/pipeline.c | 37 +++++++++++++++----------------------
tests/data/Makefile.inc | 1 +
tests/data/test1550 | 29 +++++++++++++++++++++++++++++
tests/libtest/Makefile.inc | 8 ++++++++
tests/libtest/lib1550.c | 39 +++++++++++++++++++++++++++++++++++++++
5 files changed, 92 insertions(+), 22 deletions(-)
create mode 100644 tests/data/test1550
create mode 100644 tests/libtest/lib1550.c
diff --git a/lib/pipeline.c b/lib/pipeline.c
index b8d2037452..4d41b04139 100644
--- a/lib/pipeline.c
+++ b/lib/pipeline.c
@@ -230,28 +230,27 @@ CURLMcode Curl_pipeline_set_site_blacklist(char **sites,
return CURLM_OK;
}
+struct blacklist_node {
+ struct curl_llist_element list;
+ char server_name[1];
+};
+
bool Curl_pipeline_server_blacklisted(struct Curl_easy *handle,
char *server_name)
{
if(handle->multi && server_name) {
- struct curl_llist *blacklist =
+ struct curl_llist *list =
Curl_multi_pipelining_server_bl(handle->multi);
- if(blacklist) {
- struct curl_llist_element *curr;
-
- curr = blacklist->head;
- while(curr) {
- char *bl_server_name;
-
- bl_server_name = curr->ptr;
- if(strncasecompare(bl_server_name, server_name,
- strlen(bl_server_name))) {
- infof(handle, "Server %s is blacklisted\n", server_name);
- return TRUE;
- }
- curr = curr->next;
+ struct curl_llist_element *e = list->head;
+ while(e) {
+ struct blacklist_node *bl = (struct blacklist_node *)e;
+ if(strncasecompare(bl->server_name, server_name,
+ strlen(bl->server_name))) {
+ infof(handle, "Server %s is blacklisted\n", server_name);
+ return TRUE;
}
+ e = e->next;
}
DEBUGF(infof(handle, "Server %s is not blacklisted\n", server_name));
@@ -259,11 +258,6 @@ bool Curl_pipeline_server_blacklisted(struct Curl_easy *handle,
return FALSE;
}
-struct blacklist_node {
- struct curl_llist_element list;
- char server_name[1];
-};
-
CURLMcode Curl_pipeline_set_server_blacklist(char **servers,
struct curl_llist *list)
{
@@ -286,8 +280,7 @@ CURLMcode Curl_pipeline_set_server_blacklist(char **servers,
}
strcpy(n->server_name, *servers);
- Curl_llist_insert_next(list, list->tail, n->server_name,
- &n->list);
+ Curl_llist_insert_next(list, list->tail, n, &n->list);
servers++;
}
}
++++++ pre_checkin.sh ++++++
#!/bin/sh
# This script is based on libcdio_spec-prepare.sh (thanks to sbrabec(a)suse.cz)
# create a -mini spec for systemd for bootstrapping
ORIG_SPEC=curl
EDIT_WARNING="##### WARNING: please do not edit this auto generated spec file. Use the ${ORIG_SPEC}.spec! #####\n"
sed "s/^%define bootstrap .*$/${EDIT_WARNING}%define bootstrap 1/;
s/^%define mini .*$/${EDIT_WARNING}%define mini -mini/;
s/^Name:.*/&-mini/
" < ${ORIG_SPEC}.spec > ${ORIG_SPEC}-mini.spec
cp ${ORIG_SPEC}.changes ${ORIG_SPEC}-mini.changes
#cp ${ORIG_SPEC}-rpmlintrc ${ORIG_SPEC}-mini-rpmlintrc
osc service localrun format_spec_file
1
0
Hello community,
here is the log from the commit of package libqt5-qtbase for openSUSE:Factory checked in at 2017-06-29 14:59:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtbase (Old)
and /work/SRC/openSUSE:Factory/.libqt5-qtbase.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt5-qtbase"
Thu Jun 29 14:59:43 2017 rev:60 rq:505943 version:5.9.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-qtbase/libqt5-qtbase.changes 2017-06-13 16:06:03.024053118 +0200
+++ /work/SRC/openSUSE:Factory/.libqt5-qtbase.new/libqt5-qtbase.changes 2017-06-29 15:00:14.119255084 +0200
@@ -1,0 +2,12 @@
+Thu Jun 22 15:02:38 UTC 2017 - fabian(a)ritter-vogt.de
+
+- Use the correct (edited) version of the revert to not break ABI:
+ * de63bbd2f806b0219a60775017899cedb121581f.patch
+
+-------------------------------------------------------------------
+Tue Jun 20 15:07:06 UTC 2017 - fabian(a)ritter-vogt.de
+
+- Add upstream patch to fix version string of CMake modules (boo#1045102)
+ * fix-cmake-module-version.patch
+
+-------------------------------------------------------------------
New:
----
fix-cmake-module-version.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libqt5-qtbase.spec ++++++
--- /var/tmp/diff_new_pack.78wdQG/_old 2017-06-29 15:00:20.618337434 +0200
+++ /var/tmp/diff_new_pack.78wdQG/_new 2017-06-29 15:00:20.618337434 +0200
@@ -61,8 +61,10 @@
# patches 1000-2000 and above from upstream 5.9 branch #
# PATCH-FIX-UPSTREAM
Patch1000: native-children-hidpi-offset.patch
-# PATCH-FIX-UPSTREAM Revert to workaround QTBUG-61140
+# PATCH-FIX-UPSTREAM
Patch1001: dont-destroy-foreign-windows.patch
+# PATCH-FIX-UPSTREAM
+Patch1002: fix-cmake-module-version.patch
# patches 2000-3000 and above from upstream 5.10/dev branch #
BuildRequires: alsa-devel
BuildRequires: cups-devel
@@ -154,6 +156,7 @@
%patch13 -p1
%patch1000 -p1
%patch1001 -p1
+%patch1002 -p1
# be sure not to use them
rm -rf src/3rdparty/{libjpeg,freetype,zlib}
++++++ de63bbd2f806b0219a60775017899cedb121581f.patch ++++++
--- /var/tmp/diff_new_pack.78wdQG/_old 2017-06-29 15:00:20.714323881 +0200
+++ /var/tmp/diff_new_pack.78wdQG/_new 2017-06-29 15:00:20.726322187 +0200
@@ -16,78 +16,9 @@
Change-Id: I6b56f68f37670962178693a8983d9fe550540856
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo(a)qt.io>
---
- src/gui/kernel/qplatformtheme.cpp | 13 +++++++++++++
- src/gui/kernel/qplatformtheme.h | 1 +
- src/plugins/platforms/cocoa/qcocoatheme.h | 1 +
- src/plugins/platforms/cocoa/qcocoatheme.mm | 6 ++++++
src/widgets/widgets/qdialogbuttonbox.cpp | 7 +------
5 files changed, 22 insertions(+), 6 deletions(-)
-Index: qtbase-opensource-src-5.9.0/src/gui/kernel/qplatformtheme.cpp
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/gui/kernel/qplatformtheme.cpp
-+++ qtbase-opensource-src-5.9.0/src/gui/kernel/qplatformtheme.cpp
-@@ -678,19 +678,6 @@ QString QPlatformTheme::standardButtonTe
- return QPlatformTheme::defaultStandardButtonText(button);
- }
-
--/*!
-- Returns the mnemonic that should be used for a standard \a button.
--
-- \since 5.9
-- \sa QPlatformDialogHelper::StandardButton
-- */
--
--QKeySequence QPlatformTheme::standardButtonShortcut(int button) const
--{
-- Q_UNUSED(button)
-- return QKeySequence();
--}
--
- QString QPlatformTheme::defaultStandardButtonText(int button)
- {
- switch (button) {
-Index: qtbase-opensource-src-5.9.0/src/gui/kernel/qplatformtheme.h
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/gui/kernel/qplatformtheme.h
-+++ qtbase-opensource-src-5.9.0/src/gui/kernel/qplatformtheme.h
-@@ -312,7 +312,6 @@ public:
- #endif
-
- virtual QString standardButtonText(int button) const;
-- virtual QKeySequence standardButtonShortcut(int button) const;
-
- static QVariant defaultThemeHint(ThemeHint hint);
- static QString defaultStandardButtonText(int button);
-Index: qtbase-opensource-src-5.9.0/src/plugins/platforms/cocoa/qcocoatheme.h
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/plugins/platforms/cocoa/qcocoatheme.h
-+++ qtbase-opensource-src-5.9.0/src/plugins/platforms/cocoa/qcocoatheme.h
-@@ -74,7 +74,6 @@ public:
-
- QVariant themeHint(ThemeHint hint) const Q_DECL_OVERRIDE;
- QString standardButtonText(int button) const Q_DECL_OVERRIDE;
-- QKeySequence standardButtonShortcut(int button) const Q_DECL_OVERRIDE;
-
- static const char *name;
-
-Index: qtbase-opensource-src-5.9.0/src/plugins/platforms/cocoa/qcocoatheme.mm
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/plugins/platforms/cocoa/qcocoatheme.mm
-+++ qtbase-opensource-src-5.9.0/src/plugins/platforms/cocoa/qcocoatheme.mm
-@@ -344,12 +344,6 @@ QString QCocoaTheme::standardButtonText(
- return button == QPlatformDialogHelper::Discard ? msgDialogButtonDiscard() : QPlatformTheme::standardButtonText(button);
- }
-
--QKeySequence QCocoaTheme::standardButtonShortcut(int button) const
--{
-- return button == QPlatformDialogHelper::Discard ? QKeySequence(Qt::CTRL | Qt::Key_Delete)
-- : QPlatformTheme::standardButtonShortcut(button);
--}
--
- QPlatformMenuItem *QCocoaTheme::createPlatformMenuItem() const
- {
- return new QCocoaMenuItem();
Index: qtbase-opensource-src-5.9.0/src/widgets/widgets/qdialogbuttonbox.cpp
===================================================================
--- qtbase-opensource-src-5.9.0.orig/src/widgets/widgets/qdialogbuttonbox.cpp
++++++ fix-cmake-module-version.patch ++++++
>From cb4bc34cb150d02889f5be2e54074e4e864b18ae Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen(a)qt.io>
Date: Mon, 22 May 2017 11:17:28 +0200
Subject: [PATCH] fix module version number in qt modules' cmake config files
this actually just makes the code more straight-forward.
amends f8607045c.
Task-number: QTBUG-60936
Change-Id: Iaa05b474206cf29352f9bba516936ff30b90a778
Reviewed-by: Joerg Bornemann <joerg.bornemann(a)qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira(a)intel.com>
Reviewed-by: Lars Knoll <lars.knoll(a)qt.io>
---
mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
index 4f342d6..17da8b9 100644
--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
@@ -35,7 +35,7 @@ set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
!!IF !equals(TEMPLATE, aux)
# For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
-set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)")
+set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)")
set(Qt5$${CMAKE_MODULE_NAME}_LIBRARIES Qt5::$${CMAKE_MODULE_NAME})
!!ENDIF // TEMPLATE != aux
--
2.7.4
1
0
Hello community,
here is the log from the commit of package python-pycurl for openSUSE:Factory checked in at 2017-06-29 14:59:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pycurl (Old)
and /work/SRC/openSUSE:Factory/.python-pycurl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pycurl"
Thu Jun 29 14:59:34 2017 rev:16 rq:505428 version:7.43.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pycurl/python-pycurl.changes 2017-04-28 10:39:28.396238968 +0200
+++ /work/SRC/openSUSE:Factory/.python-pycurl.new/python-pycurl.changes 2017-06-29 14:59:39.748108176 +0200
@@ -1,0 +2,11 @@
+Wed Jun 21 09:51:22 UTC 2017 - alarrosa(a)suse.com
+
+- Add increase_test_timeout.diff so tests don't fail when obs is
+ overloaded and it takes more than 1 second to start a service.
+
+-------------------------------------------------------------------
+Thu Jun 8 16:15:49 UTC 2017 - lnussel(a)suse.de
+
+- exclude http2 and ssh tests if curl(-mini) doesn't support it
+
+-------------------------------------------------------------------
New:
----
increase_test_timeout.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pycurl.spec ++++++
--- /var/tmp/diff_new_pack.uZDaZ9/_old 2017-06-29 14:59:41.027927470 +0200
+++ /var/tmp/diff_new_pack.uZDaZ9/_new 2017-06-29 14:59:41.031926906 +0200
@@ -28,6 +28,8 @@
Source: https://files.pythonhosted.org/packages/source/p/pycurl/pycurl-%{version}.t…
# PATCH-FIX-UPSTREAM remove __DATE__ and __TIME__
Patch0: pycurl-no-runtime-curlvercheck.patch
+# PATCH-FIX-OPENSUSE increase_test_timeout.diff -- Increase the timeout in a test so it doesn't fail when obs is overloaded
+Patch1: increase_test_timeout.diff
BuildRequires: %{python_module CherryPy}
BuildRequires: %{python_module bottle}
BuildRequires: %{python_module devel}
@@ -67,6 +69,7 @@
%prep
%setup -q -n pycurl-%{version}
%patch0 -p1
+%patch1 -p1
%build
export CFLAGS="%{optflags}"
@@ -83,13 +86,16 @@
rm -f *.so
make
popd
-EXCLUDES=""
-%if 0%{?suse_version} < 1320
-# CURL too old to know HTTP/2
-EXCLUDES="-e test_http_version_2_0"
-%endif
+# exclude certain tests
+test_flags='!online'
+if ! pkg-config --variable=supported_features libcurl|grep -qw HTTP2; then
+ test_flags="$test_flags,\!http2"
+fi
+if ! pkg-config --variable=supported_protocols libcurl|grep -qw SCP; then
+ test_flags="$test_flags,\!ssh"
+fi
%{python_expand PYTHONPATH=$(ls -d build/lib.*) \
- nosetests-%$python_bin_suffix --with-flaky -a '!online' $EXCLUDES}
+ nosetests-%$python_bin_suffix --with-flaky -a "$test_flags"}
%files %{python_files}
%defattr(-,root,root,-)
++++++ increase_test_timeout.diff ++++++
Index: pycurl-7.43.0/tests/runwsgi.py
===================================================================
--- pycurl-7.43.0.orig/tests/runwsgi.py
+++ pycurl-7.43.0/tests/runwsgi.py
@@ -55,10 +55,10 @@ def start_bottle_server(app, port, serve
server_thread.daemon = True
server_thread.start()
- ok = util.wait_for_network_service(('127.0.0.1', port), 0.1, 10)
+ ok = util.wait_for_network_service(('127.0.0.1', port), 0.1, 30)
if not ok:
import warnings
- warnings.warn('Server did not start after 1 second')
+ warnings.warn('Server did not start after 3 seconds')
return server_thread.server
1
0
Hello community,
here is the log from the commit of package util-linux for openSUSE:Factory checked in at 2017-06-29 14:58:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/util-linux (Old)
and /work/SRC/openSUSE:Factory/.util-linux.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "util-linux"
Thu Jun 29 14:58:21 2017 rev:218 rq:504843 version:2.30
Changes:
--------
--- /work/SRC/openSUSE:Factory/util-linux/python-libmount.changes 2017-04-25 08:55:22.398971323 +0200
+++ /work/SRC/openSUSE:Factory/.util-linux.new/python-libmount.changes 2017-06-29 14:58:41.756296404 +0200
@@ -1,0 +2,48 @@
+Sun Jun 11 12:12:44 UTC 2017 - lnussel(a)suse.de
+
+- don't conflict with sysvinit-tools in Tumblweed anymore. Needed for Leap 15
+ which wants to use a different release number scheme (lp150.x which produces
+ lower numbers than the conflict).
+
+-------------------------------------------------------------------
+Thu Jun 8 21:21:12 UTC 2017 - sweet_f_a(a)gmx.de
+
+- Update to version 2.30:
+ * Many changes and improvements, most notably:
+ * The libblkid library has been improved for hybrid CDROM/DVD
+ media.
+ * The deprecated command tailf has been removed. Use "tail -f"
+ from coreutils.
+ * blkzone -- NEW COMMAND to run zone commands on block devices
+ that support Zoned Block Commands (ZBC) or Zoned-device ATA
+ Commands (ZAC).
+ * fincore -- NEW COMMAND to count pages of file contents in
+ core (memory).
+ * lsmem -- NEW COMMAND to list the ranges of available memory
+ with their online status.
+ * The command fallocate -- supports an "insert range" operation
+ now.
+ * The command "column -t|--table" has been modified to use
+ libsmartcols. It now provides nearly all of that library's
+ functionality from the command line.
+ * Security issues:
+ * hwclock - no longer makes any internal permission checks. The
+ System Administrator must set proper permissions to control
+ user access to the RTC. It is NOT recommended to use SUID.
+ * CVE-2016-2779 - This security issue is NOT FIXED yet.
+ * More details at:
+ https://www.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30-ReleaseNotes
+- Drop upstreamed patch
+ arm64-lscpu-use-sysfs-for-table-access-if-available.patch
+- Refreshed patch
+ util-linux-losetup-Add-support-for-setting-logical-blocksize.patch
+- fix compiler warnings for mkzimage_cmdline
+
+-------------------------------------------------------------------
+Thu Jun 8 16:28:41 UTC 2017 - msuchanek(a)suse.com
+
+- When when hypervisor_decode_sysfw fails continue with other
+ detection methods (bsc#1042991, bsc#1039360, bsc#1033718)
+ + util-linux-lscpu-cleanup-DMI-detection-return-codes.patch
+
+-------------------------------------------------------------------
@@ -181 +229 @@
- ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28.2-ReleaseNotes
+ https://www.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28.2-ReleaseNotes
@@ -187 +235 @@
- ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28.1-ReleaseNotes
+ https://www.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28.1-ReleaseNotes
@@ -296 +344 @@
- ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.27/v2.27.1-ReleaseNotes
+ https://www.kernel.org/pub/linux/utils/util-linux/v2.27/v2.27.1-ReleaseNotes
@@ -1851 +1899 @@
- ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.18/v2.18-ReleaseNotes
+ https://www.kernel.org/pub/linux/utils/util-linux/v2.18/v2.18-ReleaseNotes
util-linux-systemd.changes: same change
util-linux.changes: same change
Old:
----
arm64-lscpu-use-sysfs-for-table-access-if-available.patch
util-linux-2.29.2.tar.sign
util-linux-2.29.2.tar.xz
New:
----
util-linux-2.30.tar.sign
util-linux-2.30.tar.xz
util-linux-lscpu-cleanup-DMI-detection-return-codes.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-libmount.spec ++++++
--- /var/tmp/diff_new_pack.vKj8Gm/_old 2017-06-29 14:58:52.558771138 +0200
+++ /var/tmp/diff_new_pack.vKj8Gm/_new 2017-06-29 14:58:52.562770572 +0200
@@ -116,7 +116,7 @@
%endif
%endif
#END SECOND STAGE DEPENDENCIES
-Version: 2.29.2
+Version: 2.30
Release: 0
# util-linux is a base package and uuidd pre-requiring pwdutils pulls
# that into the core build cycle. pwdutils also pulls in the whole
@@ -125,7 +125,7 @@
# these tools as well
#!BuildIgnore: pwdutils
Url: https://www.kernel.org/pub/linux/utils/util-linux/
-Source: https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-%{versio…
+Source: https://www.kernel.org/pub/linux/utils/util-linux/v2.30/util-linux-%{versio…
Source1: util-linux-rpmlintrc
Source4: raw.service
Source5: etc.raw
@@ -135,7 +135,7 @@
Source9: remote.pamd
Source10: su.pamd
Source11: su.default
-Source12: https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-%{versio…
+Source12: https://www.kernel.org/pub/linux/utils/util-linux/v2.30/util-linux-%{versio…
Source13: %{_name}.keyring
Source14: runuser.pamd
# klogconsole, http://opensuse.github.com/kiwi, 7.02.25, git 859dc050
@@ -157,8 +157,8 @@
Patch0: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff
# PATCH-FEATURE-SLE util-linux-losetup-Add-support-for-setting-logical-blocksize.patch bsc931634 FATE319010 hare(a)suse.de -- Add support for setting logical blocksizes.
Patch1: util-linux-losetup-Add-support-for-setting-logical-blocksize.patch
-# PATCH-BUG-FIX arm64-lscpu-use-sysfs-for-table-access-if-available.patch bsc#1033718 agraf(a)suse.de -- Use SMBIOS3 tables when available in lscpu
-Patch2: arm64-lscpu-use-sysfs-for-table-access-if-available.patch
+# PATCH-BUG-FIX util-linux-lscpu-cleanup-DMI-detection-return-codes.patch bsc#1039360 msuchanek(a)suse.de -- lscpu: cleanup DMI detection return codes
+Patch2: util-linux-lscpu-cleanup-DMI-detection-return-codes.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#
%if %build_util_linux
@@ -177,8 +177,10 @@
# File conflict of su and kill (up to 12.3 and SLE11).
# It should be coreutils < 8.21-4, but coreutils provide Release-less symbol.
Conflicts: coreutils < 8.21
+%if 0%{?suse_version} < 1330
# File conflict of sulogin and utmpdump (up to 12.3 and SLE11).
Conflicts: sysvinit-tools < 2.88+-87
+%endif
# File conflicts of completion files with <= Leap 42.1 and <= SLE12 SP1 (fixed by SLE12 Update, boo#977259#c3).
Conflicts: bash-completion <= 2.1-10
# The preset is provided by the presets branding package since 0.4 (bsc#1012850) and since 12.2 in SLE (boo#1029775)
@@ -601,6 +603,7 @@
export TS_OPT_fdisk_gpt_known_fail="yes"
export TS_OPT_fdisk_oddinput_known_fail="yes"
export TS_OPT_fdisk_sunlabel_known_fail="yes"
+export TS_OPT_fincore_count_known_fail="yes"
export TS_OPT_libfdisk_gpt_known_fail="yes"
export TS_OPT_misc_flock_known_fail="yes"
export TS_OPT_misc_ionice_known_fail="yes"
@@ -934,6 +937,7 @@
%{_bindir}/su
%{_bindir}/eject
%{_bindir}/cal
+%{_bindir}/chmem
%{_bindir}/chrt
%{_bindir}/col
%{_bindir}/colcrt
@@ -941,6 +945,7 @@
%{_bindir}/column
%{_bindir}/dmesg
%{_bindir}/fallocate
+%{_bindir}/fincore
%{_bindir}/findmnt
%{_bindir}/flock
%{_bindir}/getopt
@@ -960,6 +965,7 @@
%{_bindir}/lscpu
%{_bindir}/lsipc
%{_bindir}/lslocks
+%{_bindir}/lsmem
%{_bindir}/lsns
%{_bindir}/mcookie
%{_bindir}/mesg
@@ -976,7 +982,6 @@
%{_bindir}/setarch
%{_bindir}/setpriv
%{_bindir}/setsid
-%{_bindir}/tailf
%{_bindir}/taskset
%{_bindir}/ul
%{_bindir}/umount
@@ -994,6 +999,10 @@
%{_sbindir}/agetty
%{_sbindir}/blkid
%{_sbindir}/blkdiscard
+# blkzone depends on linux/blkzoned.h
+%if 0%{?suse_version} >= 1330
+%{_sbindir}/blkzone
+%endif
%{_sbindir}/blockdev
%{_sbindir}/chcpu
%{_sbindir}/ctrlaltdel
@@ -1041,6 +1050,7 @@
%{_mandir}/man1/dmesg.1.gz
%{_mandir}/man1/eject.1.gz
%{_mandir}/man1/fallocate.1.gz
+%{_mandir}/man1/fincore.1.gz
%{_mandir}/man1/flock.1.gz
%{_mandir}/man1/getopt.1.gz
%{_mandir}/man1/hexdump.1.gz
@@ -1055,6 +1065,7 @@
%{_mandir}/man1/look.1.gz
%{_mandir}/man1/lscpu.1.gz
%{_mandir}/man1/lsipc.1.gz
+%{_mandir}/man1/lsmem.1.gz
%{_mandir}/man1/mcookie.1.gz
%{_mandir}/man1/mesg.1.gz
%{_mandir}/man1/more.1.gz
@@ -1070,7 +1081,6 @@
%{_mandir}/man1/script.1.gz
%{_mandir}/man1/scriptreplay.1.gz
%{_mandir}/man1/setterm.1.gz
-%{_mandir}/man1/tailf.1.gz
%{_mandir}/man1/taskset.1.gz
%{_mandir}/man1/ul.1.gz
%{_mandir}/man1/unshare.1.gz
@@ -1086,9 +1096,13 @@
%{_mandir}/man5/terminal-colors.d.5.gz
%{_mandir}/man8/addpart.8.gz
%{_mandir}/man8/agetty.8.gz
+%if 0%{?suse_version} >= 1330
+%{_mandir}/man8/blkzone.8.gz
+%endif
%{_mandir}/man8/blockdev.8.gz
-%{_mandir}/man8/delpart.8.gz
+%{_mandir}/man8/chmem.8.gz
%{_mandir}/man8/ctrlaltdel.8.gz
+%{_mandir}/man8/delpart.8.gz
%{_mandir}/man8/blkid.8.gz
%{_mandir}/man8/blkdiscard.8.gz
%{_mandir}/man8/switch_root.8.gz
util-linux-systemd.spec: same change
++++++ util-linux.spec ++++++
--- /var/tmp/diff_new_pack.vKj8Gm/_old 2017-06-29 14:58:52.654757584 +0200
+++ /var/tmp/diff_new_pack.vKj8Gm/_new 2017-06-29 14:58:52.658757020 +0200
@@ -116,7 +116,7 @@
%endif
%endif
#END SECOND STAGE DEPENDENCIES
-Version: 2.29.2
+Version: 2.30
Release: 0
# util-linux is a base package and uuidd pre-requiring pwdutils pulls
# that into the core build cycle. pwdutils also pulls in the whole
@@ -125,7 +125,7 @@
# these tools as well
#!BuildIgnore: pwdutils
Url: https://www.kernel.org/pub/linux/utils/util-linux/
-Source: https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-%{versio…
+Source: https://www.kernel.org/pub/linux/utils/util-linux/v2.30/util-linux-%{versio…
Source1: util-linux-rpmlintrc
Source4: raw.service
Source5: etc.raw
@@ -135,7 +135,7 @@
Source9: remote.pamd
Source10: su.pamd
Source11: su.default
-Source12: https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-%{versio…
+Source12: https://www.kernel.org/pub/linux/utils/util-linux/v2.30/util-linux-%{versio…
Source13: %{_name}.keyring
Source14: runuser.pamd
# klogconsole, http://opensuse.github.com/kiwi, 7.02.25, git 859dc050
@@ -157,8 +157,8 @@
Patch0: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff
# PATCH-FEATURE-SLE util-linux-losetup-Add-support-for-setting-logical-blocksize.patch bsc931634 FATE319010 hare(a)suse.de -- Add support for setting logical blocksizes.
Patch1: util-linux-losetup-Add-support-for-setting-logical-blocksize.patch
-# PATCH-BUG-FIX arm64-lscpu-use-sysfs-for-table-access-if-available.patch bsc#1033718 agraf(a)suse.de -- Use SMBIOS3 tables when available in lscpu
-Patch2: arm64-lscpu-use-sysfs-for-table-access-if-available.patch
+# PATCH-BUG-FIX util-linux-lscpu-cleanup-DMI-detection-return-codes.patch bsc#1039360 msuchanek(a)suse.de -- lscpu: cleanup DMI detection return codes
+Patch2: util-linux-lscpu-cleanup-DMI-detection-return-codes.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#
%if %build_util_linux
@@ -177,8 +177,10 @@
# File conflict of su and kill (up to 12.3 and SLE11).
# It should be coreutils < 8.21-4, but coreutils provide Release-less symbol.
Conflicts: coreutils < 8.21
+%if 0%{?suse_version} < 1330
# File conflict of sulogin and utmpdump (up to 12.3 and SLE11).
Conflicts: sysvinit-tools < 2.88+-87
+%endif
# File conflicts of completion files with <= Leap 42.1 and <= SLE12 SP1 (fixed by SLE12 Update, boo#977259#c3).
Conflicts: bash-completion <= 2.1-10
# The preset is provided by the presets branding package since 0.4 (bsc#1012850) and since 12.2 in SLE (boo#1029775)
@@ -601,6 +603,7 @@
export TS_OPT_fdisk_gpt_known_fail="yes"
export TS_OPT_fdisk_oddinput_known_fail="yes"
export TS_OPT_fdisk_sunlabel_known_fail="yes"
+export TS_OPT_fincore_count_known_fail="yes"
export TS_OPT_libfdisk_gpt_known_fail="yes"
export TS_OPT_misc_flock_known_fail="yes"
export TS_OPT_misc_ionice_known_fail="yes"
@@ -934,6 +937,7 @@
%{_bindir}/su
%{_bindir}/eject
%{_bindir}/cal
+%{_bindir}/chmem
%{_bindir}/chrt
%{_bindir}/col
%{_bindir}/colcrt
@@ -941,6 +945,7 @@
%{_bindir}/column
%{_bindir}/dmesg
%{_bindir}/fallocate
+%{_bindir}/fincore
%{_bindir}/findmnt
%{_bindir}/flock
%{_bindir}/getopt
@@ -960,6 +965,7 @@
%{_bindir}/lscpu
%{_bindir}/lsipc
%{_bindir}/lslocks
+%{_bindir}/lsmem
%{_bindir}/lsns
%{_bindir}/mcookie
%{_bindir}/mesg
@@ -976,7 +982,6 @@
%{_bindir}/setarch
%{_bindir}/setpriv
%{_bindir}/setsid
-%{_bindir}/tailf
%{_bindir}/taskset
%{_bindir}/ul
%{_bindir}/umount
@@ -994,6 +999,10 @@
%{_sbindir}/agetty
%{_sbindir}/blkid
%{_sbindir}/blkdiscard
+# blkzone depends on linux/blkzoned.h
+%if 0%{?suse_version} >= 1330
+%{_sbindir}/blkzone
+%endif
%{_sbindir}/blockdev
%{_sbindir}/chcpu
%{_sbindir}/ctrlaltdel
@@ -1041,6 +1050,7 @@
%{_mandir}/man1/dmesg.1.gz
%{_mandir}/man1/eject.1.gz
%{_mandir}/man1/fallocate.1.gz
+%{_mandir}/man1/fincore.1.gz
%{_mandir}/man1/flock.1.gz
%{_mandir}/man1/getopt.1.gz
%{_mandir}/man1/hexdump.1.gz
@@ -1055,6 +1065,7 @@
%{_mandir}/man1/look.1.gz
%{_mandir}/man1/lscpu.1.gz
%{_mandir}/man1/lsipc.1.gz
+%{_mandir}/man1/lsmem.1.gz
%{_mandir}/man1/mcookie.1.gz
%{_mandir}/man1/mesg.1.gz
%{_mandir}/man1/more.1.gz
@@ -1070,7 +1081,6 @@
%{_mandir}/man1/script.1.gz
%{_mandir}/man1/scriptreplay.1.gz
%{_mandir}/man1/setterm.1.gz
-%{_mandir}/man1/tailf.1.gz
%{_mandir}/man1/taskset.1.gz
%{_mandir}/man1/ul.1.gz
%{_mandir}/man1/unshare.1.gz
@@ -1086,9 +1096,13 @@
%{_mandir}/man5/terminal-colors.d.5.gz
%{_mandir}/man8/addpart.8.gz
%{_mandir}/man8/agetty.8.gz
+%if 0%{?suse_version} >= 1330
+%{_mandir}/man8/blkzone.8.gz
+%endif
%{_mandir}/man8/blockdev.8.gz
-%{_mandir}/man8/delpart.8.gz
+%{_mandir}/man8/chmem.8.gz
%{_mandir}/man8/ctrlaltdel.8.gz
+%{_mandir}/man8/delpart.8.gz
%{_mandir}/man8/blkid.8.gz
%{_mandir}/man8/blkdiscard.8.gz
%{_mandir}/man8/switch_root.8.gz
++++++ mkzimage_cmdline.c ++++++
--- /var/tmp/diff_new_pack.vKj8Gm/_old 2017-06-29 14:58:52.782739514 +0200
+++ /var/tmp/diff_new_pack.vKj8Gm/_new 2017-06-29 14:58:52.782739514 +0200
@@ -162,9 +162,9 @@
if (clear)
memset(s, 0x0, tmp - s);
if (set)
- snprintf(s, tmp - s, "%s", string);
+ snprintf((char*)s, tmp - s, "%s", string);
} else {
- fprintf(stdout, "cmd_line size:%d\n", tmp - s);
+ fprintf(stdout, "cmd_line size:%td\n", tmp - s);
fprintf(stdout, "cmd_line: %s\n", s);
fprintf(stdout, "active: %c\n", *active);
}
++++++ util-linux-2.29.2.tar.xz -> util-linux-2.30.tar.xz ++++++
++++ 488865 lines of diff (skipped)
++++++ util-linux-losetup-Add-support-for-setting-logical-blocksize.patch ++++++
--- /var/tmp/diff_new_pack.vKj8Gm/_old 2017-06-29 14:58:55.398370197 +0200
+++ /var/tmp/diff_new_pack.vKj8Gm/_new 2017-06-29 14:58:55.398370197 +0200
@@ -1,7 +1,20 @@
-Index: util-linux-2.29/include/loopdev.h
-===================================================================
---- util-linux-2.29.orig/include/loopdev.h
-+++ util-linux-2.29/include/loopdev.h
+From a60cc5c2eeaad7ea5ea0c4a74cc4af5e2dc3f6c2 Mon Sep 17 00:00:00 2001
+From: Ruediger Meier <ruediger.meier(a)ga-group.nl>
+Date: Tue, 4 Apr 2017 16:29:58 +0200
+Subject: [PATCH]
+ util-linux-losetup-Add-support-for-setting-logical-blocksize.patch
+
+Signed-off-by: Ruediger Meier <ruediger.meier(a)ga-group.nl>
+---
+ include/loopdev.h | 5 ++++-
+ lib/loopdev.c | 20 ++++++++++++++++++++
+ sys-utils/losetup.c | 19 +++++++++++++++----
+ 3 files changed, 39 insertions(+), 5 deletions(-)
+
+diff --git a/include/loopdev.h b/include/loopdev.h
+index 953d2db..7c783bf 100644
+--- a/include/loopdev.h
++++ b/include/loopdev.h
@@ -41,6 +41,7 @@ enum {
LO_FLAGS_AUTOCLEAR = 4, /* kernel >= 2.6.25 */
LO_FLAGS_PARTSCAN = 8, /* kernel >= 3.2 */
@@ -20,7 +33,7 @@
};
/*
-@@ -173,6 +175,7 @@ int loopcxt_set_offset(struct loopdev_cx
+@@ -173,6 +175,7 @@ int loopcxt_set_offset(struct loopdev_cxt *lc, uint64_t offset);
int loopcxt_set_sizelimit(struct loopdev_cxt *lc, uint64_t sizelimit);
int loopcxt_set_flags(struct loopdev_cxt *lc, uint32_t flags);
int loopcxt_set_backing_file(struct loopdev_cxt *lc, const char *filename);
@@ -28,11 +41,11 @@
extern char *loopcxt_get_backing_file(struct loopdev_cxt *lc);
extern int loopcxt_get_backing_devno(struct loopdev_cxt *lc, dev_t *devno);
-Index: util-linux-2.29/lib/loopdev.c
-===================================================================
---- util-linux-2.29.orig/lib/loopdev.c
-+++ util-linux-2.29/lib/loopdev.c
-@@ -1115,6 +1115,26 @@ int loopcxt_set_backing_file(struct loop
+diff --git a/lib/loopdev.c b/lib/loopdev.c
+index fd4f166..b85e2ce 100644
+--- a/lib/loopdev.c
++++ b/lib/loopdev.c
+@@ -1115,6 +1115,26 @@ int loopcxt_set_backing_file(struct loopdev_cxt *lc, const char *filename)
}
/*
@@ -59,19 +72,19 @@
* In kernels prior to v3.9, if the offset or sizelimit options
* are used, the block device's size won't be synced automatically.
* blockdev --getsize64 and filesystems will use the backing
-Index: util-linux-2.29/sys-utils/losetup.c
-===================================================================
---- util-linux-2.29.orig/sys-utils/losetup.c
-+++ util-linux-2.29/sys-utils/losetup.c
-@@ -398,6 +398,7 @@ static void usage(FILE *out)
-
+diff --git a/sys-utils/losetup.c b/sys-utils/losetup.c
+index 2218d3b..d8f1bfa 100644
+--- a/sys-utils/losetup.c
++++ b/sys-utils/losetup.c
+@@ -399,6 +399,7 @@ static void usage(FILE *out)
+ fputs(USAGE_SEPARATOR, out);
fputs(_(" -o, --offset <num> start at offset <num> into file\n"), out);
fputs(_(" --sizelimit <num> device is limited to <num> bytes of the file\n"), out);
+ fputs(_(" --logical-blocksize <size> set the logical block size to <size>\n"), out);
fputs(_(" -P, --partscan create a partitioned loop device\n"), out);
fputs(_(" -r, --read-only set up a read-only loop device\n"), out);
fputs(_(" --direct-io[=<on|off>] open backing file with O_DIRECT\n"), out);
-@@ -447,7 +448,8 @@ static void warn_size(const char *filena
+@@ -448,7 +449,8 @@ static void warn_size(const char *filename, uint64_t size)
static int create_loop(struct loopdev_cxt *lc,
int nooverlap, int lo_flags, int flags,
@@ -81,7 +94,7 @@
{
int hasdev = loopcxt_has_device(lc);
int rc = 0;
-@@ -533,6 +535,8 @@ static int create_loop(struct loopdev_cx
+@@ -534,6 +536,8 @@ static int create_loop(struct loopdev_cxt *lc,
loopcxt_set_offset(lc, offset);
if (flags & LOOPDEV_FL_SIZELIMIT)
loopcxt_set_sizelimit(lc, sizelimit);
@@ -90,7 +103,7 @@
if (lo_flags)
loopcxt_set_flags(lc, lo_flags);
if ((rc = loopcxt_set_backing_file(lc, file))) {
-@@ -561,7 +565,7 @@ int main(int argc, char **argv)
+@@ -562,7 +566,7 @@ int main(int argc, char **argv)
struct loopdev_cxt lc;
int act = 0, flags = 0, no_overlap = 0, c;
char *file = NULL;
@@ -99,7 +112,7 @@
int res = 0, showdev = 0, lo_flags = 0;
char *outarg = NULL;
int list = 0;
-@@ -571,7 +575,8 @@ int main(int argc, char **argv)
+@@ -572,7 +576,8 @@ int main(int argc, char **argv)
OPT_SIZELIMIT = CHAR_MAX + 1,
OPT_SHOW,
OPT_RAW,
@@ -108,16 +121,16 @@
+ OPT_BLOCKSIZE,
};
static const struct option longopts[] = {
- { "all", 0, 0, 'a' },
-@@ -584,6 +589,7 @@ int main(int argc, char **argv)
- { "associated", 1, 0, 'j' },
- { "json", 0, 0, 'J' },
- { "list", 0, 0, 'l' },
-+ { "logical-blocksize", 1, 0, OPT_BLOCKSIZE },
- { "noheadings", 0, 0, 'n' },
- { "offset", 1, 0, 'o' },
- { "output", 1, 0, 'O' },
-@@ -657,6 +663,10 @@ int main(int argc, char **argv)
+ { "all", no_argument, NULL, 'a' },
+@@ -585,6 +590,7 @@ int main(int argc, char **argv)
+ { "associated", required_argument, NULL, 'j' },
+ { "json", no_argument, NULL, 'J' },
+ { "list", no_argument, NULL, 'l' },
++ { "logical-blocksize", required_argument, NULL, OPT_BLOCKSIZE },
+ { "noheadings", no_argument, NULL, 'n' },
+ { "offset", required_argument, NULL, 'o' },
+ { "output", required_argument, NULL, 'O' },
+@@ -658,6 +664,10 @@ int main(int argc, char **argv)
act = A_SHOW;
file = optarg;
break;
@@ -128,7 +141,7 @@
case 'l':
list = 1;
break;
-@@ -789,7 +799,8 @@ int main(int argc, char **argv)
+@@ -790,7 +800,8 @@ int main(int argc, char **argv)
switch (act) {
case A_CREATE:
@@ -138,3 +151,6 @@
if (res == 0) {
if (showdev)
printf("%s\n", loopcxt_get_device(&lc));
+--
+1.8.5.6
+
++++++ util-linux-lscpu-cleanup-DMI-detection-return-codes.patch ++++++
>From c972852b29391c35b1d5c7d3e1e6413e0cc86908 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak(a)redhat.com>
Date: Tue, 13 Jun 2017 12:15:11 +0200
Subject: [PATCH] lscpu: cleanup DMI detection return codes
Michal wrote:
There is weird mix of logic in lscpu-dmi.c which sometimes returns 0 and
sometimes -1 on error. Since most checks are if (rc) goto done; this
bails out early on error skipping some detection methods. Further, in
lscpu.c all following detections are guarder by if(hyper) so returning
-1 causes all following methods to be skipped.
Reported-by: Michal Suchanek <msuchanek(a)suse.de>
Signed-off-by: Karel Zak <kzak(a)redhat.com>
---
sys-utils/lscpu-dmi.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/sys-utils/lscpu-dmi.c b/sys-utils/lscpu-dmi.c
index 3ba999124a2e..4b845b97ccd9 100644
--- a/sys-utils/lscpu-dmi.c
+++ b/sys-utils/lscpu-dmi.c
@@ -174,7 +174,7 @@ done:
static int hypervisor_decode_legacy(uint8_t *buf, const char *devmem)
{
if (!checksum(buf, 0x0F))
- return HYPER_NONE;
+ return -1;
return hypervisor_from_dmi_table(DWORD(buf + 0x08), WORD(buf + 0x06),
WORD(buf + 0x0C),
@@ -254,11 +254,15 @@ int read_hypervisor_dmi(void)
|| sizeof(uint16_t) != 2
|| sizeof(uint32_t) != 4
|| '\0' != 0)
- return rc;
+ goto done;
+ /* -1 : no DMI in /sys,
+ * 0 : DMI exist, nothing detected (HYPER_NONE)
+ * >0 : hypervisor detected
+ */
rc = hypervisor_decode_sysfw();
- if (rc >= 0)
- return rc;
+ if (rc >= HYPER_NONE)
+ goto done;
/* First try EFI (ia64, Intel-based Mac) */
switch (address_from_efi(&fp)) {
@@ -273,8 +277,9 @@ int read_hypervisor_dmi(void)
goto done;
rc = hypervisor_decode_smbios(buf, _PATH_DEV_MEM);
- if (rc)
+ if (rc >= HYPER_NONE)
goto done;
+
free(buf);
buf = NULL;
memory_scan:
@@ -287,17 +292,17 @@ memory_scan:
for (fp = 0; fp <= 0xFFF0; fp += 16) {
if (memcmp(buf + fp, "_SM_", 4) == 0 && fp <= 0xFFE0) {
rc = hypervisor_decode_smbios(buf + fp, _PATH_DEV_MEM);
- if (rc == -1)
+ if (rc < 0)
fp += 16;
} else if (memcmp(buf + fp, "_DMI_", 5) == 0)
rc = hypervisor_decode_legacy(buf + fp, _PATH_DEV_MEM);
- if (rc >= 0)
+ if (rc >= HYPER_NONE)
break;
}
#endif
done:
free(buf);
- return rc;
+ return rc < 0 ? HYPER_NONE : rc;
}
--
2.12.3
1
0
Hello community,
here is the log from the commit of package lua for openSUSE:Factory checked in at 2017-06-29 14:57:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lua (Old)
and /work/SRC/openSUSE:Factory/.lua.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lua"
Thu Jun 29 14:57:57 2017 rev:41 rq:504500 version:5.3.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/lua/lua.changes 2016-06-29 09:43:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.lua.new/lua.changes 2017-06-29 14:58:00.518119062 +0200
@@ -1,0 +2,6 @@
+Tue Jun 13 21:30:38 UTC 2017 - jengelh(a)inai.de
+
+- Let package description adhere to guidelines: trim redundant
+ or biased wording and strip future goals.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lua.spec ++++++
--- /var/tmp/diff_new_pack.djueiv/_old 2017-06-29 14:58:05.757379301 +0200
+++ /var/tmp/diff_new_pack.djueiv/_new 2017-06-29 14:58:05.757379301 +0200
@@ -1,7 +1,7 @@
#
# spec file for package lua
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -21,7 +21,7 @@
Name: lua
Version: 5.3.3
Release: 0
-Summary: Small Embeddable Language with Simple Procedural Syntax
+Summary: Small Embeddable Language with Procedural Syntax
License: MIT
Group: Development/Languages/Other
Url: http://www.lua.org
@@ -46,16 +46,15 @@
%description
Lua is a programming language originally designed for extending
-applications, but also frequently used as a general-purpose,
+applications, but is also frequently used as a general-purpose,
stand-alone language.
-Lua combines simple procedural syntax (similar to Pascal) with powerful
+Lua combines procedural syntax (similar to Pascal) with
data description constructs based on associative arrays and extensible
semantics. Lua is dynamically typed, interpreted from byte codes, and
-has automatic memory management, making it ideal for configuration,
+has automatic memory management, making it suitable for configuration,
scripting, and rapid prototyping. Lua is implemented as a small library
-of C functions, written in ANSI C, and the implementation goals are
-simplicity, efficiency, portability, and low embedding cost.
+of C functions, written in ANSI C.
%package devel
Summary: Development files for lua
@@ -67,7 +66,7 @@
%description devel
Lua is a programming language originally designed for extending
-applications, but also frequently used as a general-purpose,
+applications, but is also frequently used as a general-purpose,
stand-alone language.
This package contains files needed for embedding lua into your
@@ -81,16 +80,15 @@
%description -n liblua%{libsuf}
Lua is a programming language originally designed for extending
-applications, but also frequently used as a general-purpose,
+applications, but is also frequently used as a general-purpose,
stand-alone language.
-Lua combines simple procedural syntax (similar to Pascal) with powerful
+Lua combines procedural syntax (similar to Pascal) with
data description constructs based on associative arrays and extensible
semantics. Lua is dynamically typed, interpreted from byte codes, and
-has automatic memory management, making it ideal for configuration,
+has automatic memory management, making it suitable for configuration,
scripting, and rapid prototyping. Lua is implemented as a small library
-of C functions, written in ANSI C, and the implementation goals are
-simplicity, efficiency, portability, and low embedding cost.
+of C functions, written in ANSI C.
%package doc
Summary: Documentation for Lua, a small embeddable language
@@ -101,16 +99,15 @@
%description doc
Lua is a programming language originally designed for extending
-applications, but also frequently used as a general-purpose,
+applications, but is also frequently used as a general-purpose,
stand-alone language.
-Lua combines simple procedural syntax (similar to Pascal) with powerful
+Lua combines procedural syntax (similar to Pascal) with
data description constructs based on associative arrays and extensible
semantics. Lua is dynamically typed, interpreted from byte codes, and
-has automatic memory management, making it ideal for configuration,
+has automatic memory management, making it suitable for configuration,
scripting, and rapid prototyping. Lua is implemented as a small library
-of C functions, written in ANSI C, and the implementation goals are
-simplicity, efficiency, portability, and low embedding cost.
+of C functions, written in ANSI C.
%prep
%setup -q
1
0
Hello community,
here is the log from the commit of package gdb for openSUSE:Factory checked in at 2017-06-28 11:15:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gdb (Old)
and /work/SRC/openSUSE:Factory/.gdb.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gdb"
Wed Jun 28 11:15:02 2017 rev:114 rq:501792 version:8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/gdb/gdb.changes 2017-03-09 01:32:09.380658544 +0100
+++ /work/SRC/openSUSE:Factory/.gdb.new/gdb.changes 2017-06-28 11:15:04.862154194 +0200
@@ -1,0 +2,45 @@
+Tue Jun 6 14:37:05 UTC 2017 - matz(a)suse.com
+
+- Rebase to gdb 8.0 release: [fate #319573]
+ * support for DWARF5 (except its .debug_names)
+ * support C++11 rvalue references
+ * support PKU register (memory protection keys on future Intel CPUs)
+ * python scripting:
+ - start, stop and access running btrace
+ - rvalue references in gdb.Type
+ * record/replay x86_64 rdrand and rdseed
+ * removed support for GCJ compiled java programs
+ * user commands accept more than 10 arguments
+ * "eval" expands user-defined command arguments
+ * new options:
+ set/show disassembler-options (on arm, ppc s390)
+- Removed obsoleted patches:
+ gdb-release-werror.patch
+
+-------------------------------------------------------------------
+Thu Apr 27 14:39:44 UTC 2017 - matz(a)suse.com
+
+- Rebase to gdb 7.99.90 (prerelease of gdb 8) [fate #319573]
+- Updated libstdc++ pretty printers to
+ gdb-libstdc++-v3-python-6.3.1-20170212.tar.bz2.
+- Added patches from fedora:
+ gdb-release-werror.patch
+ gdb-rhbz1398387-tab-crash-test.patch
+- Removed obsoleted patches:
+ gdb-6.7-bz426600-DW_TAG_interface_type-test.patch
+ gdb-bison-old.patch
+ gdb-testsuite-casts.patch
+ gdb-testsuite-m-static.patch
+ gdb-upstream.patch
+ gdb-testsuite-morestack-gold.patch
+ gdb-fix-bnc-994537.diff
+ gdb-libiberty-demangler-fuzz.diff
+
+-------------------------------------------------------------------
+Mon Apr 3 12:48:42 UTC 2017 - rguenther(a)suse.com
+
+- Fix rpm condition to allow build on SLE10.
+- Do not require glibc-devel-static-32bit on SLE12 which is not available
+ there.
+
+-------------------------------------------------------------------
@@ -80,0 +126,8 @@
+Thu Aug 25 14:29:44 UTC 2016 - matz(a)suse.com
+
+- Add gdb-fix-bnc-994537.diff for ppc64le, fixing
+ two testcases. [bnc#994537]
+- Add gdb-libiberty-demangler-fuzz.diff for fixing infinite
+ recursion in demangler. [bnc#987637]
+
+-------------------------------------------------------------------
@@ -110,0 +164,12 @@
+Mon Apr 25 07:23:34 UTC 2016 - rguenther(a)suse.com
+
+ [diverging changelog entry from SLE tree vs devel:gcc tree:
+
+- Add gdb-7.9-bnc976404.patch to fix thread support on s390x. [bnc #976404]
+ [bnc #970589]
+- Add gdb-7.9-swo18929.patch to fix crash printing values. [bnc#971556]
+ ]
+- Removed gdb-7.9-bnc976404.patch when updating to devel:gcc tree.
+- Replaced gdb-7.9-swo18929.patch with gdb-7.10-swo18929.patch as well.
+
+-------------------------------------------------------------------
@@ -220,0 +286,5 @@
+Fri Aug 14 13:39:13 UTC 2015 - matz(a)suse.de
+
+- Add missing patches from binutils for z13 support. [bnc #936050]
+
+-------------------------------------------------------------------
@@ -233,0 +304,5 @@
+- Remove now obsolete SLE12-only patches:
+ gdb-7.7-bnc896586.patch, gdb-7.7-bnc895831.patch,
+ gdb-7.7-bnc891040-1.patch, gdb-7.7-bnc891040-2.patch,
+ gdb-7.7-bnc891040-3.patch, gdb-7.7-bnc891040-4.patch,
+ gdb-7.7-bnc891040-5.patch
@@ -394,0 +470,24 @@
+
+-------------------------------------------------------------------
+Mon Jul 15 07:42:50 UTC 2014 - rguenther(a)suse.com
+ (was: Mon Sep 15 07:42:50 UTC 2014 - rguenther(a)suse.com)
+
+- Backport fix for gdb internal-error on register info on PPC64LE.
+ Addds patch gdb-7.7-bnc896586.patch. [bnc#896586]
+
+-------------------------------------------------------------------
+Wed Jul 10 07:41:20 UTC 2014 - rguenther(a)suse.com
+ (was: Wed Sep 10 07:41:20 UTC 2014 - rguenther(a)suse.com)
+
+- Backport fix for gdbserver PPC64LE byteorder issue. [bnc#895831]
+ Adds patch gdb-7.7-bnc895831.patch.
+
+-------------------------------------------------------------------
+Tue Jul 8 08:13:11 UTC 2014 - rguenther(a)suse.com
+
+ (was: Tue Aug 12 08:13:11 UTC 2014 - rguenther(a)suse.com)
+
+- Backport all frame-related changes from gdb 7.8. Adds patches
+ gdb-7.7-bnc891040-1.patch, gdb-7.7-bnc891040-2.patch,
+ gdb-7.7-bnc891040-3.patch, gdb-7.7-bnc891040-4.patch,
+ gdb-7.7-bnc891040-5.patch [bnc#891040]
Old:
----
gdb-6.7-bz426600-DW_TAG_interface_type-test.patch
gdb-7.12.1.tar.bz2
gdb-bison-old.patch
gdb-testsuite-casts.patch
gdb-testsuite-m-static.patch
gdb-testsuite-morestack-gold.patch
gdb-upstream.patch
New:
----
gdb-8.0.tar.bz2
gdb-rhbz1398387-tab-crash-test.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gdb.spec ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.445788814 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.449788249 +0200
@@ -24,7 +24,7 @@
Group: Development/Tools/Debuggers
Name: gdb
-Version: 7.12.1
+Version: 8.0
Release: 0
# The release always contains a leading reserved number, start it at 1.
@@ -89,139 +89,134 @@
#Fedora Packages begin
Patch1: gdb-6.3-rh-testversion-20041202.patch
-Patch2: gdb-upstream.patch
-Patch3: gdb-archer.patch
-Patch4: gdb-vla-intel-fortran-strides.patch
-Patch5: gdb-vla-intel-fortran-vla-strings.patch
-Patch6: gdb-vla-intel-stringbt-fix.patch
-Patch7: gdb-6.3-rh-dummykfail-20041202.patch
-Patch8: gdb-6.3-ppc64syscall-20040622.patch
-Patch9: gdb-6.3-ppc64displaysymbol-20041124.patch
-Patch10: gdb-6.3-gstack-20050411.patch
-Patch11: gdb-6.3-test-pie-20050107.patch
-Patch12: gdb-6.3-test-self-20050110.patch
-Patch13: gdb-6.3-test-dtorfix-20050121.patch
-Patch14: gdb-6.3-test-movedir-20050125.patch
-Patch15: gdb-6.3-threaded-watchpoints2-20050225.patch
-Patch16: gdb-6.3-inferior-notification-20050721.patch
-Patch17: gdb-6.3-inheritancetest-20050726.patch
-Patch18: gdb-6.3-readnever-20050907.patch
-Patch19: gdb-6.5-bz203661-emit-relocs.patch
-Patch20: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
-Patch21: gdb-6.5-sharedlibrary-path.patch
-Patch22: gdb-6.5-BEA-testsuite.patch
-Patch23: gdb-6.5-last-address-space-byte-test.patch
-Patch24: gdb-6.5-readline-long-line-crash-test.patch
-Patch25: gdb-6.5-bz216711-clone-is-outermost.patch
-Patch26: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
-Patch27: gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch
-Patch28: gdb-6.5-bz109921-DW_AT_decl_file-test.patch
-Patch29: gdb-6.3-bz140532-ppc-unwinding-test.patch
-Patch30: gdb-6.3-bz202689-exec-from-pthread-test.patch
-Patch31: gdb-6.6-bz230000-power6-disassembly-test.patch
-Patch32: gdb-6.6-bz229517-gcore-without-terminal.patch
-Patch33: gdb-6.6-bz235197-fork-detach-info.patch
-Patch34: gdb-6.6-testsuite-timeouts.patch
-Patch35: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
-Patch36: gdb-6.6-scheduler_locking-step-is-default.patch
-Patch37: gdb-6.3-attach-see-vdso-test.patch
-Patch38: gdb-6.5-bz243845-stale-testing-zombie-test.patch
-Patch39: gdb-6.6-buildid-locate.patch
-Patch40: gdb-6.6-buildid-locate-solib-missing-ids.patch
-Patch41: gdb-6.6-buildid-locate-rpm.patch
-Patch42: gdb-6.7-charsign-test.patch
-Patch43: gdb-6.7-ppc-clobbered-registers-O2-test.patch
-Patch44: gdb-6.7-testsuite-stable-results.patch
-Patch45: gdb-6.5-ia64-libunwind-leak-test.patch
-Patch46: gdb-6.5-missed-trap-on-step-test.patch
-Patch47: gdb-6.7-bz426600-DW_TAG_interface_type-test.patch
-Patch48: gdb-6.5-gcore-buffer-limit-test.patch
-Patch49: gdb-6.6-threads-static-test.patch
-Patch50: gdb-6.3-mapping-zero-inode-test.patch
-Patch51: gdb-6.3-focus-cmd-prev-test.patch
-Patch52: gdb-6.8-bz442765-threaded-exec-test.patch
-Patch53: gdb-6.8-sparc64-silence-memcpy-check.patch
-Patch54: gdb-6.5-section-num-fixup-test.patch
-Patch55: gdb-6.8-bz436037-reg-no-longer-active.patch
-Patch56: gdb-6.8-watchpoint-conditionals-test.patch
-Patch57: gdb-6.8-bz466901-backtrace-full-prelinked.patch
-Patch58: gdb-simultaneous-step-resume-breakpoint-test.patch
-Patch59: gdb-core-open-vdso-warning.patch
-Patch60: gdb-x86_64-i386-syscall-restart.patch
-Patch61: gdb-bz533176-fortran-omp-step.patch
-Patch62: gdb-follow-child-stale-parent.patch
-Patch63: gdb-ccache-workaround.patch
-Patch64: gdb-archer-pie-addons.patch
-Patch65: gdb-archer-pie-addons-keep-disabled.patch
-Patch66: gdb-lineno-makeup-test.patch
-Patch67: gdb-ppc-power7-test.patch
-Patch68: gdb-bz541866-rwatch-before-run.patch
-Patch69: gdb-moribund-utrace-workaround.patch
-Patch70: gdb-archer-next-over-throw-cxx-exec.patch
-Patch71: gdb-bz601887-dwarf4-rh-test.patch
-Patch72: gdb-6.6-buildid-locate-core-as-arg.patch
-Patch73: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
-Patch74: gdb-test-bt-cfi-without-die.patch
-Patch75: gdb-gdb-add-index-script.patch
-Patch76: gdb-bz568248-oom-is-error.patch
-Patch77: gdb-bz634108-solib_address.patch
-Patch78: gdb-test-pid0-core.patch
-Patch79: gdb-test-dw2-aranges.patch
-Patch80: gdb-test-expr-cumulative-archer.patch
-Patch81: gdb-physname-pr11734-test.patch
-Patch82: gdb-physname-pr12273-test.patch
-Patch83: gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch
-Patch84: gdb-test-ivy-bridge.patch
-Patch85: gdb-glibc-vdso-workaround.patch
-Patch86: gdb-runtest-pie-override.patch
-Patch87: gdb-attach-fail-reasons-5of5.patch
-Patch88: gdb-stale-frame_info.patch
-Patch89: gdb-glibc-strstr-workaround.patch
-Patch90: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
-Patch91: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
-Patch92: gdb-rhbz795424-bitpos-20of25.patch
-Patch93: gdb-rhbz795424-bitpos-21of25.patch
-Patch94: gdb-rhbz795424-bitpos-22of25.patch
-Patch95: gdb-rhbz795424-bitpos-23of25.patch
-Patch96: gdb-rhbz795424-bitpos-25of25.patch
-Patch97: gdb-rhbz795424-bitpos-25of25-test.patch
-Patch98: gdb-rhbz795424-bitpos-lazyvalue.patch
-Patch99: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
-Patch100: gdb-gnat-dwarf-crash-3of3.patch
-Patch101: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch
-Patch102: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch
-Patch103: gdb-archer-vla-tests.patch
-Patch104: gdb-vla-intel-tests.patch
-Patch105: gdb-btrobust.patch
-Patch106: gdb-fortran-frame-string.patch
-Patch107: gdb-python-gil.patch
-Patch108: gdb-rhbz1156192-recursive-dlopen-test.patch
-Patch109: gdb-jit-reader-multilib.patch
-Patch110: gdb-rhbz1149205-catch-syscall-after-fork-test.patch
-Patch111: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch
-Patch112: gdb-rhbz1350436-type-printers-error.patch
-Patch113: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
-Patch114: gdb-bz1219747-attach-kills.patch
-Patch115: gdb-fedora-libncursesw.patch
-Patch116: gdb-opcodes-clflushopt-test.patch
-Patch117: gdb-dts-rhel6-python-compat.patch
-Patch118: gdb-6.6-buildid-locate-rpm-scl.patch
-Patch119: gdb-readline62-ask-more-rh.patch
-Patch120: gdb-6.8-attach-signalled-detach-stopped.patch
-Patch121: gdb-6.8-quit-never-aborts.patch
-Patch122: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
-Patch123: gdb-container-rh-pkg.patch
-Patch124: gdb-rhbz1325795-framefilters-test.patch
-Patch125: gdb-linux_perf-bundle.patch
-Patch126: gdb-bison-old.patch
-Patch127: gdb-testsuite-casts.patch
-Patch128: gdb-testsuite-m-static.patch
-Patch129: gdb-tls-1of2.patch
-Patch130: gdb-tls-2of2.patch
-Patch131: gdb-testsuite-morestack-gold.patch
-Patch132: gdb-libexec-add-index.patch
-Patch133: gdb-add-index-chmod.patch
-Patch134: gdb-testsuite-readline63-sigint.patch
+Patch2: gdb-archer.patch
+Patch3: gdb-vla-intel-fortran-strides.patch
+Patch4: gdb-vla-intel-fortran-vla-strings.patch
+Patch5: gdb-vla-intel-stringbt-fix.patch
+Patch6: gdb-6.3-rh-dummykfail-20041202.patch
+Patch7: gdb-6.3-ppc64syscall-20040622.patch
+Patch8: gdb-6.3-ppc64displaysymbol-20041124.patch
+Patch9: gdb-6.3-gstack-20050411.patch
+Patch10: gdb-6.3-test-pie-20050107.patch
+Patch11: gdb-6.3-test-self-20050110.patch
+Patch12: gdb-6.3-test-dtorfix-20050121.patch
+Patch13: gdb-6.3-test-movedir-20050125.patch
+Patch14: gdb-6.3-threaded-watchpoints2-20050225.patch
+Patch15: gdb-6.3-inferior-notification-20050721.patch
+Patch16: gdb-6.3-inheritancetest-20050726.patch
+Patch17: gdb-6.3-readnever-20050907.patch
+Patch18: gdb-6.5-bz203661-emit-relocs.patch
+Patch19: gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch
+Patch20: gdb-6.5-sharedlibrary-path.patch
+Patch21: gdb-6.5-BEA-testsuite.patch
+Patch22: gdb-6.5-last-address-space-byte-test.patch
+Patch23: gdb-6.5-readline-long-line-crash-test.patch
+Patch24: gdb-6.5-bz216711-clone-is-outermost.patch
+Patch25: gdb-6.5-bz218379-ppc-solib-trampoline-test.patch
+Patch26: gdb-6.5-bz218379-solib-trampoline-lookup-lock-fix.patch
+Patch27: gdb-6.5-bz109921-DW_AT_decl_file-test.patch
+Patch28: gdb-6.3-bz140532-ppc-unwinding-test.patch
+Patch29: gdb-6.3-bz202689-exec-from-pthread-test.patch
+Patch30: gdb-6.6-bz230000-power6-disassembly-test.patch
+Patch31: gdb-6.6-bz229517-gcore-without-terminal.patch
+Patch32: gdb-6.6-bz235197-fork-detach-info.patch
+Patch33: gdb-6.6-testsuite-timeouts.patch
+Patch34: gdb-6.6-bz237572-ppc-atomic-sequence-test.patch
+Patch35: gdb-6.6-scheduler_locking-step-is-default.patch
+Patch36: gdb-6.3-attach-see-vdso-test.patch
+Patch37: gdb-6.5-bz243845-stale-testing-zombie-test.patch
+Patch38: gdb-6.6-buildid-locate.patch
+Patch39: gdb-6.6-buildid-locate-solib-missing-ids.patch
+Patch40: gdb-6.6-buildid-locate-rpm.patch
+Patch41: gdb-6.7-charsign-test.patch
+Patch42: gdb-6.7-ppc-clobbered-registers-O2-test.patch
+Patch43: gdb-6.7-testsuite-stable-results.patch
+Patch44: gdb-6.5-ia64-libunwind-leak-test.patch
+Patch45: gdb-6.5-missed-trap-on-step-test.patch
+Patch46: gdb-6.5-gcore-buffer-limit-test.patch
+Patch47: gdb-6.6-threads-static-test.patch
+Patch48: gdb-6.3-mapping-zero-inode-test.patch
+Patch49: gdb-6.3-focus-cmd-prev-test.patch
+Patch50: gdb-6.8-bz442765-threaded-exec-test.patch
+Patch51: gdb-6.8-sparc64-silence-memcpy-check.patch
+Patch52: gdb-6.5-section-num-fixup-test.patch
+Patch53: gdb-6.8-bz436037-reg-no-longer-active.patch
+Patch54: gdb-6.8-watchpoint-conditionals-test.patch
+Patch55: gdb-6.8-bz466901-backtrace-full-prelinked.patch
+Patch56: gdb-simultaneous-step-resume-breakpoint-test.patch
+Patch57: gdb-core-open-vdso-warning.patch
+Patch58: gdb-x86_64-i386-syscall-restart.patch
+Patch59: gdb-bz533176-fortran-omp-step.patch
+Patch60: gdb-follow-child-stale-parent.patch
+Patch61: gdb-ccache-workaround.patch
+Patch62: gdb-archer-pie-addons.patch
+Patch63: gdb-archer-pie-addons-keep-disabled.patch
+Patch64: gdb-lineno-makeup-test.patch
+Patch65: gdb-ppc-power7-test.patch
+Patch66: gdb-bz541866-rwatch-before-run.patch
+Patch67: gdb-moribund-utrace-workaround.patch
+Patch68: gdb-archer-next-over-throw-cxx-exec.patch
+Patch69: gdb-bz601887-dwarf4-rh-test.patch
+Patch70: gdb-6.6-buildid-locate-core-as-arg.patch
+Patch71: gdb-6.6-buildid-locate-rpm-librpm-workaround.patch
+Patch72: gdb-test-bt-cfi-without-die.patch
+Patch73: gdb-gdb-add-index-script.patch
+Patch74: gdb-bz568248-oom-is-error.patch
+Patch75: gdb-bz634108-solib_address.patch
+Patch76: gdb-test-pid0-core.patch
+Patch77: gdb-test-dw2-aranges.patch
+Patch78: gdb-test-expr-cumulative-archer.patch
+Patch79: gdb-physname-pr11734-test.patch
+Patch80: gdb-physname-pr12273-test.patch
+Patch81: gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch
+Patch82: gdb-test-ivy-bridge.patch
+Patch83: gdb-glibc-vdso-workaround.patch
+Patch84: gdb-runtest-pie-override.patch
+Patch85: gdb-attach-fail-reasons-5of5.patch
+Patch86: gdb-stale-frame_info.patch
+Patch87: gdb-glibc-strstr-workaround.patch
+Patch88: gdb-rhel5.9-testcase-xlf-var-inside-mod.patch
+Patch89: gdb-rhbz-818343-set-solib-absolute-prefix-testcase.patch
+Patch90: gdb-rhbz795424-bitpos-20of25.patch
+Patch91: gdb-rhbz795424-bitpos-21of25.patch
+Patch92: gdb-rhbz795424-bitpos-22of25.patch
+Patch93: gdb-rhbz795424-bitpos-23of25.patch
+Patch94: gdb-rhbz795424-bitpos-25of25.patch
+Patch95: gdb-rhbz795424-bitpos-25of25-test.patch
+Patch96: gdb-rhbz795424-bitpos-lazyvalue.patch
+Patch97: gdb-rhbz947564-findvar-assertion-frame-failed-testcase.patch
+Patch98: gdb-gnat-dwarf-crash-3of3.patch
+Patch99: gdb-rhbz1007614-memleak-infpy_read_memory-test.patch
+Patch100: gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch
+Patch101: gdb-archer-vla-tests.patch
+Patch102: gdb-vla-intel-tests.patch
+Patch103: gdb-btrobust.patch
+Patch104: gdb-fortran-frame-string.patch
+Patch105: gdb-python-gil.patch
+Patch106: gdb-rhbz1156192-recursive-dlopen-test.patch
+Patch107: gdb-jit-reader-multilib.patch
+Patch108: gdb-rhbz1149205-catch-syscall-after-fork-test.patch
+Patch109: gdb-rhbz1186476-internal-error-unqualified-name-re-set-test.patch
+Patch110: gdb-rhbz1350436-type-printers-error.patch
+Patch111: gdb-rhbz1084404-ppc64-s390x-wrong-prologue-skip-O2-g-3of3.patch
+Patch112: gdb-bz1219747-attach-kills.patch
+Patch113: gdb-fedora-libncursesw.patch
+Patch114: gdb-opcodes-clflushopt-test.patch
+Patch115: gdb-dts-rhel6-python-compat.patch
+Patch116: gdb-6.6-buildid-locate-rpm-scl.patch
+Patch117: gdb-readline62-ask-more-rh.patch
+Patch118: gdb-6.8-attach-signalled-detach-stopped.patch
+Patch119: gdb-6.8-quit-never-aborts.patch
+Patch120: gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch
+Patch121: gdb-container-rh-pkg.patch
+Patch122: gdb-rhbz1325795-framefilters-test.patch
+Patch123: gdb-linux_perf-bundle.patch
+Patch124: gdb-tls-1of2.patch
+Patch125: gdb-tls-2of2.patch
+Patch126: gdb-libexec-add-index.patch
+Patch127: gdb-add-index-chmod.patch
+Patch128: gdb-rhbz1398387-tab-crash-test.patch
+Patch130: gdb-testsuite-readline63-sigint.patch
#Fedora Packages end
# Upstream patch to fix gcc -Werror
@@ -232,8 +227,13 @@
BuildRequires: bison
BuildRequires: flex
-BuildRequires: gcc
-BuildRequires: gcc-c++
+%if 0%{suse_version} > 1110
+%define gcc gcc
+%else
+%define gcc gcc48
+%endif
+BuildRequires: %{gcc}
+BuildRequires: %{gcc}-c++
BuildRequires: gettext
BuildRequires: glibc-devel
%if 0%{suse_version} > 1110
@@ -284,31 +284,31 @@
BuildRequires: dejagnu
BuildRequires: sharutils
# gcc-objc++ is not covered by the GDB testsuite.
-BuildRequires: gcc-fortran
-%if 0%{?gcc_version} < 7
-BuildRequires: gcc-java
+BuildRequires: %{gcc}-fortran
+%if 0%{?gcc_version} < 7 && 0%{suse_version} > 1110
+BuildRequires: %{gcc}-java
%endif
-BuildRequires: gcc-objc
+BuildRequires: %{gcc}-objc
# Copied from gcc-4.1.2-32.
%ifarch %{ix86} x86_64 ia64 ppc ppc64 s390 alpha
-BuildRequires: gcc-ada
+BuildRequires: %{gcc}-ada
%endif
%ifarch aarch64
%if 0%{suse_version} >= 1330
-BuildRequires: gcc-ada
+BuildRequires: %{gcc}-ada
%endif
%endif
-%if ! (0%{?is_opensuse} && %_target_cpu == "s390x" )
+%if 0%{!?disable_32bit:1}
# openSUSE for s390x doesn't build 32bit libs
%if 0%{suse_version} > 1110
%ifarch x86_64 ppc64 s390x
%if 0%{suse_version} >= 1330
# Older distros miss this pseudo package, the Ada
# testsuite won't work completely
-BuildRequires: gcc-ada-32bit
+BuildRequires: %{gcc}-ada-32bit
%endif
-BuildRequires: gcc-c++-32bit
-%if 0%{suse_version} >= 1210
+BuildRequires: %{gcc}-c++-32bit
+%if 0%{suse_version} >= 1210 && 0%{suse_version} != 1315
BuildRequires: glibc-devel-static-32bit
%endif
%endif
@@ -515,12 +515,7 @@
%patch126 -p1
%patch127 -p1
%patch128 -p1
-%patch129 -p1
%patch130 -p1
-%patch131 -p1
-%patch132 -p1
-%patch133 -p1
-%patch134 -p1
#Fedora patching end
%patch1002 -p1
@@ -553,10 +548,19 @@
mkdir %{gdb_build}$fprofile
cd %{gdb_build}$fprofile
+%if 0%{suse_version} > 1110
+CC=gcc
+CXX=g++
+%else
+CC=gcc-4.8
+CXX=g++-4.8
+%endif
+export CC
+export CXX
export CFLAGS="$RPM_OPT_FLAGS"
# FIXME: gcc-7 compatibility.
-if echo "" | gcc -x c -c - -o /dev/null -Wno-implicit-fallthrough >/dev/null 2>&1; then
+if echo "" | $CC -x c -c - -o /dev/null -Wno-implicit-fallthrough >/dev/null 2>&1; then
CFLAGS="$CFLAGS -Wno-implicit-fallthrough"
fi
export CXXFLAGS="$CFLAGS"
@@ -727,7 +731,21 @@
%else
echo ====================TESTING=========================
cd gdb
-gcc -o ./orphanripper %{SOURCE2} -Wall -lutil -ggdb2
+%if 0%{suse_version} > 1110
+CC=gcc
+CXX=g++
+%else
+CC=gcc-4.8
+CXX=g++-4.8
+mkdir progs
+for i in gcc g++ gcj gfortran gnat gnatbind gnatmake; do
+ test -f /usr/bin/${i}-4.8 && ln -sf /usr/bin/${i}-4.8 progs/$i
+done
+PATH="`pwd`"/progs:${PATH}
+%endif
+export CC
+export CXX
+$CC -o ./orphanripper %{SOURCE2} -Wall -lutil -ggdb2
# Need to use a single --ignore option, second use overrides first.
# No `%{?_smp_mflags}' here as it may race.
# WARNING: can't generate a core file - core tests suppressed - check ulimit
@@ -752,7 +770,7 @@
fi
# Do not use $RPM_OPT_FLAGS as the other non-size options will not be used
# in the real run of the testsuite.
- if ! gcc $BI -o biarch biarch.c
+ if ! $CC $BI -o biarch biarch.c
then
continue
fi
@@ -761,7 +779,7 @@
# Do not try -m64 inferiors for -m32 GDB as it cannot handle inferiors larger
# than itself.
# s390 -m31 still uses the standard ELF32 binary format.
- gcc $RPM_OPT_FLAGS -o biarch biarch.c
+ $CC $RPM_OPT_FLAGS -o biarch biarch.c
RPM_SIZE="$(file ./biarch|sed -n 's/^.*: ELF \(32\|64\)-bit .*$/\1/p')"
if [ "$RPM_SIZE" != "64" ]
then
++++++ gdb-6.3-bz140532-ppc-unwinding-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.501780896 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.505780330 +0200
@@ -256,8 +256,8 @@
+ fail "powerpc arch test"
+ return
+}
-+set objfile2 ${objdir}/${subdir}/${testfile}-asm.o
-+set binfile ${objdir}/${subdir}/${testfile}
++set objfile2 [standard_output_file ${testfile}-asm.o]
++set binfile [standard_output_file ${testfile}]
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile1} ${srcdir}/${subdir}/${srcfile2}" ${binfile} executable $flags] != ""} {
+ return -1
++++++ gdb-6.3-focus-cmd-prev-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.521778068 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.525777502 +0200
@@ -1,6 +1,8 @@
---- /dev/null 2008-03-23 13:41:46.072650180 +0100
-+++ gdb-6.3/gdb/testsuite/gdb.base/focus-cmd-prev.exp 2008-03-23 23:46:45.000000000 +0100
-@@ -0,0 +1,25 @@
+Index: gdb-7.12.50.20170226/gdb/testsuite/gdb.base/focus-cmd-prev.exp
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.12.50.20170226/gdb/testsuite/gdb.base/focus-cmd-prev.exp 2017-03-02 09:39:14.508461085 +0100
+@@ -0,0 +1,40 @@
+# Copyright 2008 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
@@ -24,5 +26,20 @@
+gdb_exit
+gdb_start
+
-+gdb_test "focus cmd"
-+gdb_test "focus prev"
++# Do not use gdb_test or \r\n there since:
++# commit d7e747318f4d04af033f16325f9b6d74f67079ec
++# Eliminate make_cleanup_ui_file_delete / make ui_file a class hierarchy
++
++set test "focus cmd"
++gdb_test_multiple $test $test {
++ -re "$gdb_prompt $" {
++ pass $test
++ }
++}
++
++set test "focus prev"
++gdb_test_multiple $test $test {
++ -re "$gdb_prompt $" {
++ pass $test
++ }
++}
++++++ gdb-6.3-mapping-zero-inode-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.549774108 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.549774108 +0200
@@ -62,10 +62,10 @@
+}
+set timeout $oldtimeout
+
-+set escapedfilename [string_to_regexp ${objdir}/${subdir}/gcore-shmid0.test]
++set escapedfilename [string_to_regexp [standard_output_file gcore-shmid0.test]]
+
+set test "save a corefile"
-+gdb_test_multiple "gcore ${objdir}/${subdir}/gcore-shmid0.test" $test {
++gdb_test_multiple "gcore [standard_output_file gcore-shmid0.test]" $test {
+ -re "Saved corefile ${escapedfilename}\[\r\n\]+$gdb_prompt $" {
+ pass $test
+ }
@@ -80,7 +80,7 @@
+gdb_continue_to_end "finish"
+
+set test "core-file command"
-+gdb_test_multiple "core-file $objdir/$subdir/gcore-shmid0.test" $test {
++gdb_test_multiple "core-file [standard_output_file gcore-shmid0.test]" $test {
+ -re ".* program is being debugged already.*y or n. $" {
+ # gdb_load may connect us to a gdbserver.
+ send_gdb "y\n"
++++++ gdb-6.3-readnever-20050907.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.573770715 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.577770149 +0200
@@ -11,11 +11,11 @@
* gdb.texinfo (File Options): Document --readnever.
-Index: gdb-7.10.50.20151022/gdb/doc/gdb.texinfo
+Index: gdb-7.99.90.20170420/gdb/doc/gdb.texinfo
===================================================================
---- gdb-7.10.50.20151022.orig/gdb/doc/gdb.texinfo 2015-10-22 22:16:50.483482288 +0200
-+++ gdb-7.10.50.20151022/gdb/doc/gdb.texinfo 2015-10-22 22:28:22.042554142 +0200
-@@ -1032,6 +1032,12 @@ Read each symbol file's entire symbol ta
+--- gdb-7.99.90.20170420.orig/gdb/doc/gdb.texinfo 2017-04-20 22:29:39.179740076 +0200
++++ gdb-7.99.90.20170420/gdb/doc/gdb.texinfo 2017-04-20 22:29:40.924751096 +0200
+@@ -1037,6 +1037,12 @@
the default, which is to read it incrementally as it is needed.
This makes startup slower, but makes future operations faster.
@@ -28,11 +28,11 @@
@end table
@node Mode Options
-Index: gdb-7.10.50.20151022/gdb/main.c
+Index: gdb-7.99.90.20170420/gdb/main.c
===================================================================
---- gdb-7.10.50.20151022.orig/gdb/main.c 2015-10-22 22:16:50.485482299 +0200
-+++ gdb-7.10.50.20151022/gdb/main.c 2015-10-22 22:28:22.042554142 +0200
-@@ -604,6 +604,7 @@ captured_main (void *data)
+--- gdb-7.99.90.20170420.orig/gdb/main.c 2017-04-20 22:29:39.182740095 +0200
++++ gdb-7.99.90.20170420/gdb/main.c 2017-04-20 22:29:40.925751103 +0200
+@@ -615,6 +615,7 @@
{"tui", no_argument, 0, OPT_TUI},
{"dbx", no_argument, &dbx_commands, 1},
{"readnow", no_argument, &readnow_symbol_files, 1},
@@ -40,7 +40,7 @@
{"r", no_argument, &readnow_symbol_files, 1},
{"quiet", no_argument, &quiet, 1},
{"q", no_argument, &quiet, 1},
-@@ -1253,6 +1254,7 @@ Selection of debuggee and its files:\n\n
+@@ -1254,6 +1255,7 @@
--se=FILE Use FILE as symbol file and executable file.\n\
--symbols=SYMFILE Read symbols from SYMFILE.\n\
--readnow Fully read symbol files on first access.\n\
@@ -48,11 +48,11 @@
--write Set writing into executable and core files.\n\n\
"), stream);
fputs_unfiltered (_("\
-Index: gdb-7.10.50.20151022/gdb/symfile.c
+Index: gdb-7.99.90.20170420/gdb/symfile.c
===================================================================
---- gdb-7.10.50.20151022.orig/gdb/symfile.c 2015-10-22 22:16:50.486482305 +0200
-+++ gdb-7.10.50.20151022/gdb/symfile.c 2015-10-22 22:28:22.043554148 +0200
-@@ -80,6 +80,7 @@ static void clear_symtab_users_cleanup (
+--- gdb-7.99.90.20170420.orig/gdb/symfile.c 2017-04-20 22:29:39.183740101 +0200
++++ gdb-7.99.90.20170420/gdb/symfile.c 2017-04-20 22:29:40.926751109 +0200
+@@ -79,6 +79,7 @@
/* Global variables owned by this file. */
int readnow_symbol_files; /* Read full symbols immediately. */
@@ -60,19 +60,19 @@
/* Functions this file defines. */
-Index: gdb-7.10.50.20151022/gdb/dwarf2read.c
+Index: gdb-7.99.90.20170420/gdb/dwarf2read.c
===================================================================
---- gdb-7.10.50.20151022.orig/gdb/dwarf2read.c 2015-10-22 22:28:22.046554165 +0200
-+++ gdb-7.10.50.20151022/gdb/dwarf2read.c 2015-10-22 22:29:17.664881642 +0200
-@@ -70,6 +70,7 @@
- #include "filestuff.h"
- #include "build-id.h"
- #include "namespace.h"
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c 2017-04-20 22:29:39.190740145 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2read.c 2017-04-20 22:29:57.973858766 +0200
+@@ -73,6 +73,7 @@
+ #include "common/function-view.h"
+ #include "common/gdb_optional.h"
+ #include "common/underlying.h"
+#include "top.h"
#include <fcntl.h>
#include <sys/types.h>
-@@ -2059,7 +2060,8 @@ dwarf2_has_info (struct objfile *objfile
+@@ -2208,7 +2209,8 @@
(void *) names);
dwarf2_per_objfile->objfile = objfile;
}
@@ -82,11 +82,11 @@
&& dwarf2_per_objfile->info.s.section != NULL
&& !dwarf2_per_objfile->abbrev.is_virtual
&& dwarf2_per_objfile->abbrev.s.section != NULL);
-Index: gdb-7.10.50.20151022/gdb/top.h
+Index: gdb-7.99.90.20170420/gdb/top.h
===================================================================
---- gdb-7.10.50.20151022.orig/gdb/top.h 2015-10-22 22:16:50.490482329 +0200
-+++ gdb-7.10.50.20151022/gdb/top.h 2015-10-22 22:28:22.047554171 +0200
-@@ -74,6 +74,7 @@ extern int gdb_in_secondary_prompt_p (vo
+--- gdb-7.99.90.20170420.orig/gdb/top.h 2017-04-20 22:29:39.191740152 +0200
++++ gdb-7.99.90.20170420/gdb/top.h 2017-04-20 22:29:40.932751147 +0200
+@@ -269,6 +269,7 @@
/* From random places. */
extern int readnow_symbol_files;
++++++ gdb-6.3-rh-testversion-20041202.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.589768453 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.589768453 +0200
@@ -3,11 +3,11 @@
* gdb.gdb/selftest.exp: Add matching on specific Red Hat only version
string.
-Index: gdb-7.1.90.20100711/gdb/testsuite/gdb.gdb/selftest.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.gdb/selftest.exp
===================================================================
---- gdb-7.1.90.20100711.orig/gdb/testsuite/gdb.gdb/selftest.exp 2010-06-26 08:44:47.000000000 +0200
-+++ gdb-7.1.90.20100711/gdb/testsuite/gdb.gdb/selftest.exp 2010-07-12 09:59:42.000000000 +0200
-@@ -342,6 +342,9 @@ proc test_with_self { executable } {
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.gdb/selftest.exp 2017-02-07 19:47:06.472874620 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.gdb/selftest.exp 2017-02-07 19:48:12.593380575 +0100
+@@ -53,6 +53,9 @@
-re ".\[0-9\]+ = +.+ +0x.*\[0-9.\]+.*$gdb_prompt $" {
pass "printed version with cast"
}
@@ -16,4 +16,4 @@
+ }
}
- do_steps_and_nexts
+ # start the "xgdb" process
++++++ gdb-6.5-bz185337-resolve-tls-without-debuginfo-v2.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.633762231 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.633762231 +0200
@@ -34,11 +34,11 @@
<81a2> DW_AT_name : (indirect string, offset: 0x280e): __errno_location
<81a8> DW_AT_MIPS_linkage_name: (indirect string, offset: 0x2808): *__GI___errno_location
-Index: gdb-7.10.90.20160211/gdb/printcmd.c
+Index: gdb-7.12.50.20170207/gdb/printcmd.c
===================================================================
---- gdb-7.10.90.20160211.orig/gdb/printcmd.c 2016-02-15 23:29:53.062420893 +0100
-+++ gdb-7.10.90.20160211/gdb/printcmd.c 2016-02-15 23:33:31.068968762 +0100
-@@ -1003,6 +1003,10 @@
+--- gdb-7.12.50.20170207.orig/gdb/printcmd.c 2017-02-07 21:06:20.196593884 +0100
++++ gdb-7.12.50.20170207/gdb/printcmd.c 2017-02-07 21:07:10.230973906 +0100
+@@ -1258,6 +1258,10 @@
if (exp && *exp)
{
@@ -46,13 +46,13 @@
+ function descriptors. */
+ if (target_has_execution && strcmp (exp, "errno") == 0)
+ exp = "*(*(int *(*)(void)) __errno_location) ()";
- expr = parse_expression (exp);
- make_cleanup (free_current_contents, &expr);
- val = evaluate_expression (expr);
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.c
+ expression_up expr = parse_expression (exp);
+ val = evaluate_expression (expr.get ());
+ }
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.c 2016-02-15 23:30:20.703617148 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno.c 2017-02-07 21:06:20.196593884 +0100
@@ -0,0 +1,28 @@
+/* This testcase is part of GDB, the GNU debugger.
+
@@ -82,10 +82,10 @@
+
+ return 0; /* breakpoint */
+}
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno.exp 2016-02-15 23:35:25.582781821 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno.exp 2017-02-07 21:06:20.196593884 +0100
@@ -0,0 +1,60 @@
+# Copyright 2007 Free Software Foundation, Inc.
+
@@ -147,10 +147,10 @@
+
+# TODO: Test the error on resolving ERRNO with only libc loaded.
+# Just how to find the current libc filename?
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno2.c
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno2.c 2016-02-15 23:30:20.703617148 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno2.c 2017-02-07 21:06:20.196593884 +0100
@@ -0,0 +1,28 @@
+/* This testcase is part of GDB, the GNU debugger.
+
@@ -180,10 +180,10 @@
+
+ return 0; /* breakpoint */
+}
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp 2016-02-15 23:35:25.582781821 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.dwarf2/dw2-errno2.exp 2017-02-07 21:06:20.197593892 +0100
@@ -0,0 +1,71 @@
+# Copyright 2007 Free Software Foundation, Inc.
+
++++++ gdb-6.6-buildid-locate-core-as-arg.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.697753181 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.697753181 +0200
@@ -58,10 +58,10 @@
* exec.c (exec_file_attach): Print a more useful error message if the
user did "gdb core".
-Index: gdb-7.9.50.20150531/gdb/exec.c
+Index: gdb-7.12.50.20170226/gdb/exec.c
===================================================================
---- gdb-7.9.50.20150531.orig/gdb/exec.c 2015-05-31 03:48:29.000000000 +0200
-+++ gdb-7.9.50.20150531/gdb/exec.c 2015-05-31 20:07:35.092878685 +0200
+--- gdb-7.12.50.20170226.orig/gdb/exec.c 2017-02-27 22:18:00.945026211 +0100
++++ gdb-7.12.50.20170226/gdb/exec.c 2017-02-27 22:18:08.111076350 +0100
@@ -35,6 +35,7 @@
#include "progspace.h"
#include "gdb_bfd.h"
@@ -70,7 +70,7 @@
#include <fcntl.h>
#include "readline/readline.h"
-@@ -298,12 +299,27 @@ exec_file_attach (const char *filename,
+@@ -359,12 +360,27 @@
if (!bfd_check_format_matches (exec_bfd, bfd_object, &matching))
{
@@ -101,13 +101,13 @@
}
if (build_section_table (exec_bfd, §ions, §ions_end))
-Index: gdb-7.9.50.20150531/gdb/main.c
+Index: gdb-7.12.50.20170226/gdb/main.c
===================================================================
---- gdb-7.9.50.20150531.orig/gdb/main.c 2015-05-31 20:07:34.183872824 +0200
-+++ gdb-7.9.50.20150531/gdb/main.c 2015-05-31 20:10:05.095845935 +0200
-@@ -435,6 +435,37 @@ typedef struct cmdarg {
- /* Define type VEC (cmdarg_s). */
- DEF_VEC_O (cmdarg_s);
+--- gdb-7.12.50.20170226.orig/gdb/main.c 2017-02-27 22:18:00.945026211 +0100
++++ gdb-7.12.50.20170226/gdb/main.c 2017-02-27 22:18:08.112076357 +0100
+@@ -459,6 +459,37 @@
+ char *string;
+ };
+/* Call exec_file_attach. If it detected FILENAME is a core file call
+ core_file_command. Print the original exec_file_attach error only if
@@ -140,10 +140,10 @@
+ END_CATCH
+}
+
- static int
- captured_main (void *data)
+ static void
+ captured_main_1 (struct captured_main_args *context, int &python_script)
{
-@@ -923,6 +954,8 @@ captured_main (void *data)
+@@ -910,6 +941,8 @@
{
symarg = argv[optind];
execarg = argv[optind];
@@ -152,7 +152,7 @@
optind++;
}
-@@ -1080,11 +1113,25 @@ captured_main (void *data)
+@@ -1060,11 +1093,25 @@
&& symarg != NULL
&& strcmp (execarg, symarg) == 0)
{
@@ -178,14 +178,14 @@
+ as a core file. */
+ if (catch_command_errors_const (func, execarg, !batch_flag)
+ && core_bfd == NULL)
- catch_command_errors_const (symbol_file_add_main, symarg,
+ catch_command_errors_const (symbol_file_add_main_adapter, symarg,
!batch_flag);
}
-Index: gdb-7.9.50.20150531/gdb/common/common-exceptions.h
+Index: gdb-7.12.50.20170226/gdb/common/common-exceptions.h
===================================================================
---- gdb-7.9.50.20150531.orig/gdb/common/common-exceptions.h 2015-05-31 03:48:29.000000000 +0200
-+++ gdb-7.9.50.20150531/gdb/common/common-exceptions.h 2015-05-31 20:07:35.093878692 +0200
-@@ -105,6 +105,9 @@ enum errors {
+--- gdb-7.12.50.20170226.orig/gdb/common/common-exceptions.h 2017-02-27 22:18:00.946026218 +0100
++++ gdb-7.12.50.20170226/gdb/common/common-exceptions.h 2017-02-27 22:18:08.112076357 +0100
+@@ -106,6 +106,9 @@
"_ERROR" is appended to the name. */
MAX_COMPLETIONS_REACHED_ERROR,
++++++ gdb-6.6-buildid-locate-misleading-warning-missing-debuginfo-rhbz981154.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.709751484 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.709751484 +0200
@@ -15,10 +15,10 @@
NULL after it is free'd, otherwise the code below thinks that it is still
valid and doesn't print the necessary warning ("Try: yum install ...").
-Index: gdb-7.10.90.20160211/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.10.90.20160211/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp 2016-02-15 23:31:06.327941085 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.base/rhbz981154-misleading-yum-install-warning.exp 2017-02-26 19:14:58.492609659 +0100
@@ -0,0 +1,97 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+
@@ -117,10 +117,10 @@
+
+# Leaving the link there will cause breakage in the next run.
+remote_exec build "rm -f [standard_output_file ${build_id_without_debug}]"
-Index: gdb-7.10.90.20160211/gdb/build-id.c
+Index: gdb-7.12.50.20170207/gdb/build-id.c
===================================================================
---- gdb-7.10.90.20160211.orig/gdb/build-id.c 2016-02-15 23:30:55.389863424 +0100
-+++ gdb-7.10.90.20160211/gdb/build-id.c 2016-02-15 23:30:55.778866186 +0100
+--- gdb-7.12.50.20170207.orig/gdb/build-id.c 2017-02-26 19:14:51.943562799 +0100
++++ gdb-7.12.50.20170207/gdb/build-id.c 2017-02-26 19:14:58.492609659 +0100
@@ -589,7 +589,10 @@
do_cleanups (inner);
@@ -131,5 +131,5 @@
+ continue;
+ }
- if (build_id_verify (abfd, build_id_len, build_id))
+ if (build_id_verify (abfd.get(), build_id_len, build_id))
break;
++++++ gdb-6.6-buildid-locate.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.741746960 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.745746394 +0200
@@ -1,7 +1,7 @@
-Index: gdb-7.11.50.20160630/gdb/corelow.c
+Index: gdb-7.99.90.20170420/gdb/corelow.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/corelow.c 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/corelow.c 2016-07-03 14:34:32.022753582 +0200
+--- gdb-7.99.90.20170420.orig/gdb/corelow.c 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/corelow.c 2017-04-20 23:00:43.358629183 +0200
@@ -45,6 +45,10 @@
#include "gdb_bfd.h"
#include "completer.h"
@@ -13,7 +13,7 @@
#ifndef O_LARGEFILE
#define O_LARGEFILE 0
-@@ -266,6 +270,53 @@
+@@ -266,6 +270,54 @@
inferior_ptid = ptid; /* Yes, make it current. */
}
@@ -52,7 +52,8 @@
+ {
+ make_cleanup (xfree, execfilename);
+ exec_file_attach (execfilename, from_tty);
-+ symbol_file_add_main (execfilename, from_tty);
++ symbol_file_add_main (execfilename,
++ symfile_add_flag (!from_tty ? 0 : SYMFILE_VERBOSE));
+ if (symfile_objfile != NULL)
+ symfile_objfile->flags |= OBJF_BUILD_ID_CORE_LOADED;
+ }
@@ -67,7 +68,7 @@
/* This routine opens and sets up the core file bfd. */
static void
-@@ -404,6 +455,14 @@
+@@ -402,6 +454,14 @@
switch_to_thread (thread->ptid);
}
@@ -82,7 +83,7 @@
post_create_inferior (&core_ops, from_tty);
/* Now go through the target stack looking for threads since there
-@@ -1068,4 +1127,11 @@
+@@ -1079,4 +1139,11 @@
init_core_ops ();
add_target_with_completer (&core_ops, filename_completer);
@@ -94,11 +95,11 @@
+ NULL, NULL, NULL,
+ &setlist, &showlist);
}
-Index: gdb-7.11.50.20160630/gdb/doc/gdb.texinfo
+Index: gdb-7.99.90.20170420/gdb/doc/gdb.texinfo
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/doc/gdb.texinfo 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/doc/gdb.texinfo 2016-07-03 14:34:32.030753651 +0200
-@@ -18916,6 +18916,27 @@
+--- gdb-7.99.90.20170420.orig/gdb/doc/gdb.texinfo 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/doc/gdb.texinfo 2017-04-20 23:00:43.366629228 +0200
+@@ -18987,6 +18987,27 @@
@end table
@@ -126,10 +127,10 @@
@cindex @code{.gnu_debuglink} sections
@cindex debug link sections
A debug link is a special section of the executable file named
-Index: gdb-7.11.50.20160630/gdb/solib-svr4.c
+Index: gdb-7.99.90.20170420/gdb/solib-svr4.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/solib-svr4.c 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/solib-svr4.c 2016-07-03 14:34:32.031753659 +0200
+--- gdb-7.99.90.20170420.orig/gdb/solib-svr4.c 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/solib-svr4.c 2017-04-20 23:00:43.367629234 +0200
@@ -45,6 +45,7 @@
#include "auxv.h"
#include "gdb_bfd.h"
@@ -138,7 +139,7 @@
static struct link_map_offsets *svr4_fetch_link_map_offsets (void);
static int svr4_have_link_map_offsets (void);
-@@ -1416,9 +1417,52 @@
+@@ -1420,9 +1421,52 @@
continue;
}
@@ -194,41 +195,37 @@
xfree (buffer);
/* If this entry has no name, or its name matches the name
-Index: gdb-7.11.50.20160630/gdb/elfread.c
+Index: gdb-7.99.90.20170420/gdb/elfread.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/elfread.c 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/elfread.c 2016-07-03 14:34:32.031753659 +0200
-@@ -1259,9 +1259,10 @@
+--- gdb-7.99.90.20170420.orig/gdb/elfread.c 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/elfread.c 2017-04-20 23:00:43.367629234 +0200
+@@ -1265,8 +1265,9 @@
&& objfile->separate_debug_objfile == NULL
&& objfile->separate_debug_objfile_backlink == NULL)
{
-- char *debugfile;
-+ char *debugfile, *build_id_filename;
-
-- debugfile = find_separate_debug_file_by_buildid (objfile);
-+ debugfile = find_separate_debug_file_by_buildid (objfile,
-+ &build_id_filename);
++ gdb::unique_xmalloc_ptr<char> build_id_filename;
+ gdb::unique_xmalloc_ptr<char> debugfile
+- (find_separate_debug_file_by_buildid (objfile));
++ (find_separate_debug_file_by_buildid (objfile, &build_id_filename));
if (debugfile == NULL)
- debugfile = find_separate_debug_file_by_debuglink (objfile);
-@@ -1275,6 +1276,12 @@
- symbol_file_add_separate (abfd, debugfile, symfile_flags, objfile);
- do_cleanups (cleanup);
+ debugfile.reset (find_separate_debug_file_by_debuglink (objfile));
+@@ -1278,6 +1279,10 @@
+ symbol_file_add_separate (abfd.get (), debugfile.get (),
+ symfile_flags, objfile);
}
+ /* Check if any separate debug info has been extracted out. */
+ else if (bfd_get_section_by_name (objfile->obfd, ".gnu_debuglink")
+ != NULL)
-+ debug_print_missing (objfile_name (objfile), build_id_filename);
-+
-+ xfree (build_id_filename);
++ debug_print_missing (objfile_name (objfile), build_id_filename.get ());
}
}
-Index: gdb-7.11.50.20160630/gdb/symfile.h
+Index: gdb-7.99.90.20170420/gdb/symfile.h
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/symfile.h 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/symfile.h 2016-07-03 14:34:32.032753668 +0200
-@@ -589,6 +589,10 @@
+--- gdb-7.99.90.20170420.orig/gdb/symfile.h 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/symfile.h 2017-04-20 23:00:43.368629240 +0200
+@@ -567,6 +567,10 @@
void map_symbol_filenames (symbol_filename_ftype *fun, void *data,
int need_fullname);
@@ -239,11 +236,11 @@
/* From dwarf2read.c */
/* Names for a dwarf2 debugging section. The field NORMAL is the normal
-Index: gdb-7.11.50.20160630/gdb/testsuite/lib/gdb.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/lib/gdb.exp
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/testsuite/lib/gdb.exp 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/testsuite/lib/gdb.exp 2016-07-03 14:34:32.033753676 +0200
-@@ -1641,6 +1641,16 @@
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/lib/gdb.exp 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/lib/gdb.exp 2017-04-20 23:00:43.369629245 +0200
+@@ -1646,6 +1646,16 @@
warning "Couldn't set the width to 0."
}
}
@@ -260,11 +257,11 @@
return 0
}
-Index: gdb-7.11.50.20160630/gdb/testsuite/lib/mi-support.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/lib/mi-support.exp
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/testsuite/lib/mi-support.exp 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/testsuite/lib/mi-support.exp 2016-07-03 14:34:32.033753676 +0200
-@@ -309,6 +309,16 @@ proc default_mi_gdb_start { args } {
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/lib/mi-support.exp 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/lib/mi-support.exp 2017-04-20 23:00:43.369629245 +0200
+@@ -309,6 +309,16 @@
warning "Couldn't set the width to 0."
}
}
@@ -281,9 +278,11 @@
if { $separate_inferior_pty } {
mi_create_inferior_pty
---- gdb-7.11.90.20160907/gdb/testsuite/gdb.base/new-ui-pending-input.exp-orig 2016-09-07 04:01:15.000000000 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.base/new-ui-pending-input.exp 2016-09-07 22:35:35.818534069 +0200
-@@ -62,6 +62,7 @@ proc test_command_line_new_ui_pending_in
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.base/new-ui-pending-input.exp
+===================================================================
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.base/new-ui-pending-input.exp 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.base/new-ui-pending-input.exp 2017-04-20 23:00:43.369629245 +0200
+@@ -62,6 +62,7 @@
set options ""
append options " -iex \"set height 0\""
append options " -iex \"set width 0\""
@@ -291,25 +290,25 @@
append options " -iex \"new-ui console $extra_tty_name\""
append options " -ex \"b $bpline\""
append options " -ex \"run\""
-Index: gdb-7.11.50.20160630/gdb/objfiles.h
+Index: gdb-7.99.90.20170420/gdb/objfiles.h
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/objfiles.h 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/objfiles.h 2016-07-03 14:34:32.034753685 +0200
-@@ -489,6 +489,10 @@
-
- #define OBJF_NOT_FILENAME (1 << 6)
+--- gdb-7.99.90.20170420.orig/gdb/objfiles.h 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/objfiles.h 2017-04-20 23:00:43.370629251 +0200
+@@ -444,6 +444,10 @@
+ htab_t static_links;
+ };
+/* This file was loaded according to the BUILD_ID_CORE_LOADS rules. */
+
-+#define OBJF_BUILD_ID_CORE_LOADED (1 << 12)
++#define OBJF_BUILD_ID_CORE_LOADED static_cast<enum objfile_flag>(1 << 12)
+
/* Declarations for functions defined in objfiles.c */
- extern struct objfile *allocate_objfile (bfd *, const char *name, int);
-Index: gdb-7.11.50.20160630/gdb/testsuite/gdb.base/corefile.exp
+ extern struct objfile *allocate_objfile (bfd *, const char *name,
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.base/corefile.exp
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/testsuite/gdb.base/corefile.exp 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/testsuite/gdb.base/corefile.exp 2016-07-03 14:34:32.034753685 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.base/corefile.exp 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.base/corefile.exp 2017-04-20 23:00:43.370629251 +0200
@@ -293,3 +293,33 @@
pass $test
}
@@ -344,10 +343,10 @@
+ gdb_test "info files" "Local exec file:\r\n\[ \t\]*`[string_to_regexp $debugdir/$buildid]', file type .*"
+ pass $wholetest
+}
-Index: gdb-7.11.50.20160630/gdb/build-id.c
+Index: gdb-7.99.90.20170420/gdb/build-id.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/build-id.c 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/build-id.c 2016-07-03 14:36:50.124938187 +0200
+--- gdb-7.99.90.20170420.orig/gdb/build-id.c 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/build-id.c 2017-04-20 23:03:00.060399474 +0200
@@ -26,11 +26,67 @@
#include "objfiles.h"
#include "filenames.h"
@@ -775,7 +774,7 @@
if (found == NULL)
warning (_("File \"%s\" has no build-id, file skipped"),
-@@ -65,23 +463,56 @@
+@@ -65,23 +463,54 @@
return retval;
}
@@ -797,17 +796,15 @@
+ target = xstrdup (buf);
+ else
+ {
-+ char *dir = ldirname (symlink);
++ const std::string dir (ldirname (symlink));
+
-+ if (dir == NULL)
-+ return xstrdup (symlink);
+ target = xstrprintf ("%s"
+#ifndef HAVE_DOS_BASED_FILE_SYSTEM
+ "/"
+#else /* HAVE_DOS_BASED_FILE_SYSTEM */
+ "\\"
+#endif /* HAVE_DOS_BASED_FILE_SYSTEM */
-+ "%s", dir, buf);
++ "%s", dir.c_str(), buf);
+ }
+
+ retval = link_resolve (target, level + 1);
@@ -817,7 +814,7 @@
+
/* See build-id.h. */
- bfd *
+ gdb_bfd_ref_ptr
-build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id)
+build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id,
+ char **link_return, int add_debug_suffix)
@@ -827,7 +824,7 @@
VEC (char_ptr) *debugdir_vec;
struct cleanup *back_to;
int ix;
- bfd *abfd = NULL;
+ gdb_bfd_ref_ptr abfd;
- int alloc_len;
/* DEBUG_FILE_DIRECTORY/.build-id/ab/cdef */
@@ -839,7 +836,7 @@
/* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
cause "/.build-id/..." lookups. */
-@@ -94,9 +525,12 @@
+@@ -94,9 +523,12 @@
size_t debugdir_len = strlen (debugdir);
const gdb_byte *data = build_id;
size_t size = build_id_len;
@@ -853,7 +850,7 @@
memcpy (link, debugdir, debugdir_len);
s = &link[debugdir_len];
-@@ -110,47 +544,281 @@
+@@ -110,45 +542,290 @@
*s++ = '/';
while (size-- > 0)
s += sprintf (s, "%02x", (unsigned) *data++);
@@ -903,38 +900,36 @@
+ inner = make_cleanup (xfree, filename);
+ abfd = gdb_bfd_open (filename, gnutarget, -1);
+ do_cleanups (inner);
++
++ if (abfd == NULL)
++ continue;
- if (filename == NULL)
- continue;
-+ if (abfd == NULL)
-+ continue;
++ if (build_id_verify (abfd.get(), build_id_len, build_id))
++ break;
- /* We expect to be silent on the non-existing files. */
- inner = make_cleanup (xfree, filename);
- abfd = gdb_bfd_open (filename, gnutarget, -1);
- do_cleanups (inner);
-+ if (build_id_verify (abfd, build_id_len, build_id))
-+ break;
++ abfd.release ();
- if (abfd == NULL)
- continue;
-+ gdb_bfd_unref (abfd);
-+ abfd = NULL;
-
-- if (build_id_verify (abfd, build_id_len, build_id))
-- break;
+ filename = NULL;
+ }
-- gdb_bfd_unref (abfd);
-- abfd = NULL;
+- if (build_id_verify (abfd.get(), build_id_len, build_id))
+- break;
+ if (filename != NULL)
+ {
+ /* LINK_ALL is not used below in this non-NULL FILENAME case. */
+ xfree (link0);
+ break;
+ }
-+
+
+- abfd.release ();
+ /* If the symlink has target request to install the target.
+ BASE-debuginfo.rpm contains the symlink but BASE.rpm may be missing.
+ https://bugzilla.redhat.com/show_bug.cgi?id=981154 */
@@ -982,7 +977,7 @@
+char *
+build_id_to_filename (const struct bfd_build_id *build_id, char **link_return)
+{
-+ bfd *abfd;
++ gdb_bfd_ref_ptr abfd;
+ char *result;
+
+ abfd = build_id_to_debug_bfd (build_id->size, build_id->data, link_return, 0);
@@ -990,7 +985,7 @@
+ return NULL;
+
+ result = xstrdup (bfd_get_filename (abfd));
-+ gdb_bfd_unref (abfd);
++ abfd.release ();
+ return result;
+}
+
@@ -1135,7 +1130,7 @@
char *
-find_separate_debug_file_by_buildid (struct objfile *objfile)
+find_separate_debug_file_by_buildid (struct objfile *objfile,
-+ char **build_id_filename_return)
++ gdb::unique_xmalloc_ptr<char> *build_id_filename_return)
{
const struct bfd_build_id *build_id;
@@ -1146,15 +1141,25 @@
+ build_id = build_id_bfd_shdr_get (objfile->obfd);
if (build_id != NULL)
{
- bfd *abfd;
-
-- abfd = build_id_to_debug_bfd (build_id->size, build_id->data);
-+ abfd = build_id_to_debug_bfd (build_id->size, build_id->data,
-+ build_id_filename_return, 1);
++ char *build_id_filename_cstr = NULL;
+ gdb_bfd_ref_ptr abfd (build_id_to_debug_bfd (build_id->size,
+- build_id->data));
++ build_id->data,
++ (!build_id_filename_return ? NULL : &build_id_filename_cstr), 1));
++ if (build_id_filename_return)
++ {
++ if (!build_id_filename_cstr)
++ gdb_assert (!*build_id_filename_return);
++ else
++ {
++ *build_id_filename_return = gdb::unique_xmalloc_ptr<char> (build_id_filename_cstr);
++ build_id_filename_cstr = NULL;
++ }
++ }
/* Prevent looping on a stripped .debug file. */
if (abfd != NULL
- && filename_cmp (bfd_get_filename (abfd),
-@@ -170,3 +838,21 @@
+ && filename_cmp (bfd_get_filename (abfd.get ()),
+@@ -160,3 +837,21 @@
}
return NULL;
}
@@ -1176,13 +1181,13 @@
+
+ observer_attach_executable_changed (debug_print_executable_changed);
+}
-Index: gdb-7.11.50.20160630/gdb/build-id.h
+Index: gdb-7.99.90.20170420/gdb/build-id.h
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/build-id.h 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/build-id.h 2016-07-03 14:34:32.035753694 +0200
-@@ -20,9 +20,10 @@
- #ifndef BUILD_ID_H
- #define BUILD_ID_H
+--- gdb-7.99.90.20170420.orig/gdb/build-id.h 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/build-id.h 2017-04-20 23:00:43.371629257 +0200
+@@ -22,9 +22,10 @@
+
+ #include "gdb_bfd.h"
-/* Locate NT_GNU_BUILD_ID from ABFD and return its content. */
+/* Separate debuginfo files have corrupted PHDR but SHDR is correct there.
@@ -1193,13 +1198,14 @@
/* Return true if ABFD has NT_GNU_BUILD_ID matching the CHECK value.
Otherwise, issue a warning and return false. */
-@@ -36,13 +37,18 @@
+@@ -38,13 +39,19 @@
the caller. */
- extern bfd *build_id_to_debug_bfd (size_t build_id_len,
-- const bfd_byte *build_id);
-+ const bfd_byte *build_id, char **link_return,
-+ int add_debug_suffix);
+ extern gdb_bfd_ref_ptr build_id_to_debug_bfd (size_t build_id_len,
+- const bfd_byte *build_id);
++ const bfd_byte *build_id,
++ char **link_return,
++ int add_debug_suffix);
+
+extern char *build_id_to_filename (const struct bfd_build_id *build_id,
+ char **link_return);
@@ -1211,14 +1217,14 @@
-extern char *find_separate_debug_file_by_buildid (struct objfile *objfile);
+extern char *find_separate_debug_file_by_buildid (struct objfile *objfile,
-+ char **build_id_filename_return);
++ gdb::unique_xmalloc_ptr<char> *build_id_filename_return);
#endif /* BUILD_ID_H */
-Index: gdb-7.11.50.20160630/gdb/dwarf2read.c
+Index: gdb-7.99.90.20170420/gdb/dwarf2read.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/dwarf2read.c 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/dwarf2read.c 2016-07-03 14:34:32.040753736 +0200
-@@ -2535,7 +2535,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2read.c 2017-04-20 23:00:43.375629279 +0200
+@@ -2671,7 +2671,7 @@
}
if (dwz_bfd == NULL)
@@ -1227,11 +1233,11 @@
if (dwz_bfd == NULL)
error (_("could not find '.gnu_debugaltlink' file for %s"),
-Index: gdb-7.11.50.20160630/gdb/python/py-objfile.c
+Index: gdb-7.99.90.20170420/gdb/python/py-objfile.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/python/py-objfile.c 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/python/py-objfile.c 2016-07-03 14:34:32.040753736 +0200
-@@ -136,7 +136,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/python/py-objfile.c 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/python/py-objfile.c 2017-04-20 23:00:43.375629279 +0200
+@@ -137,7 +137,7 @@
TRY
{
@@ -1240,7 +1246,7 @@
}
CATCH (except, RETURN_MASK_ALL)
{
-@@ -547,7 +547,7 @@
+@@ -544,7 +544,7 @@
/* Don't return separate debug files. */
if (objfile->separate_debug_objfile_backlink != NULL)
continue;
@@ -1249,11 +1255,11 @@
if (obfd_build_id == NULL)
continue;
if (objfpy_build_id_matches (obfd_build_id, build_id))
-Index: gdb-7.11.50.20160630/gdb/coffread.c
+Index: gdb-7.99.90.20170420/gdb/coffread.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/coffread.c 2016-07-03 14:33:28.130205528 +0200
-+++ gdb-7.11.50.20160630/gdb/coffread.c 2016-07-03 14:34:32.041753745 +0200
-@@ -737,7 +737,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/coffread.c 2017-04-20 23:00:35.415584426 +0200
++++ gdb-7.99.90.20170420/gdb/coffread.c 2017-04-20 23:00:43.376629285 +0200
+@@ -734,7 +734,7 @@
{
char *debugfile;
++++++ gdb-6.6-bz237572-ppc-atomic-sequence-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.765743566 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.765743566 +0200
@@ -209,7 +209,7 @@
+
+set testfile atomic-seq-threaded
+set srcfile ${testfile}.c
-+set binfile ${objdir}/${subdir}/${testfile}
++set binfile [standard_output_file ${testfile}]
+
+foreach opts {{} {compiler=gcc4} {FAIL}} {
+ if {$opts eq "FAIL"} {
++++++ gdb-6.6-scheduler_locking-step-is-default.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.781741303 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.781741303 +0200
@@ -1,7 +1,7 @@
-Index: gdb-7.11.90.20160904/gdb/infrun.c
+Index: gdb-7.12.50.20170207/gdb/infrun.c
===================================================================
---- gdb-7.11.90.20160904.orig/gdb/infrun.c 2016-09-04 17:57:12.733853848 +0200
-+++ gdb-7.11.90.20160904/gdb/infrun.c 2016-09-04 17:57:45.568145391 +0200
+--- gdb-7.12.50.20170207.orig/gdb/infrun.c 2017-02-07 21:07:40.321202448 +0100
++++ gdb-7.12.50.20170207/gdb/infrun.c 2017-02-07 21:07:42.680220365 +0100
@@ -2218,7 +2218,7 @@
schedlock_replay,
NULL
@@ -11,10 +11,10 @@
static void
show_scheduler_mode (struct ui_file *file, int from_tty,
struct cmd_list_element *c, const char *value)
-Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-cli.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-cli.exp
===================================================================
---- gdb-7.11.90.20160904.orig/gdb/testsuite/gdb.mi/mi-cli.exp 2016-09-04 17:57:12.733853848 +0200
-+++ gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-cli.exp 2016-09-04 17:57:45.569145399 +0200
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.mi/mi-cli.exp 2017-02-07 21:07:40.322202455 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-cli.exp 2017-02-07 21:07:42.680220365 +0100
@@ -199,7 +199,7 @@
# Test that the token is output even for CLI commands
# Also test that *stopped includes frame information.
@@ -24,32 +24,32 @@
"34 next: run"
# Test that the new current source line is output to the console
-Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-logging.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-logging.exp
===================================================================
---- gdb-7.11.90.20160904.orig/gdb/testsuite/gdb.mi/mi-logging.exp 2016-09-04 17:57:12.733853848 +0200
-+++ gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-logging.exp 2016-09-04 17:57:45.569145399 +0200
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.mi/mi-logging.exp 2017-02-07 21:07:42.681220372 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-logging.exp 2017-02-07 21:09:36.950088269 +0100
@@ -53,7 +53,7 @@
set mi_log_prompt "\[(\]gdb\[)\] \[\r\n\]+"
-if [regexp "\\^done\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
+if [regexp "\\^done\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
- pass "Log file contents"
+ pass "log file contents"
} else {
- fail "Log file contents"
+ fail "log file contents"
@@ -76,7 +76,7 @@
set logcontent [read $chan]
close $chan
-if [regexp "1001\\^done\[\r\n\]+$mi_log_prompt.*1002\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt.*1003\\^running\[\r\n\]+\\*running,thread-id=\"all\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
+if [regexp "1001\\^done\[\r\n\]+$mi_log_prompt.*1002\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt.*1003\\^running\[\r\n\]+\\*running,thread-id=\"1\"\[\r\n\]+$mi_log_prompt\\*stopped,reason=\"end-stepping-range\",.*\[\r\n\]+$mi_log_prompt" $logcontent] {
- pass "Redirect log file contents"
+ pass "redirect log file contents"
} else {
- fail "Redirect log file contents"
-Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-console.exp
+ fail "redirect log file contents"
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-console.exp
===================================================================
---- gdb-7.11.90.20160904.orig/gdb/testsuite/gdb.mi/mi-console.exp 2016-09-04 17:57:12.733853848 +0200
-+++ gdb-7.11.90.20160904/gdb/testsuite/gdb.mi/mi-console.exp 2016-09-04 17:57:45.569145399 +0200
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.mi/mi-console.exp 2017-02-07 21:07:40.323202463 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.mi/mi-console.exp 2017-02-07 21:07:42.681220372 +0100
@@ -60,6 +60,9 @@
mi_run_to_main
@@ -60,10 +60,10 @@
# The output we get from the target depends on how it is hosted. If
# we are semihosted (e.g., the sim or a remote target that supports
# the File I/O remote protocol extension), we see the target I/O
-Index: gdb-7.11.90.20160904/gdb/testsuite/gdb.opt/inline-cmds.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/inline-cmds.exp
===================================================================
---- gdb-7.11.90.20160904.orig/gdb/testsuite/gdb.opt/inline-cmds.exp 2016-09-04 17:59:44.600202299 +0200
-+++ gdb-7.11.90.20160904/gdb/testsuite/gdb.opt/inline-cmds.exp 2016-09-04 18:00:04.616380027 +0200
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.opt/inline-cmds.exp 2017-02-07 21:07:40.323202463 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.opt/inline-cmds.exp 2017-02-07 21:07:42.681220372 +0100
@@ -331,7 +331,7 @@
send_gdb "interpreter-exec console \"step\"\n"
++++++ gdb-6.6-threads-static-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.797739041 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.797739041 +0200
@@ -1,8 +1,8 @@
-Index: gdb-7.4.50.20111219/gdb/testsuite/gdb.threads/staticthreads.exp
+Index: gdb-7.12.50.20170207/gdb/testsuite/gdb.threads/staticthreads.exp
===================================================================
---- gdb-7.4.50.20111219.orig/gdb/testsuite/gdb.threads/staticthreads.exp 2011-12-19 21:07:01.436475201 +0100
-+++ gdb-7.4.50.20111219/gdb/testsuite/gdb.threads/staticthreads.exp 2011-12-19 22:08:55.444514127 +0100
-@@ -45,6 +45,13 @@ gdb_test_no_output "set print sevenbit-s
+--- gdb-7.12.50.20170207.orig/gdb/testsuite/gdb.threads/staticthreads.exp 2017-02-26 17:24:48.392316045 +0100
++++ gdb-7.12.50.20170207/gdb/testsuite/gdb.threads/staticthreads.exp 2017-02-26 17:25:38.649677595 +0100
+@@ -41,6 +41,13 @@
# See if the static multi-threaded program runs.
runto_main
@@ -14,5 +14,5 @@
+gdb_test "info threads" "^info threads\r\n\[ \t\]*Id\[ \t\]+Target Id\[ \t\]+Frame\[ \t\]*\r\n\[^\r\n\]* Thread \[^\r\n\]*" "info threads on start"
+
gdb_test "break sem_post"
- set test "Continue to main's call of sem_post"
+ set test "continue to main's call of sem_post"
gdb_test_multiple "continue" "$test" {
++++++ gdb-6.8-attach-signalled-detach-stopped.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.829734516 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.829734516 +0200
@@ -1,7 +1,7 @@
-Index: gdb-7.11.50.20160716/gdb/infrun.c
+Index: gdb-7.99.90.20170420/gdb/infrun.c
===================================================================
---- gdb-7.11.50.20160716.orig/gdb/infrun.c 2016-07-16 14:37:09.317178150 +0200
-+++ gdb-7.11.50.20160716/gdb/infrun.c 2016-07-16 14:37:10.636188765 +0200
+--- gdb-7.99.90.20170420.orig/gdb/infrun.c 2017-04-20 23:19:16.056434309 +0200
++++ gdb-7.99.90.20170420/gdb/infrun.c 2017-04-20 23:19:22.932480367 +0200
@@ -620,6 +620,13 @@
target_pid_to_str (process_ptid));
}
@@ -16,10 +16,10 @@
target_detach (NULL, 0);
}
-Index: gdb-7.11.50.20160716/gdb/linux-nat.c
+Index: gdb-7.99.90.20170420/gdb/linux-nat.c
===================================================================
---- gdb-7.11.50.20160716.orig/gdb/linux-nat.c 2016-07-16 14:37:09.320178174 +0200
-+++ gdb-7.11.50.20160716/gdb/linux-nat.c 2016-07-16 14:38:09.574663094 +0200
+--- gdb-7.99.90.20170420.orig/gdb/linux-nat.c 2017-04-20 23:19:16.058434322 +0200
++++ gdb-7.99.90.20170420/gdb/linux-nat.c 2017-04-20 23:19:22.933480373 +0200
@@ -194,6 +194,11 @@
static struct target_ops *linux_ops;
static struct target_ops linux_ops_saved;
@@ -32,7 +32,7 @@
/* The method to call, if any, when a new thread is attached. */
static void (*linux_nat_new_thread) (struct lwp_info *);
-@@ -1047,6 +1052,9 @@
+@@ -1055,6 +1060,9 @@
if (debug_linux_nat)
fprintf_unfiltered (gdb_stdlog,
"LNPAW: Attaching to a stopped process\n");
@@ -42,7 +42,7 @@
/* The process is definitely stopped. It is in a job control
stop, unless the kernel predates the TASK_STOPPED /
-@@ -1404,6 +1412,25 @@
+@@ -1412,6 +1420,25 @@
return gdb_signal_to_host (signo);
}
@@ -68,7 +68,7 @@
return 0;
}
-@@ -1562,6 +1589,10 @@
+@@ -1570,6 +1597,10 @@
detach_one_lwp (main_lwp, &signo);
inf_ptrace_detach_success (ops);
@@ -77,9 +77,9 @@
+ pid_was_stopped = 0;
+#endif
}
- delete_lwp (main_lwp->ptid);
}
-@@ -1823,6 +1854,16 @@
+
+@@ -1830,6 +1861,16 @@
return;
}
@@ -96,7 +96,7 @@
if (resume_many)
iterate_over_lwps (ptid, linux_nat_resume_callback, lp);
-@@ -3819,6 +3860,10 @@
+@@ -3826,6 +3867,10 @@
/* Let the arch-specific native code know this process is gone. */
linux_nat_forget_process (pid);
@@ -107,10 +107,10 @@
}
/* Convert a native/host siginfo object, into/from the siginfo in the
-Index: gdb-7.11.50.20160716/gdb/testsuite/gdb.threads/attach-stopped.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.threads/attach-stopped.exp
===================================================================
---- gdb-7.11.50.20160716.orig/gdb/testsuite/gdb.threads/attach-stopped.exp 2016-07-16 14:37:09.321178182 +0200
-+++ gdb-7.11.50.20160716/gdb/testsuite/gdb.threads/attach-stopped.exp 2016-07-16 14:37:10.640188797 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.threads/attach-stopped.exp 2017-04-20 23:19:16.059434329 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.threads/attach-stopped.exp 2017-04-20 23:19:22.933480373 +0200
@@ -56,7 +56,65 @@
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
++++++ gdb-6.8-bz436037-reg-no-longer-active.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.845732254 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.845732254 +0200
@@ -1,17 +1,22 @@
-Index: gdb-6.8.50.20090803/gdb/valops.c
+Index: gdb-7.12.50.20170207/gdb/valops.c
===================================================================
---- gdb-6.8.50.20090803.orig/gdb/valops.c 2009-08-04 06:30:45.000000000 +0200
-+++ gdb-6.8.50.20090803/gdb/valops.c 2009-08-04 06:33:05.000000000 +0200
-@@ -926,10 +926,18 @@ value_assign (struct value *toval, struc
+--- gdb-7.12.50.20170207.orig/gdb/valops.c 2017-02-26 17:26:43.839146565 +0100
++++ gdb-7.12.50.20170207/gdb/valops.c 2017-02-26 17:28:40.840988272 +0100
+@@ -1112,6 +1112,8 @@
struct gdbarch *gdbarch;
int value_reg;
-- /* Figure out which frame this is in currently. */
-- frame = frame_find_by_id (VALUE_FRAME_ID (toval));
- value_reg = VALUE_REGNUM (toval);
++ value_reg = VALUE_REGNUM (toval);
++
+ /* Figure out which frame this is in currently.
+
+ We use VALUE_FRAME_ID for obtaining the value's frame id instead of
+@@ -1121,8 +1123,14 @@
+ frame. */
+ frame = frame_find_by_id (VALUE_FRAME_ID (toval));
-+ /* Figure out which frame this is in currently. */
-+ frame = frame_find_by_id (VALUE_FRAME_ID (toval));
+- value_reg = VALUE_REGNUM (toval);
+-
+ /* "set $reg+=1" should work on programs with no debug info,
+ but frame_find_by_id returns NULL here (RH bug 436037).
+ Use current frame, it represents CPU state in this case.
++++++ gdb-6.8-quit-never-aborts.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.869728860 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.869728860 +0200
@@ -5,11 +5,11 @@
should have been detached with SIGSTOP (as they are accidentally left running
on the debugger termination).
-Index: gdb-7.11.50.20160630/gdb/defs.h
+Index: gdb-7.12.50.20170207/gdb/defs.h
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/defs.h 2016-07-03 16:40:43.423078926 +0200
-+++ gdb-7.11.50.20160630/gdb/defs.h 2016-07-03 16:41:08.568271741 +0200
-@@ -175,6 +175,10 @@
+--- gdb-7.12.50.20170207.orig/gdb/defs.h 2017-02-26 21:11:35.654350580 +0100
++++ gdb-7.12.50.20170207/gdb/defs.h 2017-02-26 21:11:52.932473129 +0100
+@@ -169,6 +169,10 @@
/* Flag that function quit should call quit_force. */
extern volatile int sync_quit_force_run;
@@ -20,10 +20,10 @@
extern void quit (void);
/* Helper for the QUIT macro. */
-Index: gdb-7.11.50.20160630/gdb/extension.c
+Index: gdb-7.12.50.20170207/gdb/extension.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/extension.c 2016-07-03 16:40:41.723065890 +0200
-+++ gdb-7.11.50.20160630/gdb/extension.c 2016-07-03 16:41:44.896550309 +0200
+--- gdb-7.12.50.20170207.orig/gdb/extension.c 2017-02-26 21:11:35.655350587 +0100
++++ gdb-7.12.50.20170207/gdb/extension.c 2017-02-26 21:11:52.933473136 +0100
@@ -830,6 +830,11 @@
int i, result = 0;
const struct extension_language_defn *extlang;
@@ -36,12 +36,12 @@
ALL_ENABLED_EXTENSION_LANGUAGES (i, extlang)
{
if (extlang->ops->check_quit_flag != NULL)
-Index: gdb-7.11.50.20160630/gdb/top.c
+Index: gdb-7.12.50.20170207/gdb/top.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/top.c 2016-07-03 16:40:41.724065898 +0200
-+++ gdb-7.11.50.20160630/gdb/top.c 2016-07-03 16:40:43.424078934 +0200
-@@ -1617,7 +1617,13 @@
- qt.args = args;
+--- gdb-7.12.50.20170207.orig/gdb/top.c 2017-02-26 21:11:35.655350587 +0100
++++ gdb-7.12.50.20170207/gdb/top.c 2017-02-26 21:11:52.933473136 +0100
+@@ -1619,7 +1619,13 @@
+ qt.args = NULL;
qt.from_tty = from_tty;
+#ifndef NEED_DETACH_SIGSTOP
@@ -54,11 +54,11 @@
/* Get out of tfind mode, and kill or detach all inferiors. */
TRY
-Index: gdb-7.11.50.20160630/gdb/utils.c
+Index: gdb-7.12.50.20170207/gdb/utils.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/utils.c 2016-07-03 16:40:41.725065905 +0200
-+++ gdb-7.11.50.20160630/gdb/utils.c 2016-07-03 16:41:38.961504799 +0200
-@@ -109,6 +109,13 @@
+--- gdb-7.12.50.20170207.orig/gdb/utils.c 2017-02-26 21:11:35.657350601 +0100
++++ gdb-7.12.50.20170207/gdb/utils.c 2017-02-26 21:11:52.934473143 +0100
+@@ -106,6 +106,13 @@
int job_control;
++++++ gdb-7.12.1.tar.bz2 -> gdb-8.0.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/gdb/gdb-7.12.1.tar.bz2 /work/SRC/openSUSE:Factory/.gdb.new/gdb-8.0.tar.bz2 differ: char 11, line 1
++++++ gdb-archer-pie-addons-keep-disabled.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.921721507 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.921721507 +0200
@@ -1,8 +1,8 @@
-Index: gdb-7.11.90.20160829/gdb/breakpoint.c
+Index: gdb-7.99.90.20170420/gdb/breakpoint.c
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/breakpoint.c 2016-08-29 09:41:57.054875810 +0200
-+++ gdb-7.11.90.20160829/gdb/breakpoint.c 2016-08-29 09:45:04.166612376 +0200
-@@ -16176,6 +16176,50 @@
+--- gdb-7.99.90.20170420.orig/gdb/breakpoint.c 2017-04-20 23:04:39.627960523 +0200
++++ gdb-7.99.90.20170420/gdb/breakpoint.c 2017-04-20 23:07:29.854919725 +0200
+@@ -16086,6 +16086,50 @@
static struct cmd_list_element *enablebreaklist = NULL;
void
@@ -45,19 +45,19 @@
+ }
+
+ if (changed)
-+ qsort (bp_location, bp_location_count, sizeof (*bp_location),
-+ bp_location_compare);
++ qsort (bp_locations, bp_locations_count, sizeof (*bp_locations),
++ bp_locations_compare);
+}
+
+void
_initialize_breakpoint (void)
{
struct cmd_list_element *c;
-Index: gdb-7.11.90.20160829/gdb/breakpoint.h
+Index: gdb-7.99.90.20170420/gdb/breakpoint.h
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/breakpoint.h 2016-08-29 09:41:57.054875810 +0200
-+++ gdb-7.11.90.20160829/gdb/breakpoint.h 2016-08-29 09:42:24.370129320 +0200
-@@ -1644,4 +1644,7 @@
+--- gdb-7.99.90.20170420.orig/gdb/breakpoint.h 2017-04-20 23:04:39.627960523 +0200
++++ gdb-7.99.90.20170420/gdb/breakpoint.h 2017-04-20 23:04:48.331009563 +0200
+@@ -1646,4 +1646,7 @@
UIOUT iff debugging multiple threads. */
extern void maybe_print_thread_hit_breakpoint (struct ui_out *uiout);
@@ -65,11 +65,11 @@
+ struct section_offsets *delta);
+
#endif /* !defined (BREAKPOINT_H) */
-Index: gdb-7.11.90.20160829/gdb/objfiles.c
+Index: gdb-7.99.90.20170420/gdb/objfiles.c
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/objfiles.c 2016-08-29 09:41:57.054875810 +0200
-+++ gdb-7.11.90.20160829/gdb/objfiles.c 2016-08-29 09:42:24.370129320 +0200
-@@ -916,6 +916,11 @@
+--- gdb-7.99.90.20170420.orig/gdb/objfiles.c 2017-04-20 23:04:39.627960523 +0200
++++ gdb-7.99.90.20170420/gdb/objfiles.c 2017-04-20 23:04:48.332009569 +0200
+@@ -909,6 +909,11 @@
obj_section_addr (s));
}
++++++ gdb-archer-pie-addons.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.937719245 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.937719245 +0200
@@ -42,30 +42,6 @@
#define TYPE_FIELD_STATIC_PHYSADDR(thistype, n) FIELD_STATIC_PHYSADDR (TYPE_FIELD (thistype, n))
#define TYPE_FIELD_DWARF_BLOCK(thistype, n) FIELD_DWARF_BLOCK (TYPE_FIELD (thistype, n))
#define TYPE_FIELD_ARTIFICIAL(thistype, n) FIELD_ARTIFICIAL(TYPE_FIELD(thistype,n))
-Index: gdb-7.9.50.20150520/gdb/jv-lang.c
-===================================================================
---- gdb-7.9.50.20150520.orig/gdb/jv-lang.c 2015-05-31 16:55:29.724475491 +0200
-+++ gdb-7.9.50.20150520/gdb/jv-lang.c 2015-05-31 16:55:30.820482408 +0200
-@@ -427,7 +427,8 @@ java_link_class_type (struct gdbarch *gd
-
- fields = NULL;
- nfields--; /* First set up dummy "class" field. */
-- SET_FIELD_PHYSADDR (TYPE_FIELD (type, nfields), value_address (clas));
-+ SET_FIELD_PHYSADDR (TYPE_FIELD (type, nfields), value_address (clas)
-+ - (TYPE_OBJFILE (type) == NULL ? 0 : ANOFFSET (TYPE_OBJFILE (type)->section_offsets, SECT_OFF_TEXT (TYPE_OBJFILE (type)))));
- TYPE_FIELD_NAME (type, nfields) = "class";
- TYPE_FIELD_TYPE (type, nfields) = value_type (clas);
- SET_TYPE_FIELD_PRIVATE (type, nfields);
-@@ -475,7 +476,8 @@ java_link_class_type (struct gdbarch *gd
- SET_TYPE_FIELD_PROTECTED (type, i);
- }
- if (accflags & 0x0008) /* ACC_STATIC */
-- SET_FIELD_PHYSADDR (TYPE_FIELD (type, i), boffset);
-+ SET_FIELD_PHYSADDR (TYPE_FIELD (type, i), boffset
-+ - (TYPE_OBJFILE (type) == NULL ? 0 : ANOFFSET (TYPE_OBJFILE (type)->section_offsets, SECT_OFF_TEXT (TYPE_OBJFILE (type)))));
- else
- SET_FIELD_BITPOS (TYPE_FIELD (type, i), 8 * boffset);
- if (accflags & 0x8000) /* FIELD_UNRESOLVED_FLAG */
Index: gdb-7.9.50.20150520/gdb/value.c
===================================================================
--- gdb-7.9.50.20150520.orig/gdb/value.c 2015-05-31 16:55:29.725475497 +0200
++++++ gdb-archer-vla-tests.patch ++++++
++++ 608 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/gdb/gdb-archer-vla-tests.patch
++++ and /work/SRC/openSUSE:Factory/.gdb.new/gdb-archer-vla-tests.patch
++++++ gdb-archer.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.973714154 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.977713589 +0200
@@ -2,7 +2,7 @@
http://sourceware.org/gdb/wiki/ArcherBranchManagement
GIT snapshot:
-commit cfee64ee869a6a6e4ab0b64af149d4cf59517d80
+commit 718a1618b2f691a7f407213bb50f100ac59f91c3
tromey/python
@@ -16,10 +16,10 @@
+This branch originally held the Python code for gdb. It still exists
+because a small amount of code here has not yet been merged upstream.
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
-index 5af6103..9c69cb0 100644
+index 291b1a0..150a8ef 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
-@@ -1553,6 +1553,12 @@ stamp-h: $(srcdir)/config.in config.status
+@@ -2350,6 +2350,12 @@ stamp-h: $(srcdir)/config.in config.status
CONFIG_LINKS= \
$(SHELL) config.status
@@ -33,21 +33,22 @@
$(SHELL) config.status --recheck
diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
-index 3f23516..b5d6390 100644
+index 304d4b0..d2007a4 100644
--- a/gdb/data-directory/Makefile.in
+++ b/gdb/data-directory/Makefile.in
-@@ -66,7 +66,10 @@ PYTHON_FILE_LIST = \
+@@ -77,7 +77,11 @@ PYTHON_FILE_LIST = \
+ gdb/types.py \
gdb/unwinder.py \
- gdb/prompt.py \
gdb/xmethod.py \
+ gdb/types.py \
gdb/command/__init__.py \
+ gdb/command/ignore_errors.py \
+ gdb/command/pahole.py \
- gdb/command/xmethods.py \
++ gdb/command/xmethods.py \
+ gdb/command/explore.py \
gdb/command/frame_filters.py \
- gdb/command/unwinders.py \
-@@ -78,6 +81,8 @@ PYTHON_FILE_LIST = \
+ gdb/command/pretty_printers.py \
+@@ -89,6 +93,8 @@ PYTHON_FILE_LIST = \
gdb/function/as_string.py \
gdb/function/caller_is.py \
gdb/function/strfns.py \
@@ -57,10 +58,10 @@
gdb/printer/bound_registers.py
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
-index f5dde61..1d92bd6 100644
+index 300d78e..699f2cb 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
-@@ -1225,6 +1225,16 @@ for remote debugging.
+@@ -1230,6 +1230,16 @@ for remote debugging.
Run using @var{device} for your program's standard input and output.
@c FIXME: kingdon thinks there is more to -tty. Investigate.
@@ -78,7 +79,7 @@
@item -tui
@cindex @code{--tui}
diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
-index a17e37d..c56068b 100644
+index ce5810e..4ceb108 100644
--- a/gdb/doc/python.texi
+++ b/gdb/doc/python.texi
@@ -88,8 +88,6 @@ containing @code{end}. For example:
@@ -111,7 +112,7 @@
set variable $gdb_init_done = 1
diff --git a/gdb/main.c b/gdb/main.c
-index 5477379..b7e413f 100644
+index df4b111..6aca8b0 100644
--- a/gdb/main.c
+++ b/gdb/main.c
@@ -33,6 +33,7 @@
@@ -122,16 +123,16 @@
#include "source.h"
#include "cli/cli-cmds.h"
#include "objfiles.h"
-@@ -459,6 +460,8 @@ captured_main (void *data)
- char *cdarg = NULL;
- char *ttyarg = NULL;
+@@ -459,7 +460,7 @@ struct cmdarg
+ };
-+ int python_script = 0;
-+
- /* These are static so that we can take their address in an
- initializer. */
- static int print_help;
-@@ -663,10 +666,14 @@ captured_main (void *data)
+ static void
+-captured_main_1 (struct captured_main_args *context)
++captured_main_1 (struct captured_main_args *context, int &python_script)
+ {
+ int argc = context->argc;
+ char **argv = context->argv;
+@@ -676,10 +677,14 @@ captured_main_1 (struct captured_main_args *context)
{"args", no_argument, &set_args, 1},
{"l", required_argument, 0, 'l'},
{"return-child-result", no_argument, &return_child_result, 1},
@@ -147,7 +148,7 @@
{
int option_index;
-@@ -684,6 +691,9 @@ captured_main (void *data)
+@@ -697,6 +702,9 @@ captured_main_1 (struct captured_main_args *context)
case 0:
/* Long option that just sets a flag. */
break;
@@ -157,7 +158,7 @@
case OPT_SE:
symarg = optarg;
execarg = optarg;
-@@ -864,7 +874,31 @@ captured_main (void *data)
+@@ -855,7 +863,31 @@ captured_main_1 (struct captured_main_args *context)
/* Now that gdb_init has created the initial inferior, we're in
position to set args for that inferior. */
@@ -190,7 +191,7 @@
{
/* The remaining options are the command-line options for the
inferior. The first one is the sym/exec file, and the rest
-@@ -1127,7 +1161,8 @@ captured_main (void *data)
+@@ -1125,7 +1157,8 @@ captured_main_1 (struct captured_main_args *context)
/* Read in the old history after all the command files have been
read. */
@@ -200,9 +201,14 @@
if (batch_flag)
{
-@@ -1138,13 +1173,25 @@ captured_main (void *data)
- /* Show time and/or space usage. */
- do_cleanups (pre_stat_chain);
+@@ -1138,16 +1171,29 @@ static void
+ captured_main (void *data)
+ {
+ struct captured_main_args *context = (struct captured_main_args *) data;
++ int python_script = 0;
+
+- captured_main_1 (context);
++ captured_main_1 (context, python_script);
- /* NOTE: cagney/1999-11-07: There is probably no reason for not
- moving this loop and the code found in captured_command_loop()
@@ -211,16 +217,16 @@
- while (1)
+#if HAVE_PYTHON
+ if (python_script)
- {
-- catch_errors (captured_command_loop, 0, "", RETURN_MASK_ALL);
++ {
+ extern int pagination_enabled;
+ pagination_enabled = 0;
-+ run_python_script (argc - optind, &argv[optind]);
-+ return 1;
++ run_python_script (context->argc - optind, &context->argv[optind]);
++ return;
+ }
+ else
+#endif
-+ {
+ {
+- catch_errors (captured_command_loop, 0, "", RETURN_MASK_ALL);
+ /* NOTE: cagney/1999-11-07: There is probably no reason for not
+ moving this loop and the code found in captured_command_loop()
+ into the command_loop() proper. The main thing holding back that
@@ -232,7 +238,7 @@
}
/* No exit -- exit is through quit_command. */
}
-@@ -1187,6 +1234,12 @@ print_gdb_help (struct ui_file *stream)
+@@ -1190,6 +1236,12 @@ print_gdb_help (struct ui_file *stream)
fputs_unfiltered (_("\
This is the GNU debugger. Usage:\n\n\
gdb [options] [executable-file [core-file or process-id]]\n\
@@ -245,7 +251,7 @@
gdb [options] --args executable-file [inferior-arguments ...]\n\n\
"), stream);
fputs_unfiltered (_("\
-@@ -1231,6 +1284,13 @@ Output and user interface control:\n\n\
+@@ -1234,6 +1286,13 @@ Output and user interface control:\n\n\
#endif
fputs_unfiltered (_("\
--dbx DBX compatibility mode.\n\
@@ -442,8 +448,22 @@
+ return wanted == found
+
+InScope ()
+diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h
+index e84c8d2..69305b4 100644
+--- a/gdb/python/python-internal.h
++++ b/gdb/python/python-internal.h
+@@ -672,6 +672,9 @@ class gdbpy_enter_varobj : public gdbpy_enter
+
+ };
+
++struct cleanup *ensure_python_env (struct gdbarch *gdbarch,
++ const struct language_defn *language);
++
+ extern struct gdbarch *python_gdbarch;
+ extern const struct language_defn *python_language;
+
diff --git a/gdb/python/python.c b/gdb/python/python.c
-index 621e201..703a1a0 100644
+index 7e0c507..a67fbc3 100644
--- a/gdb/python/python.c
+++ b/gdb/python/python.c
@@ -95,6 +95,8 @@ const struct extension_language_defn extension_language_python =
@@ -455,7 +475,37 @@
#include "target.h"
#include "gdbthread.h"
#include "interps.h"
-@@ -1263,6 +1265,92 @@ gdbpy_print_stack (void)
+@@ -242,6 +244,29 @@ gdbpy_enter::~gdbpy_enter ()
+ restore_active_ext_lang (m_previous_active);
+ }
+
++static void
++restore_python_env (void *p)
++{
++ gdbpy_enter *env = (gdbpy_enter *) p;
++
++ delete env;
++}
++
++/* Called before entering the Python interpreter to install the
++ current language and architecture to be used for Python values.
++ Also set the active extension language for GDB so that SIGINT's
++ are directed our way, and if necessary install the right SIGINT
++ handler. */
++
++struct cleanup *
++ensure_python_env (struct gdbarch *gdbarch,
++ const struct language_defn *language)
++{
++ gdbpy_enter *env = new gdbpy_enter (gdbarch, language);
++
++ return make_cleanup (restore_python_env, env);
++}
++
+ /* Set the quit flag. */
+
+ static void
+@@ -1187,6 +1212,92 @@ gdbpy_print_stack (void)
/* Return the current Progspace.
There always is one. */
@@ -473,7 +523,7 @@
+ if (! running_python_script || in_cli)
+ return PyErr_Format (PyExc_RuntimeError, "cannot invoke CLI recursively");
+
-+ if (ui_out_is_mi_like_p (current_uiout))
++ if (current_uiout->is_mi_like_p ())
+ return PyErr_Format (PyExc_RuntimeError, _("Cannot invoke CLI from MI."));
+
+ in_cli = 1;
@@ -548,7 +598,7 @@
static PyObject *
gdbpy_get_current_progspace (PyObject *unused1, PyObject *unused2)
-@@ -1981,6 +2069,8 @@ PyMethodDef python_GdbMethods[] =
+@@ -1881,6 +1992,8 @@ PyMethodDef python_GdbMethods[] =
Evaluate command, a string, as a gdb CLI command. Optionally returns\n\
a Python String containing the output of the command if to_string is\n\
set to True." },
@@ -558,7 +608,7 @@
"Return a gdb parameter's value" },
diff --git a/gdb/python/python.h b/gdb/python/python.h
-index b810187..a3620ab 100644
+index e407faa..fc1c632 100644
--- a/gdb/python/python.h
+++ b/gdb/python/python.h
@@ -25,4 +25,6 @@
@@ -568,23 +618,8 @@
+extern void run_python_script (int argc, char **argv);
+
#endif /* GDB_PYTHON_H */
-diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest.exp
-index 2fdd9e3..391900d 100644
---- a/gdb/testsuite/gdb.gdb/selftest.exp
-+++ b/gdb/testsuite/gdb.gdb/selftest.exp
-@@ -87,6 +87,10 @@ proc do_steps_and_nexts {} {
- set description "step over cmdarg_vec initialization"
- set command "step"
- }
-+ -re ".*python_script = 0.*$gdb_prompt $" {
-+ set description "step over python_script initialization"
-+ set command "step"
-+ }
- -re ".*pre_stat_chain = make_command_stats_cleanup.*$gdb_prompt $" {
- set description "next over make_command_stats_cleanup and everything it calls"
- set command "next"
diff --git a/gdb/testsuite/gdb.python/py-frame.exp b/gdb/testsuite/gdb.python/py-frame.exp
-index b5a4682..d5451a6 100644
+index f5d4a3c..3546f7b 100644
--- a/gdb/testsuite/gdb.python/py-frame.exp
+++ b/gdb/testsuite/gdb.python/py-frame.exp
@@ -95,6 +95,8 @@ gdb_test "python print ('result = %s' % f0.read_var ('a'))" " = 1" "test Frame.r
@@ -597,10 +632,10 @@
gdb_test "python print ('result = %s' % (gdb.selected_frame ().read_register ('sp') == gdb.parse_and_eval ('\$sp')))" \
" = True" \
diff --git a/gdb/testsuite/gdb.python/py-value.exp b/gdb/testsuite/gdb.python/py-value.exp
-index 57a9ba1..d90d85a 100644
+index 1781887..8a2ddd6 100644
--- a/gdb/testsuite/gdb.python/py-value.exp
+++ b/gdb/testsuite/gdb.python/py-value.exp
-@@ -397,6 +397,15 @@ proc test_value_after_death {} {
+@@ -384,6 +384,15 @@ proc test_value_after_death {} {
"print value's type"
}
@@ -616,11 +651,43 @@
# Regression test for invalid subscript operations. The bug was that
# the type of the value was not being checked before allowing a
# subscript operation to proceed.
-@@ -526,6 +535,7 @@ test_value_in_inferior
+@@ -512,6 +521,7 @@ if ![runto_main] then {
+ test_value_in_inferior
test_inferior_function_call
- test_lazy_strings
test_value_after_death
+test_cast_regression
# Test either C or C++ values.
+diff --git a/gdb/varobj.c b/gdb/varobj.c
+index 5f21d84..18506f1 100644
+--- a/gdb/varobj.c
++++ b/gdb/varobj.c
+@@ -226,6 +226,14 @@ is_root_p (const struct varobj *var)
+ }
+
+ #ifdef HAVE_PYTHON
++/* Helper function to install a Python environment suitable for
++ use during operations on VAR. */
++struct cleanup *
++varobj_ensure_python_env (const struct varobj *var)
++{
++ return ensure_python_env (var->root->exp->gdbarch,
++ var->root->exp->language_defn);
++}
+
+ /* See python-internal.h. */
+ gdbpy_enter_varobj::gdbpy_enter_varobj (const struct varobj *var)
+diff --git a/gdb/varobj.h b/gdb/varobj.h
+index e35c1b8..12339d1 100644
+--- a/gdb/varobj.h
++++ b/gdb/varobj.h
+@@ -320,6 +320,8 @@ extern int varobj_has_more (const struct varobj *var, int to);
+
+ extern int varobj_is_dynamic_p (const struct varobj *var);
+
++extern struct cleanup *varobj_ensure_python_env (const struct varobj *var);
++
+ extern int varobj_default_value_is_changeable_p (const struct varobj *var);
+ extern int varobj_value_is_changeable_p (const struct varobj *var);
+
++++++ gdb-attach-fail-reasons-5of5.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:07.993711327 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:07.993711327 +0200
@@ -37,13 +37,13 @@
(linux_create_inferior, linux_tracefork_child): Call it instead of
direct ptrace.
-Index: gdb-7.11.90.20160829/gdb/nat/linux-ptrace.c
+Index: gdb-7.12.50.20170226/gdb/nat/linux-ptrace.c
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/nat/linux-ptrace.c 2016-08-29 09:35:26.798230659 +0200
-+++ gdb-7.11.90.20160829/gdb/nat/linux-ptrace.c 2016-08-29 09:35:43.162384100 +0200
-@@ -25,6 +25,10 @@
- #include "gdb_ptrace.h"
+--- gdb-7.12.50.20170226.orig/gdb/nat/linux-ptrace.c 2017-02-26 21:27:14.780009449 +0100
++++ gdb-7.12.50.20170226/gdb/nat/linux-ptrace.c 2017-02-26 21:27:18.838038193 +0100
+@@ -27,6 +27,10 @@
#include <sys/procfs.h>
+ #endif
+#ifdef HAVE_SELINUX_SELINUX_H
+# include <selinux/selinux.h>
@@ -52,7 +52,7 @@
/* Stores the ptrace options supported by the running kernel.
A value of -1 means we did not check for features yet. A value
of 0 means there are no supported features. */
-@@ -49,6 +53,8 @@
+@@ -51,6 +55,8 @@
buffer_xml_printf (buffer, _("process %d is a zombie "
"- the process has already terminated"),
(int) pid);
@@ -61,7 +61,7 @@
}
/* See linux-ptrace.h. */
-@@ -592,6 +598,22 @@
+@@ -594,6 +600,22 @@
linux_ptrace_test_ret_to_nx ();
}
@@ -84,10 +84,10 @@
/* Extract extended ptrace event from wait status. */
int
-Index: gdb-7.11.90.20160829/gdb/nat/linux-ptrace.h
+Index: gdb-7.12.50.20170226/gdb/nat/linux-ptrace.h
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/nat/linux-ptrace.h 2016-08-29 09:35:26.798230659 +0200
-+++ gdb-7.11.90.20160829/gdb/nat/linux-ptrace.h 2016-08-29 09:35:43.162384100 +0200
+--- gdb-7.12.50.20170226.orig/gdb/nat/linux-ptrace.h 2017-02-26 21:27:14.780009449 +0100
++++ gdb-7.12.50.20170226/gdb/nat/linux-ptrace.h 2017-02-26 21:27:18.838038193 +0100
@@ -185,6 +185,7 @@
extern char *linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err);
@@ -96,11 +96,11 @@
extern void linux_check_ptrace_features (void);
extern void linux_enable_event_reporting (pid_t pid, int attached);
extern void linux_disable_event_reporting (pid_t pid);
-Index: gdb-7.11.90.20160829/gdb/configure.ac
+Index: gdb-7.12.50.20170226/gdb/configure.ac
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/configure.ac 2016-08-29 09:35:26.799230668 +0200
-+++ gdb-7.11.90.20160829/gdb/configure.ac 2016-08-29 09:35:43.163384109 +0200
-@@ -2108,6 +2108,10 @@
+--- gdb-7.12.50.20170226.orig/gdb/configure.ac 2017-02-26 21:27:14.781009456 +0100
++++ gdb-7.12.50.20170226/gdb/configure.ac 2017-02-26 21:27:18.839038200 +0100
+@@ -2092,6 +2092,10 @@
esac
AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
@@ -111,11 +111,11 @@
dnl Handle optional features that can be enabled.
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
-Index: gdb-7.11.90.20160829/gdb/gdbserver/configure.ac
+Index: gdb-7.12.50.20170226/gdb/gdbserver/configure.ac
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/gdbserver/configure.ac 2016-08-29 09:35:26.799230668 +0200
-+++ gdb-7.11.90.20160829/gdb/gdbserver/configure.ac 2016-08-29 09:35:43.163384109 +0200
-@@ -472,6 +472,10 @@
+--- gdb-7.12.50.20170226.orig/gdb/gdbserver/configure.ac 2017-02-26 21:27:14.781009456 +0100
++++ gdb-7.12.50.20170226/gdb/gdbserver/configure.ac 2017-02-26 21:27:18.839038200 +0100
+@@ -469,6 +469,10 @@
fi
fi
@@ -126,11 +126,11 @@
AC_SUBST(GDBSERVER_DEPFILES)
AC_SUBST(GDBSERVER_LIBS)
AC_SUBST(srv_xmlbuiltin)
-Index: gdb-7.11.90.20160829/gdb/gdbserver/linux-low.c
+Index: gdb-7.12.50.20170226/gdb/gdbserver/linux-low.c
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/gdbserver/linux-low.c 2016-08-29 09:35:26.801230687 +0200
-+++ gdb-7.11.90.20160829/gdb/gdbserver/linux-low.c 2016-08-29 09:35:43.165384128 +0200
-@@ -933,6 +933,29 @@
+--- gdb-7.12.50.20170226.orig/gdb/gdbserver/linux-low.c 2017-02-26 21:27:14.783009470 +0100
++++ gdb-7.12.50.20170226/gdb/gdbserver/linux-low.c 2017-02-26 21:27:18.841038214 +0100
+@@ -946,6 +946,29 @@
return lwp;
}
@@ -160,7 +160,7 @@
/* Start an inferior process and returns its pid.
ALLARGS is a vector of program-name and args. */
-@@ -956,7 +979,7 @@
+@@ -969,7 +992,7 @@
if (pid == 0)
{
close_most_fds ();
@@ -169,31 +169,11 @@
setpgid (0, 0);
-Index: gdb-7.11.90.20160829/gdb/inf-ptrace.c
+Index: gdb-7.12.50.20170226/gdb/linux-nat.c
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/inf-ptrace.c 2016-08-29 09:35:26.801230687 +0200
-+++ gdb-7.11.90.20160829/gdb/inf-ptrace.c 2016-08-29 09:35:43.165384128 +0200
-@@ -79,7 +79,15 @@
- inf_ptrace_me (void)
- {
- /* "Trace me, Dr. Memory!" */
-+ errno = 0;
- ptrace (PT_TRACE_ME, 0, (PTRACE_TYPE_ARG3)0, 0);
-+ if (errno != 0)
-+ {
-+ fprintf_unfiltered (gdb_stderr, _("Cannot create process: %s\n"),
-+ safe_strerror (errno));
-+ gdb_flush (gdb_stderr);
-+ _exit (0177);
-+ }
- }
-
- /* Start a new inferior Unix child process. EXEC_FILE is the file to
-Index: gdb-7.11.90.20160829/gdb/linux-nat.c
-===================================================================
---- gdb-7.11.90.20160829.orig/gdb/linux-nat.c 2016-08-29 09:35:26.802230697 +0200
-+++ gdb-7.11.90.20160829/gdb/linux-nat.c 2016-08-29 09:35:43.166384137 +0200
-@@ -1102,6 +1102,7 @@
+--- gdb-7.12.50.20170226.orig/gdb/linux-nat.c 2017-02-26 21:27:14.785009484 +0100
++++ gdb-7.12.50.20170226/gdb/linux-nat.c 2017-02-26 21:27:18.842038221 +0100
+@@ -1110,6 +1110,7 @@
{
struct cleanup *restore_personality
= maybe_disable_address_space_randomization (disable_randomization);
@@ -201,7 +181,7 @@
/* The fork_child mechanism is synchronous and calls target_wait, so
we have to mask the async mode. */
-@@ -1109,7 +1110,28 @@
+@@ -1117,7 +1118,28 @@
/* Make sure we report all signals during startup. */
linux_nat_pass_signals (ops, 0, NULL);
@@ -231,11 +211,11 @@
do_cleanups (restore_personality);
}
-Index: gdb-7.11.90.20160829/gdb/config.in
+Index: gdb-7.12.50.20170226/gdb/config.in
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/config.in 2016-08-29 09:35:26.803230706 +0200
-+++ gdb-7.11.90.20160829/gdb/config.in 2016-08-29 09:35:43.166384137 +0200
-@@ -267,6 +267,9 @@
+--- gdb-7.12.50.20170226.orig/gdb/config.in 2017-02-26 21:27:14.786009491 +0100
++++ gdb-7.12.50.20170226/gdb/config.in 2017-02-26 21:27:18.842038221 +0100
+@@ -270,6 +270,9 @@
/* Define if librpm library is being used. */
#undef HAVE_LIBRPM
@@ -245,7 +225,7 @@
/* Define to 1 if you have the <libunwind-ia64.h> header file. */
#undef HAVE_LIBUNWIND_IA64_H
-@@ -399,6 +402,9 @@
+@@ -402,6 +405,9 @@
/* Define to 1 if you have the `scm_new_smob' function. */
#undef HAVE_SCM_NEW_SMOB
@@ -255,11 +235,11 @@
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
-Index: gdb-7.11.90.20160829/gdb/configure
+Index: gdb-7.12.50.20170226/gdb/configure
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/configure 2016-08-29 09:35:26.806230734 +0200
-+++ gdb-7.11.90.20160829/gdb/configure 2016-08-29 09:35:43.170384175 +0200
-@@ -14642,6 +14642,64 @@
+--- gdb-7.12.50.20170226.orig/gdb/configure 2017-02-26 21:27:14.790009519 +0100
++++ gdb-7.12.50.20170226/gdb/configure 2017-02-26 21:27:18.846038249 +0100
+@@ -15492,6 +15492,64 @@
_ACEOF
@@ -324,11 +304,11 @@
# Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
# except that the argument to --with-sysroot is optional.
-Index: gdb-7.11.90.20160829/gdb/gdbserver/config.in
+Index: gdb-7.12.50.20170226/gdb/gdbserver/config.in
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/gdbserver/config.in 2016-08-29 09:35:26.807230743 +0200
-+++ gdb-7.11.90.20160829/gdb/gdbserver/config.in 2016-08-29 09:35:43.170384175 +0200
-@@ -120,6 +120,9 @@
+--- gdb-7.12.50.20170226.orig/gdb/gdbserver/config.in 2017-02-26 21:27:14.791009527 +0100
++++ gdb-7.12.50.20170226/gdb/gdbserver/config.in 2017-02-26 21:27:18.846038249 +0100
+@@ -123,6 +123,9 @@
/* Define to 1 if you have the `mcheck' library (-lmcheck). */
#undef HAVE_LIBMCHECK
@@ -338,7 +318,7 @@
/* Define if the target supports branch tracing. */
#undef HAVE_LINUX_BTRACE
-@@ -196,6 +199,9 @@
+@@ -199,6 +202,9 @@
/* Define to 1 if you have the `pwrite' function. */
#undef HAVE_PWRITE
@@ -348,11 +328,11 @@
/* Define to 1 if you have the `setns' function. */
#undef HAVE_SETNS
-Index: gdb-7.11.90.20160829/gdb/gdbserver/configure
+Index: gdb-7.12.50.20170226/gdb/gdbserver/configure
===================================================================
---- gdb-7.11.90.20160829.orig/gdb/gdbserver/configure 2016-08-29 09:35:26.809230762 +0200
-+++ gdb-7.11.90.20160829/gdb/gdbserver/configure 2016-08-29 09:35:43.172384194 +0200
-@@ -7561,6 +7561,64 @@
+--- gdb-7.12.50.20170226.orig/gdb/gdbserver/configure 2017-02-26 21:27:14.793009541 +0100
++++ gdb-7.12.50.20170226/gdb/gdbserver/configure 2017-02-26 21:27:18.848038263 +0100
+@@ -8429,6 +8429,64 @@
fi
fi
++++++ gdb-btrobust.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.005709630 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.005709630 +0200
@@ -3,83 +3,32 @@
--
-Index: gdb-7.9.50.20150520/gdb/python/py-framefilter.c
+Index: gdb-7.12.50.20170226/gdb/python/py-framefilter.c
===================================================================
---- gdb-7.9.50.20150520.orig/gdb/python/py-framefilter.c 2015-05-31 17:36:34.681952530 +0200
-+++ gdb-7.9.50.20150520/gdb/python/py-framefilter.c 2015-05-31 17:55:01.884788031 +0200
-@@ -1523,6 +1523,7 @@ gdbpy_apply_frame_filter (const struct e
- PyObject *iterable;
- PyObject *item;
- htab_t levels_printed;
-+ int count_printed = 0;
-
- if (!gdb_python_initialized)
- return EXT_LANG_BT_NO_FILTERS;
-@@ -1543,24 +1544,7 @@ gdbpy_apply_frame_filter (const struct e
- iterable = bootstrap_python_frame_filters (frame, frame_low, frame_high);
-
- if (iterable == NULL)
-- {
-- /* Normally if there is an error GDB prints the exception,
-- abandons the backtrace and exits. The user can then call "bt
-- no-filters", and get a default backtrace (it would be
-- confusing to automatically start a standard backtrace halfway
-- through a Python filtered backtrace). However in the case
-- where GDB cannot initialize the frame filters (most likely
-- due to incorrect auto-load paths), GDB has printed nothing.
-- In this case it is OK to print the default backtrace after
-- printing the error message. GDB returns EXT_LANG_BT_NO_FILTERS
-- here to signify there are no filters after printing the
-- initialization error. This return code will trigger a
-- default backtrace. */
--
-- gdbpy_print_stack ();
-- do_cleanups (cleanups);
-- return EXT_LANG_BT_NO_FILTERS;
-- }
-+ goto error_nothing_printed;
+--- gdb-7.12.50.20170226.orig/gdb/python/py-framefilter.c 2017-02-26 21:33:23.150618708 +0100
++++ gdb-7.12.50.20170226/gdb/python/py-framefilter.c 2017-02-26 21:33:29.993667179 +0100
+@@ -1388,6 +1388,7 @@
+ htab_eq_pointer,
+ NULL));
- /* If iterable is None, then there are no frame filters registered.
- If this is the case, defer to default GDB printing routines in MI
-@@ -1591,15 +1575,40 @@ gdbpy_apply_frame_filter (const struct e
++ int count_printed = 0;
+ while (true)
+ {
+ gdbpy_ref<> item (PyIter_Next (iterable.get ()));
+@@ -1397,7 +1398,7 @@
+ if (PyErr_Occurred ())
+ {
+ gdbpy_print_stack ();
+- return EXT_LANG_BT_ERROR;
++ return count_printed > 0 ? EXT_LANG_BT_ERROR : EXT_LANG_BT_NO_FILTERS;
+ }
+ break;
+ }
+@@ -1409,6 +1410,7 @@
error and continue with other frames. */
if (success == EXT_LANG_BT_ERROR)
gdbpy_print_stack ();
-+
+ count_printed++;
}
- if (item == NULL && PyErr_Occurred ())
-- goto error;
-+ {
-+ if (count_printed > 0)
-+ goto error;
-+ else
-+ goto error_nothing_printed;
-+ }
-
- done:
- do_cleanups (cleanups);
return success;
-
-+ /* Normally if there is an error GDB prints the exception,
-+ abandons the backtrace and exits. The user can then call "bt
-+ no-filters", and get a default backtrace (it would be
-+ confusing to automatically start a standard backtrace halfway
-+ through a Python filtered backtrace). However in the case
-+ where GDB cannot initialize the frame filters (most likely
-+ due to incorrect auto-load paths), GDB has printed nothing.
-+ In this case it is OK to print the default backtrace after
-+ printing the error message. GDB returns EXT_LANG_BT_NO_FILTERS
-+ here to signify there are no filters after printing the
-+ initialization error. This return code will trigger a
-+ default backtrace. */
-+
-+ error_nothing_printed:
-+ gdbpy_print_stack ();
-+ do_cleanups (cleanups);
-+ return EXT_LANG_BT_NO_FILTERS;
-+
- /* Exit and abandon backtrace on error, printing the exception that
- is set. */
- error:
++++++ gdb-dts-rhel6-python-compat.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.049703408 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.049703408 +0200
@@ -1,30 +1,30 @@
https://bugzilla.redhat.com/show_bug.cgi?id=1020004
-Index: gdb-7.11.50.20160630/gdb/data-directory/Makefile.in
+Index: gdb-7.12.50.20170207/gdb/data-directory/Makefile.in
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/data-directory/Makefile.in 2016-07-03 16:32:13.788164041 +0200
-+++ gdb-7.11.50.20160630/gdb/data-directory/Makefile.in 2016-07-03 16:32:17.868198850 +0200
-@@ -61,6 +61,8 @@
- gdb/frames.py \
- gdb/FrameIterator.py \
+--- gdb-7.12.50.20170207.orig/gdb/data-directory/Makefile.in 2017-02-26 21:10:31.418894975 +0100
++++ gdb-7.12.50.20170207/gdb/data-directory/Makefile.in 2017-02-26 21:11:07.083147930 +0100
+@@ -71,6 +71,8 @@
+ gdb/__init__.py \
gdb/FrameDecorator.py \
+ gdb/FrameIterator.py \
+ gdb/FrameWrapper.py \
+ gdb/backtrace.py \
- gdb/types.py \
+ gdb/frames.py \
gdb/printing.py \
- gdb/unwinder.py \
-@@ -77,6 +79,7 @@
- gdb/command/pretty_printers.py \
- gdb/command/prompt.py \
+ gdb/prompt.py \
+@@ -83,6 +85,7 @@
+ gdb/command/pahole.py \
+ gdb/command/xmethods.py \
gdb/command/explore.py \
+ gdb/command/backtrace.py \
- gdb/function/__init__.py \
- gdb/function/as_string.py \
- gdb/function/caller_is.py \
-Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/FrameWrapper.py
+ gdb/command/frame_filters.py \
+ gdb/command/pretty_printers.py \
+ gdb/command/prompt.py \
+Index: gdb-7.12.50.20170207/gdb/python/lib/gdb/FrameWrapper.py
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.50.20160630/gdb/python/lib/gdb/FrameWrapper.py 2016-07-03 16:32:17.869198859 +0200
++++ gdb-7.12.50.20170207/gdb/python/lib/gdb/FrameWrapper.py 2017-02-26 21:10:31.419894983 +0100
@@ -0,0 +1,122 @@
+# Wrapper API for frames.
+
@@ -62,7 +62,7 @@
+ if val != None:
+ val = str (val)
+ # FIXME: would be nice to have a more precise exception here.
-+ except RuntimeError, text:
++ except RuntimeError as text:
+ val = text
+ if val == None:
+ stream.write ("???")
@@ -148,10 +148,10 @@
+
+ def __getattr__ (self, name):
+ return getattr (self.frame, name)
-Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/backtrace.py
+Index: gdb-7.12.50.20170207/gdb/python/lib/gdb/backtrace.py
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.50.20160630/gdb/python/lib/gdb/backtrace.py 2016-07-03 16:32:17.869198859 +0200
++++ gdb-7.12.50.20170207/gdb/python/lib/gdb/backtrace.py 2017-02-26 21:10:31.419894983 +0100
@@ -0,0 +1,42 @@
+# Filtering backtrace.
+
@@ -195,10 +195,10 @@
+ return iter
+ return old_frame_filter (iter)
+
-Index: gdb-7.11.50.20160630/gdb/python/lib/gdb/command/backtrace.py
+Index: gdb-7.12.50.20170207/gdb/python/lib/gdb/command/backtrace.py
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.50.20160630/gdb/python/lib/gdb/command/backtrace.py 2016-07-03 16:32:17.869198859 +0200
++++ gdb-7.12.50.20170207/gdb/python/lib/gdb/command/backtrace.py 2017-02-26 21:10:31.419894983 +0100
@@ -0,0 +1,106 @@
+# New backtrace command.
+
++++++ gdb-glibc-strstr-workaround.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.081698883 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.081698883 +0200
@@ -60,7 +60,7 @@
+set testfile "gnu-ifunc-strstr-workaround"
+set executable ${testfile}
+set srcfile start.c
-+set binfile ${objdir}/${subdir}/${executable}
++set binfile [standard_output_file ${executable}]
+
+if [prepare_for_testing ${testfile}.exp $executable $srcfile] {
+ return -1
++++++ gdb-gnat-dwarf-crash-3of3.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.097696621 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.097696621 +0200
@@ -34,11 +34,11 @@
* dwarf2read.c (process_die): Change gdb_assert to complaint.
-diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
-index 3eaa0b1..71f5d34 100644
---- a/gdb/dwarf2read.c
-+++ b/gdb/dwarf2read.c
-@@ -8029,7 +8029,13 @@ process_die (struct die_info *die, struct dwarf2_cu *cu)
+Index: gdb-7.99.90.20170420/gdb/dwarf2read.c
+===================================================================
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c 2017-04-20 23:15:26.578897210 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2read.c 2017-04-20 23:15:57.805106371 +0200
+@@ -8426,7 +8426,13 @@
struct cleanup *in_process;
/* We should only be processing those not already in process. */
@@ -47,12 +47,9 @@
+ {
+ complaint (&symfile_complaints,
+ _("DIE at 0x%x attempted to be processed twice"),
-+ die->offset.sect_off);
++ to_underlying (die->sect_off));
+ return;
+ }
die->in_process = 1;
in_process = make_cleanup (reset_die_in_process,die);
-
---6TrnltStXW4iwmi0--
-
++++++ gdb-ppc-power7-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.173685874 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.173685874 +0200
@@ -1,5 +1,5 @@
--- /dev/null
-+++ b/gdb/testsuite/gdb.arch/powerpc-power7.exp
++++ b/gdb/testsuite/gdb.arch/powerpc-power7rh.exp
@@ -0,0 +1,182 @@
+# Copyright 2009 Free Software Foundation, Inc.
+
@@ -24,7 +24,7 @@
+ return
+}
+
-+set testfile "powerpc-power7"
++set testfile "powerpc-power7rh"
+set srcfile ${testfile}.s
+set objfile [standard_output_file ${testfile}.o]
+
@@ -184,7 +184,7 @@
+func_check 0x198 "frsqrtes. f14,f15"
+func_check 0x19c "isel r2,r3,r4,28"
--- /dev/null
-+++ b/gdb/testsuite/gdb.arch/powerpc-power7.s
++++ b/gdb/testsuite/gdb.arch/powerpc-power7rh.s
@@ -0,0 +1,107 @@
+ .text
+ .globl func
++++++ gdb-python-gil.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.185684177 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.189683612 +0200
@@ -1,8 +1,8 @@
-Index: gdb-7.11.50.20160630/gdb/doc/python.texi
+Index: gdb-7.99.90.20170420/gdb/doc/python.texi
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/doc/python.texi 2016-07-03 16:30:37.009338358 +0200
-+++ gdb-7.11.50.20160630/gdb/doc/python.texi 2016-07-03 16:30:42.812387867 +0200
-@@ -229,6 +229,14 @@
+--- gdb-7.99.90.20170420.orig/gdb/doc/python.texi 2017-04-20 23:16:30.895328018 +0200
++++ gdb-7.99.90.20170420/gdb/doc/python.texi 2017-04-20 23:16:35.690360136 +0200
+@@ -230,6 +230,14 @@
return value is @code{None}. If @var{to_string} is @code{True}, the
@value{GDBN} virtual terminal will be temporarily set to unlimited width
and height, and its pagination will be disabled; @pxref{Screen Size}.
@@ -17,11 +17,11 @@
@end defun
@findex gdb.breakpoints
-Index: gdb-7.11.50.20160630/gdb/python/python-internal.h
+Index: gdb-7.99.90.20170420/gdb/python/python-internal.h
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/python/python-internal.h 2016-07-03 16:30:37.010338366 +0200
-+++ gdb-7.11.50.20160630/gdb/python/python-internal.h 2016-07-03 16:30:42.812387867 +0200
-@@ -140,6 +140,8 @@
+--- gdb-7.99.90.20170420.orig/gdb/python/python-internal.h 2017-04-20 23:16:30.896328024 +0200
++++ gdb-7.99.90.20170420/gdb/python/python-internal.h 2017-04-20 23:16:35.690360136 +0200
+@@ -142,6 +142,8 @@
#define PyGILState_Release(ARG) ((void)(ARG))
#define PyEval_InitThreads()
#define PyThreadState_Swap(ARG) ((void)(ARG))
@@ -30,34 +30,32 @@
#define PyEval_ReleaseLock()
#endif
-Index: gdb-7.11.50.20160630/gdb/python/python.c
+Index: gdb-7.99.90.20170420/gdb/python/python.c
===================================================================
---- gdb-7.11.50.20160630.orig/gdb/python/python.c 2016-07-03 16:30:37.011338375 +0200
-+++ gdb-7.11.50.20160630/gdb/python/python.c 2016-07-03 16:31:16.324673783 +0200
-@@ -619,13 +619,18 @@
+--- gdb-7.99.90.20170420.orig/gdb/python/python.c 2017-04-20 23:16:30.897328031 +0200
++++ gdb-7.99.90.20170420/gdb/python/python.c 2017-04-20 23:18:11.377001070 +0200
+@@ -594,12 +594,16 @@
{
const char *arg;
PyObject *from_tty_obj = NULL, *to_string_obj = NULL;
- int from_tty, to_string;
-- static char *keywords[] = {"command", "from_tty", "to_string", NULL };
-+ PyObject *release_gil_obj = NULL;
+- static const char *keywords[] = { "command", "from_tty", "to_string", NULL };
+ int from_tty, to_string, release_gil;
-+ static char *keywords[] = {"command", "from_tty", "to_string",
-+ "release_gil", NULL };
- char *result = NULL;
++ static const char *keywords[] = {"command", "from_tty", "to_string", "release_gil", NULL };
++ PyObject *release_gil_obj = NULL;
+ /* Initialize it just to avoid a GCC false warning. */
+ PyThreadState *state = NULL;
-- if (! PyArg_ParseTupleAndKeywords (args, kw, "s|O!O!", keywords, &arg,
-+ if (! PyArg_ParseTupleAndKeywords (args, kw, "s|O!O!O!", keywords, &arg,
- &PyBool_Type, &from_tty_obj,
-- &PyBool_Type, &to_string_obj))
-+ &PyBool_Type, &to_string_obj,
-+ &PyBool_Type, &release_gil_obj))
+- if (!gdb_PyArg_ParseTupleAndKeywords (args, kw, "s|O!O!", keywords, &arg,
++ if (!gdb_PyArg_ParseTupleAndKeywords (args, kw, "s|O!O!O!", keywords, &arg,
+ &PyBool_Type, &from_tty_obj,
+- &PyBool_Type, &to_string_obj))
++ &PyBool_Type, &to_string_obj,
++ &PyBool_Type, &release_gil_obj))
return NULL;
from_tty = 0;
-@@ -646,6 +651,15 @@
+@@ -620,6 +624,15 @@
to_string = cmp;
}
@@ -70,11 +68,11 @@
+ release_gil = cmp;
+ }
+
+ std::string to_string_res;
+
TRY
- {
- /* Copy the argument text in case the command modifies it. */
-@@ -653,6 +667,13 @@
- struct cleanup *cleanup = make_cleanup (xfree, copy);
+@@ -628,6 +641,13 @@
+ std::string copy (arg);
struct interp *interp;
+ /* In the case of long running GDB commands, allow the user to
@@ -84,18 +82,17 @@
+ if (release_gil)
+ state = PyEval_SaveThread();
+
- make_cleanup_restore_integer (¤t_ui->async);
- current_ui->async = 0;
-
-@@ -671,11 +692,23 @@
- execute_command (copy, from_tty);
- }
+ scoped_restore save_async = make_scoped_restore (¤t_ui->async, 0);
+ scoped_restore save_uiout = make_scoped_restore (¤t_uiout);
+@@ -642,10 +662,22 @@
+ to_string_res = execute_command_to_string (©[0], from_tty);
+ else
+ execute_command (©[0], from_tty);
++
+ /* Reacquire the GIL if it was released earlier. */
+ if (release_gil)
+ PyEval_RestoreThread (state);
-+
- do_cleanups (cleanup);
}
CATCH (except, RETURN_MASK_ALL)
{
@@ -112,8 +109,10 @@
}
END_CATCH
---- /dev/null 2016-09-12 21:37:05.332693927 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.python/py-gil-mthread.c 2016-09-12 21:51:53.750317187 +0200
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.c 2017-04-20 23:16:35.691360143 +0200
@@ -0,0 +1,13 @@
+#include <stdio.h>
+#include <unistd.h>
@@ -128,8 +127,10 @@
+ printf ("Sleeping %d\n", i);
+ }
+}
---- /dev/null 2016-09-12 21:37:05.332693927 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.python/py-gil-mthread.exp 2016-09-12 21:52:38.605750360 +0200
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.exp
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.exp 2017-04-20 23:16:35.691360143 +0200
@@ -0,0 +1,69 @@
+# Copyright (C) 2014 Free Software Foundation, Inc.
+
@@ -200,8 +201,10 @@
+ }
+ }
+}
---- /dev/null 2016-09-12 21:37:05.332693927 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.python/py-gil-mthread.py 2016-09-12 21:59:02.668459286 +0200
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.py
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.python/py-gil-mthread.py 2017-04-20 23:16:35.692360149 +0200
@@ -0,0 +1,28 @@
+try:
+ import thread
@@ -216,7 +219,7 @@
+ while count < 10:
+ time.sleep(1)
+ count += 1
-+ print ("Hello (", count, ")")
++ print ("Hello ( %d )" % count)
+
+# Create a threads a continue
+try:
++++++ gdb-rhbz1007614-memleak-infpy_read_memory-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.209680784 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.213680218 +0200
@@ -74,7 +74,7 @@
+
+set testfile py-gdb-rhbz1007614-memleak-infpy_read_memory
+set srcfile ${testfile}.c
-+set binfile ${objdir}/${subdir}/${testfile}
++set binfile [standard_output_file ${testfile}]
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } {
+ return -1
++++++ gdb-rhbz1261564-aarch64-hw-watchpoint-test.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.245675693 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.249675128 +0200
@@ -2,7 +2,7 @@
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.6.1/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.exp 2016-03-10 22:31:31.152094080 +0100
-@@ -0,0 +1,43 @@
+@@ -0,0 +1,53 @@
+# Copyright (C) 2016 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
@@ -24,7 +24,13 @@
+
+if { ! [ runto main ] } then { return 0 }
+
-+gdb_test "rwatch aligned.var4" "Hardware read watchpoint \[0-9\]+: aligned.var4"
++set test "rwatch aligned.var4"
++if [istarget "s390*-*-*"] {
++ gdb_test $test {Target does not support this type of hardware watchpoint\.}
++ untested "s390* does not support hw read watchpoint"
++ return
++}
++gdb_test $test "Hardware read watchpoint \[0-9\]+: aligned.var4"
+
+proc checkvar { address } {
+ global gdb_prompt
@@ -45,6 +51,10 @@
+if ![checkvar "4"] { return }
+if ![checkvar "8"] { return }
+
++# Assumes: PPC_PTRACE_GETHWDBGINFO::data_bp_alignment == 8
++# 'lwz' does read only 4 bytes but the hw watchpoint is 8 bytes wide.
++setup_xfail "powerpc*-*-*"
++
+gdb_continue_to_end
Index: gdb-7.6.1/gdb/testsuite/gdb.base/rhbz1261564-aarch64-watchpoint.c
===================================================================
++++++ gdb-rhbz1398387-tab-crash-test.patch ++++++
diff --git a/gdb/testsuite/gdb.base/tab-crash.bz2.uu b/gdb/testsuite/gdb.base/tab-crash.bz2.uu
new file mode 100644
index 0000000..e55ec50
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tab-crash.bz2.uu
@@ -0,0 +1,393 @@
+begin 644 /tmp/libgcc_s-6.3.1-20161221.so.1-objcopyR.debug.bz2
+M0EIH.3%!6293622@"44`>Q=_____________________________________
+M________X#\<>SD#OM[7/HAP:R]\H#D"=!/";NP7!]OOJG>U[N;WW'KVV?9I
+M[[,[X.\/;%2U``[[NUM7P^T[U617V#12M]6M7W;M7CZU<=!]/8WL[LI=AZZ>
+MJ5XW;QP]W<NQW8Q539B5-[UA8``:HSG=SF*R#=AT#0`'+3D>]DVHY@]/6RS=
+M8[:2][W/<YN3<[=[S=37NY[=X&IH@)H"8$T```3$U-@)@F)B,(TT:-#$T9``
+M`3`!H-`*G^BGB,$--4]E,R-"9JGL4V)J;*>F01Z:GIID,IC$GHU-HR$:@T0F
+M@$PC($P"`$PF)D9-&IZFCT-4\$TRI^330-$TR>32>FFF@F!H0GJ>TD_*9!E,
+MR3Q3/11M-,%#T-3:-3T9(P-3T3TT@;1ZD>C1E,AM0:`@@303"`(Q*>FGHU)Z
+MGDFR8FFJ'L5/1C313R3U/*?JF]&35-J!Y3U/TI^1$\IZGFBGJ>HVF4>H])ZA
+MZC)ZFT)H>IH]0>H!H&RC0,F0T9E!HT-`TT`)-1(A$R&J?J3T80]313\F0GHC
+MU3:90\H]$]3:C93U-!LH\IIZ$]0R>:D>329J--`/4_5'I-`TT9#3U!ZC0>H#
+M0])H!H9!Z@#30VH#30-/4T'J`]09%$!4\)A3R,-1'J`S2#0--,$:/$C9-3TG
+MH:FR9-(T>D\4],HT'I`/4`>HVFIIZFR:FR:)Y,3*/3*;"FT:(VIYJC:FF)Z:
+MCTFAIZCTAH:#U!F*")1`0!`"9#4Q-,FT(R33R-4VFE/U&TU-3RGZ1FJ>&H]2
+M;U38GJ-J3TQ0Q'DU-'J?JF]2&30-'J:>H,FC1HWJ@#RFC0!Z#2-/4T&&4T-/
+M2:&(>D'J,5#"1JH5B["KJTH:1R2I95!0TXN8+PQ'&*+8%8JVQCC/1G1D0A-S
+M<I944!D8K(C"*`I!((H+`S?O/"O^MIFA>91MLJJLK];M*G>^]MGIW=W7E>KL
+M)MXKMO7VV\M77ANM3H=6LGI)+AR&CF'#<66)4&4S6:;*26:S5DUQGS$+>97<
+M!3.,U$LQELITU,X3Y5[GW>0?IM4(5>Z!^AE04E8=:H(X[7T$U.`@QRT\Z]_"
+M7?`4-8Q_UDP"AQ@$1,B`G(D*S"^7Z%ABZ-%T<L]#FC8#-<VF6>6MS+#&8M+G
+M)M>_Y9ME3-K"RMO>,UK^9/4HYU5!3:6'45^1-AA23JG7FH&=KT9ZK-!6>?\-
+M;_HD;$V3C,[X\-20B*R?`.(:CK$3A&J2!XYI6TW[U*HI*560[F!42LB.:FO9
+MT2S-`KC"H/^S^JJFC(54?*/HIBKH,!73^2++62,G98Y/*,\,%R,Y08$R@$&L
+MC#"P#E53*YTZS&>L\]4*"<8&2^]*I?02,46;3.V(P+2P`3$>F+HNTY/(%Z<`
+MM.P&I]6,N<YQ5QZL0]B&[?*?757VV"$MA$PU!CM3C:=M[)14&\?,W,8G`:_Z
+M:"!X2U%Y27M:ALSP\;:NN/-<%#.J9]653UK^E@@[&^NWC27B&%J9M[R6M)90
+M1]AC4PE2-+_V#SBBFMO=0D\:GY]-F<'UYQ"RKVHV>ED[M1J4`O?!J@8`&>?1
+M%!8/]>.7UF-'?ZO,O??);\\L:3X7JN-O^ZWAPV:'ONI*N$I2REEE+$\Q47N6
+M)NB0W\O.LZ)TMD[9VG1NS+?94@_.$$=!P2#U2(8;*%.99OOW:1@#`W]ZV:OR
+M1IW<Y\T_[@G!L<&-V&1="[W(M!N9R^OOH?0``<D1CT)A(*L^:&H=+.^+:/]'
+M04%%.SW-\#;`53:0[GC?<_OK4%3=]'?\H^U4`^9^I>EL,R4\*2Y2^>SP[^QB
+M_,U-)GY3;9KT/P=<O3?SAWG$AXK@0I)`(AD(`)"("Z>Q.GX.7G"Q:>QK&9"$
+M[#-J-&>2W>*T.XDRFC(,4I`"ED(D0(($(R0#&6;D6H(.:&R(R,:JBHZ!54G<
+M11T9V@K&&$`@8+T3IN#,:<5@P(RTBD1%(JP%55$2*#^!4E,%ER22`*-**JU6
+MJZII6%N>*+(`*J_?LDI@")%A1D1`@0D?O:UXU=+B+/%.C.3P3935G@9N(=B(
+M39SA1$,K(<1`/."P@;M&4XI&*(9N(H[,#92F)PFDD,V:<P:&CI-74Y(%5G9Q
+M.;&CNT9/.(D(0E-%1E-38298NLWC1:8#&:TRBD72U("/%-3!D/9BWJ:]FM#)
+M2L@[*@&EK:079)8-B@%&PML&Q0"QSC<@!>;%@V(`6%EHV(`6$+T`+00*I0;U
+M`+6F`+<5+:@OPH!:+<%V-Y:H6@0ST6@@$DQO&U0"]M7&.2N,;AN4`HP8H!<7
+MT;QP4`N;A(R`&`P88BZ-&+V-:04?;20GS/LL>$_B,!&RT)$%@$(*)!"$E!7/
+M#&8("!8N/9=K.,FB'MY.._/VD>C9#^`XS.XJ/S:XR1TI^MMN1AER0/FI,QI<
+MI!S/-3&8!4S2B>DK$=5/`G2Z><=$L7)SB`(%.`?MXB?J?H_!K]]%1:Q0>>D5
+M@*,0!$21@`8Q[N?N_7_H;4[#S/![4O,^[NUOC?7F"'Z'YMMYO*;_)-<!Z[TG
+MI*)=+?,[8F8#>K^K9([W=II7_32_/>'@"M-U3'I3>\5F/7!,>LN:H3*N!L;;
+M")']UU7>>-S\,?K65#!/&(542)(!76C2F<92T@@7G-NX#D][M'6*;YS)AF7<
+M!W7=#3Y1,RGT_`:&!`EU8>JEM/&<Z=3T%4V1[G3DVDH\X<(1KVY(YKFX4,W#
+M@OCO$:6B8^HAC+,.^S`V.CG>JEI"+[5?4O\_]DT0",,XH95*#$@#=L,AO4L+
+M1BB(3Q$X?C1IAS!$AY.>_%4]AI=*'&F6&\>U;\YG,QV14-HP9\BY30H/3].G
+MTW36AQ.N"4&8U(-$CSEJ:IAKE6J,KC=.U9$\H:1I/5!WK37"2WTTCL+"6YJD
+MVV8?W_`MAI=@)]J^U-YAOBS;:'(S4SPBJP))LEQ'+GK;<]US[(a)5VN)U.SEI]
+M@B6(>WE8&UNN(Z_Y^_U`>?=I<YH<:Y7@Z9C$)>*[4=\'V/"\YOXXU=RH7$2P
+MZ8AP5/2</TOZ\C(9=&&[AG/8E@*VB@8L:0:5=Y66\X2D.7TV9:?@;+B>@#F"
+M^(R"5",K@5=:R=P=>/%\_!=LCS0>*ISX$*;G?\$9(P-<"734Z=7:V/E#,EJ3
+MR#)DN].):$0+S";E13Q8UADO"%],GD)5UBLW<J)YR".E/J3J`^PF6,0SG-%0
+M"7N9K0*D#I.`[B%7`^)[%EN<\.D]+[$>UDCN34&A3.I3U+69_K:PL#9:%6F)
+M[AU5/05TLKLJ2*QB0,US:"U%(#G!9N81MN&'7T1O*J^]%%^#HV->-]LNGN*=
+M"C%H8>WG7$,^&0"244E4:#V6Y!289:<&E<<-ZGKH1[>$BW"MUU,#SL;,,),V
+M565B6/E!Z,H8E#]WD=(P%@X(,/C7GD<S]$14+$KE2?!'&@4#"J4DUM@S<>0D
+MP-:,NZ$0>8GQY;JN=^^\XXXN0&5=W>Z5]AZ1HYC%E&S'8*.!D@5[<8]"EYC)
+M7*.I"&7-3RH1V#K4>$VO7@MZ*G*`]>M6049!<IIHH&:*@U..`8SPN9NZ/@W$
+M&,^",8M/J#@-9F,F35FU[UMWUZ`A^/!1>\$(C%$3O$(">"B@IT'Y=.=H)`'G
+MP?T,;OF2.6;FQ;,.#Y<(PT)/0+73.OI!]&#-""F<TJ>[4ST51A!FJDN2B3PA
+MCB(Q@J)!V14/5@R7:FG%FN\:RY!,K%<CRJ)2E'H':71::U+B9EZ&^[QA"$(6
+MW[UV*8E.$)YLMO(SQ!W:VB68:T<\[J:GE`^T,VO'GU:)Q<37E7%6&7=6*0:C
+M130555L1[```B"D1'L4)04H@+`D`!*40I2""85*?;,!0/,ML%:I2GZ7JOT_^
+M__JGX^`88*"^A2B!("$DD)-JTBB*)!&01619$18(D%1(C(BL!EM046+$148*
+MB0448@JBJK$4L`JZA/-TU(2O62'UK"RTDD#%#32HU54TJU&$I.=`:'<L4M&Z
+M#3XD##Y(;+O*'P?O/*L$0M7X4(Q+A$./HU"$E?+2H4$0_*[S[.?+^5OM!_4_
+M&;Y:7'A#\NXTI=P]9X81`(@)D"("VFZ#(``(E`BHF35`Z,7BT/QW.\K-?*=`
+M#H[THS)C:DZ[>>T32S-L$$!!O<Z/1:=GW7L.-`@+OC?L!%%%01YJ0`W\#O_<
+MU7+AYV=\KX_M\G+/<I8S?E:J'"]%[4IBH5:8;!*?B5.\9;(40FH14V2K4D9\
+MU79K*ZG:G;26OW<;!(4112K2I_&OTNYP.TXS2`2<66Z>M9<,*\;?V9^D]EW*
+MBQ6*UR5PQ\J=9&)2U[%%,*&2VK(M$(BHTDQO)TV^76K`\E7:.HV99X,B$L68
+MSG"]BK3]QP^-(JA!,M42_#=-`S`((a))8T4R,S_Y[7P__.8YW/0JJJJJJJNK8X
+M-=3PO'T&C*J9)`]F0`%K%$*P$#"""'MX"\OETF6EW>4IT9RN8.;PY_?U:<^?
+M*X$4<G+IS96`!RXB`W?+I9`4-_^=]@=5PM10NDDBBA..4DY\"D#+`\7;U[G#
+MO=@@?%VQX&)]5][V?U]Z-?DW??P?H<?6U2\`#8A\D^S^;\VZ[QY0#'`3U,IK
+MLXHES[NTJ)5](L\+[G%+;D/B#Q`X4AG*UHL1KC9MFPLT`%,&%)B_^A;.P#UH
+MFUO;E0'(83(IV[A:>&<5`%`1414BR`"1@4.DH8`QG9@#`TT7)^C&:7C@<GE+
+MH21&K'625@X1SV8=C[7_!BK`FS4,OJG>IA^%"_<3WTX+Q5*-=*7Y#/IE(_)_
+MYYO52X/>^`A8NS+]GQ6$%J!9HFB5*_*22UE#*>TYS.T"1U[AFR44'A(ZIZ$N
+M7O')DXRK49/4T!7XG8#F7\)CF+,TPJAPV;\#4,AD7,Z/*?9D2DQDGR.^]LB(
+M%[`,/\]CK_:F,LN`#`T>]RT?A*WQ[K='\FN+&[/YKKD[GOG)".MPK9KOE&2>
+M4312<,\Y^C:>3=S-OHU-R)^F^*9H5Q"=7^-'_#GT?0V-ZX-3_S"6N2Q?O;7:
+M=G#ZR=L/JQG[<S([.GUTY(]YW<0002-&03+]]@]K1M228\@$'[8E&`X0,H(P
+M1&=K.;MCX^[[_\*P#V$[N)^U]G0V?:4`Z41`"(&!@9N"#?S[?F^CU<GQ*7,>
+MO\_!J];07#9:XP=/JNC6V$KW5]`_.82T05/S?='X=WG0YS.[I94'X$?S()[N
+M#_Y@OQH(_`@/2399*2&\0*8=X^IVZ-3#*-44=7^#1YU#@<+A<&%:']\FNF[I
+M29_6J&Z$R.&H/.2,M8LDC$UZC*6*@F7SBW:"GQ3@-&AS/D'%[PAX*Z.!&Q`!
+MK?M_?V/CA,ZX91WMR-A0992O)T0BR^HF9=VI<Z;3/3/B,,.>A-3&20"GDL&"
+M2O*AJJ$K`'3#X"@L61'"0N\_-&J])J,%%(*O_R0A*R3X>_<_]4=+TNCF/6?<
+M]IGY%UQ&M/IX7^;)C'TSL++)C1,MUVW257A0K(-$P.$V(a)S/RDA=MA.W#)`^<
+MI.1!C(@-*E;AB)^IQOD_^YWQ:2]K^31Z+%2J$@W$OT7PD.02BH.>E@'022(E
+M3@Y$+>HD)''<X_^[Q9E<G8)L?9]R_X3L2TLN(::ZWJ)!F6F4AID@*_Z3Z?>I
+MK!<&,1@9T",6@FYM(V?[Q8KX6%]RJ`*8F:0\/6K-)X%%08$0"I?TTOH7J&:2
+MP"RV[FF`@B!MYU]ZA5,A0DG2_Q)37"OW#@@D%P1P53,Y9BTRN'V=+Z4!-QP>
+M0Y0QJ(A,6"07X?-ZWOBHFM&@L1]UFNEG^IKIM+R/9>.LI"N99-[D[:+A+S@]
+M9SU/\?K]_\Q%2,`!A(D20!4>@D8$G;HBBL(!"(2`J'98-5R/N2MRE[9.N+,!
+MO"/VT9Y%Q@(TM(/8\%_VL"*'2P^*D+N2<O=WB`H+SS-YB;;<UE-#-N:Y9@?!
+M^#+W*IA0`QB-#D#`YB!!01448@B,1%$2",51!%BP%4BP5!&"1B(HJ"@2)$C&
+M,D#TNA0$!`_!_//C_\:,LO33YN;-]UX[=NL$NWM-W#2&/RRVQM#F%?ZYS-(C
+M!:"*BO%^GER_)Y^/U\1'3UP<.4C&$>,C?4!XXM?3VL;&:5WJ^+#L>F7!H_,N
+MIUM`#L5Y[#M_O]A6"9J&&AI_78:(A$4RYACP^Q[,#B9?EORFBL,[/%'C)]'[
+M.CACW"3O$#=`(=[_-\UU>&,/=25L+C^"'BK/E0!N1^$_"JB+_JPA`*]8CO(:
+M`,.^+BG;`ZF7BV09<[-_][:8^4KLHF.(1`0<SWGYJ3I.3K!0![LX-.34%X
+MKYZ.+[/.9+T`A+UD=Y@88X+<D[;(9[$K8+5I?Z$&^</H*6JWR3"CB_,77/+_
+MX^DG*!-6>WRYRQ#Z.0GAL_X^DU8%6CXLM.6/V<%ZXA\X\>Z?;"LR((5^)BH[
+M9YVM6QCU[L+>4:^0@[(+A[*2R473>#_#80G05=[MO!0B83]S4Y#69SL\FU;,
+MM[%]++><ZV/:Y5)WN%_&CUF;?Z:</"R<V\VOFXR?C$\?+,?MAET205[+6I!J
+MRA5AYEG26<>'XGB[M<9CU9H/*ZY^J8LEQ/Y>=4H#=<EIJ8&40/&J$?"Z818<
+MIQ6H\)F_";T.[2M_F=)VW!@'ND!QI,[BE=GR^B_,X7I0+3JJ4]A6Q-]XV1_5
+MU'M[]=[#.PYEXCJ&:P)_3RZ#"([W['6=LW(OD+4"CHU(W$?2=PS]B!N"A`>D
+M076@OV1*HU!09+VY&I##%336?/5%)M>9>5%%"0;X0^D(!5LP%ZR;J#4AL2A(
+M<S2DL$I55=_1LS*$$M0$ST<MVA),QC^IJ^!V\86P1":U`)2(R._\EYKN--VK
+MKDVDP]$@@CE/F](,R"?T>VL=+2L3>4N`V%1T%AG`R@("$$@E`4)0]>@`6#Y_
+M!?KZ5D(#B^G8"OV,(-.'8LE-"R&W?C;5W&U,*%TS9#DQGG02?L<W(#+,*L5`
+M3W\)2.M&$X]T'R#@C7)1N>I;-V'6_'VD:/[B\[^!BK._+R4O,AIRU>SJ67X@
+M9BGP5'Z*.")D_)5(1^2U>5IE7MC^?6;KS0@W,1]%[_1Q>7T[6YJ6XJQ.^W;Y
+M/EBI?KRW$W[U(3Z"^#'K&C9:437[_,^`K\[(S?[&%\T)U''KMU:$5SAVI&?1
+MO)WDB92)(QL1_:14'+!3-4<$"%!A'EL<M,6PH"93>*M:SVOPL/C22OB0/^XF
+MK<69BJ[(VD8/"J7=>==O$-;WW//)P10\;N+6!'EH$U.A3!PVG>^?[V.QP)[E
+MM#M7!J:JJ5FI.V-&A9([(@[VAQ'!<$'(1S;SN=_.6>^5#L1AQ&_D'TL&-9`/
+M68$)7J_190&=D@#5'\F^+AINR/5:*)DDUZ[PNR9<+9KN3=Z?U+GOLD3<33S=
+MITE&9$Q@::(*8DUSZ<4:QI+(U)BWK2;WBIFENWDW[`N'(FMFG:Z>V\N0-.!C
+M]U#!U]T8<9HC9P8<^B_][RM5^;"??IE6G\((HDSM:T1.%M7\:[:DU2F*_DM4
+MYS/(B9,$-F_^*?"5:RW^<#:*&>C'":.!%4R6T1D?:_G=$H[JG;^K-&;DAU5X
+M&\$R"F*J1F;BV>]?N_E7K/--@V7(QI0@&I.NR=19-&!(=T.&_,X7T=/'`?1*
+M%W!R_DXWII`J:7?>BE$CIAWG*'YBZ$Q'_%_<27$JIQGYCU"!+X5C(PDS@W[\
+M7\*E`_CB_W[+#`2HNE+Z5(.<CG9DS>40BX]1`,]W]9L2=-5S\JMIA,-W<&@;
+M^[8^O76V>0CBYD0'SW%)\GD[WPO%X,)C%,*J;0T`C:JCB'+92>O:H';H,-[R
+M=DRZ#I]-'NVA`SO3(FDOZW8P4EL?(a)9A=5^0Y7FCDLWBFFUTVRG&%.[D2V^=`
+M5#K.+)QE0NXQY^M7*(C1-,N?>U93STMV@CGTY>&R$>RPK3'2R2*?5I5(24S/
+M3K0$S`PJ(?/0Q9_SG%)RTTU3HP8:\7'A72DJ57`^O/MG`YY><>SSD?WAH=M:
+M"RO5HS+T!`\:(`9QAYB=#3-8"F2'/%UT1%Q3?D&F$[TQ2-M#%>'(OH`!2E./
+M)389QV:(LHH6GG+(3N1L[?82L*K4K0&9XD2X6@M+0N,)U%K,T-":?/Y]\MK5
+MK_Z:_I>'2UZ7+0:AKH\.K%VYPA6E!DHVG,PO?KU25M)+DT,P/AGJ<1$85R9%
+MPF!G=#T]<HR$?#[2E@+NC"6RWM$3#I[5-<Z/6[2%1ZFE73CH4URF96")%C.<
+MUS4Y90$A."A4S:-LK4[5U/+UM):-H<SSX#P(*-.@5&,JF@[R4F9.)J@T%S6&
+MY-7"0,'GK!AS[U94MKW798VT*`7T_MZ=JT=23U]YB:[5ZZC$)W<.AIMBB3:&
+M_8,[9C"SU:MY%I#G1P*,.%"7H-.MJ!L1<,-93X25*-A70/1;AU7,W4?.63TX
+M]6(=)M]%&!<M@U?E(SK#DN0I)JZEJT>U45@%VRRB)A-TW^ZQ(Q_ZZED+F:K/
+M%[7I:0$4UD$#WL$0]Y40\#A.AW7;\'O>+#S^/JY/1OZ/3K>4XW>>[AD]#5PU
+M:AAQU[/W.(AMMJ>4Q`29&#B9U_*;%>_:VI]+:'MP6ICV=R&`\X8;_^^!.GMS
+M[CNN,)<#02E3:J,LVK(;7-QHKD@J'][T+:HKY^3V'XE@FQ3YWDML=KUMVS9T
+M--UE*6'ES*\2<L#VF)(a)Z.*G"/L#%@/+XH^NZ]:G%Y#6=6-,6K*1L8T^J:KMN
+MP4V*$YQXT8=J[5=H0%G&1`:`(&`!2N8*%Q%,H=_@0=\O(9E#/)`D(2#`DC(Q
+M3<]9[G9P^?PUZN7?L<7/&!%`1`@!(NVVQ>LIZ+T;BH^&&6:[X%`OG)G&&W,6
+M)H$T1"14@OL:/PY6'YT^RE4`/70$D`%\6*J_[>]LELD`/3H$F<BGYO7W#-P#
+M)(+"(18=3Z.PLD1!A(L6?39=WB8-50HDFLR"P*C^G[ZY9`1/(3_#Q*Q&$F]*
+M@A`\#X%A8B2?ZU1)$9%)(Q%@"@LDG-D`8'(&,"(8(YS�!3:QMRG/,TU?%R
+MG7'NZ/Y>C6R':]3T>]R:N[G/F>L^-Z8W(@05",604",9-Y"A3TN;K^7U_D?5
+M]+)>,!C#_7R<;\D\CX1PL]S$<S^5PCQ;Y]N7OG-3"G1I4&VM7_;EN(G/K_I[
+MN:N:C<>^X[C@`P,/0"-31'T61;6DR@][DZ>GRX>I6>`E\3;J]#&J;J-QZDEZ
+MN`Z"S<>Q9D;G8<GSMW1G=>V4DQ'4T:78NL=:(*1TE&S_R-!0N)EE'3[0&B*!
+MXQ*NL=1!1^MME#CP3"#Z\>EWS"6?=]^))<L/*'D&0)_+'NT37FKB6HHED8[\
+MP@8?\?J3Q]N@LL\X@V,1(0:0)L21V28:XQN,AB[Z8TJAUKCT1M]NHG:;H(B@
+MS^R5=M$+[^_8K"^&BP,&JT$M,/?@J\LZP'!<-A.;DV<5D0!J$((TAJ[I<=8O
+M<WXT`V#3<Y.[4_ZJ&0Q+;CH%#^?(=#@2S:]3(($2XI=O_SZY(DP\(RP(.)68
+MXW^IE\%0)2B[NW^6>"@K:@'@@WDG:-N)I=7TH:&]V:HU#$8H@2H7&5C!B8/<
+M>+*R`ZN=[,`1\>^V(NU#+I]][;J]J$$)=@@8!C&8F38Z2ZYW@!C;&*7UJH?S
+MQ*8,+&MJ!D'$H2WJ"=:##R1L!V.SV:FBB#KMJZ-A8U=P'F)%DBD+Y(]`W<76
+M0"B`P'7/I#2C1W`Q//G]JRCF4N!U6V.,:6B(^'F_PM]?37_I^G\>W:F,#`!L
+M#$,?SLN]D(a)92+./&PT_IX_D\#C]]P.?H=A[GX8-3>EHG#-5Y:9#51"%*"@8,
+MR,#P4(,M6C4*U0!009;_,O-S^;=Q%1U4]/RN)VFLJGPB`SJ%?B]A6)UT%0>\
+M7?CM)8U>&P!P_@=A7"`%&/ZL=2/B:J/Z>/Q_QN./XO]HL>FR%6\R]CX<7IV1
+MM0K6BSY&M4Q1/\^R5ZB<#`'BZ1KJHV!@LE\&)<,`$827-VNZ1PXSI0/%T;N2
+M:'A7:2NQC\#-SZFY*DG.9SA'QL/C0XYFJ`..@)-DDV29VD5#RDE>]G8Q^3VW
+ML)IY;;C3C--_D9B/%?0-[\A)B^]1S.A,'R5))?(UTRN%AZ[R=7^#1>8QD6;?
+M\\>9'WS7+Q2MMQB$4G'&LKKE_5:P6VHX=!IXC/A?V!&;E12BA`S"D%5]>PD&
+MLS[;Q-_NX\>E1,6!J!`.E>BKU-7><]ML_>YUY`*]=J1"%3^'=ZG#M`_=FP\5
+M_1@U\L5HC!6/M^AK=6RKL$<4WMRZ#=/)WD-JE[^K[$5:2F,WF$W:PM9.*M4Y
+M,1F3/&3Z4AKF[0P[+OYJE&NVX5N("$H-U)M)Q]U1O+/^/[+5!F0AOSIW)JO1
+M-W"XB@\FPFF^^+'I5<9E=\R":I,J$XM:0Y$V!"D*0/[J>C4]94.6F>7>N3E^
+MZS4N7`.VR=BDAPI]W\W2SM;LA4L[C%P*HES%0]GNJ_4,L#<[Z^]\A0P/G_9<
+M-GJDQ,;U!M7+G$4.Q774HG@<3ZR^,@.(C5#=9R1V,1BJ>G;B^X1G8:0*J9PI
+M0O;M#TOG'I,BH(a)=IM=C3M.?3S+JKI7#,9^+T0K`E=MSFF.*<'F(&]5Y[G99G
+M$Q0MHQB/4_,W&S73.T(4?>X?VDZ)REP[?IQJS%,A"CV=$(_EC6+=\=C[AZ^L
+MT6_?WU:<<"*P,*F!BTVR-7-UZ8R*<(0Z,?*JV<():T68@T1[:_##<>AN:?DT
+MFK>X6UN;;41]M,=73:_5`8T)T.!>[ADD@M$)!&9DX4_BU5+'$2![3L[L]J^Z
+MNB>(E(74J3W"%&E0J0Z!0A1"@K/[XD5C,*BGM#&WV3BL+08N0>"'P6\JH&%[
+M_'ONYQUCK5P8Z@\6BSVU0/@G(./1*RH.1^?4F$S2GX":4R%3D!X_,0:@()!,
+MX.-/LI6"D^5H9QOY(BMN;Y[FTCO5U^=_V]-005[^R6@N"H]!I"@*J2I9445_
+M?LM+4&A$:4*A`@3/(K`5895(TB768N-]$Y",C9W-PTE8>7<6FSV_800?X^2Q
+ML6'"\!JHI4"AC#]EJ"+343WC0<ZAD@1A"H"(J`@@>"P%!X6Z=Z+>/#;E\:3H
+M*J9Z)ZHG?FL$!@@([X%`13X]*>3\4W=4+!:?80*1;@X_:7`V2$",%O%+Y;NW
+MSK?IH.1]7FZJ%F6T;`NP\"[HC>M:RB9@9<!0@5"8`P*!0@1$`LLUJIW\LM)S
+MF[S%QOO]V&GJZZ7=Y^!.7U#[F<<`H4I]\$##HI(@BL0*84T)]KZODY'.!>CM
+MN5V'C^C]SZ+:[B[]+=^EM]A+]F_!\*>SA;M^^UT*,[^Z802/D8,&I$20.<B(
+MCG.#[O,*QA>*F'Q/!Z_P-@_2/8^OT^"0@))K'@?MU`W<04B($7/6DU3`./KY
+M:1.?^/Y_JBD3"%"(29.P4)IHI_DA+0R?6Z%LR#'D>>-RY]_<[&]";4S'N9LZ
+M"Y_Z2\H5#%Z.7J?>2_*H\+?3*3@?E2><BI;"X*(;,/-+C,[=@5'(68`+PB!`
+M#C_4Q&I:S[CCH7Y:*R(MYAZ3$#(('E4F32%9#TE.LCN?!L.UW0)R1?-163@K
+MO!L)_7#I?&D`X'CGK&)`F`0($&-=4.70?Q[8?'Y'=?L7-;)4HWWPM+-;Q<?\
+MPHWN=Q_5QAJX)>)5$*M1;0//-@K!L7>5:>)F4[WO4.>,LM,94O5/E$SMAZ>H
+M\![?H>XT]I<WJ1C!D"Q\E)CXE^',%,QY\#?+K(L,A+-J!*'@`E7""M'JSH[0
+MUB@AHPP#0@JTHUF+"76.<IL,-PG^56DB=_X26G4W"#V!U`"%2_G9](:V%<B%
+M8D2#0B*R5^%$):,5*PP%)5UR0$23)=/4U*ZKG[YHVWO^<L\[K9S52*(GH-%8
+M.AT9AJE>?,L*YE4(_XY&?7:=O,PS0::.'M8IM8F#)34%%76)^HW?:5.<Q"C'
+M2:=*$+RR0P"&_NARU_58F=B!'.CV6U<3$SB/0]<\S`,Q`RYR@UGN_@3[D2$A
+M2@\5)7=&<#+6DAP&6G1<Y0?K)I'^0?*I;KT-36H=7@XN\CH+O%4M8SN]0Y71
+M5+6*G'.H$8AY0:/,=+=![_R=V&ZU[O#-+:+#/%EZM=YPV];`,V`I2IW'O-@:
+MTR\CFZ#1#1MY4,,!/NLBSMLDH*+&FJ^>S=Y6&,4AE,AE@%G2V47(DXEPJT)0
+M..PL_..*EQ<M%G=D73[G&VS+Y]`Y,;1*H49.QW2.+@L=M`K2F;+-E>-^+I,4
+M56.:ST1Q#2EAT>"]%8+(?\>5O`*'!.B37T7>L6.7PW*[?5@`6%UD\A!('2L+
+M.$R'/6!C>GKC#<5U,GN3M%F9WZDL`#J<E\*\/W>-4OYO1/K#W'8/.+L-B!CG
+MX>C5+"2X.U^#\@\X%#M@H7^B?UMO@_`IC<6<>OX?O"ZMQ?_D-P]Z(A[$]Z_%
+M+`/EE#J)UQ1L@*%@C[$1"K]>"A+B&;O@8'Q?I;)U?/;1OP=SD7<Z1,"Q'K2J
+M&8*.,0G/J6["QSZC4H^$KDKMLP$UIEA7KG..+UK'S4LB]:_+Y2>X(0+@/D`C
+M/D>5DIGL#VVM`4V40(D($48(AZH0`3N`(J^_Z7C^-$K2C]+3I-44+?CE2BE:
+M#.]`(@$(E,*(A?*OS&D'J%0$X>>2#.C>W]UAB?==P[^@X@.USAH$4HVQ5N0`
+MZODUS#,W(T.=7,.=4Z"1PJ7D&>!D_"SMO9HN>!IEBHY@LWU&4`A2C*%!*P@F
+M8:NPEZZ1OJ+8!2PM4`I5D,(BM2`%DHF4@!@-D)G$G;9"2$@VMR@%5`*C5O"T
+M4`BYZ*`8%I9>WMXV(`8>GP<;"C@H!&EW$,0`H)-61KVF4`"BE8`&6*P(T5MY
+M[,,;ND@P0:%;$:!6,4@"?R*`@&(I`?/V.OR$P*:HNV,TP%#5A;Z`2JI_A9J'
+M][V!`!.$/:?0EGVF8TSR<_YI`4.0%0RB(=X"A!$/`!0OJ`)50["B$$0M!0I0
+M2"H11'R04*J-04+S-FYJBAX210"0]YV;<VQ?3JG\W</I?IJ?0;"&6#OQLOO:
+M>I/?,69?B1'DF7D;]MP`1`).+&>KUBK4B?4=S:MC<=XWW$U4KM[G[J2EVCN;
+M/@/-;<73F[?O[4P!0W`4.`%#R=[`2!W.O9K37>X]!V]56Z^)X;I9Q1+C!41$
+MA)"20]?3*9`AEP?L?*3)N`Q3!3D0`LC0"E*)%1I%>]!0VP4.J"ALW`8GBTD@
+M#L^)$P#&[CW_!W%E/`IFIAB>S2DGPA)&9)!F9F`A"*L=/@R,)LXZQI19P9&2
+M15")D#(0,00(D`:\P,X<1RJ9G3.Q+U&^0G`B'FW@#<8A8&_T9K"I@@00;!0V
+MFV+(\9;GZW-.K6N_:8*<.7D+*!;[0KZ.DM+/;Q1#DO]1P=U<X&3$<1$.0%"*
+MH<`*'E@2@$0$5RP`1`-WN-,0AUS2828S:@01!X.]G)S7NM%=TJNDV/?;4LNK
+M9==J]QN<W=-HVD=HVIY8(+3K@H5#U'4Q[`N.(E/ZR\FGLB#GL'$&0`SMZ<IM
+M0''1*9&)%*8X2[=1)6&V:])@<X\`/.E:&%G2(^"PVUD9M`.6ZEG[0T*!?XE7
+M*)NJBN5KJ^!WS"V*^K3[TX(8P@Q9C?XV^B!<F-!/`)_$P0<6L!@6\&;4)*0:
+M&Y]1?6>0K$SDMIB"0,=)TI=B1D1`&1(a)9+]015`AUX.G%YCZTQSMP&.NF[Q2D
+MLFF^%S/`X*6,"GT/\-3\<Q7JRJ4003DG:>I.+EJ[:-C*DVU%JVK?RT55HA5M
+M=IL\W`ZX8X'%R6G6UJ($"HG#NPH6)[9)5#I>#661&#'.,(R#0BA?#,(=4P<9
+MC849O*SG1$]L9,1UH*!1HCV=J7?)NP'\_L2T\!H*$(67:P!AE18K\Z$!Z8K#
+M3<BJ0S<9XFVSY4)'@Q'==>**H"OOKTP&`WF3K!\@2',QTC=T"G1R-J+][XLV
+M(+8U@=`1MFP\,V/E5"&F8=JAMA>ST4A8R]DFB-V.8J;>MYL^"G(IU)_!1T1S
+M1ZKUQC]A"6W+L==(4)^N[[/IW.W'V>OI3ZQ3I)5#=,;"[4`WYH:H"EIO#QP]
+MSLR@!H'@:TL;M]IPBL<^H8]HE8\TV##;I=QSPY_<XST^OOP\'_QP8U>]QF;P
+MM/>O"3T)[*80=VMJ@'7HE+(S=H(%<+PY^)\@S<S(YO;%WJ,P^Q(GUFG48GD\
+MSS=G`-LA=((YY8/GUFD`N^9-KZ<U.6L5,N0),)!"")LGCS71M,"L:S=[>]_<
+M;HPZ-X4BF#W(*'(0`K;8HF.\+K,J(@7U(\$0%_L?>;GX@ZBQQ8+SQM-(KZ,T
+M9C:"/-1$LP6-!UB!H'J`"Z[BU1&&*B])JICY7IM$"$[=1A]Z(`N00(;F^!CC
+M5^P%&$;?H8DTT347F=$+184JB<Q,?@UJPRZEVLNV,M;F81Y6W*E@8F-@:UW+
+MUCE\O;C^9QGZN\AOP.GI?,(3UYO5//\C5J\WO?ZOCGWOHGAO*2,@R&)`"9BU
+M["+8KH`$+7&@&Z4>Y0.(9!0,+$N[M:9UZ'XN<E/AUZW;U/DPCMHB0"*]#D#^
+M_VR]PLKFTC<0TYX!26Z*67#0#.`5B05(;M=<(K='`Y!WC;<K`NI[;MT+6A3*
+MD`9\`(NC+0,%F#@A`TAR1`BB3V>^`PG`&KU$<SX&CQE>+X:VQP^/<A5[6J*S
+M!/4M6\;"HA!RDBH@?3RBPKBIEH32=%7I;"K<Z0EZ_,I6[07?[4-:1=_'4[-S
+MP9F-I"D)V=7>6EA!K$],NI#&V[..-H-1%"/>\UILE?@CGDZ_->"R,B!V.L@$
+M\&)YAC4=[_/OLTGHN.\HM45P\AYL%3UTXX8UK89FA0IA!,I6./VBK\XR="PY
+MX$>0E!].'NBXP53HL[#=M+887P^KJ$O*\J%%R3%HS53F3>PW"W)RE^0XP`&B
+MX5S4FXKO7KFF=!'B*40SE(LCGE4:[%<'28D=N(EZTAK?KT,J8/+0;J:&KD4Q
+MB[OTEDH1OBO+GDKUP8>/$/I/K&79VH!DW(/A#%O11Q,@?43>'>UDD\ER#*FT
+M')J(=2J>5.VW66K+2X(DT)IN(PK1W!R2F&OY&3M18,?"*L,:G@I^8P.Q>&WF
+M#.EZ:?20E*9N80_^%7)T<D'&5M0J$6&RB+T(USCCMKU739O\/1518<*YIG-0
+M#65V@+'Y%U6DOF2-F>'JNIOAM2U8J7U%SQ!5SP<%>O\CD:[T#9<P6C))@P9F
+MXA#D)&#<BYHDU%EY4Z)&<30'1LTC]25P84V4D'%1LVS6@>,"[%5=`GHARQIT
+M%\QD4*(FQ4)1^"94)MT,<05.QG++X<\&]/K$6S/WCS493!P1"*-:=F<4IPIN
+M/+HA_?]9K12Z4?9#B^ZG``&8)YPC&'J`:.$+6*I=A&GX74>)[[HP]&G1Q'WD
+M&I$34#4[D:E&0X>6!PZ:3'B0^W>(,D=*^/92`7Q>Q9-VAPUEQY3OTL_HZO#;
+M>#LA+:6P2J`"-2V,RA8$1Z7F[]*K)3,'CQHY$78K\B']@`8P%]=;,/U'E7#N
+M*&)X?MY1EQ%FK,8H:9K><W!,3A+XJ7WC>;;!S?'N^@'EQ,87%WG+>)!%3C>!
+MPG)6ZNZG!P'@4%04Y;)`BM,$\7AB]3RL4:\XW7W00(".LJFSTKGT*M2TN^L7
+M%@0`B`(A<`$"(1N!QX5FD<SH=5450P&>\?@KO;H<;O.81WCXCX0Q*/U9@/0C
+M%(`V()O@A7*8\:4@&#F)EC0I05R7\PBCBCE#2XF,#"KCFN@W<DX")&7&2Q%U
+M#O13N<&2B9&HDMZKMM0,]DIS60L1JBKZ01&R=S*!1\9-8U7.?SM9E<+5'C]>
+M>X>>N2Q1:\ZY(2F0,Q?:''2/&A[N9<9W,W"C.BFA"X6`#S/>PH?FQ$NZU?L5
+M:%KJY31\`:46RYB8<C4G8&[Y>I12>4+@=KUF'V84*AZ9)<=+3`TMQSW!&4&1
+MOVK3F)P\F'+M>@6I@UR)FR&V&]@54]WN43U=;>HIBQ14'9V"IBLL3##*Q],)
+M]QWNQWGS@"VU^,'ZK(O"&XX73+[$P:JK;=PJN[)<HRDVO8<U1[*Q-UY0SL%'
+M/WY"1A*,7:^X[^'K4RX?([G;.-QYYN`'K@D#KM8RHW,O:;&,_:T"^M`+*E*E
+M+79L^KAV(>=#R\,!3RVIIE4%#$M#M:[T;+*^L[L\_E->?;7GBTF.WV'SA^,C
+MI_(U5I*^F0K_A\E2M,7C("1S"";,76BQS-J0\@"(!@A7K8LPYTN8I$"81B%1
+M`2=VC#?M08HPA"!^5`AU)@H2LH%WI7IIQW$(44H5I@A&_(*0&2]9BH$/S424
+MA[ID(4F0PG+%CL8%'F96&M\T#-$984"5((`<NZN89TN`%QI6,JR;F?(Y#K];
+MTW,[F5"RU555SJEF<,8,<G[#W?6<[YKPOF/&LPZ32F8Z1HT>GI9O\^J`G)"3
+MF$F&UPO%T7I"-_4@?=<7448N.,D(T:\SOC/B0Q[.&;'-BYP3#<._R"(7]"@2
+MB;[:-2ACE"YUZ)"\@RP@*&P7C0%#GO?PG1<VFPRE-.NY$NW7,W!;O\J3[+KI
+M4Z-E)T7A["ERR(`0@6'W$QV])]<:,6/5R*`)ZX%"Y`3KF9>Z($QPJPJX;0J%
+MM77KK\]``=R#J10T14"4D%<\6L+ME\?UG3^>^5U.OD!0]L0`3B!0@@KR<9-P
+MXQ-;L=B_?>*S;KP@@@<.\Z#.-M"Q%IPM$S$,EA?"(H)'AE%@E>(`38$0KENH
+M]!A=)P]Y_=LLSAE$R%+").Z_8;-;K9`DT\WCWG0Y"P]#];[*TR"=W$V,V91A
+M71,P*$:G9H`TMG,HETJ\/!38KNF;OK\P*&5H!OJJO>I!4(\(*&-IF"F@%#?:
+MYPX,&FHI(<=[S*;`*%B<R!K\*VFQX6WU[K78U-Z*&LE9"8[6N1=@I0I:6BU*
+MDZZ;!:UO34V.1L-QA5R@8UP=L.`*9/85?J_JH!D`1'SD(B!#-P*C!$NG>V3+
+M@P&<#C!ZMB!2%%`=4,*!O.H4S#`@H%NK\B\5#*>?XGQMCF8W'\*G4SGM?J3$
+M.[`K2U%`44!BQ&16V,KX'0*3KCCC(@8G90&TX@*';F\]9.BEPZ+322R/-M10
+MR5`$IZ@@N9>,I984,W=;)`QC)JX*%<D70I#0,L/'L#HP'.DM!0M!0L=C5=''
+M14W+0!*UU''>>Y?0&'-AM15=<-%!(&;ZK>!O.*&]IL/,LNP44\D;(=EVWGN.
+M<:*;Y.R9TN"O:[A73N%1/,)PN)6#(&+%6B&Y"2A!;:[G-0<O!LKJ]=W&^;>(
+M^-\(=F/B/>'L(+-)POFTHV%?R5\SNC[ABBN!J7%-YELS%@L5(H5@58P5D`B`
+MQ/D!-HQ7,::HBH&,@RH3&"0PAK<0`BHRSV)WVT<&3@">YM+7(7/6<0U33JH%
+MFYS:'!VWP`!*]J2!E)"0B0B*((HQ$11B/WIB!1L2$UPD9"-3(1C`4W^Z@.T2
+M$RV=VM%5165C3(]7JSZ`N=#Z<"=NM9G/\83I['_K/4_HWCFKHWV:J:Y?Y'7A
+M?DI$1`BM`$0%(``A]#ENPDS3Z^)MN7]3\W6%<T-&>.*Z'<&R.8+:@@0!@(0%
+M"09`0($!0@H)Q;WT=+2$%0GCY,%<C811E_?+U:6R.#+0NHZS]YRS=_SY1%7^
+M5G?HC\/?M15/RPB@`/!S,N^=WR5*':Y8?')V/`\/I/*RLVF#JS#JB:"[02*`
+M(@,L`B`8VC"`T1V#0(X948JAZ&79='7Y?9/I#DH9\FJ9FA)"2LKEYN(?4URS
+MK.S,^\-'K^>V.FV#8+C555,5:JE1I*&A64J4TRPD#?A"`A7A?E=V;H^5^.-Z
+M6;9:`B>RV7/ZWMF<\GFAL7@"0.W=<"A9CT-E%!,43[^,@)S]'FB,H9"!IZQH
+MH1S!EM)#>P@B%+J@H=P:#%`(H!&-^E\:4(U/%V"IIP!0VP4,!8N3#&7E(4*%
+M)0E+QR`H8:"X`T;-Y?41POCSN=O=DYGW<]63['4"AD9$])!#N0$%Y%49R1H]
+M6*"?%YJ!HJ9E39'VPG`9;O/EH#D8L95,.A8F&DHX/>60794`1,M0S,&B"%^>
+M[P>L"]1T,P1:P($'TD0"Y41OAU@4,@*&P>W@],!U&R'%CMFQ:HY5&CU!-N[:
+M:`]:H6HH)F;`H[WL[.Z[\^9ZZ[8.CHFX(ZCAF4T3E@H1&D:F)3>UXW%).3O]
+MRT3:,VU>!F(A42\]S]WA?`OT/W'0ZPB&3&:)2,V*VM25/IZA($,I-Z0HI"08
+M-.R5&JC:35G(%UE`@`EGDP"BC`(HW^#4+@4(!-L%"/8+F@V"(0E!$*(9H2M"
+MHP<I(a)(A3.EH*%/A10BIZG)RGTY"X'GC!0"*`08_BV;4):=,W*'1$>D"AN&["
+MHYN6'+C&PP%&S;A:II;HDMNP,&X`2"C<T`$\BWO'G`H<X1#048]X,!(!5';5
+M9!`7Q65`NR`#)@+Q?`%PB!9N'JL.24`"=TBC8<^264I[CX?H76/"[!!S/&:.
+M%X#M7\\`373'H-'>@&373*.8%#/6+@=`;!$.`>9,UQMY*T*=9H'VFCSJY7!1
+MH?-G*<O,SZM)H[S5ACLRWLNC#>%!;>7G+:^;0H7;MI8I6M-//XE"IS@R@H7E
+MY\2C1W-"$VZCS`4,FYEC"$C)Q.UJUX'<V"C-8*&,!0P.5E--UX7(a)*&H.B;%0
+ML+&6EQKHA_$SSME2NEX/(a)\11XBG.X,`4--8G3ED+.WP7^'FY4Y7)CEWI**H9
+M44)PT)$0/,^UQZ'N/X]?+\725]GGS$W`4(.Y4IXFLYV[SPZ/.7ID;*W5,DZ7
+M6NO,9"[`%LY37W7WV2T8:.]H"AB:H&G4F3,'3ADO=?%))6R;'4M$0U]M1N4<
+M,V)O"@MH*''QS7D)N`H?*TZ#32Y1#:TPJ%X*%502"V(;4JY>2_3P_3?C7Y81
+MP,^I,KDUEX*'2RG3Z1TR=K[S57UI`^G-6<@AIA:KW**=FLHRLF,>RE9I:;CV
+M4C_OU2_?Z=CQ.71PKA'F+1J.K@V'#!L0F\Q=I##\/`0="-8S0ZE_`R/TQ<ZV
+M&3,_K3)<4$0*N!0XCG>F'CHT4`W8<[TPTZU!0+[.[FW,VK1354`PU6:N@I$Y
+M1)%S)K0='IB5-T]&)5RK!@S/9"_3E$4!NNR>F!0@9T1/(CV^`DDA/[34!0RQ
+M%#(P6<\X#56L2%-:EHOT6QP7!X.0;!#X&/ASC>:8LLPWEBS*LKKB9-)5-!59
+M;6UU`W:U?"X$VMI5J-"JJM33NIPX&OL!*OGM;9XNSKN6C=V;OA4M:TIL8[8*
+M%^J)980DA-L3E:P4-XO,2W1]3!ORDA(8FT"AA0<T0`B0@@$AD<IIX]K7)))?
+M<.[GHCS^J;>@TH(;+`IJ,.ZW<J;D-%3:3/3Q\*J;-,MSQHN:?A,B!F[43+*A
+M3T`NL]D$+W",F=1;?[324]FE`>.(-U!^J\((H=5D)E'S]CYGC\FGS[,.=D#,
+M(@6/J18(LK%TQ`B`(48]'1WW<%0RDAXIVF(Y#P3)VT/;XM<X*$(=^2K1'24&
+M55^C@6F/V]WOI]OR"@NK\CN)K%SO$([H`B`/5XM7"(&62-<CT\*JF+[2+_WG
+MKXK0J9>?VC8[E<)6]2F'B^O^_4N,>`RGOW`@G[W'RU`?#%[PDA$DU(]^8A?^
+MDQ/MS"1D8>ER,>3H3/'H7"ZZZZZ8`23.A,Z?;PB*/NR+C\>IA[S;IO[X\L(U
+M*8+6$!40?^>X!1K^-^)7O8>D0_%NKYCSH<TR'OLV.OQ`4@X0_2\83>ZS]:)(
+M#/7AQ%$8&:1AS>,M=[MMCGM6%&D&#F`2`,8!0\5[J>,"A_;L#]"=R+AE/7]C
+M8_=MCV(DO(2>>\_GL\JRX/G?045JAA`"?.G7@>0?@4#[;Q3V6/>^I+CR_SZ/
+M,QH'S_0_0J>U@>)/_$/5:-1JY7&7'UTX3B"P`2@J&]3PK1Y37045.-[&RU@C
+MRZE!QRM1S7R%'CX/#[_R-&9Z3/H$A9[*ITAY+H87N/MQ^XRSN=4GN]8J"*9T
+M4R?\IT_Z'OD_W1@',I\5%O.?>V!^_>KA%_VPS55;10&&]E*IK?KLI,/7_/>L
+M^UO:R&]I_AK"3J<UAO"':52CZ0SHW&=@[_]DDT5E69\1(RM#Y('517P>+\;_
+M27^:>[[K:'0_IRO#AY]*0D\W_]V,W?7WO7[;][\4N]4J;74]OKR<YX+,3HS5
+M-^>#I("ZF)[\D.+7[JW<1M_S+T\R07]^.GHN2N_V9W^UAH/?M6L(]G=;K8`^
+MNGF*OQV7S(P>`QF$K9K.8#_/:_`86%)Q#=W]L'PKE*TZ/Q/>W0X:[]Z!=<AP
+M[M,3V:G65?K3L9DD?V^Q*VB.OE[QI9PM'#=^<;.7QLQSN>MVAGZ3XE<T)#Y?
+MF*H8QF?OJ!!W!F41S*"'QE"1;W2$G(a)CFMLBQZBT?S1KV.)RT(3((Y1TN%]N\
+M[?\DP3J"1[<&#L#@)<<.!W^8K$$/A-T3CHK\\@8_A2\!>^R4@7Z<;!&Y2#\_
+MZ)!2!?*E\$B%&8XI)1DC5[YX0Q.D!U5!X>T_#9.<7W8\W8*\2(#[7OKPL/%P
+MMCZ'U_NJ)T\='S>((D_7A^ELI=U(3,[P-9[+TT'PWDE'"$\!X=_\_).ROW^?
+MC=.S-W,8.>T2CBVG&3T>S'H/R<V,(]17Y\?Z9949J%A>==M"JX)?-VOP7GM-
+M?2\':;;5N;OB<3>9^20W4&3S:/LW:AA<AG0Q/QE^%$C9;^YY5[*/TX4]:U)+
+MR.=ENOC<%J+`\(2[L7FL9$7U_UQ["R"69C;JW556R,+O.,RK&&>RVH-G6TXL
+MDV\!)L(@OU(`.H@8<80FQRK)$PE(T\YV=T-QZICXH'U:!W.%:XYY4M:_.D`5
+M6YB":A=D94"H`(#`W"$#%A,')0]-U:>&S":X@W%\BOH3^V+%,$"HQKE""HB-
+M0A!C@V((WR@$O#G3>I#[/G[2P@U&5UR47BO1?WMZ5$;Y`0%V0?IONU7!O;OQ
+M$->N4W#HL,OL_MU_I-KT.>\Z;3O>4:*LX#Q,&CM7">7Z$\6]4ZMY7I=NTYM%
+MZ)IY48P2K*WEJ^2V-(B`/`IKS(?6MQ2E'=>U[*5&>8($I,!YRH*,FI%59T3G
+MCT@9#11"[,IUXXTZJ=+@L^BO,#!,@8`B,,'D:[,(IRKJN!N(PCUN7ETFMNQ>
+MT.M,<5L4#9FB*%?$W!57FM?/^ZBA@2T-7E"Z%F;\[:8XR0<6)_+$E*H!FF8.
+M-XG<(8#8^U:S%08IU0*`6B3A$>0E<[+<ZK@N!FS4:YV48;0PM!EH/5%A[CMP
+M$&^(`B?L%`P>JG_>:@;>-`Y1E`&`8=(RYUE')]1`TYY(A:#RB0FG3$PE+)8S
+MGU.@!,R[6^+K@E&1>47'U:5Y9^H"9N$SLJ5J?%:_%JV9"PQ"#C%I;C:?MTG)
+M<_+^*U#T[J#O`$?NA$H`J5@CT><;M?J"+89:J5'/N15EU7F7>F1"I0/G+">Y
+M3+-@8%+J^"D)LAGHE1:IW4%D>L70=!S'KQZ=T/&:X3,<[QS#1;Q0:L.Y4(WR
+MIS8('-XK,_=EA`C,5^$HZS9@[X!)(&TP;5L0+F9IIL:86^R:&;<$8IY<9"=$
+M980D2B%BWIQ8MF1**D<C'(B(H>]I;;CK69[X^A0WPLO@0K_*(X]F;<'PTXE7
+M=W36:V(H)-<H3-9VJ2*8<)R3>CY_U'(8WEH]4NH>1WYRQ+BR</?UNR'F7?3D
+MMT2R'C%XN48K6]_0=R98O.?AXM=&"^,8F;?1F5KU"<RW6$%"J"HU6`[)>@4%
+M$1U.K,)S+4!]61]+Q!Q];=1<:0H&&9F^&`@320!JS8'6STZ[:=E*IZ;&BDC7
+M0Z/7-5O>MY:IK*BM/5>;X56^9&U^#42.H)OFI54HV1)`TJC7_B33GAVXJ]7O
+M;?1"OI([IPP,[MV,/M;SJ$X)F]1/8&A&510:&ID)5D![*U)9=_1^5X(."9$3
+MAKAD3Q"G(58]/R>7K9'EWM'SQL4<(VSXPXG5&YKMU-_C3ND*S57\G4:0+B9,
+MJ5UN=Z]5!0TZS\:=[S.J>H-<K0YH6-N7,(0P<'BJ!U.&WQQQ+M=8D`JJ%TC`
+MV8O[\4"(>)[0]<R`YSOCG4S:@B1`=(&#*9Q5"$!`TZ\[P<5B!VH%*9$H@-=[
+M@OO8,]4"KEF@KLC'OVU1@TC.JJ5E+%4@H:S!+"N5'H0`/I[O@]/6&@/E8.VK
+M1A8',GW)\Y&$!8FA`9,)%T=LD&Q69%/J(]AM-J[P;/M==J8K$*&@89V&ME8"
+MND7RM#$V]AD=V*V[6[S=23=Z!389@HD9G;3JULY3B57)>6K0B-(a)S.BC387!M
+M$S)!YJMA-!`JT[;'[Z^+^[0R-)::%H%<W@K)X=V]%EM'[L1N-/H$+/ZPK=PZ
+M90IF0PY)Q1"6)NO=H,!ANF>GHKM=7G#8VW_]:.U^;<&A9&M/6UP?W""!BY%`
+M#![EE,U-#7?W49=0ZXLS<=KZ:P-?Z3.X9G9?7W,9U.N2TLZ.@I-#Z@G7\7TV
+MWHSA0AEJ*,1,`G^Y-'RV*AEKF,/?,:P^UZ&F<"J&#J0NMG0&<\V@F>9R#G`8
+M8"2$M4:2?X:&&W[K8\*=>CQHL8G]'<]@CN1F#'"X-ZO8\(=;X+BJT=]2+C:H
+M4PL_D99">XRIU6^@S@B;6=;A"S6J!DD&;F8.@CY3\G*1J,;<LF7<C4PQ,D/U
+M<-TY*?E&G^YK2P,`]W0X8'Q->%1,\3U?C65;#&*>6O<Z/7LG$Y-:=(5M<>E!
+MFVJJJM,IDRO),/K661%M4\6#1,IBT04O9HXN64;!]\FH*H#<46AK6%-'LCF9
+MR+1L24TY4/W_$$4`;*4R6-)=-<[!3VX70!7=GKY%5A/>5U.!K<CQI^/OK%BE
+M6S8>P4`/<AR`HXY(>^X".'H%Q?;P',T8(,[(O1T\\K!%">*#TZ3L)AZ$/:3#
+MN#L_''38,`!CF+]:(8[7>H+[G4L`8'8$'2;(;A-TB>Y-?`Z0SHGO<-&]>=?1
+M.%\D]#]-"\?6"0!S,$=]"\WZJKFWW+0,KN8(a)H5#,P4JO+2[I8+)K.GE;OZ'7
+MW6^-;6=X]"-%4;W(a)V9C.#*N(]M'VAWIC7&N_#'E;W?3^T'>]-2-X=9B^4;U\
+MT'*-(H-.>>8:,Q(3.V46OUD]TQT7D-PM+!C5]1&$A5_.0$FU.WL(&AB[^J(W
+MC9_.U;3@%I%C#)%M;R_(%(ZBT`U7Z%$^2K53FF"->R$&0GTQ1HJCRC*ZNL1@
+M;F!0>FK6OK[E(YYHF^=GYS,F>9DC+2@>J2@N@/>\BL^-6Z=!H*-?OLIAZ_NK
+MLDN"E,GB8]*I2!;=UH7JBS.6AF88^:>-ZOR=_N7A"M\B,YE=CK<O+*-R,X#L
+MY9<)!(/=I<-GKYE)T>V?B(2%+;-$FTH0P@=0=)7(@D5HIYCOV$EW.MZP_:HB
+M&,OED]W=BZGUITM#NKAC8,`1SO"V/<*,?4Q+AGF/V=O(_QZ9Q08'TG;(.%W>
+M3QI"^R0+9F25\+`V81V6(a))V/X&8HAATY-]YTO.V[=I1-2`X6_"5%@0JCBP0?
+M!4@"!(7#-S*G*12#Q7ISP]OR(^?&&48%!EP>;\@B($4F'_XNY(IPH2!)0!**
+`
+end
diff --git a/gdb/testsuite/gdb.base/tab-crash.exp b/gdb/testsuite/gdb.base/tab-crash.exp
new file mode 100644
index 0000000..948c1e7
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tab-crash.exp
@@ -0,0 +1,43 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2017 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+if { ![istarget x86_64-*-* ] || ![is_lp64_target] } {
+ return
+}
+
+standard_testfile
+
+# gcc-base-debuginfo-6.3.1-1.fc25.x86_64
+# /usr/lib/debug/lib64/libgcc_s-6.3.1-20161221.so.1.debug
+# objcopy -R .debug_loc -R .debug_ranges -R .debug_info -R .debug_abbrev -R .debug_aranges -R .debug_str -R .comment ...
+
+set debugfilebz2uu ${srcdir}/${subdir}/${testfile}.bz2.uu
+set debugfile [standard_output_file ${testfile}]
+
+if {[catch "system \"uudecode -o - ${debugfilebz2uu} | bzip2 -dc >${debugfile}\""] != 0} {
+ untested "failed uudecode or bzip2"
+ return -1
+}
+file stat ${debugfile} debugfilestat
+if {$debugfilestat(size) != 71936} {
+ untested "uudecode or bzip2 produce invalid result"
+ return -1
+}
+
+clean_restart ${debugfile}
+
+gdb_test "complete p si" "complete p si\r\np size_of_encoded_value"
++++++ gdb-rhbz795424-bitpos-20of25.patch ++++++
++++ 2828 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/gdb/gdb-rhbz795424-bitpos-20of25.patch
++++ and /work/SRC/openSUSE:Factory/.gdb.new/gdb-rhbz795424-bitpos-20of25.patch
++++++ gdb-rhbz795424-bitpos-23of25.patch ++++++
++++ 1060 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/gdb/gdb-rhbz795424-bitpos-23of25.patch
++++ and /work/SRC/openSUSE:Factory/.gdb.new/gdb-rhbz795424-bitpos-23of25.patch
++++++ gdb-rhbz795424-bitpos-lazyvalue.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.337662685 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.337662685 +0200
@@ -34,7 +34,7 @@
+# Test 64-bit file first as it is not compiled so its compilation never fails.
+
+set file64bitbz2uu ${srcdir}/${subdir}/${testfile}.bz2.uu
-+set file64bit ${objdir}/${subdir}/${testfile}
++set file64bit [standard_output_file ${testfile}]
+
+if {[catch "system \"uudecode -o - ${file64bitbz2uu} | bzip2 -dc >${file64bit}\""] != 0} {
+ untested "failed uudecode or bzip2"
++++++ gdb-vla-intel-fortran-strides.patch ++++++
++++ 828 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/gdb/gdb-vla-intel-fortran-strides.patch
++++ and /work/SRC/openSUSE:Factory/.gdb.new/gdb-vla-intel-fortran-strides.patch
++++++ gdb-vla-intel-fortran-vla-strings.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.425650241 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.429649676 +0200
@@ -1,6 +1,9 @@
git diff --stat -p gdb/master...gdb/users/bheckel/fortran-vla-strings
0ad7d8d1a3a36c6e04e3b6d37d8825f18d595723
+entry for NEWS:
+ * Fortran: Support pointers to dynamic types.
+
gdb/NEWS | 2 +
gdb/c-valprint.c | 22 +++++
gdb/dwarf2read.c | 158 +++++++++++++++++++++++++-----
@@ -23,24 +26,11 @@
gdb/valprint.c | 6 --
20 files changed, 827 insertions(+), 110 deletions(-)
-Index: gdb-7.11.90.20160907/gdb/NEWS
-===================================================================
---- gdb-7.11.90.20160907.orig/gdb/NEWS 2016-09-07 21:52:10.273563060 +0200
-+++ gdb-7.11.90.20160907/gdb/NEWS 2016-09-07 21:53:22.708210416 +0200
-@@ -1,6 +1,8 @@
- What has changed in GDB?
- (Organized release by release)
-
-+* Fortran: Support pointers to dynamic types.
-+
- *** Changes in GDB 7.12
-
- * GDB and GDBserver now build with a C++ compiler by default.
-Index: gdb-7.11.90.20160907/gdb/c-valprint.c
+Index: gdb-7.99.90.20170420/gdb/c-valprint.c
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/c-valprint.c 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/c-valprint.c 2016-09-07 21:53:22.708210416 +0200
-@@ -645,6 +645,28 @@
+--- gdb-7.99.90.20170420.orig/gdb/c-valprint.c 2017-04-20 22:27:47.077032118 +0200
++++ gdb-7.99.90.20170420/gdb/c-valprint.c 2017-04-20 22:27:49.947050243 +0200
+@@ -650,6 +650,28 @@
else
{
/* normal case */
@@ -69,11 +59,11 @@
fprintf_filtered (stream, "(");
type_print (value_type (val), "", stream, -1);
fprintf_filtered (stream, ") ");
-Index: gdb-7.11.90.20160907/gdb/dwarf2read.c
+Index: gdb-7.99.90.20170420/gdb/dwarf2read.c
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/dwarf2read.c 2016-09-07 21:52:53.700951175 +0200
-+++ gdb-7.11.90.20160907/gdb/dwarf2read.c 2016-09-07 21:54:02.140562825 +0200
-@@ -1764,7 +1764,8 @@
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2read.c 2017-04-20 22:27:47.091032206 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2read.c 2017-04-20 22:28:28.878296105 +0200
+@@ -1872,7 +1872,8 @@
static int attr_to_dynamic_prop (const struct attribute *attr,
struct die_info *die, struct dwarf2_cu *cu,
@@ -83,7 +73,7 @@
/* memory allocation interface */
-@@ -11446,7 +11447,7 @@
+@@ -11557,7 +11558,7 @@
{
newobj->static_link
= XOBNEW (&objfile->objfile_obstack, struct dynamic_prop);
@@ -92,7 +82,7 @@
}
cu->list_in_scope = &local_symbols;
-@@ -14512,29 +14513,94 @@
+@@ -14791,29 +14792,94 @@
struct gdbarch *gdbarch = get_objfile_arch (objfile);
struct type *type, *range_type, *index_type, *char_type;
struct attribute *attr;
@@ -198,7 +188,7 @@
char_type = language_string_char_type (cu->language_defn, gdbarch);
type = create_string_type (NULL, char_type, range_type);
-@@ -14864,7 +14930,8 @@
+@@ -15163,7 +15229,8 @@
static int
attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
@@ -208,7 +198,7 @@
{
struct dwarf2_property_baton *baton;
struct obstack *obstack = &cu->objfile->objfile_obstack;
-@@ -14874,14 +14941,33 @@
+@@ -15173,14 +15240,33 @@
if (attr_form_is_block (attr))
{
@@ -246,7 +236,7 @@
}
else if (attr_form_is_ref (attr))
{
-@@ -14914,8 +15000,28 @@
+@@ -15213,8 +15299,28 @@
baton = XOBNEW (obstack, struct dwarf2_property_baton);
baton->referenced_type = die_type (target_die, target_cu);
baton->locexpr.per_cu = cu->per_cu;
@@ -277,7 +267,7 @@
prop->data.baton = baton;
prop->kind = PROP_LOCEXPR;
gdb_assert (prop->data.baton != NULL);
-@@ -15027,24 +15133,24 @@
+@@ -15325,24 +15431,24 @@
attr = dwarf2_attr (die, DW_AT_byte_stride, cu);
if (attr)
@@ -285,7 +275,7 @@
+ if (!attr_to_dynamic_prop (attr, die, cu, &stride, NULL, 0))
complaint (&symfile_complaints, _("Missing DW_AT_byte_stride "
"- DIE at 0x%x [in module %s]"),
- die->offset.sect_off, objfile_name (cu->objfile));
+ to_underlying (die->sect_off), objfile_name (cu->objfile));
attr = dwarf2_attr (die, DW_AT_lower_bound, cu);
if (attr)
@@ -294,7 +284,7 @@
else if (!low_default_is_valid)
complaint (&symfile_complaints, _("Missing DW_AT_lower_bound "
"- DIE at 0x%x [in module %s]"),
- die->offset.sect_off, objfile_name (cu->objfile));
+ to_underlying (die->sect_off), objfile_name (cu->objfile));
attr = dwarf2_attr (die, DW_AT_upper_bound, cu);
- if (!attr_to_dynamic_prop (attr, die, cu, &high))
@@ -306,7 +296,7 @@
{
/* If bounds are constant do the final calculation here. */
if (low.kind == PROP_CONST && high.kind == PROP_CONST)
-@@ -22416,7 +22522,7 @@
+@@ -22967,7 +23073,7 @@
attr = dwarf2_attr (die, DW_AT_allocated, cu);
if (attr_form_is_block (attr))
{
@@ -315,7 +305,7 @@
add_dyn_prop (DYN_PROP_ALLOCATED, prop, type, objfile);
}
else if (attr != NULL)
-@@ -22431,7 +22537,7 @@
+@@ -22982,7 +23088,7 @@
attr = dwarf2_attr (die, DW_AT_associated, cu);
if (attr_form_is_block (attr))
{
@@ -324,7 +314,7 @@
add_dyn_prop (DYN_PROP_ASSOCIATED, prop, type, objfile);
}
else if (attr != NULL)
-@@ -22444,7 +22550,7 @@
+@@ -22995,7 +23101,7 @@
/* Read DW_AT_data_location and set in type. */
attr = dwarf2_attr (die, DW_AT_data_location, cu);
@@ -333,10 +323,10 @@
add_dyn_prop (DYN_PROP_DATA_LOCATION, prop, type, objfile);
if (dwarf2_per_objfile->die_type_hash == NULL)
-Index: gdb-7.11.90.20160907/gdb/f-typeprint.c
+Index: gdb-7.99.90.20170420/gdb/f-typeprint.c
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/f-typeprint.c 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/f-typeprint.c 2016-09-07 21:53:22.713210461 +0200
+--- gdb-7.99.90.20170420.orig/gdb/f-typeprint.c 2017-04-20 22:27:26.288900835 +0200
++++ gdb-7.99.90.20170420/gdb/f-typeprint.c 2017-04-20 22:27:49.953050280 +0200
@@ -37,7 +37,7 @@
#endif
@@ -346,9 +336,9 @@
void f_type_print_varspec_prefix (struct type *, struct ui_file *,
int, int);
-@@ -54,18 +54,6 @@
+@@ -53,18 +53,6 @@
+ {
enum type_code code;
- int demangled_args;
- if (type_not_associated (type))
- {
@@ -365,16 +355,16 @@
f_type_print_base (type, stream, show, level);
code = TYPE_CODE (type);
if ((varstring != NULL && *varstring != '\0')
-@@ -87,7 +75,7 @@
- so don't print an additional pair of ()'s. */
+@@ -89,7 +77,7 @@
- demangled_args = varstring[strlen (varstring) - 1] == ')';
+ demangled_args = (*varstring != '\0'
+ && varstring[strlen (varstring) - 1] == ')');
- f_type_print_varspec_suffix (type, stream, show, 0, demangled_args, 0);
+ f_type_print_varspec_suffix (type, stream, show, 0, demangled_args, 0, 0);
}
}
-@@ -157,7 +145,7 @@
+@@ -159,7 +147,7 @@
static void
f_type_print_varspec_suffix (struct type *type, struct ui_file *stream,
int show, int passed_a_ptr, int demangled_args,
@@ -383,7 +373,7 @@
{
int upper_bound, lower_bound;
-@@ -181,34 +169,50 @@
+@@ -183,34 +171,50 @@
fprintf_filtered (stream, "(");
if (type_not_associated (type))
@@ -460,7 +450,7 @@
if (arrayprint_recurse_level == 1)
fprintf_filtered (stream, ")");
else
-@@ -219,13 +223,14 @@
+@@ -221,13 +225,14 @@
case TYPE_CODE_PTR:
case TYPE_CODE_REF:
f_type_print_varspec_suffix (TYPE_TARGET_TYPE (type), stream, 0, 1, 0,
@@ -477,7 +467,7 @@
if (passed_a_ptr)
fprintf_filtered (stream, ")");
-@@ -376,7 +381,7 @@
+@@ -378,7 +383,7 @@
fputs_filtered (" :: ", stream);
fputs_filtered (TYPE_FIELD_NAME (type, index), stream);
f_type_print_varspec_suffix (TYPE_FIELD_TYPE (type, index),
@@ -486,11 +476,11 @@
fputs_filtered ("\n", stream);
}
fprintfi_filtered (level, stream, "End Type ");
-Index: gdb-7.11.90.20160907/gdb/gdbtypes.c
+Index: gdb-7.99.90.20170420/gdb/gdbtypes.c
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/gdbtypes.c 2016-09-07 21:52:53.703951202 +0200
-+++ gdb-7.11.90.20160907/gdb/gdbtypes.c 2016-09-07 21:53:22.714210470 +0200
-@@ -1816,7 +1816,8 @@
+--- gdb-7.99.90.20170420.orig/gdb/gdbtypes.c 2017-04-20 22:27:47.093032219 +0200
++++ gdb-7.99.90.20170420/gdb/gdbtypes.c 2017-04-20 22:27:49.954050287 +0200
+@@ -1840,7 +1840,8 @@
type = check_typedef (type);
/* We only want to recognize references at the outermost level. */
@@ -500,7 +490,7 @@
type = check_typedef (TYPE_TARGET_TYPE (type));
/* Types that have a dynamic TYPE_DATA_LOCATION are considered
-@@ -1850,6 +1851,7 @@
+@@ -1874,6 +1875,7 @@
}
case TYPE_CODE_ARRAY:
@@ -508,7 +498,7 @@
{
gdb_assert (TYPE_NFIELDS (type) == 1);
-@@ -1962,7 +1964,8 @@
+@@ -1986,7 +1988,8 @@
struct type *ary_dim;
struct dynamic_prop *prop;
@@ -518,7 +508,7 @@
type = copy_type (type);
-@@ -1987,13 +1990,17 @@
+@@ -2011,13 +2014,17 @@
ary_dim = check_typedef (TYPE_TARGET_TYPE (elt_type));
@@ -539,7 +529,7 @@
}
/* Resolve dynamic bounds of members of the union TYPE to static
-@@ -2123,6 +2130,28 @@
+@@ -2147,6 +2154,28 @@
return resolved_type;
}
@@ -568,7 +558,7 @@
/* Worker for resolved_dynamic_type. */
static struct type *
-@@ -2171,7 +2200,12 @@
+@@ -2195,7 +2224,12 @@
break;
}
@@ -581,10 +571,10 @@
resolved_type = resolve_dynamic_array (type, addr_stack);
break;
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.cc
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.cp/vla-cxx.cc
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.cp/vla-cxx.cc 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.cc 2016-09-07 21:53:22.714210470 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.cp/vla-cxx.cc 2017-04-20 22:27:47.094032225 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.cp/vla-cxx.cc 2017-04-20 22:27:49.955050293 +0200
@@ -15,6 +15,10 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -613,10 +603,10 @@
+
return vla[2];
}
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.cp/vla-cxx.exp
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.cp/vla-cxx.exp 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.cp/vla-cxx.exp 2016-09-07 21:53:22.715210479 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.cp/vla-cxx.exp 2017-04-20 22:27:47.094032225 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.cp/vla-cxx.exp 2017-04-20 22:27:49.955050293 +0200
@@ -23,6 +23,12 @@
return -1
}
@@ -637,10 +627,10 @@
+gdb_test "ptype ptr" "int \\(\\*\\)\\\[3\\\]"
+gdb_test "print ptr" "\\(int \\(\\*\\)\\\[3\\\]\\) $hex"
+gdb_test "print *ptr" " = \\{5, 7, 9\\}"
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/pointers.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.exp 2016-09-07 21:53:22.715210479 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/pointers.exp 2017-04-20 22:27:49.955050293 +0200
@@ -0,0 +1,143 @@
+# Copyright 2016 Free Software Foundation, Inc.
+
@@ -785,10 +775,10 @@
+gdb_test "print *((integer*) &inta + 2)" "= 3" "print temporary pointer, array"
+gdb_test "print *((integer*) &intvla + 3)" "= 4" "print temporary pointer, allocated vla"
+gdb_test "print \$pc" "= \\(PTR TO -> \\( void \\(\\)\\(\\)\\)\\) $hex <pointers\\+\\d+>" "Print program counter"
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.f90
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/pointers.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/pointers.f90 2016-09-07 21:53:22.715210479 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/pointers.f90 2017-04-20 22:27:49.955050293 +0200
@@ -0,0 +1,109 @@
+! Copyright 2016 Free Software Foundation, Inc.
+!
@@ -899,10 +889,10 @@
+ intv = intv + 1 ! After value assignment
+
+end program pointers
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/print_type.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/print_type.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/print_type.exp 2016-09-07 21:53:22.715210479 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/print_type.exp 2017-04-20 22:27:49.956050299 +0200
@@ -0,0 +1,100 @@
+# Copyright 2016 Free Software Foundation, Inc.
+
@@ -1004,10 +994,10 @@
+ }
+}
+gdb_test "ptype realp" "type = PTR TO -> \\( $real \\)"
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-ptype.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-ptype.exp
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.fortran/vla-ptype.exp 2016-09-07 21:52:53.705951220 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-ptype.exp 2016-09-07 21:53:22.715210479 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla-ptype.exp 2017-04-20 22:27:47.094032225 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-ptype.exp 2017-04-20 22:27:49.956050299 +0200
@@ -32,9 +32,9 @@
# Check the ptype of various VLA states and pointer to VLA's.
gdb_breakpoint [gdb_get_line_number "vla1-init"]
@@ -1045,10 +1035,10 @@
gdb_test "ptype vla2(5, 45, 20)" \
"no such vector element \\\(vector not allocated\\\)" \
"ptype vla2(5, 45, 20) not allocated"
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-strings.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.exp 2016-09-07 21:53:22.716210488 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-strings.exp 2017-04-20 22:27:49.956050299 +0200
@@ -0,0 +1,103 @@
+# Copyright 2016 Free Software Foundation, Inc.
+
@@ -1153,10 +1143,10 @@
+ pass $test
+ }
+}
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.f90
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-strings.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-strings.f90 2016-09-07 21:53:22.716210488 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-strings.f90 2017-04-20 22:27:49.956050299 +0200
@@ -0,0 +1,39 @@
+! Copyright 2016 Free Software Foundation, Inc.
+!
@@ -1197,10 +1187,10 @@
+ var_char_p => null()
+ l = associated(var_char_p) ! var_char_p-not-associated
+end program vla_strings
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-type.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-type.exp
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.fortran/vla-type.exp 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-type.exp 2016-09-07 21:53:22.716210488 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla-type.exp 2017-04-20 22:27:47.094032225 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-type.exp 2017-04-20 22:27:49.956050299 +0200
@@ -132,7 +132,10 @@
"End Type one" ]
@@ -1222,17 +1212,17 @@
"End Type one" ] \
"ptype fivedynarr(2)%tone, not allocated"
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-value.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-value.exp
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.fortran/vla-value.exp 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.fortran/vla-value.exp 2016-09-07 21:53:22.716210488 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.fortran/vla-value.exp 2017-04-20 22:27:47.095032231 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/vla-value.exp 2017-04-20 22:27:49.957050306 +0200
@@ -14,6 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
standard_testfile "vla.f90"
+load_lib "fortran.exp"
- if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
+ if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
{debug f90 quiet}] } {
@@ -25,12 +26,15 @@
return -1
@@ -1278,10 +1268,10 @@
"print associated &pvla"
gdb_test "print pvla(3, 6, 9)" " = 42" "print associated pvla(3,6,9)"
gdb_test "print pvla(1, 3, 8)" " = 1001" "print associated pvla(1,3,8)"
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-var-child-f.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.mi/mi-var-child-f.exp
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.mi/mi-var-child-f.exp 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-var-child-f.exp 2016-09-07 21:53:22.716210488 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.mi/mi-var-child-f.exp 2017-04-20 22:27:47.095032231 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.mi/mi-var-child-f.exp 2017-04-20 22:27:49.957050306 +0200
@@ -17,6 +17,7 @@
load_lib mi-support.exp
@@ -1303,10 +1293,10 @@
set children [list [list "array.-1" "-1" 2 "$int4 \\(2\\)"] \
[list "array.0" "0" 2 "$int4 \\(2\\)"] \
-Index: gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.mi/mi-vla-fortran.exp
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/testsuite/gdb.mi/mi-vla-fortran.exp 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/testsuite/gdb.mi/mi-vla-fortran.exp 2016-09-07 21:53:22.716210488 +0200
+--- gdb-7.99.90.20170420.orig/gdb/testsuite/gdb.mi/mi-vla-fortran.exp 2017-04-20 22:27:47.095032231 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.mi/mi-vla-fortran.exp 2017-04-20 22:27:49.957050306 +0200
@@ -17,7 +17,9 @@
# Array (VLA).
@@ -1405,11 +1395,11 @@
"info type variable pvla2_associated"
mi_gdb_test "592-var-show-format pvla2_associated" \
"592\\^done,format=\"natural\"" \
-Index: gdb-7.11.90.20160907/gdb/typeprint.c
+Index: gdb-7.99.90.20170420/gdb/typeprint.c
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/typeprint.c 2016-09-07 21:52:10.272563051 +0200
-+++ gdb-7.11.90.20160907/gdb/typeprint.c 2016-09-07 21:53:22.717210497 +0200
-@@ -485,6 +485,25 @@
+--- gdb-7.99.90.20170420.orig/gdb/typeprint.c 2017-04-20 22:27:47.095032231 +0200
++++ gdb-7.99.90.20170420/gdb/typeprint.c 2017-04-20 22:27:49.957050306 +0200
+@@ -474,6 +474,25 @@
printf_filtered (" */\n");
}
@@ -1435,11 +1425,11 @@
LA_PRINT_TYPE (type, "", gdb_stdout, show, 0, &flags);
printf_filtered ("\n");
-Index: gdb-7.11.90.20160907/gdb/valops.c
+Index: gdb-7.99.90.20170420/gdb/valops.c
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/valops.c 2016-09-07 21:52:53.707951238 +0200
-+++ gdb-7.11.90.20160907/gdb/valops.c 2016-09-07 21:53:22.717210497 +0200
-@@ -1562,6 +1562,19 @@
+--- gdb-7.99.90.20170420.orig/gdb/valops.c 2017-04-20 22:27:47.096032238 +0200
++++ gdb-7.99.90.20170420/gdb/valops.c 2017-04-20 22:27:49.958050312 +0200
+@@ -1574,6 +1574,19 @@
if (TYPE_CODE (base_type) == TYPE_CODE_PTR)
{
struct type *enc_type;
@@ -1459,7 +1449,7 @@
/* We may be pointing to something embedded in a larger object.
Get the real type of the enclosing object. */
-@@ -1577,8 +1590,7 @@
+@@ -1589,8 +1602,7 @@
else
/* Retrieve the enclosing object pointed to. */
arg2 = value_at_lazy (enc_type,
@@ -1469,11 +1459,11 @@
enc_type = value_type (arg2);
return readjust_indirect_value_type (arg2, enc_type, base_type, arg1);
-Index: gdb-7.11.90.20160907/gdb/valprint.c
+Index: gdb-7.99.90.20170420/gdb/valprint.c
===================================================================
---- gdb-7.11.90.20160907.orig/gdb/valprint.c 2016-09-07 21:52:10.273563060 +0200
-+++ gdb-7.11.90.20160907/gdb/valprint.c 2016-09-07 21:53:22.718210506 +0200
-@@ -1141,12 +1141,6 @@
+--- gdb-7.99.90.20170420.orig/gdb/valprint.c 2017-04-20 22:25:38.224218378 +0200
++++ gdb-7.99.90.20170420/gdb/valprint.c 2017-04-20 22:27:49.959050318 +0200
+@@ -1166,12 +1166,6 @@
return 0;
}
++++++ gdb-vla-intel-stringbt-fix.patch ++++++
--- /var/tmp/diff_new_pack.4hUzaV/_old 2017-06-28 11:15:08.437648544 +0200
+++ /var/tmp/diff_new_pack.4hUzaV/_new 2017-06-28 11:15:08.441647979 +0200
@@ -27,40 +27,43 @@
Thanks,
Jan
---- ./gdb/dwarf2loc.c 2016-08-29 04:01:25.000000000 +0200
-+++ ./gdb/dwarf2loc.c 2016-09-01 11:00:20.258909494 +0200
-@@ -2289,6 +2289,15 @@ const struct dwarf_expr_context_funcs dw
- dwarf_expr_get_obj_addr
- };
+Index: gdb-7.99.90.20170420/gdb/dwarf2loc.c
+===================================================================
+--- gdb-7.99.90.20170420.orig/gdb/dwarf2loc.c 2017-04-20 22:28:59.686490666 +0200
++++ gdb-7.99.90.20170420/gdb/dwarf2loc.c 2017-04-20 22:29:13.104575404 +0200
+@@ -42,6 +42,7 @@
+ #include <algorithm>
+ #include <vector>
+ #include <unordered_set>
++#include <functional>
+ #include "common/underlying.h"
-+static void
-+select_frame_cleanup (void *arg)
-+{
-+ struct frame_info *frame = (struct frame_info *) arg;
-+
-+ if (frame != NULL)
-+ select_frame (frame);
-+}
-+
- /* Evaluate a location description, starting at DATA and with length
- SIZE, to find the current location of variable of TYPE in the
- context of FRAME. BYTE_OFFSET is applied after the contents are
-@@ -2318,6 +2327,11 @@ dwarf2_evaluate_loc_desc_full (struct ty
+ extern int dwarf_always_disassemble;
+@@ -2366,6 +2367,20 @@
+ ctx.per_cu = per_cu;
+ ctx.obj_address = 0;
- ctx = new_dwarf_expr_context ();
- old_chain = make_cleanup_free_dwarf_expr_context (ctx);
-+
-+ make_cleanup (select_frame_cleanup, deprecated_safe_get_selected_frame ());
-+ if (frame != NULL)
-+ select_frame (frame);
++frame_id old_frame_id (get_frame_id (deprecated_safe_get_selected_frame ()));
++class RestoreCall {
++private:
++ const std::function<void ()> func;
++public:
++ RestoreCall(std::function<void ()> func_):func(func_) {}
++ ~RestoreCall() { func(); }
++} restore_frame([=]() {
++ frame_info *old_frame (frame_find_by_id (old_frame_id));
++ if (old_frame != NULL)
++ select_frame (old_frame);
++});
++if (frame != NULL) select_frame (frame);
+
- value_chain = make_cleanup_value_free_to_mark (value_mark ());
+ scoped_value_mark free_values;
- ctx->gdbarch = get_objfile_arch (objfile);
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90
+ ctx.gdbarch = get_objfile_arch (objfile);
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90 2015-05-31 16:14:05.844545344 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame-stub.f90 2017-04-20 22:29:00.673496899 +0200
@@ -0,0 +1,24 @@
+! Copyright 2010 Free Software Foundation, Inc.
+!
@@ -86,10 +89,10 @@
+ real :: dummy
+ dummy = 1
+end subroutine bar
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp 2015-05-31 16:14:05.845545351 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame.exp 2017-04-20 22:29:00.673496899 +0200
@@ -0,0 +1,39 @@
+# Copyright 2010 Free Software Foundation, Inc.
+
@@ -130,10 +133,10 @@
+}
+
+gdb_test "bt" {foo \(string='hello'.*}
-Index: gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90
+Index: gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ gdb-7.9.50.20150520/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90 2015-05-31 16:14:05.845545351 +0200
++++ gdb-7.99.90.20170420/gdb/testsuite/gdb.fortran/dynamic-other-frame.f90 2017-04-20 22:29:00.673496899 +0200
@@ -0,0 +1,36 @@
+! Copyright 2010 Free Software Foundation, Inc.
+!
1
0
Hello community,
here is the log from the commit of package gnome-vfs2 for openSUSE:Factory checked in at 2017-06-28 11:14:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-vfs2 (Old)
and /work/SRC/openSUSE:Factory/.gnome-vfs2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-vfs2"
Wed Jun 28 11:14:57 2017 rev:68 rq:501748 version:2.24.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-vfs2/gnome-vfs2.changes 2016-03-29 14:34:22.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gnome-vfs2.new/gnome-vfs2.changes 2017-06-28 11:14:57.483197735 +0200
@@ -1,0 +2,6 @@
+Mon Jun 5 10:39:04 UTC 2017 - zaitor(a)opensuse.org
+
+- Replace openssl-devel with libopenssl-1_0_0-devel BuildRequires:
+ Build fails with openssl-1.1 (bgo#1042650).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-vfs2.spec ++++++
--- /var/tmp/diff_new_pack.l3B73e/_old 2017-06-28 11:14:58.183098753 +0200
+++ /var/tmp/diff_new_pack.l3B73e/_new 2017-06-28 11:14:58.187098188 +0200
@@ -1,7 +1,7 @@
#
# spec file for package gnome-vfs2
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -35,10 +35,10 @@
BuildRequires: libavahi-glib-devel
BuildRequires: libbz2-devel
BuildRequires: libgcrypt-devel
+BuildRequires: libopenssl-1_0_0-devel
BuildRequires: libselinux-devel
BuildRequires: libsmbclient-devel
BuildRequires: libxml2-devel
-BuildRequires: openssl-devel
BuildRequires: samba
Version: 2.24.4
Release: 0
1
0
Hello community,
here is the log from the commit of package unrar for openSUSE:Factory:NonFree checked in at 2017-06-28 10:37:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory:NonFree/unrar (Old)
and /work/SRC/openSUSE:Factory:NonFree/.unrar.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "unrar"
Wed Jun 28 10:37:58 2017 rev:65 rq:506442 version:5.5.5
Changes:
--------
--- /work/SRC/openSUSE:Factory:NonFree/unrar/unrar.changes 2016-08-20 12:27:37.000000000 +0200
+++ /work/SRC/openSUSE:Factory:NonFree/.unrar.new/unrar.changes 2017-06-28 10:38:05.192096936 +0200
@@ -1,0 +2,28 @@
+Wed Jun 21 09:52:52 UTC 2017 - sebix+novell.com(a)sebix.at
+
+- Update to version 5.5.5
+ * fixes VMSF_DELTA memory corruption (boo#1045315) CVE-2012-6706
+ see https://bugs.chromium.org/p/project-zero/issues/detail?id=1286&can=1&q=unra…
+
+-------------------------------------------------------------------
+Mon Jun 12 09:08:35 UTC 2017 - idonmez(a)suse.com
+
+- Update to version 5.5.4
+ * No changelog upstream.
+
+-------------------------------------------------------------------
+Mon May 1 17:50:44 UTC 2017 - idonmez(a)suse.com
+
+- Update to version 5.5.1
+ * Based on RAR 5.50 beta1
+ * Added extraction support for .LZ archives created by Lzip
+ compressor.
+ * Modern TAR tools can store high precision file times, lengthy
+ file names and large file sizes in special PAX extended headers
+ inside of TAR archive. Now WinRAR supports such PAX headers
+ and uses them when extracting TAR archives.
+ * unrar no longer fails to unpack files in ZIP archives compressed
+ with XZ algorithm and encrypted with AES
+- Remove unrarsrc-3.9-types.patch, fixed upstream.
+
+-------------------------------------------------------------------
Old:
----
unrarsrc-3.9-types.patch
unrarsrc-5.4.5.tar.gz
New:
----
unrarsrc-5.5.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ unrar.spec ++++++
--- /var/tmp/diff_new_pack.nxZcfm/_old 2017-06-28 10:38:06.503911352 +0200
+++ /var/tmp/diff_new_pack.nxZcfm/_new 2017-06-28 10:38:06.507910786 +0200
@@ -18,10 +18,10 @@
# majorversion should match the major version number.
%define majorversion 5
-%define libsuffix 5_4_5
+%define libsuffix 5_5_5
Name: unrar
-Version: 5.4.5
+Version: 5.5.5
Release: 0
Summary: A program to extract, test, and view RAR archives
License: SUSE-NonFree
@@ -29,8 +29,7 @@
Url: http://www.rarlab.com
Source0: http://www.rarlab.com/rar/%{name}src-%{version}.tar.gz
Source1: unrar.1
-Patch1: unrarsrc-3.9-types.patch
-Patch2: unrarsrc-5.0.5-soname.patch
+Patch1: unrarsrc-5.0.5-soname.patch
BuildRequires: gcc-c++
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -58,8 +57,8 @@
%prep
%setup -q -n %{name}
-%patch1
-%patch2 -p1
+%patch1 -p1
+
sed -i 's/\r$//' *.txt
%build
++++++ unrarsrc-5.0.5-soname.patch ++++++
--- /var/tmp/diff_new_pack.nxZcfm/_old 2017-06-28 10:38:06.563902865 +0200
+++ /var/tmp/diff_new_pack.nxZcfm/_new 2017-06-28 10:38:06.563902865 +0200
@@ -2,12 +2,12 @@
===================================================================
--- unrar.orig/makefile
+++ unrar/makefile
-@@ -133,7 +133,7 @@ lib: WHAT=RARDLL
- lib: CXXFLAGS+=$(LIBFLAGS)
+@@ -146,7 +146,7 @@ lib: CXXFLAGS+=$(LIBFLAGS)
lib: clean $(OBJECTS) $(LIB_OBJ)
@rm -f libunrar.so
+ @rm -f libunrar.a
- $(LINK) -shared -o libunrar.so $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
+ $(LINK) -shared -Wl,-soname,libunrar.so.$(libversion) -o libunrar.so.$(libversion) $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
+ $(AR) rcs libunrar.a $(OBJECTS) $(LIB_OBJ)
install-unrar:
- install -D unrar $(DESTDIR)/bin/unrar
++++++ unrarsrc-5.4.5.tar.gz -> unrarsrc-5.5.5.tar.gz ++++++
++++ 8956 lines of diff (skipped)
1
0