libtool: speedup execute mode
Pre-filter sed's input by dd to avoid long delays and unlimited memory consumption. Version: 2.4.2-14 Resolves: #636045
This commit is contained in:
		
							parent
							
								
									ff35f71477
								
							
						
					
					
						commit
						b6164b7e35
					
				
							
								
								
									
										43
									
								
								libtool-2.4.2-dd-execute-mode.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								libtool-2.4.2-dd-execute-mode.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,43 @@ | ||||
| diff --git a/libltdl/config/ltmain.sh b/libltdl/config/ltmain.sh
 | ||||
| index 63ae69d..36625c7 100644
 | ||||
| --- a/libltdl/config/ltmain.sh
 | ||||
| +++ b/libltdl/config/ltmain.sh
 | ||||
| @@ -82,6 +82,7 @@ PROGRAM=libtool
 | ||||
|  PACKAGE=libtool | ||||
|  VERSION=2.4.2 | ||||
|  TIMESTAMP="" | ||||
| +: ${DD=dd}
 | ||||
|  package_revision=1.3337 | ||||
|   | ||||
|  # Be Bourne compatible | ||||
| @@ -1224,6 +1225,21 @@ func_enable_tag "$optarg"
 | ||||
|  ##    Main.    ## | ||||
|  ## ----------- ## | ||||
|   | ||||
| +# func_try_sizelim file n
 | ||||
| +# try to write at most the first N bytes from FILE to the standard output when
 | ||||
| +# possible, otherwise put whole file
 | ||||
| +func_try_sizelim ()
 | ||||
| +{
 | ||||
| +  if test -n "$DD"; then
 | ||||
| +    $DD if="$1" bs=$2 count=1 2>/dev/null
 | ||||
| +    if test $? -eq 127; then
 | ||||
| +      cat "$1" 2>/dev/null
 | ||||
| +    fi
 | ||||
| +  else
 | ||||
| +    cat "$1" 2>/dev/null
 | ||||
| +  fi
 | ||||
| +}
 | ||||
| +
 | ||||
|  # func_lalib_p file | ||||
|  # True iff FILE is a libtool `.la' library or `.lo' object file. | ||||
|  # This function is only a basic sanity check; it will hardly flush out | ||||
| @@ -1231,7 +1247,7 @@ func_enable_tag "$optarg"
 | ||||
|  func_lalib_p () | ||||
|  { | ||||
|      test -f "$1" && | ||||
| -      $SED -e 4q "$1" 2>/dev/null \
 | ||||
| +      func_try_sizelim "$1" 4096 | $SED -e 4q 2>/dev/null \
 | ||||
|          | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 | ||||
|  } | ||||
|   | ||||
							
								
								
									
										11
									
								
								libtool.spec
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								libtool.spec
									
									
									
									
									
								
							| @ -17,6 +17,13 @@ Patch1:  libtool-2.4.2-TEMPORARY-disable-gcj-tests.patch | ||||
| #    fixed in next release. | ||||
| Patch2:  libtool-2.4.2-tar-no-owner.patch | ||||
| 
 | ||||
| # Do not hang too long on sed | ||||
| # ~> #636045 | ||||
| # ~> Downstream (we don't care much about portability) | ||||
| # ~> upstream proposal: | ||||
| #    http://lists.gnu.org/archive/html/bug-libtool/2013-04/msg00005.html | ||||
| Patch3:  libtool-2.4.2-dd-execute-mode.patch | ||||
| 
 | ||||
| Requires(post):  /sbin/install-info | ||||
| Requires(preun): /sbin/install-info | ||||
| 
 | ||||
| @ -80,6 +87,7 @@ Static libraries and header files for development with ltdl. | ||||
| %patch0 -p1 -b .rpath | ||||
| %patch1 -p1 -b .temp-disable-gcj-test | ||||
| %patch2 -p1 -b .tar-no-same-owner | ||||
| %patch3 -p1 -b .dd-exec-mode | ||||
| 
 | ||||
| %build | ||||
| 
 | ||||
| @ -159,8 +167,9 @@ fi | ||||
| %{_libdir}/libltdl.so | ||||
| 
 | ||||
| %changelog | ||||
| * Wed Apr 24 2013 Pavel Raiskup <praiskup@redhat.com> - 2.4.2-14 | ||||
| * Fri Apr 26 2013 Pavel Raiskup <praiskup@redhat.com> - 2.4.2-14 | ||||
| - allow root to copy files into NFS in libtoolize (#740079) | ||||
| - pre-filter sed's input by dd (#636045) | ||||
| 
 | ||||
| * Thu Mar 14 2013 Pavel Raiskup <praiskup@redhat.com> - 2.4.2-13 | ||||
| - do not BR gcc-java in RHEL (by dmach) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user