Convert openssl to new packaging style, install devel stuff in STAGING_DIR/usr, change openssldir to /etc/ssl, enable MD4, add openssl-util subpackage

SVN-Revision: 1015
This commit is contained in:
Nicolas Thill 2005-05-22 10:01:06 +00:00
parent 97f233b93c
commit 1ac17844f4
6 changed files with 115 additions and 72 deletions

View file

@ -1,7 +1,35 @@
config BR2_PACKAGE_OPENSSL config BR2_PACKAGE_LIBOPENSSL
tristate "openssl" tristate "libopenssl - Open source SSL (Secure Socket Layer) libraries"
default m if CONFIG_DEVEL default m if CONFIG_DEVEL
depends BR2_PACKAGE_OPENSSL
help help
A library implementing the SSL and TLS protocols
The OpenSSL Project is a collaborative effort to develop a robust,
commercial-grade, full-featured, and Open Source toolkit implementing
the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1)
protocols as well as a full-strength general purpose cryptography library.
http://www.openssl.org/ http://www.openssl.org/
This package contains the shared SSL libraries, needed by other programs.
config BR2_PACKAGE_OPENSSL_UTIL
tristate "openssl-util - OpenSSL command line tool"
default m if CONFIG_DEVEL
depends BR2_PACKAGE_LIBOPENSSL
help
The OpenSSL Project is a collaborative effort to develop a robust,
commercial-grade, full-featured, and Open Source toolkit implementing
the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1)
protocols as well as a full-strength general purpose cryptography library.
http://www.openssl.org/
This package contains the multi-purpose OpenSSL binary tool.
config BR_PACKAGE_OPENSSL
tristate
default BR2_PACKAGE_LIBOPENSSL

View file

