diff options
author | Mart Raudsepp <leio@gentoo.org> | 2017-06-01 16:30:10 +0300 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2017-06-01 16:30:10 +0300 |
commit | 3b051f7b2952adfd1911a590f42aea6cecdddf5a (patch) | |
tree | 678064abff42da8852753a25b877955bd47459df /net-libs/webkit-gtk/files | |
parent | www-apps/grafana-bin: Bump to 4.3.2 (diff) | |
download | gentoo-3b051f7b2952adfd1911a590f42aea6cecdddf5a.tar.gz gentoo-3b051f7b2952adfd1911a590f42aea6cecdddf5a.tar.bz2 gentoo-3b051f7b2952adfd1911a590f42aea6cecdddf5a.zip |
net-libs/webkit-gtk: security cleanup
Gentoo-bug: 619788
Package-Manager: Portage-2.3.5, Repoman-2.3.2
Diffstat (limited to 'net-libs/webkit-gtk/files')
-rw-r--r-- | net-libs/webkit-gtk/files/2.16.1-avoid-perl-ithreads.patch | 88 | ||||
-rw-r--r-- | net-libs/webkit-gtk/files/2.16.2-avoid-perl-ithreads.patch | 130 |
2 files changed, 0 insertions, 218 deletions
diff --git a/net-libs/webkit-gtk/files/2.16.1-avoid-perl-ithreads.patch b/net-libs/webkit-gtk/files/2.16.1-avoid-perl-ithreads.patch deleted file mode 100644 index 506696fcc7a9..000000000000 --- a/net-libs/webkit-gtk/files/2.16.1-avoid-perl-ithreads.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 1ac17bea2273df0dfec21897b00efb8351648e1b Mon Sep 17 00:00:00 2001 -From: Kent Fredric <kentnl@gentoo.org> -Date: Sun, 9 Apr 2017 04:10:52 +1200 -Subject: Remove need for threaded perl at expense of being single-threaded - -This could theoretically be implemented with forks, but I opted not -to because its too hard, and the platform specifics are too messy. - -This could theoretically also have support for automatic detection -as to which strategy to use based on OS/availability, but the -implementation details of that are too much for my pateience today. - -In an ideal world, this file would support: - -1. Single threaded builds for spartans -2. Forked builds for people who are on linux but don't want to rebuild - their perl just to have threads ( which produce negligible benefit - and measurable performance penalties to all code ) -3. Threaded builds for people who are on windows where forks may not - be entirely sane. - -But #1 is good enough atm. - -This is important for Gentoo, because end users decide on their own -choices with regards to threading support for perl, and threading -support is off by default due to the performance issues mentioned in #2 -in conjunction with the fact that "threads" is officially discouraged -by Perl Upstream. - -And as Gentoo users have to have a system Perl to compile WebkitGTK, -this means installing WebkitGTK requires rebuilding their system Perl -with threads. - -And this *also* means that all packages presently compiled against Perl -become broken, because non-threaded perl and threaded perl are not ABI -compatible with each other, and this can scale into hundreds of -packages and significant transient breakage. - -This ends up in practice being *far* *worse* in terms of time wasted -than the mediocre time inefficiency created by needing a single -threaded build. ---- - Source/WebCore/bindings/scripts/generate-bindings-all.pl | 15 +++++---------- - 1 file changed, 5 insertions(+), 10 deletions(-) - -diff --git a/Source/WebCore/bindings/scripts/generate-bindings-all.pl b/Source/WebCore/bindings/scripts/generate-bindings-all.pl -index 37b27cc74..b3a378df0 100755 ---- a/Source/WebCore/bindings/scripts/generate-bindings-all.pl -+++ b/Source/WebCore/bindings/scripts/generate-bindings-all.pl -@@ -32,9 +32,6 @@ use File::Basename; - use File::Spec; - use File::Find; - use Getopt::Long; --use threads; --use threads::shared; --use Thread::Queue; - - my $perl = $^X; - my $scriptDir = $FindBin::Bin; -@@ -121,13 +118,11 @@ my @idlFilesToUpdate = grep &{sub { - implicitDependencies($depFile)); - needsUpdate(\@output, \@deps); - }}, @idlFiles; --my $queue = Thread::Queue->new(@idlFilesToUpdate); --my $abort :shared = 0; --my $totalCount = @idlFilesToUpdate; --my $currentCount :shared = 0; - --my @threadPool = map { threads->create(\&worker) } (1 .. $numOfJobs); --$_->join for @threadPool; -+my $abort = 0; -+my $totalCount = @idlFilesToUpdate; -+my $currentCount = 0; -+worker(); - exit $abort; - - sub needsUpdate -@@ -158,7 +153,7 @@ sub mtime - } - - sub worker { -- while (my $file = $queue->dequeue_nb()) { -+ while (my $file = shift @idlFilesToUpdate) { - last if $abort; - eval { - $currentCount++; --- -2.12.2 diff --git a/net-libs/webkit-gtk/files/2.16.2-avoid-perl-ithreads.patch b/net-libs/webkit-gtk/files/2.16.2-avoid-perl-ithreads.patch deleted file mode 100644 index fb49731de1f5..000000000000 --- a/net-libs/webkit-gtk/files/2.16.2-avoid-perl-ithreads.patch +++ /dev/null @@ -1,130 +0,0 @@ -From b9ee99577992ccb7a94840f5f7f2d77b31c4e0bd Mon Sep 17 00:00:00 2001 -From: "commit-queue@webkit.org" - <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc> -Date: Sun, 9 Apr 2017 21:48:06 +0000 -Subject: [PATCH] generate-bindings-all.pl shouldn't use Perl threads - https://bugs.webkit.org/show_bug.cgi?id=170106 - -Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-04-09 -Reviewed by Yusuke Suzuki. - -The use of interpreter-based threads in Perl is officially -discouraged and not all Linux distributions and BSD compile Perl -with threads support. Use fork instead of threads to run -generate-bindings.pl in parallel. - -* bindings/scripts/generate-bindings-all.pl: -(spawnGenerateBindingsIfNeeded): Added. -(executeCommand): Removed the workaround for Cygwin Perl threads. -(spawnCommand): Added. -(worker): Deleted. - -git-svn-id: http://svn.webkit.org/repository/webkit/trunk@215166 268f45cc-cd09-0410-ab3c-d52691b4dbfc ---- - .../bindings/scripts/generate-bindings-all.pl | 63 +++++++++++----------- -diff --git a/Source/WebCore/bindings/scripts/generate-bindings-all.pl b/Source/WebCore/bindings/scripts/generate-bindings-all.pl -index 37b27cc..968ea11 100755 ---- a/Source/WebCore/bindings/scripts/generate-bindings-all.pl -+++ b/Source/WebCore/bindings/scripts/generate-bindings-all.pl -@@ -32,9 +32,6 @@ use File::Basename; - use File::Spec; - use File::Find; - use Getopt::Long; --use threads; --use threads::shared; --use Thread::Queue; - - my $perl = $^X; - my $scriptDir = $FindBin::Bin; -@@ -121,13 +118,18 @@ my @idlFilesToUpdate = grep &{sub { - implicitDependencies($depFile)); - needsUpdate(\@output, \@deps); - }}, @idlFiles; --my $queue = Thread::Queue->new(@idlFilesToUpdate); --my $abort :shared = 0; -+ -+my $abort = 0; - my $totalCount = @idlFilesToUpdate; --my $currentCount :shared = 0; -+my $currentCount = 0; - --my @threadPool = map { threads->create(\&worker) } (1 .. $numOfJobs); --$_->join for @threadPool; -+spawnGenerateBindingsIfNeeded() for (1 .. $numOfJobs); -+while (waitpid(-1, 0) != -1) { -+ if ($?) { -+ $abort = 1; -+ } -+ spawnGenerateBindingsIfNeeded(); -+} - exit $abort; - - sub needsUpdate -@@ -157,20 +159,16 @@ sub mtime - return (stat $file)[9]; - } - --sub worker { -- while (my $file = $queue->dequeue_nb()) { -- last if $abort; -- eval { -- $currentCount++; -- my $basename = basename($file); -- printProgress("[$currentCount/$totalCount] $basename"); -- executeCommand($perl, @args, $file) == 0 or die; -- }; -- if ($@) { -- $abort = 1; -- die; -- } -- } -+sub spawnGenerateBindingsIfNeeded -+{ -+ return if $abort; -+ return unless @idlFilesToUpdate; -+ my $file = shift @idlFilesToUpdate; -+ $currentCount++; -+ my $basename = basename($file); -+ printProgress("[$currentCount/$totalCount] $basename"); -+ my $pid = spawnCommand($perl, @args, $file); -+ $abort = 1 unless defined $pid; - } - - sub buildDirectoryCache -@@ -196,22 +194,23 @@ sub implicitDependencies - - sub executeCommand - { -- if ($^O eq 'cygwin') { -- # 'system' of Cygwin Perl doesn't seem thread-safe -- my $pid = fork(); -- defined($pid) or die; -- if ($pid == 0) { -- exec(@_) or die; -- } -- waitpid($pid, 0); -- return $?; -- } - if ($^O eq 'MSWin32') { - return system(quoteCommand(@_)); - } - return system(@_); - } - -+sub spawnCommand -+{ -+ my $pid = fork(); -+ if ($pid == 0) { -+ @_ = quoteCommand(@_) if ($^O eq 'MSWin32'); -+ exec(@_); -+ die "Cannot exec"; -+ } -+ return $pid; -+} -+ - sub quoteCommand - { - return map { --- -1.8.3.1 - |