Accepting request 492503 from home:bmwiedemann:reproducible:test
Add fixrace.patch to fix random desktop file corruptions (lp#1687644 boo#1021335) OBS-URL: https://build.opensuse.org/request/show/492503 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/intltool?expand=0&rev=35
This commit is contained in:
parent
cc3cbc5155
commit
52ccf6f393
43
fixrace.patch
Normal file
43
fixrace.patch
Normal file
@ -0,0 +1,43 @@
|
||||
From: Bernhard M. Wiedemann <bmwiedemann+intltool@suse.de>
|
||||
|
||||
avoid a race where some processes try to use a partial cache file
|
||||
that is still being written to.
|
||||
Note that we release the lock before load_cache,
|
||||
because if we got the lock, the cache is already completely written
|
||||
and it is OK to have multiple parallel readers
|
||||
|
||||
Index: intltool-0.51.0/intltool-merge.in
|
||||
===================================================================
|
||||
--- intltool-0.51.0.orig/intltool-merge.in
|
||||
+++ intltool-0.51.0/intltool-merge.in
|
||||
@@ -43,6 +43,7 @@ use Getopt::Long;
|
||||
use Text::Wrap;
|
||||
use File::Basename;
|
||||
use Encode;
|
||||
+use Fcntl qw(:flock);
|
||||
|
||||
my $must_end_tag = -1;
|
||||
my $last_depth = -1;
|
||||
@@ -392,11 +393,14 @@ sub load_cache
|
||||
|
||||
sub get_cached_translation_database
|
||||
{
|
||||
+ open(my $lockfh, ">", "$cache_file.lock") or die $!;
|
||||
+ flock($lockfh, LOCK_EX) or die "Could not lock '$cache_file.lock' - $!";
|
||||
my $cache_file_age = -M $cache_file;
|
||||
if (defined $cache_file_age)
|
||||
{
|
||||
if ($cache_file_age <= &get_newest_po_age)
|
||||
{
|
||||
+ close($lockfh);
|
||||
&load_cache;
|
||||
return;
|
||||
}
|
||||
@@ -404,6 +408,7 @@ sub get_cached_translation_database
|
||||
}
|
||||
|
||||
&create_cache;
|
||||
+ close($lockfh);
|
||||
}
|
||||
|
||||
sub add_translation
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue May 2 15:22:35 UTC 2017 - bwiedemann@suse.com
|
||||
|
||||
- Add fixrace.patch to fix random desktop file corruptions
|
||||
(lp#1687644 boo#1021335)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 15 22:26:26 UTC 2016 - mgorse@suse.com
|
||||
|
||||
|
@ -32,6 +32,8 @@ Url: https://edge.launchpad.net/intltool/
|
||||
Source: https://launchpad.net/%{name}/trunk/%{version}/+download/%{name}-%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM intltool-perl-5.22.patch lp#1490906 dimstar@opensuse.org -- Fix execution with perl 5.22
|
||||
Patch0: intltool-perl-5.22.patch
|
||||
# PATCH-FIX-UPSTREAM fixrace.patch lp#1687644 boo#1021335
|
||||
Patch1: fixrace.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
@ -43,6 +45,7 @@ information is written back into the XML files.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p0
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
%configure
|
||||
|
Loading…
Reference in New Issue
Block a user