From 6daa792eab1488d013fefc5eb7e4d01f40f38687 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 7 Feb 2010 20:03:20 +0100 Subject: change defaults for CONFIG/BUILD/INSTALL styles All packages need an update, so here is a very huge commit. Most of the 460 source packages use automatic style for configuration, building and installing. Make these styles default to "auto". If you have a package, which does not conform to this, just use manual style and add a do-$task make target. I added a new style named AUTOTOOL style, which is needed for some broken packages, which needs to be updated via autoconf or automake. I renamed CONFIGURE_STYLE to CONFIG_STYLE. Updates for some packages, which have newer upstream versions. Renaming of all package/*/extra directories. Use the directory src/ to provide overwrites of source files or to add the code, when no upstream package is available or used. src directory will be automatically used. --- package/ca-certificates/Makefile | 4 +- .../ca-certificates/extra/update-ca-certificates | 80 ---------------------- package/ca-certificates/src/update-ca-certificates | 80 ++++++++++++++++++++++ 3 files changed, 81 insertions(+), 83 deletions(-) delete mode 100644 package/ca-certificates/extra/update-ca-certificates create mode 100644 package/ca-certificates/src/update-ca-certificates (limited to 'package/ca-certificates') diff --git a/package/ca-certificates/Makefile b/package/ca-certificates/Makefile index 8a9bf04e4..90754fbc7 100644 --- a/package/ca-certificates/Makefile +++ b/package/ca-certificates/Makefile @@ -22,8 +22,7 @@ include $(TOPDIR)/mk/package.mk $(eval $(call PKG_template,CA_CERTS,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) -BUILD_STYLE:= auto -INSTALL_STYLE:= auto +CONFIG_STYLE:= manual post-install: ifeq (${ADK_PACKAGE_CA_CERTS_SMALL},n) @@ -39,5 +38,4 @@ else ${INSTALL_DATA} ./cert.pem ${IDIR_CA_CERTS}/etc/ssl/ endif - include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/ca-certificates/extra/update-ca-certificates b/package/ca-certificates/extra/update-ca-certificates deleted file mode 100644 index c86f7676f..000000000 --- a/package/ca-certificates/extra/update-ca-certificates +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/sh -# -# update-ca-certificates script for embedded systems. -# -# Copyright (C) 2009 Phil Sutter -# -# 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 -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -CRTCONF=/etc/ca-certificates.conf -CRTDIR=/usr/share/ca-certificates -LNKDIR=/etc/ssl/certs -OPENSSL="openssl" - -cert_type() { # (certfile) - grep -qE '^-----BEGIN (X509 |TRUSTED |)CERTIFICATE-----' $1 && { - echo "cert" - return 0 - } - grep -qE '^-----BEGIN X509 CRL-----' $1 && { - echo "crl" - return 0 - } - echo "unknown" - return 1 -} - -${OPENSSL} version >/dev/null 2>&1 || { - echo "Fatal: no openssl executable found, bailing out" - exit 1 -} - -for l in $(ls ${DESTDIR}${LNKDIR}/* 2>/dev/null); do - [ -L "$l" ] && rm -f "$l" -done - -cat ${DESTDIR}$CRTCONF | while read crt; do - [ -n "$crt" ] || continue - [[ "$crt" = -* ]] && continue - - cname="$(basename $crt)" - - ln -s ${CRTDIR}/$crt ${DESTDIR}${LNKDIR}/$cname - - ctype="$(cert_type ${DESTDIR}${CRTDIR}/$crt)" - case $ctype in - cert) - sslcmd="x509" - pfx="" - ;; - crl) - sslcmd="crl" - pfx="r" - ;; - *) - echo "Warning: ignoring unknown filetype ${DESTDIR}${CRTDIR}/$crt" - continue - ;; - esac - - hsh="$(${OPENSSL} $sslcmd -hash -noout -in ${DESTDIR}${CRTDIR}/$crt)" - idx=0 - while [ -e ${DESTDIR}${LNKDIR}/${hsh}.${pfx}${idx} ]; do - let "idx++" - done - ln -s ${CRTDIR}/$crt ${DESTDIR}${LNKDIR}/${hsh}.${pfx}${idx} -done - -exit 0 diff --git a/package/ca-certificates/src/update-ca-certificates b/package/ca-certificates/src/update-ca-certificates new file mode 100644 index 000000000..c86f7676f --- /dev/null +++ b/package/ca-certificates/src/update-ca-certificates @@ -0,0 +1,80 @@ +#!/bin/sh +# +# update-ca-certificates script for embedded systems. +# +# Copyright (C) 2009 Phil Sutter +# +# 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 +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +CRTCONF=/etc/ca-certificates.conf +CRTDIR=/usr/share/ca-certificates +LNKDIR=/etc/ssl/certs +OPENSSL="openssl" + +cert_type() { # (certfile) + grep -qE '^-----BEGIN (X509 |TRUSTED |)CERTIFICATE-----' $1 && { + echo "cert" + return 0 + } + grep -qE '^-----BEGIN X509 CRL-----' $1 && { + echo "crl" + return 0 + } + echo "unknown" + return 1 +} + +${OPENSSL} version >/dev/null 2>&1 || { + echo "Fatal: no openssl executable found, bailing out" + exit 1 +} + +for l in $(ls ${DESTDIR}${LNKDIR}/* 2>/dev/null); do + [ -L "$l" ] && rm -f "$l" +done + +cat ${DESTDIR}$CRTCONF | while read crt; do + [ -n "$crt" ] || continue + [[ "$crt" = -* ]] && continue + + cname="$(basename $crt)" + + ln -s ${CRTDIR}/$crt ${DESTDIR}${LNKDIR}/$cname + + ctype="$(cert_type ${DESTDIR}${CRTDIR}/$crt)" + case $ctype in + cert) + sslcmd="x509" + pfx="" + ;; + crl) + sslcmd="crl" + pfx="r" + ;; + *) + echo "Warning: ignoring unknown filetype ${DESTDIR}${CRTDIR}/$crt" + continue + ;; + esac + + hsh="$(${OPENSSL} $sslcmd -hash -noout -in ${DESTDIR}${CRTDIR}/$crt)" + idx=0 + while [ -e ${DESTDIR}${LNKDIR}/${hsh}.${pfx}${idx} ]; do + let "idx++" + done + ln -s ${CRTDIR}/$crt ${DESTDIR}${LNKDIR}/${hsh}.${pfx}${idx} +done + +exit 0 -- cgit v1.2.3