X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=lfs%2Fopenssl;h=9aef173b05bf72f62e11b05ba204c345dbf035c4;hb=3e95f420280d49eebc07d864bc41e6ab3ea0adc3;hp=5c8b41398e3f2ba065202847f60cd9d488f1ee31;hpb=fea98bc53e658acecfb84578d637a432ab15152c;p=ipfire-2.x.git diff --git a/lfs/openssl b/lfs/openssl index 5c8b41398e..3b9f3e1210 100644 --- a/lfs/openssl +++ b/lfs/openssl @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2007-2015 IPFire Team # # # # 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 # @@ -24,13 +24,55 @@ include Config -VER = 0.9.8o +VER = 1.0.2b THISAPP = openssl-$(VER) DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) -TARGET = $(DIR_INFO)/$(THISAPP) + +TARGET = $(DIR_INFO)/$(THISAPP)$(KCFG) + +ifneq "$(KCFG)" "-sse2" +CFLAGS += -DPURIFY +else +CFLAGS =-O2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fPIC +CFLAGS+= -fstack-protector-all --param=ssp-buffer-size=4 +CFLAGS+= -march=i686 -mmmx -msse -msse2 -mfpmath=sse +CFLAGS+= -fomit-frame-pointer -DPURIFY +CXXFLAGS="${CFLAGS}" +endif + +export RPM_OPT_FLAGS = $(CFLAGS) + +CONFIGURE_OPTIONS = \ + --prefix=/usr \ + --openssldir=/etc/ssl \ + --enginesdir=/usr/lib/openssl/engines \ + shared \ + zlib-dynamic \ + enable-camellia \ + enable-md2 \ + enable-seed \ + enable-tlsext \ + enable-rfc3779 \ + no-idea \ + no-mdc2 \ + no-rc5 \ + no-srp \ + -DSSL_FORBID_ENULL + +ifeq "$(MACHINE)" "i586" + CONFIGURE_OPTIONS += linux-elf + +ifneq "$(KCFG)" "-sse2" + CONFIGURE_OPTIONS += no-sse2 +endif +endif + +ifeq "$(MACHINE)" "armv5tel" + CONFIGURE_OPTIONS += linux-generic32 +endif ############################################################################### # Top-level Rules @@ -40,7 +82,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 63ddc5116488985e820075e65fbe6aa4 +$(DL_FILE)_MD5 = 7729b259e2dea7d60b32fc3934d6984b install : $(TARGET) @@ -70,18 +112,46 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-0.9.8n-cryptodev.diff -ifeq "$(PADLOCK)" "1" - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-0.9.8g-engine-padlock.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.0-beta5-enginesdir.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.2a-rpmbuild.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.1m-weak-ciphers.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-disable-sslv2-sslv3.patch + + # i586 specific patches +ifeq "$(MACHINE)" "i586" + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.2a_auto_enable_padlock.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.2a_disable_ssse3_for_amd.patch endif - @rm -rf /etc/ssl - cd $(DIR_APP) && sed -i -e 's/mcpu/march/' config - cd $(DIR_APP) && sed -i -e 's/-O3/-O2/' -e 's/-march=i486/-march=i586/' Configure - cd $(DIR_APP) && ./Configure --openssldir=/etc/ssl --prefix=/usr shared linux-elf \ - zlib-dynamic no-asm 386 - cd $(DIR_APP) && make MANDIR=/usr/share/man - cd $(DIR_APP) && make MANDIR=/usr/share/man install - rm -rf /etc/ssl/lib + + # Apply our CFLAGS + cd $(DIR_APP) && sed -i Configure \ + -e "s/-O3 -fomit-frame-pointer/$(CFLAGS)/g" + + cd $(DIR_APP) && find crypto/ -name Makefile -exec \ + sed 's/^ASFLAGS=/&-Wa,--noexecstack /' -i {} \; + + cd $(DIR_APP) && ./Configure $(CONFIGURE_OPTIONS) + + cd $(DIR_APP) && make depend + cd $(DIR_APP) && make + +ifeq "$(KCFG)" "-sse2" + -mkdir -pv /usr/lib/sse2 + cd $(DIR_APP) && install -m 755 \ + libcrypto.so.10 /usr/lib/sse2 +else + # Install everything. + cd $(DIR_APP) && make install install -m 0644 $(DIR_SRC)/config/ssl/openssl.cnf /etc/ssl + + # Remove man pages. + -rm -vfr /etc/ssl/man + + # Move engines to the right place. + -mkdir -pv /usr/lib/openssl + rm -vfr /usr/lib/openssl/engines + mv -v /usr/lib/engines /usr/lib/openssl +endif + @rm -rf $(DIR_APP) @$(POSTBUILD)