From 6f0cf907d6d2512189acf5cee554a7936f5e6a1d Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Tue, 15 Sep 2015 17:29:23 -0400 Subject: [PATCH 3/5] Add make rpms target This allows rpms to be built straight from the development tree. Signed-off-by: Simo Sorce --- .gitignore | 3 +++ Makefile.am | 30 ++++++++++++++++++++++++++++++ configure.ac | 6 ++++-- rpm/389-ds-base.spec.in | 6 +----- 4 files changed, 38 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index ea1af3ebca07162cbee3a20b1b5aae11d324221f..7c276f9916268608955eecd61f2943c59a044d66 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ autom4te.cache .cproject .project .settings +.deps +rpmbuild +rpm/389-ds-base.spec diff --git a/Makefile.am b/Makefile.am index a9a2d61591b35b35a166d01d4304b8c22a9bbf07..755e21587db145b415b756c6e9d21506cccdd3c5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,6 +17,9 @@ DS_DEFINES = -DBUILD_NUM=$(BUILDNUM) -DVENDOR="\"$(vendor)\"" -DBRAND="\"$(brand if enable_nunc_stans NUNC_STANS_INCLUDES = $(nunc_stans_inc) NUNC_STANS_LINK = $(nunc_stans_lib) -lnunc-stans +NUNC_STANS_ON = 1 +else +NUNC_STANS_ON = 0 endif DS_INCLUDES = -I$(srcdir)/ldap/include -I$(srcdir)/ldap/servers/slapd -I$(srcdir)/include -I. $(NUNC_STANS_INCLUDES) @@ -1940,3 +1943,30 @@ git-archive: fi ; \ git archive --prefix=$(distdir)/ $$gittag | bzip2 > $$srcdistdir/$(distdir).tar.bz2 + +# RPM-related tasks + +RPMBUILD ?= $(PWD)/rpmbuild + +rpmroot: + $(MKDIR_P) $(RPMBUILD)/BUILD + $(MKDIR_P) $(RPMBUILD)/RPMS + $(MKDIR_P) $(RPMBUILD)/SOURCES + $(MKDIR_P) $(RPMBUILD)/SPECS + $(MKDIR_P) $(RPMBUILD)/SRPMS + +rpmbrprep: dist-bzip2 rpmroot + cp $(distdir).tar.bz2 $(RPMBUILD)/SOURCES + cp $(builddir)/rpm/389-ds-base-git.sh $(RPMBUILD)/SOURCES + cp $(builddir)/rpm/389-ds-base-devel.README $(RPMBUILD)/SOURCES + sed -e "s/__VERSION__/$(RPM_VERSION)/" -e "s/__RELEASE__/$(RPM_RELEASE)/" -e "s/__NUNC_STANS_ON__/$(NUNC_STANS_ON)/" < $(builddir)/rpm/389-ds-base.spec > $(RPMBUILD)/SPECS/389-ds-base.spec + + +rpms: rpmbrprep + cd $(RPMBUILD); \ + rpmbuild --define "_topdir $(RPMBUILD)" -ba SPECS/389-ds-base.spec + +srpm: rpmbrprep + cd $(RPMBUILD); \ + rpmbuild --define "_topdir $(RPMBUILD)" \ + -bs SPECS/389-ds-base.spec diff --git a/configure.ac b/configure.ac index b65b217be2e87c5b132cf53e722a56ccc7e55530..c6471a7510c352d25013e11eb7bda8e3053cc125 100644 --- a/configure.ac +++ b/configure.ac @@ -11,12 +11,14 @@ AC_DEFINE_UNQUOTED([DS_PACKAGE_VERSION], "$PACKAGE_VERSION", [package version]) AC_DEFINE_UNQUOTED([DS_PACKAGE_TARNAME], "$PACKAGE_TARNAME", [package tarball name]) AC_DEFINE_UNQUOTED([DS_PACKAGE_BUGREPORT], "$PACKAGE_BUGREPORT", [package bug report url]) AC_DEFINE_UNQUOTED([DS_PACKAGE_STRING], "$PACKAGE_STRING", [package string]) -AM_INIT_AUTOMAKE([1.9 foreign subdir-objects dist-bzip2 no-dist-gzip no-define]) +AM_INIT_AUTOMAKE([1.9 foreign subdir-objects dist-bzip2 no-dist-gzip no-define tar-pax]) # define these for automake distdir VERSION=$PACKAGE_VERSION PACKAGE=$PACKAGE_TARNAME AC_DEFINE_UNQUOTED([VERSION], "$VERSION", [package version]) AC_DEFINE_UNQUOTED([PACKAGE], "$PACKAGE", [package tar name]) +AC_SUBST([RPM_VERSION]) +AC_SUBST([RPM_RELEASE]) AC_SUBST([CONSOLE_VERSION]) AM_MAINTAINER_MODE AC_CANONICAL_HOST @@ -778,6 +780,6 @@ if test "$GCC" != yes ; then rm -f libtool.tmp fi -AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([Makefile rpm/389-ds-base.spec]) AC_OUTPUT diff --git a/rpm/389-ds-base.spec.in b/rpm/389-ds-base.spec.in index ecdecb56c7356f42d22e8be579781a848245e9de..b589b930d8b1faeec80fb11988a30528403c7585 100644 --- a/rpm/389-ds-base.spec.in +++ b/rpm/389-ds-base.spec.in @@ -12,12 +12,8 @@ # If perl-Socket-2.000 or newer is available, set 0 to use_Socket6. %global use_Socket6 0 # nunc-stans only builds on x86_64 for now -%ifarch x86_64 # To build without nunc-stans, set 0 to use_nunc_stans. -%global use_nunc_stans 1 -%else -%global use_nunc_stans 0 -%endif +%global use_nunc_stans __NUNC_STANS_ON__ %if %{use_nunc_stans} %global nunc_stans_ver 0.1.5 -- 2.4.3