From 912e3f8b32ed8c2ff77f59c09e03d01d45ad7189 Mon Sep 17 00:00:00 2001 From: TATEISHI Katsuyuki Date: Thu, 6 Aug 2009 02:07:05 +0900 Subject: [PATCH] Clean up autotools-related files and rpm spec file. * Rename configure.in to configure.ac. * Delete install target from Makefile.am. * Change sslproxy.spec.in to suit new autotools-files. * Add conf/logrotate.d for logrotate config and rename the config file because this filename should be the same as its package name according to rpmlint. * Change to install README into docdir. Note: To build this package, follow these steps. 1 Install automake, autoconf, libtool and other software required by SSLProxy. 2 Checkout from git repository. % git clone 3 Generate configure script, Makefile.in and other files. % cd sslproxy % autoreconf -if 4 Build % ./configure [*] % make 5 Install % make install [*] You should specify following options to install as previous releases. % ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --libdir='${prefix}/lib64' --- Makefile.am | 11 ++- conf/Makefile.am | 15 +-- conf/logrotate.d/Makefile.am | 4 + .../sslproxy} | 0 configure.ac | 57 +++++++---- logger/Makefile.am | 6 +- parameter/Makefile.am | 5 +- src/Makefile.am | 28 ++---- sslfiles/Makefile.am | 12 +-- sslproxy.spec.in | 107 ++++----------------- 10 files changed, 104 insertions(+), 141 deletions(-) create mode 100644 conf/logrotate.d/Makefile.am rename conf/{sslproxyadm.logrotate => logrotate.d/sslproxy} (100%) diff --git a/Makefile.am b/Makefile.am index 7e7382a..82dc686 100644 --- a/Makefile.am +++ b/Makefile.am @@ -22,5 +22,14 @@ ###################################################################### SUBDIRS = logger parameter src conf sslfiles -AUTOMAKE_OPTIONS = foreign +docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION) +dist_doc_DATA = \ + README + +EXTRA_DIST = \ + CHANGES \ + sslproxy.spec.in + +install-data-hook: + mkdir -p $(DESTDIR)$(localstatedir)/log/sslproxy diff --git a/conf/Makefile.am b/conf/Makefile.am index eee4c14..1266dbd 100644 --- a/conf/Makefile.am +++ b/conf/Makefile.am @@ -1,8 +1,9 @@ -AUTOMAKE_OPTIONS = foreign +SUBDIRS = logrotate.d -install: - $(INSTALL) -b -m 644 -D ./sslproxy.logger_init.cf /etc/l7vs/sslproxy/sslproxy.logger_init.cf - $(INSTALL) -b -m 644 -D ./sslproxy.target_1.cf /etc/l7vs/sslproxy/sslproxy.target_1.cf - $(INSTALL) -b -m 644 -D ./sslproxy.target_2.cf /etc/l7vs/sslproxy/sslproxy.target_2.cf - $(INSTALL) -b -m 644 -D ./sslproxyadm.cf /etc/l7vs/sslproxy/sslproxyadm.cf - $(INSTALL) -b -m 644 -D ./sslproxyadm.logrotate /etc/logrotate.d/sslproxyadm +sysconf_sslproxydir = $(sysconfdir)/l7vs/sslproxy + +dist_sysconf_sslproxy_DATA = \ + sslproxy.logger_init.cf \ + sslproxy.target_1.cf \ + sslproxy.target_2.cf \ + sslproxyadm.cf diff --git a/conf/logrotate.d/Makefile.am b/conf/logrotate.d/Makefile.am new file mode 100644 index 0000000..5252cbe --- /dev/null +++ b/conf/logrotate.d/Makefile.am @@ -0,0 +1,4 @@ +sysconf_logrotatedir = $(sysconfdir)/logrotate.d + +dist_sysconf_logrotate_DATA = \ + sslproxy diff --git a/conf/sslproxyadm.logrotate b/conf/logrotate.d/sslproxy similarity index 100% rename from conf/sslproxyadm.logrotate rename to conf/logrotate.d/sslproxy diff --git a/configure.ac b/configure.ac index 6fa54e6..923cace 100644 --- a/configure.ac +++ b/configure.ac @@ -1,9 +1,17 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +m4_define([SSLPROXY_VERSION], 1.0.1) +m4_define([SSLPROXY_PATCHLV], 1) +# For additional releasename (ex. m4_define([SSLPROXY_RELSUFFIX], [rc1]) for rc1) +m4_define([SSLPROXY_RELSUFFIX], [atfix]) + AC_PREREQ(2.59) -AC_INIT(sslproxy) -PACKAGENAME=sslproxy -VERSION=1.0.1-1 +AC_INIT([sslproxy], + SSLPROXY_VERSION[-]SSLPROXY_PATCHLV[]SSLPROXY_RELSUFFIX, + [ultramonkey-l7-develop@lists.sourceforge.jp]) -AM_INIT_AUTOMAKE($PACKAGENAME, $VERSION, no-define ) +AM_INIT_AUTOMAKE([foreign]) AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_HEADER([config.h]) @@ -17,15 +25,31 @@ AC_PROG_MAKE_SET AC_PROG_RANLIB # Checks for libraries. -AC_CHECK_LIB(log4cxx, main, :, +AC_LANG_PUSH([C++]) +AC_CHECK_LIB([log4cxx], [main],, [AC_MSG_ERROR( sslproxy require log4cxx library. )] ) -AC_CHECK_LIB(rt, main, :, +AC_CHECK_LIB([boost_regex], [main],, + [AC_MSG_ERROR([sslproxy requires boost, The Boost C++ Libraries.])]) +AC_LANG_POP([C++]) +AC_CHECK_LIB([rt], [main],, [AC_MSG_ERROR( sslproxy require rt library. )] ) -AC_CHECK_LIB(ssl, main, :, - [AC_MSG_ERROR( sslproxy require ssl library. )] ) +AC_CHECK_LIB([ssl], [main],, + [AC_MSG_ERROR([sslproxy require ssl library. In many linux distro, ]dnl +[openssl-devel or openssl-dev package will provides you the ssl libraries.])]) # Checks for header files. AC_CHECK_HEADERS([limits.h unistd.h]) +AC_LANG_PUSH([C++]) +AC_CHECK_HEADERS([boost/asio/ssl.hpp],, +[AC_MSG_ERROR([sslproxy requires boost, The Boost C++ Libraries, ]dnl +[1.36.0 or higher. Does your system have boost headers? ]dnl +[In many linux distro, boost-devel or boost-dev package will provides you ]dnl +[the boost headers.])]) + +AC_CHECK_HEADERS([log4cxx/logger.h],, + [AC_MSG_ERROR([sslproxy requires log4cxx. Does your system have ]dnl +[log4cxx headers?])]) +AC_LANG_POP([C++]) # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STDBOOL @@ -40,19 +64,16 @@ AC_FUNC_MKTIME AC_FUNC_STRFTIME AC_CHECK_FUNCS([gethostname localtime_r memset]) -# application-specific option -if test `uname -m` == "x86_64"; then - AC_SUBST( libdir, [/usr/lib64] ) -else - AC_SUBST( libdir, [/usr/lib] ) -fi - AC_SUBST(CC,g++) -AC_SUBST(exec_prefix, [/usr] ) +AC_SUBST(sslproxy_version, SSLPROXY_VERSION) +AC_SUBST(sslproxy_patchlv, SSLPROXY_PATCHLV) +AC_SUBST(sslproxy_relsuffix, SSLPROXY_RELSUFFIX) AC_CONFIG_FILES([parameter/Makefile] [logger/Makefile] [Makefile] [src/Makefile] [conf/Makefile] - [sslfiles/Makefile]) -AC_OUTPUT(sslproxy.spec) + [conf/logrotate.d/Makefile] + [sslfiles/Makefile] + [sslproxy.spec]) +AC_OUTPUT diff --git a/logger/Makefile.am b/logger/Makefile.am index 352fe32..5d29a77 100644 --- a/logger/Makefile.am +++ b/logger/Makefile.am @@ -1,7 +1,7 @@ noinst_LIBRARIES= libsslproxy_logger.a -AUTOMAKE_OPTIONS = foreign libsslproxy_logger_a_SOURCES = \ + lexical_cast.h \ logger_enum.h \ logger.h \ logger_impl.h \ @@ -12,5 +12,7 @@ libsslproxy_logger_a_SOURCES = \ time_and_size_based_rolling_policy.h \ time_and_size_based_rolling_policy.cpp -libsslproxy_logger_a_CPPFLAGS = -O2 -g -I../include -I../parameter \ +libsslproxy_logger_a_CPPFLAGS = -O2 -g \ + -I$(top_srcdir)/include \ + -I$(top_srcdir)/parameter \ -DVERSION=\"$(VERSION)\" diff --git a/parameter/Makefile.am b/parameter/Makefile.am index 7de6bd2..830d260 100644 --- a/parameter/Makefile.am +++ b/parameter/Makefile.am @@ -1,5 +1,4 @@ noinst_LIBRARIES= libsslproxy_parameter.a -AUTOMAKE_OPTIONS = foreign libsslproxy_parameter_a_SOURCES = \ parameter_enum.h \ @@ -8,5 +7,7 @@ libsslproxy_parameter_a_SOURCES = \ parameter.cpp \ parameter_impl.cpp -libsslproxy_parameter_a_CPPFLAGS = -O2 -g -I../../include -I../logger \ +libsslproxy_parameter_a_CPPFLAGS = -O2 -g \ + -I$(top_srcdir)/include \ + -I$(top_srcdir)/logger \ -DVERSION=\"$(VERSION)\" diff --git a/src/Makefile.am b/src/Makefile.am index e171fb4..99f8151 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,35 +1,27 @@ sbin_PROGRAMS = sslproxy -AUTOMAKE_OPTIONS = foreign -SSLPROXY_SBINDIR = @sbindir@ +dist_sbin_SCRIPTS = sslproxyadm -sslproxy_CPPFLAGS = -O2 -g -I../include \ - -I../logger -I../parameter \ +sslproxy_CPPFLAGS = -O2 -g -I$(top_srcdir)/include \ + -I$(top_srcdir)/logger -I$(top_srcdir)/parameter \ -I/usr/local/include/boost \ -pthread \ -DVERSION=\"$(VERSION)\" sslproxy_SOURCES = \ - ../logger/logger_wrapper.h \ - ../parameter/parameter_wrapper.h \ - ../include/sslproxy.h \ - ../include/sslproxyserver.h \ - ../include/sslproxysession.h \ + $(top_srcdir)/logger/logger_wrapper.h \ + $(top_srcdir)/parameter/parameter_wrapper.h \ + $(top_srcdir)/include/sslproxy.h \ + $(top_srcdir)/include/sslproxyserver.h \ + $(top_srcdir)/include/sslproxysession.h \ sslproxy.cpp \ sslproxymain.cpp \ sslproxyserver.cpp \ sslproxysession.cpp -sslproxy_LDADD = ../logger/libsslproxy_logger.a \ - ../parameter/libsslproxy_parameter.a \ +sslproxy_LDADD = $(top_builddir)/logger/libsslproxy_logger.a \ + $(top_builddir)/parameter/libsslproxy_parameter.a \ -llog4cxx \ -lrt \ -lssl \ -lboost_system-gcc41-mt \ -lboost_thread-gcc41-mt - -install: - $(INSTALL) -m 755 -D \ - ./sslproxy \ - ./sslproxyadm \ - $(SSLPROXY_SBINDIR) - mkdir -p /var/log/l7vs/sslproxy diff --git a/sslfiles/Makefile.am b/sslfiles/Makefile.am index 7bcb7c1..7d8c801 100644 --- a/sslfiles/Makefile.am +++ b/sslfiles/Makefile.am @@ -1,7 +1,7 @@ -AUTOMAKE_OPTIONS = foreign +sysconf_sslproxydir = $(sysconfdir)/l7vs/sslproxy -install: - $(INSTALL) -b -m 644 -D ./root.pem /etc/l7vs/sslproxy/root.pem - $(INSTALL) -b -m 644 -D ./server.pem /etc/l7vs/sslproxy/server.pem - $(INSTALL) -b -m 644 -D ./passwd.txt /etc/l7vs/sslproxy/passwd.txt - $(INSTALL) -b -m 644 -D ./dh512.pem /etc/l7vs/sslproxy/dh512.pem +dist_sysconf_sslproxy_DATA = \ + root.pem \ + server.pem \ + passwd.txt \ + dh512.pem diff --git a/sslproxy.spec.in b/sslproxy.spec.in index 4f964f4..4545100 100644 --- a/sslproxy.spec.in +++ b/sslproxy.spec.in @@ -1,108 +1,41 @@ -%define prefix /usr - -#Uncomment these if they are not defined by your rpm macros file -%define _sysconfdir /etc -%define _localstatedir /var - Summary: The SSL Proxy Server Name: sslproxy -Version: 1.0.1 -Release: 1 -License: LGPL -Packager: Toru Morishita -Group: Network +Version: @sslproxy_version@ +Release: @sslproxy_patchlv@@sslproxy_relsuffix@ +License: LGPLv2 +Group: System Environment/Daemons +URL: http://ultramonkey-l7.sourceforge.jp/ Source0: %{name}-%{version}-%{release}.tar.gz -BuildRoot: /var/tmp/%{name}-%{version}-root -Docdir: %{prefix}/doc -Provides: %{name}-%{version}-%{release} -BuildPrereq: automake autoconf libtool -AutoReqProv: no -#Requires: +BuildRoot: %{_tmppath}/%{name}-%{version}-root %description SSL proxy server daemon %prep -rm -rf ${RPM_BUILD_ROOT} -%setup +%setup -q -n %{name}-%{version}-%{release} %build - -# I am providing my own configure macro replacement. Hopefully this -# will result in fewer portability problems than using the one supplied -# by various vendours. I fear that I hope in vein. -CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS -if [ -f confgure.in ]; then - aclocal - libtoolize --force --copy - automake - autoconf -fi -./configure %{_target_platform} \ - --prefix=%{_prefix} \ - --exec-prefix=%{_exec_prefix} \ - --bindir=%{_bindir} \ - --sbindir=%{_sbindir} \ - --sysconfdir=%{_sysconfdir} \ - --datadir=%{_datadir} \ - --includedir=%{_includedir} \ - --libdir=%{_libdir} \ - --libexecdir=%{_libexecdir} \ - --localstatedir=%{_localstatedir} \ - --sharedstatedir=%{_sharedstatedir} \ - --mandir=%{_mandir} \ - --infodir=%{_infodir} - -make -j2 +export CPPFLAGS="-I%{_prefix}/local/include/boost" +%configure +make %install -# rm -rf ${RPM_BUILD_ROOT} - -# Manually install init script -#mkdir -p ${RPM_BUILD_ROOT}/etc/init.d/ -#install -c -m 755 \ -# ${RPM_BUILD_DIR}/%{name}-%{version}/etc/init.d/sslproxy.rh \ -# ${RPM_BUILD_ROOT}/etc/init.d/sslproxy - -# Install eveything else -#make DESTDIR=$RPM_BUILD_ROOT install - -mkdir -p $RPM_BUILD_ROOT%{_sbindir} -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/l7vs/sslproxy -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/l7vs/sslproxy - -install -c -m 755 -D src/sslproxy src/sslproxyadm $RPM_BUILD_ROOT%{_sbindir} - -#install -c -m 755 -D init.d/sslproxy $RPM_BUILD_ROOT%{_sysconfdir}/init.d - -install -c -m 644 -D conf/sslproxy.logger_init.cf $RPM_BUILD_ROOT%{_sysconfdir}/l7vs/sslproxy -install -c -m 644 -D conf/sslproxy.target_1.cf $RPM_BUILD_ROOT%{_sysconfdir}/l7vs/sslproxy -install -c -m 644 -D conf/sslproxy.target_2.cf $RPM_BUILD_ROOT%{_sysconfdir}/l7vs/sslproxy -install -c -m 644 -D conf/sslproxyadm.cf $RPM_BUILD_ROOT%{_sysconfdir}/l7vs/sslproxy -install -c -m 644 -D conf/sslproxyadm.logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/sslproxyadm - -install -c -m 644 -D sslfiles/root.pem $RPM_BUILD_ROOT%{_sysconfdir}/l7vs/sslproxy -install -c -m 644 -D sslfiles/server.pem $RPM_BUILD_ROOT%{_sysconfdir}/l7vs/sslproxy -install -c -m 644 -D sslfiles/passwd.txt $RPM_BUILD_ROOT%{_sysconfdir}/l7vs/sslproxy -install -c -m 644 -D sslfiles/dh512.pem $RPM_BUILD_ROOT%{_sysconfdir}/l7vs/sslproxy +rm -rf ${RPM_BUILD_ROOT} +%makeinstall %clean rm -rf $RPM_BUILD_ROOT -%post -mkdir -p /var/log/l7vs/sslproxy - %files %defattr(-, root, root, 0755) -%{_sbindir} +%{_sbindir}/* #%config %{_sysconfdir}/init.d/* -%config %{_sysconfdir}/l7vs/sslproxy/* -%config %{_sysconfdir}/logrotate.d/* - -#%doc README COPYING -#%{_mandir} +%config(noreplace) %{_sysconfdir}/l7vs/sslproxy/* +%config(noreplace) %{_sysconfdir}/logrotate.d/* +%dir %{_sysconfdir}/l7vs/sslproxy +%doc %{_docdir}/%{name}-%{version}-%{release} %changelog - +* Thu Aug 6 2009 TATEISHI Katsuyuki 1.0.1-1atfix +- update for autotools-fix branch +- rpmlint free -- 2.11.0