rpms/sbcl/FC-3 my_setarch.c, NONE, 1.1 sbcl.spec, 1.11, 1.12 sbcl-0.9.4-ADDR_NO_RANDOMIZE-argv0.patch, 1.1, NONE sbcl-0.9.4-ADDR_NO_RANDOMIZE-proc.patch, 1.1, NONE

Rex Dieter (rdieter) fedora-extras-commits at redhat.com
Thu Sep 22 13:21:45 UTC 2005


Author: rdieter

Update of /cvs/extras/rpms/sbcl/FC-3
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv10387

Modified Files:
	sbcl.spec 
Added Files:
	my_setarch.c 
Removed Files:
	sbcl-0.9.4-ADDR_NO_RANDOMIZE-argv0.patch 
	sbcl-0.9.4-ADDR_NO_RANDOMIZE-proc.patch 
Log Message:
* Thu Sep 22 2005 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.4-18
- drop use of setarch, use my_setarch.c

* Mon Sep 19 2005 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.4-17
- rework personality/reexec patch (execve -> execvp)



--- NEW FILE my_setarch.c ---
#include <stdio.h>
#include <sys/personality.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char **argv) {
  if ( argc >= 2 ) {
  long pers = personality(-1);

  /* 0x40000 aka. ADDR_NO_RANDOMIZE */
  if (!(pers & 0x40000)) {
    if (personality(pers | 0x40000) == -1) {
      fprintf(stderr, "WARNING: Couldn't set the proper personality flags.  Trying to continue anyway.\n");
    }
  }
  /* fprintf (stdout, "DEBUG: execing %s with arg %s",argv[1],&argv[1]); */
  execvp(argv[1], &argv[1]); 
  
  }
  exit(0);
}


Index: sbcl.spec
===================================================================
RCS file: /cvs/extras/rpms/sbcl/FC-3/sbcl.spec,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- sbcl.spec	16 Sep 2005 19:54:35 -0000	1.11
+++ sbcl.spec	22 Sep 2005 13:21:42 -0000	1.12
@@ -7,29 +7,15 @@
 #define sbcl_bootstrap cmucl
 #define sbcl_bootstrap clisp
 
-%if "%{?fedora}" >= "3"
-BuildRequires:setarch
-%define setarch setarch %{_target_cpu}
-%endif
-
-%if "%{?fedora}" >= "4"
-%define setarch setarch %{_target_cpu} -R
-%endif
-
-%if "%{?rhel}" >= "3"
-BuildRequires:setarch
-%define setarch setarch %{_target_cpu}
-%endif
-
 Name: 	 sbcl
 Summary: Steel Bank Common Lisp
 Version: 0.9.4
-Release: 15%{?dist}
+Release: 18%{?dist}
 
 License: BSD/MIT
 Group: 	 Development/Languages
 URL:	 http://sbcl.sourceforge.net/
-Source0:  http://dl.sourceforge.net/sourceforge/sbcl/sbcl-%{version}-source.tar.bz2
+Source0: http://dl.sourceforge.net/sourceforge/sbcl/sbcl-%{version}-source.tar.bz2
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 ExclusiveArch: %{ix86} x86_64
 
@@ -50,12 +36,10 @@
 %endif
 %endif
 
+Source100: my_setarch.c
+
 Patch1: sbcl-0.8.18-default-sbcl-home.patch
-# See http://sourceforge.net/mailarchive/message.php?msg_id=12787069
-# use /proc/self/exe
-#Patch2: sbcl-0.9.4-ADDR_NO_RANDOMIZE-proc.patch
-# use argv[0]
-Patch2: sbcl-0.9.4-ADDR_NO_RANDOMIZE-argv0.patch
+Patch2: sbcl-0.9.4-personality.patch
 Patch3: sbcl-0.9.4-optflags.patch
 Patch4: sbcl-0.9.4-LIB_DIR.patch
 
@@ -79,7 +63,7 @@
 #sed -i -e "s|/usr/local/lib/sbcl/|%{_libdir}/sbcl/|" src/runtime/runtime.c
 #or patch to use SBCL_HOME env var
 %patch1 -p0 -b .default-sbcl-home
-%{?setarch:%patch2 -p1 -b .ADDR_NO_RANDOMIZE}
+%patch2 -p1 -b .personality
 %patch3 -p1 -b .optflags
 %patch4 -p1 -b .LIB_DIR
 
@@ -115,6 +99,9 @@
 %if "%{?sbcl_bootstrap}" == "%{nil}"
 export SBCL_HOME=`pwd`/sbcl-bootstrap/lib/sbcl
 export PATH=`pwd`/sbcl-bootstrap/bin:${PATH}
+
+%{__cc} %{SOURCE100} -o my_setarch
+%define setarch ./my_setarch
 %endif
 
 %{?setarch} ./make.sh %{?bootstrap}
@@ -125,8 +112,6 @@
 
 %check || :
 pushd tests 
-# still need setarch if using ADDR_NO_RANDOMIZE-proc patch, since /proc isn't available on buildsystem/mock.
-#{?setarch} sh ./run-tests.sh 
 sh ./run-tests.sh
 popd
 
@@ -138,7 +123,6 @@
 unset SBCL_HOME ||:
 export INSTALL_ROOT=$RPM_BUILD_ROOT%{_prefix}
 export LIB_DIR=$RPM_BUILD_ROOT%{_libdir}
-# (may) still need setarch if using ADDR_NO_RANDOMIZE-proc patch
 sh ./install.sh
 
 ## Unpackaged files
@@ -177,6 +161,12 @@
 
 
 %changelog
+* Thu Sep 22 2005 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.4-18
+- drop use of setarch, use my_setarch.c
+
+* Mon Sep 19 2005 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.4-17
+- rework personality/reexec patch (execve -> execvp)
+
 * Sat Sep 16 2005 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.4-15
 - disable ppc (probably related to #166347)
 


--- sbcl-0.9.4-ADDR_NO_RANDOMIZE-argv0.patch DELETED ---


--- sbcl-0.9.4-ADDR_NO_RANDOMIZE-proc.patch DELETED ---




More information about the fedora-extras-commits mailing list