fix tarball url add procps to BuildRequires add a "make check" section change %(buildroot) to $RPM_BUILD_ROOT
Signed-off-by: Angus Salkeld asalkeld@redhat.com --- libqb.spec.in | 84 +++++++++++++++++++++++++++----------------------------- 1 files changed, 41 insertions(+), 43 deletions(-)
diff --git a/libqb.spec.in b/libqb.spec.in index ee2128c..013847e 100644 --- a/libqb.spec.in +++ b/libqb.spec.in @@ -2,71 +2,68 @@ %global numcomm @numcomm@ %global dirty @dirty@
-Name: libqb -Summary: The Quarterback Client Server Developer Library -Version: @version@ -Release: 1%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist} -License: LGPLv2+ -Group: System Environment/Libraries -URL: http://www.libqb.org -Source0: https://fedorahosted.org/releases/q/u/quarterback/%%7Bname%7D-%%7Bversion%7D... +Name: libqb +Version: @version@ +Release: 1%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist} +Summary: An IPC library for high performance servers.
-BuildRequires: autoconf automake libtool doxygen +Group: System Environment/Libraries +License: LGPLv2+ +URL: http://www.libqb.org +Source0: https://fedorahosted.org/releases/q/u/quarterback/%%7Bname%7D-%%7Bversion%7D... +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) + +BuildRequires: autoconf automake libtool doxygen procps check-devel + +%description +libqb provides high performance client server reusable features. +Initially these are IPC and poll. + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} pkgconfig + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}.
-BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
%prep %setup -q -n %{name}-%{version}%{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}}
-./autogen.sh - -%{configure}
%build -make %{_smp_mflags} - -%install -rm -rf %{buildroot} +./autogen.sh +%configure --disable-static +make %{?_smp_mflags}
-make install DESTDIR=%{buildroot} +%check +make check
-## tree fixup -# drop static libs -rm -f %{buildroot}%{_libdir}/*.a -# drop docs and html docs for now -rm -rf %{buildroot}%{_docdir}/* +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';' +rm -rf $RPM_BUILD_ROOT/%{_docdir}/*
%clean -rm -rf %{buildroot} +rm -rf $RPM_BUILD_ROOT
-%description -This package contains libqb libraries. +%post -p /sbin/ldconfig
-%files -n libqb +%postun -p /sbin/ldconfig + +%files %defattr(-,root,root,-) %doc COPYING %{_libdir}/libqb.so.*
-%post -n libqb -p /sbin/ldconfig - -%postun -n libqb -p /sbin/ldconfig - -%package -n libqb-devel -Summary: The Quarterback Development Kit -Group: Development/Libraries -Requires: libqb = %{version}-%{release} -Requires: pkgconfig - -%description -n libqb-devel -This package contains include files and man pages used to develop using -The Quarterback APIs. - -%files -n libqb-devel +%files devel %defattr(-,root,root,-) %doc COPYING README %dir %{_includedir}/qb/ %{_libdir}/libqb.so -%{_libdir}/libqb.la %{_libdir}/pkgconfig/libqb.pc %{_includedir}/qb/qbloop.h %{_includedir}/qb/qbhdb.h @@ -81,6 +78,7 @@ The Quarterback APIs. %{_includedir}/qb/qbarray.h %{_mandir}/man3/qb*3*
+ %changelog * @date@ Autotools generated version nobody@nowhere.org - @version@-1-@numcomm@.@alphatag@.@dirty@ - Autotools generated version
Signed-off-by: Angus Salkeld asalkeld@redhat.com --- check | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ check_all | 37 -------------- 2 files changed, 157 insertions(+), 37 deletions(-) create mode 100755 check delete mode 100755 check_all
diff --git a/check b/check new file mode 100755 index 0000000..464ceaa --- /dev/null +++ b/check @@ -0,0 +1,157 @@ +#!/bin/bash + +help_all() { + echo + echo "Usage: check <command>" + echo + echo "Commands:" + echo + echo " sysv Check using sys-v semaphores" + echo " noepoll Check using poll (not epoll)" + echo " nogettime Check without gettime()" + echo " notimerfd Check without timerfd" + echo " bsd Check with a bsd-like config" + echo " dist do make distcheck" + echo " rpm do a rpmlint" + echo + echo " help This help" + echo + exit 1 +} + +if [ $# -lt 1 ] +then + help_all +fi + +command=$1 +shift +args="$@" + +if [ -n "$(git rev-parse)" ] ; then + perror "Must be inside a git repository to work" + exit 1 +fi + +up=$(git rev-parse --show-cdup) +if [ "x$up" == "x" ] ; then + up="." +fi +cd $up + +set -e +if [ ! -e install-sh ] +then + ./autogen.sh +fi +if [ ! -e Makefile ] +then + ./configure +fi + +check() { + echo "$1" + ( ./configure $1 --enable-fatal-warnings ) + make check + if [ $? -ne 0 ] + then + echo "======================" + echo failed: $1 + echo "======================" + exit 1 + fi +} + +check_sysv() { + # use sys-v semaphores + check "CFLAGS=-DDISABLE_POSIX_THREAD_PROCESS_SHARED" +} + +check_notimerfd() { + # no timerfd + check "ac_cv_func_timerfd_create=no ac_cv_header_sys_timerfd_h=no" +} + +check_nogettime() { + # no clock_gettime + check "ac_cv_func_clock_gettime=no" +} + +check_noepoll() { + # no epoll + check "ac_cv_func_epoll_create1=no ac_cv_func_epoll_create=no" +} + +check_bsd() { + # bsd-like + check "ac_cv_func_timerfd_create=no ac_cv_header_sys_timerfd_h=no ac_cv_func_clock_gettime=no ac_cv_func_epoll_create1=no ac_cv_func_epoll_create=no" +} + +check_dist() { + # normal configure with distcheck + ./configure + make distcheck +} + +check_rpm() { + # check rpm + make maintainer-clean + ./autogen.sh + ./configure + make rpm + echo + sudo rpm -Uvf --force libqb-*.rpm + echo rpmlint libqb + rpmlint libqb + echo rpmlint libqb-debuginfo + rpmlint libqb-debuginfo + echo rpmlint libqb-devel + rpmlint libqb-devel +} + +check_all() { + check_sysv + check_noepoll + check_nogettime + check_notimerfd + check_bsd + check_dist + check_rpm +} + + +case $command in + help) + help_all $args + ;; + sysv) + check_sysv + ;; + noepoll) + check_noepoll + ;; + nogettime) + check_nogettime + ;; + bsd) + check_bsd + ;; + rpm) + check_rpm + ;; + bsd) + check_dist + ;; + notimerfd) + check_notimerfd + ;; + all) + check_all + ;; + *) + help_all + ;; +esac +cd - +exit 0 + diff --git a/check_all b/check_all deleted file mode 100755 index bf1be5d..0000000 --- a/check_all +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -./autogen.sh - - -check () { - echo "$1" - ( ./configure $1 --enable-fatal-warnings ) - make check - if [ $? -ne 0 ] - then - echo "======================" - echo failed: $1 - echo "======================" - exit 1 - fi -} - -# use sys-v semaphores -check "CFLAGS=-DDISABLE_POSIX_THREAD_PROCESS_SHARED" - -# no timerfd -check "ac_cv_func_timerfd_create=no ac_cv_header_sys_timerfd_h=no" - -# no clock_gettime -check "ac_cv_func_clock_gettime=no" - -# no epoll -check "ac_cv_func_epoll_create1=no ac_cv_func_epoll_create=no" - -# bsd-like -check "ac_cv_func_timerfd_create=no ac_cv_header_sys_timerfd_h=no ac_cv_func_clock_gettime=no ac_cv_func_epoll_create1=no ac_cv_func_epoll_create=no" - -# normal configure with distcheck -./configure -make distcheck -
compiler debug & optimization flags are only set with either --enable-debug or --enable-coverage. This prevents defaults and environmental flags from been overridden.
Signed-off-by: Angus Salkeld asalkeld@redhat.com --- configure.ac | 18 +++++++----------- 1 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/configure.ac b/configure.ac index eadd209..74debbb 100644 --- a/configure.ac +++ b/configure.ac @@ -299,16 +299,12 @@ ENV_LDFLAGS="$LDFLAGS" if test "x${enable_debug}" = xyes; then AC_DEFINE_UNQUOTED([DEBUG], [1], [Compiling Debugging code]) OPT_CFLAGS="-O0" + if test "x${GCC}" = xyes; then + GDB_FLAGS="-ggdb3" + else + GDB_FLAGS="-g" + fi PACKAGE_FEATURES="$PACKAGE_FEATURES debug" -else - OPT_CFLAGS="-O3" -fi - -# gdb flags -if test "x${GCC}" = xyes; then - GDB_FLAGS="-ggdb3" -else - GDB_FLAGS="-g" fi
# extra warnings @@ -419,8 +415,8 @@ AC_MSG_RESULT([ SOCKETDIR = ${SOCKETDIR}]) AC_MSG_RESULT([ Features =${PACKAGE_FEATURES}]) AC_MSG_RESULT([]) AC_MSG_RESULT([$PACKAGE build info:]) -AC_MSG_RESULT([ Default optimization = ${OPT_CFLAGS}]) -AC_MSG_RESULT([ Default debug options = ${GDB_CFLAGS}]) +AC_MSG_RESULT([ Optimization = ${OPT_CFLAGS}]) +AC_MSG_RESULT([ Debug options = ${GDB_CFLAGS}]) AC_MSG_RESULT([ Extra compiler warnings = ${EXTRA_WARNING}]) AC_MSG_RESULT([ Env. defined CFLAG = ${ENV_CFLAGS}]) AC_MSG_RESULT([ Env. defined CPPFLAGS = ${ENV_CPPFLAGS}])
quarterback-devel@lists.fedorahosted.org