@ -2,44 +2,44 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME := openssl PKG_NAME:=openssl
PKG_VERSION := 0.9.7g PKG_VERSION:=0.9.7g
PKG_RELEASE := 1 PKG_RELEASE:=1
PKG_MD5SUM := 991615f73338a571b6a1be7d74906934 PKG_MD5SUM:=991615f73338a571b6a1be7d74906934
PKG_SOURCE_SITE := http://www.openssl.org/source PKG_SOURCE_URL:=http://www.openssl.org/source/
PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_CAT := zcat PKG_CAT:=zcat
PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
PKG_IPK := $(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
OPENSSL_NO_CIPHERS:=no-idea no-mdc2 no-rc5 no-rc2 no-md2 no-md4 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
OPENSSL_NO_CIPHERS:= no-idea no-md2 no-mdc2 no-rc2 no-rc5
include $(TOPDIR)/package/rules.mk
$(eval $(call PKG_template,LIBOPENSSL,libopenssl,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(eval $(call PKG_template,OPENSSL_UTIL,openssl-util,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
.NOTPARALLEL: .NOTPARALLEL:
$(DL_DIR)/$(PKG_SOURCE_FILE): $(PKG_BUILD_DIR)/.configured:
mkdir -p $(DL_DIR) $(SED) 's,/CFLAG=,/CFLAG= $(TARGET_SOFT_FLOAT) ,g' $(PKG_BUILD_DIR)/Configure
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE_FILE) $(PKG_MD5SUM) $(PKG_SOURCE_SITE)
$(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE_FILE)
mkdir -p $(TOOL_BUILD_DIR)
$(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
$(PATCH) $(PKG_BUILD_DIR) ./patches
$(SED) 's,/CFLAG=,/CFLAG= $(TARGET_SOFT_FLOAT) ,g' \
$(PKG_BUILD_DIR)/Configure
touch $(PKG_BUILD_DIR)/.patched
$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.patched
(cd $(PKG_BUILD_DIR); \ (cd $(PKG_BUILD_DIR); \
CFLAGS="-DOPENSSL_NO_KRB5 -DOPENSSL_NO_IDEA -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5" \ PATH=$(TARGET_PATH) \
PATH=$(TARGET_PATH) ./Configure linux-$(ARCH) --prefix=/ \ ./Configure linux-$(ARCH) \
--openssldir=/usr/lib/ssl -L$(STAGING_DIR)/usr/lib -ldl \ --prefix=/usr \
-I$(STAGING_DIR)/usr/include $(OPENSSL_NO_CIPHERS) \ --openssldir=/etc/ssl \
shared no-krb5 no-ec no-engine zlib-dynamic no-hw no-threads ) -I$(STAGING_DIR)/usr/include \
touch $(PKG_BUILD_DIR)/.configured -L$(STAGING_DIR)/usr/lib -ldl \
$(OPENSSL_NO_CIPHERS) \
shared no-asm no-ec no-engine no-err no-fips no-hw no-krb5 no-threads zlib-dynamic \
)
touch $@
$(PKG_BUILD_DIR)/apps/openssl: $(PKG_BUILD_DIR)/.configured $(PKG_BUILD_DIR)/.built:
rm -rf $(PKG_INSTALL_DIR)
mkdir -p $(PKG_INSTALL_DIR)
$(MAKE) -C $(PKG_BUILD_DIR) -j1 \ $(MAKE) -C $(PKG_BUILD_DIR) -j1 \
CC="$(TARGET_CC)" \ CC="$(TARGET_CC)" \
AR="$(TARGET_CROSS)ar r" \ AR="$(TARGET_CROSS)ar r" \
@ -47,39 +47,44 @@ $(PKG_BUILD_DIR)/apps/openssl: $(PKG_BUILD_DIR)/.configured
all build-shared all build-shared
# Work around openssl build bug to link libssl.so with libcrypto.so. # Work around openssl build bug to link libssl.so with libcrypto.so.
-rm $(PKG_BUILD_DIR)/libssl.so.*.*.* -rm $(PKG_BUILD_DIR)/libssl.so.*.*.*
$(MAKE) -j1 CC=$(TARGET_CC) -C $(PKG_BUILD_DIR) do_linux-shared $(MAKE) -C $(PKG_BUILD_DIR) -j1 \
CC=$(TARGET_CC) \
do_linux-shared
$(MAKE) -C $(PKG_BUILD_DIR) -j1 \
INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
install
touch $@
$(STAGING_DIR)/lib/libssl.so: $(PKG_BUILD_DIR)/apps/openssl $(IPKG_LIBOPENSSL):
$(MAKE) -j1 CC=$(TARGET_CC) INSTALL_PREFIX=$(STAGING_DIR) -C $(PKG_BUILD_DIR) install_sw install -d -m0755 $(IDIR_LIBOPENSSL)/usr/lib
cp -fa $(PKG_BUILD_DIR)/libcrypto.so* $(STAGING_DIR)/lib/ cp -fpR $(PKG_INSTALL_DIR)/usr/lib/lib{crypto,ssl}.so.* $(IDIR_LIBOPENSSL)/usr/lib/
chmod a-x $(STAGING_DIR)/lib/libcrypto.so.0.9.7 chmod 0644 $(IDIR_LIBOPENSSL)/usr/lib/*
(cd $(STAGING_DIR)/lib; ln -fs libcrypto.so.0.9.7 libcrypto.so) $(RSTRIP) $(IDIR_LIBOPENSSL)
(cd $(STAGING_DIR)/lib; ln -fs libcrypto.so.0.9.7 libcrypto.so.0) $(IPKG_BUILD) $(IDIR_LIBOPENSSL) $(PACKAGE_DIR)
cp -fa $(PKG_BUILD_DIR)/libssl.so* $(STAGING_DIR)/lib/
chmod a-x $(STAGING_DIR)/lib/libssl.so.0.9.7
(cd $(STAGING_DIR)/lib; ln -fs libssl.so.0.9.7 libssl.so)
(cd $(STAGING_DIR)/lib; ln -fs libssl.so.0.9.7 libssl.so.0)
$(PKG_IPK): $(STAGING_DIR)/lib/libssl.so $(IPKG_OPENSSL_UTIL):
mkdir -p $(PACKAGE_DIR) install -d -m0755 $(IDIR_OPENSSL_UTIL)/etc/ssl
$(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_BUILD_DIR)/ipkg/$(PKG_NAME) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) cp -fpR $(PKG_INSTALL_DIR)/etc/ssl/openssl.cnf $(IDIR_OPENSSL_UTIL)/etc/ssl/
mkdir -p $(PKG_BUILD_DIR)/ipkg/$(PKG_NAME)/usr/lib install -d -m0755 $(IDIR_OPENSSL_UTIL)/etc/ssl/certs
cp -a $(STAGING_DIR)/lib/libssl.so* $(PKG_BUILD_DIR)/ipkg/$(PKG_NAME)/usr/lib install -d -m0700 $(IDIR_OPENSSL_UTIL)/etc/ssl/private
cp -a $(STAGING_DIR)/lib/libcrypto.so* $(PKG_BUILD_DIR)/ipkg/$(PKG_NAME)/usr/lib install -d -m0755 $(IDIR_OPENSSL_UTIL)/usr/bin
$(STRIP) $(PKG_BUILD_DIR)/ipkg/$(PKG_NAME)/usr/lib/* cp -fpR $(PKG_INSTALL_DIR)/usr/bin/openssl $(IDIR_OPENSSL_UTIL)/usr/bin/
$(IPKG_BUILD) $(PKG_BUILD_DIR)/ipkg/$(PKG_NAME) $(PACKAGE_DIR) $(RSTRIP) $(IDIR_OPENSSL_UTIL)
$(IPKG_BUILD) $(IDIR_OPENSSL_UTIL) $(PACKAGE_DIR)
$(IPKG_STATE_DIR)/info/openssl.list: $(PKG_IPK) $(STAGING_DIR)/usr/lib/libssl.so: $(PKG_BUILD_DIR)/.built
$(IPKG) install $(PKG_IPK) mkdir -p $(STAGING_DIR)/usr/include
cp -fpR $(PKG_INSTALL_DIR)/usr/include/openssl $(STAGING_DIR)/usr/include/
mkdir -p $(STAGING_DIR)/usr/lib/
cp -fpR $(PKG_INSTALL_DIR)/usr/lib/lib{crypto,ssl}.{a,so*} $(STAGING_DIR)/usr/lib/
touch $@
source: $(DL_DIR)/$(PKG_SOURCE_FILE) install-dev: $(STAGING_DIR)/usr/lib/libssl.so
prepare: $(PKG_BUILD_DIR)/.patched
compile: $(STAGING_DIR)/lib/libssl.so $(PKG_IPK)
install: $(PKG_ZLIB) $(IPKG_STATE_DIR)/info/openssl.list
clean: uninstall-dev:
rm -rf $(PKG_BUILD_DIR) rm -rf \
rm -f $(STAGING_DIR)/lib/libssl* $(STAGING_DIR)/usr/include/openssl \
rm -f $(STAGING_DIR)/lib/libcrypto* $(STAGING_DIR)/usr/lib/lib{crypto,ssl}.{a,so*} \
rm -f $(PKG_IPK)
compile: install-dev
clean: uninstall-dev

View file

@ -0,0 +1,6 @@
Package: libopenssl
Priority: optional
Section: libs
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/openssl/
Description: OpenSSL (Secure Socket Layer) libraries

View file

@ -0,0 +1 @@
/etc/ssl/openssl.cnf

View file

@ -0,0 +1,9 @@
Package: openssl-util
Priority: optionnal
Section: admin
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Nico <nthill@free.fr>
Source: http://openwrt.org/cgi-bin/viewcvs.cgi/openwrt/package/openssl/
Description: OpenSSL (Secure Socket Layer) command line tool
Depends: libopenssl

View file

@ -1,6 +0,0 @@
Package: openssl
Priority: optional
Section: libs
Maintainer: Felix Fietkau <nbd@vd-s.ath.cx>
Source: buildroot internal
Description: OpenSSL Secure Socket Layer library