[Pkg-voip-commits] r2766 - in ser/trunk: . debian

Mark Purcell msp at alioth.debian.org
Sat Dec 2 12:02:18 CET 2006


Author: msp
Date: 2006-12-02 12:02:17 +0100 (Sat, 02 Dec 2006)
New Revision: 2766

Added:
   ser/trunk/Makefile
Modified:
   ser/trunk/debian/changelog
   ser/trunk/debian/rules
Log:
NOT RELEASED YET
* Taken from openser: Thanks Julien BLACHE & Niko Tyni
* debian/rules: temporarily decrease optimisation on arm
  - Fixes: empty package on arm (Closes: #393713)
* Makefile patch - abort the build if a module fails to build

Added: ser/trunk/Makefile
===================================================================
--- ser/trunk/Makefile	2006-12-01 22:48:25 UTC (rev 2765)
+++ ser/trunk/Makefile	2006-12-02 11:02:17 UTC (rev 2766)
@@ -0,0 +1,354 @@
+# $Id: Makefile,v 1.136.2.5 2005/11/02 17:45:38 andrei Exp $
+#
+# sip_router makefile
+#
+# WARNING: requires gmake (GNU Make)
+#  Arch supported: Linux, FreeBSD, SunOS (tested on Solaris 8), OpenBSD (3.2),
+#  NetBSD (1.6).
+#
+#  History:
+#  --------
+#              created by andrei
+#  2003-02-24  make install no longer overwrites ser.cfg  - patch provided
+#               by Maxim Sobolev   <sobomax at FreeBSD.org> and 
+#                  Tomas Björklund <tomas at webservices.se>
+#  2003-03-11  PREFIX & LOCALBASE must also be exported (andrei)
+#  2003-04-07  hacked to work with solaris install (andrei)
+#  2003-04-17  exclude modules overwritable from env. or cmd. line,
+#               added include_modules and skip_modules (andrei)
+#  2003-05-30  added extra_defs & EXTRA_DEFS
+#               Makefile.defs force-included to allow recursive make
+#               calls -- see comment (andrei)
+#  2003-06-02  make tar changes -- unpacks in $NAME-$RELEASE  (andrei)
+#  2003-06-03  make install-cfg will properly replace the module path
+#               in the cfg (re: /usr/.*lib/ser/modules)
+#              ser.cfg.default is installed only if there is a previous
+#               cfg. -- fixes packages containing ser.cfg.default (andrei)
+#  2003-08-29  install-modules-doc split from install-doc, added 
+#               install-modules-all, removed README.cfg (andrei)
+#              added skip_cfg_install (andrei)
+#  2004-09-02  install-man will automatically "fix" the path of the files
+#               referred in the man pages
+#
+
+auto_gen=lex.yy.c cfg.tab.c #lexx, yacc etc
+auto_gen_others=cfg.tab.h  # auto generated, non-c
+
+#include  source related defs
+include Makefile.sources
+
+# whether or not to install ser.cfg or just ser.cfg.default
+# (ser.cfg will never be overwritten by make install, this is usefull
+#  when creating packages)
+skip_cfg_install?=
+
+#extra modules to exclude
+skip_modules?=
+
+# if not set on the cmd. line or the env, exclude this modules:
+exclude_modules?= 			cpl ext extcmd \
+							postgres snmp \
+							im \
+							jabber mysql \
+							cpl-c \
+							auth_radius group_radius uri_radius avp_radius \
+							pa
+# always exclude the CVS dir
+override exclude_modules+= CVS $(skip_modules)
+
+#always include this modules
+include_modules?=
+
+# first 2 lines are excluded because of the experimental or incomplete
+# status of the modules
+# the rest is excluded because it depends on external libraries
+#
+static_modules=
+static_modules_path=$(addprefix modules/, $(static_modules))
+extra_sources=$(wildcard $(addsuffix /*.c, $(static_modules_path)))
+extra_objs=$(extra_sources:.c=.o)
+
+static_defs= $(foreach  mod, $(static_modules), \
+		-DSTATIC_$(shell echo $(mod) | tr [:lower:] [:upper:]) )
+
+override extra_defs+=$(static_defs) $(EXTRA_DEFS)
+export extra_defs
+
+modules=$(filter-out $(addprefix modules/, \
+			$(exclude_modules) $(static_modules)), \
+			$(wildcard modules/*))
+modules:=$(filter-out $(modules), $(addprefix modules/, $(include_modules) )) \
+			$(modules)
+modules_names=$(shell echo $(modules)| \
+				sed -e 's/modules\/\([^/ ]*\)\/*/\1.so/g' )
+modules_basenames=$(shell echo $(modules)| \
+				sed -e 's/modules\/\([^/ ]*\)\/*/\1/g' )
+#modules_names=$(patsubst modules/%, %.so, $(modules))
+modules_full_path=$(join  $(modules), $(addprefix /, $(modules_names)))
+
+
+ALLDEP=Makefile Makefile.sources Makefile.defs Makefile.rules
+
+#include general defs (like CC, CFLAGS  a.s.o)
+# hack to force makefile.defs re-inclusion (needed when make calls itself with
+# other options -- e.g. make bin)
+makefile_defs=0
+DEFS:=
+include Makefile.defs
+
+NAME=$(MAIN_NAME)
+
+#export relevant variables to the sub-makes
+export DEFS PROFILE CC LD MKDEP MKTAGS CFLAGS LDFLAGS MOD_CFLAGS MOD_LDFLAGS 
+export LIBS
+export LEX YACC YACC_FLAGS
+export PREFIX LOCALBASE
+# export relevant variables for recursive calls of this makefile 
+# (e.g. make deb)
+#export LIBS
+#export TAR 
+#export NAME RELEASE OS ARCH 
+#export cfg-prefix cfg-dir bin-prefix bin-dir modules-prefix modules-dir
+#export doc-prefix doc-dir man-prefix man-dir ut-prefix ut-dir
+#export cfg-target modules-target
+#export INSTALL INSTALL-CFG INSTALL-BIN INSTALL-MODULES INSTALL-DOC INSTALL-MAN 
+#export INSTALL-TOUCH
+
+tar_extra_args+=$(addprefix --exclude=$(notdir $(CURDIR))/, \
+					$(auto_gen) $(auto_gen_others))
+ifneq ($(TLS),)
+	tar_extra_args+=
+else
+	tar_extra_args+=--exclude=$(notdir $(CURDIR))/tls* 
+endif
+# include the common rules
+include Makefile.rules
+
+#extra targets 
+
+$(NAME): $(extra_objs) # static_modules
+
+lex.yy.c: cfg.lex cfg.tab.h $(ALLDEP)
+	$(LEX) $<
+
+cfg.tab.c cfg.tab.h: cfg.y  $(ALLDEP)
+	$(YACC) $(YACC_FLAGS) $<
+
+.PHONY: all
+all: $(NAME) modules
+
+
+
+.PHONY: modules
+modules:
+	@set -e; for r in $(modules) "" ; do \
+		if [ -n "$$r" ]; then \
+			echo  "" ; \
+			echo  "" ; \
+			$(MAKE) -C $$r ; \
+		fi ; \
+	done 
+
+$(extra_objs):
+	- at echo "Extra objs: $(extra_objs)" 
+	- at for r in $(static_modules_path) "" ; do \
+		if [ -n "$$r" ]; then \
+			echo  "" ; \
+			echo  "Making static module $r" ; \
+			$(MAKE) -C $$r static ; \
+		fi ; \
+	done 
+
+
+	
+dbg: ser
+	gdb -command debug.gdb
+
+.PHONY: tar
+.PHONY: dist
+
+dist: tar
+
+tar: 
+	$(TAR) -C .. \
+		--exclude=$(notdir $(CURDIR))/test* \
+		--exclude=$(notdir $(CURDIR))/tmp* \
+		--exclude=$(notdir $(CURDIR))/debian/ser \
+		--exclude=$(notdir $(CURDIR))/debian/ser-* \
+		--exclude=$(notdir $(CURDIR))/ser_tls* \
+		--exclude=CVS* \
+		--exclude=.cvsignore \
+		--exclude=*.[do] \
+		--exclude=*.so \
+		--exclude=*.il \
+		--exclude=$(notdir $(CURDIR))/ser \
+		--exclude=*.gz \
+		--exclude=*.bz2 \
+		--exclude=*.tar \
+		--exclude=*.patch \
+		--exclude=.\#* \
+		--exclude=*.swp \
+		${tar_extra_args} \
+		-cf - $(notdir $(CURDIR)) | \
+			(mkdir -p tmp/_tar1; mkdir -p tmp/_tar2 ; \
+			    cd tmp/_tar1; $(TAR) -xf - ) && \
+			    mv tmp/_tar1/$(notdir $(CURDIR)) \
+			       tmp/_tar2/"$(NAME)-$(RELEASE)" && \
+			    (cd tmp/_tar2 && $(TAR) \
+			                    -zcf ../../"$(NAME)-$(RELEASE)_src".tar.gz \
+			                               "$(NAME)-$(RELEASE)" ) ; \
+			    rm -rf tmp/_tar1; rm -rf tmp/_tar2
+
+# binary dist. tar.gz
+.PHONY: bin
+bin:
+	mkdir -p tmp/ser/usr/local
+	$(MAKE) install basedir=tmp/ser prefix=/usr/local 
+	$(TAR) -C tmp/ser/ -zcf ../$(NAME)-$(RELEASE)_$(OS)_$(ARCH).tar.gz .
+	rm -rf tmp/ser
+
+.PHONY: deb
+deb:
+	dpkg-buildpackage -rfakeroot -tc
+
+.PHONY: sunpkg
+sunpkg:
+	mkdir -p tmp/ser
+	mkdir -p tmp/ser_sun_pkg
+	$(MAKE) install basedir=tmp/ser prefix=/usr/local
+	(cd solaris; \
+	pkgmk -r ../tmp/ser/usr/local -o -d ../tmp/ser_sun_pkg/ -v "$(RELEASE)" ;\
+	cd ..)
+	cat /dev/null > ../$(NAME)-$(RELEASE)-$(OS)-$(ARCH)-local
+	pkgtrans -s tmp/ser_sun_pkg/ ../$(NAME)-$(RELEASE)-$(OS)-$(ARCH)-local \
+		IPTELser
+	gzip -9 ../$(NAME)-$(RELEASE)-$(OS)-$(ARCH)-local
+	rm -rf tmp/ser
+	rm -rf tmp/ser_sun_pkg
+
+
+.PHONY: install
+install: all mk-install-dirs install-cfg install-bin install-modules \
+	install-doc install-man
+
+.PHONY: dbinstall
+dbinstall:
+	- at echo "Initializing ser database"
+	scripts/ser_mysql.sh create
+	- at echo "Done"
+
+mk-install-dirs: $(cfg-prefix)/$(cfg-dir) $(bin-prefix)/$(bin-dir) \
+			$(modules-prefix)/$(modules-dir) $(doc-prefix)/$(doc-dir) \
+			$(man-prefix)/$(man-dir)/man8 $(man-prefix)/$(man-dir)/man5
+
+
+$(cfg-prefix)/$(cfg-dir): 
+		mkdir -p $(cfg-prefix)/$(cfg-dir)
+
+$(bin-prefix)/$(bin-dir):
+		mkdir -p $(bin-prefix)/$(bin-dir)
+
+$(modules-prefix)/$(modules-dir):
+		mkdir -p $(modules-prefix)/$(modules-dir)
+
+
+$(doc-prefix)/$(doc-dir):
+		mkdir -p $(doc-prefix)/$(doc-dir)
+
+$(man-prefix)/$(man-dir)/man8:
+		mkdir -p $(man-prefix)/$(man-dir)/man8
+
+$(man-prefix)/$(man-dir)/man5:
+		mkdir -p $(man-prefix)/$(man-dir)/man5
+		
+# note: on solaris 8 sed: ? or \(...\)* (a.s.o) do not work
+install-cfg: $(cfg-prefix)/$(cfg-dir)
+		sed -e "s#/usr/.*lib/ser/modules/#$(modules-target)#g" \
+			< etc/ser.cfg > $(cfg-prefix)/$(cfg-dir)ser.cfg.sample
+		chmod 644 $(cfg-prefix)/$(cfg-dir)ser.cfg.sample
+		if [ -z "${skip_cfg_install}" -a \
+				! -f $(cfg-prefix)/$(cfg-dir)ser.cfg ]; then \
+			mv -f $(cfg-prefix)/$(cfg-dir)ser.cfg.sample \
+				$(cfg-prefix)/$(cfg-dir)ser.cfg; \
+		fi
+		# radius dictionary
+		$(INSTALL-TOUCH) $(cfg-prefix)/$(cfg-dir)/dictionary.ser 
+		$(INSTALL-CFG) etc/dictionary.ser $(cfg-prefix)/$(cfg-dir)
+#		$(INSTALL-CFG) etc/ser.cfg $(cfg-prefix)/$(cfg-dir)
+
+install-bin: $(bin-prefix)/$(bin-dir) utils/gen_ha1/gen_ha1 utils/serunix/serunix
+		$(INSTALL-TOUCH) $(bin-prefix)/$(bin-dir)/ser 
+		$(INSTALL-BIN) ser $(bin-prefix)/$(bin-dir)
+		$(INSTALL-TOUCH)   $(bin-prefix)/$(bin-dir)/sc
+		$(INSTALL-BIN) scripts/sc $(bin-prefix)/$(bin-dir)
+		mv -f $(bin-prefix)/$(bin-dir)/sc $(bin-prefix)/$(bin-dir)/serctl
+		$(INSTALL-TOUCH)   $(bin-prefix)/$(bin-dir)/ser_mysql.sh  
+		$(INSTALL-BIN) scripts/ser_mysql.sh  $(bin-prefix)/$(bin-dir)
+		$(INSTALL-TOUCH)   $(bin-prefix)/$(bin-dir)/gen_ha1
+		$(INSTALL-BIN) utils/gen_ha1/gen_ha1 $(bin-prefix)/$(bin-dir)
+		$(INSTALL-TOUCH)   $(bin-prefix)/$(bin-dir)/serunix
+		$(INSTALL-BIN) utils/serunix/serunix $(bin-prefix)/$(bin-dir)
+
+utils/gen_ha1/gen_ha1:
+		cd utils/gen_ha1; $(MAKE) all
+
+utils/serunix/serunix:
+		cd utils/serunix; $(MAKE) all
+
+install-modules: modules $(modules-prefix)/$(modules-dir)
+	- at for r in $(modules_full_path) "" ; do \
+		if [ -n "$$r" ]; then \
+			if [ -f "$$r" ]; then \
+				$(INSTALL-TOUCH) \
+					$(modules-prefix)/$(modules-dir)/`basename "$$r"` ; \
+				$(INSTALL-MODULES)  "$$r"  $(modules-prefix)/$(modules-dir) ; \
+			else \
+				echo "ERROR: module $$r not compiled" ; \
+			fi ;\
+		fi ; \
+	done 
+
+
+install-modules-all: install-modules install-modules-doc
+
+
+install-doc: $(doc-prefix)/$(doc-dir) install-modules-doc
+	$(INSTALL-TOUCH) $(doc-prefix)/$(doc-dir)/INSTALL 
+	$(INSTALL-DOC) INSTALL $(doc-prefix)/$(doc-dir)
+	$(INSTALL-TOUCH) $(doc-prefix)/$(doc-dir)/README-MODULES 
+	$(INSTALL-DOC) README-MODULES $(doc-prefix)/$(doc-dir)
+	$(INSTALL-TOUCH) $(doc-prefix)/$(doc-dir)/AUTHORS 
+	$(INSTALL-DOC) AUTHORS $(doc-prefix)/$(doc-dir)
+	$(INSTALL-TOUCH) $(doc-prefix)/$(doc-dir)/NEWS
+	$(INSTALL-DOC) NEWS $(doc-prefix)/$(doc-dir)
+	$(INSTALL-TOUCH) $(doc-prefix)/$(doc-dir)/README 
+	$(INSTALL-DOC) README $(doc-prefix)/$(doc-dir)
+
+
+install-modules-doc: $(doc-prefix)/$(doc-dir)
+	- at for r in $(modules_basenames) "" ; do \
+		if [ -n "$$r" ]; then \
+			if [ -f modules/"$$r"/README ]; then \
+				$(INSTALL-TOUCH)  $(doc-prefix)/$(doc-dir)/README ; \
+				$(INSTALL-DOC)  modules/"$$r"/README  \
+									$(doc-prefix)/$(doc-dir)/README ; \
+				mv -f $(doc-prefix)/$(doc-dir)/README \
+						$(doc-prefix)/$(doc-dir)/README."$$r" ; \
+			fi ; \
+		fi ; \
+	done 
+
+
+install-man: $(man-prefix)/$(man-dir)/man8 $(man-prefix)/$(man-dir)/man5
+		sed -e "s#/etc/ser/ser\.cfg#$(cfg-target)ser.cfg#g" \
+			-e "s#/usr/sbin/#$(bin-target)#g" \
+			-e "s#/usr/lib/ser/modules/#$(modules-target)#g" \
+			-e "s#/usr/share/doc/ser/#$(doc-target)#g" \
+			< ser.8 >  $(man-prefix)/$(man-dir)/man8/ser.8
+		chmod 644  $(man-prefix)/$(man-dir)/man8/ser.8
+		sed -e "s#/etc/ser/ser\.cfg#$(cfg-target)ser.cfg#g" \
+			-e "s#/usr/sbin/#$(bin-target)#g" \
+			-e "s#/usr/lib/ser/modules/#$(modules-target)#g" \
+			-e "s#/usr/share/doc/ser/#$(doc-target)#g" \
+			< ser.cfg.5 >  $(man-prefix)/$(man-dir)/man5/ser.cfg.5
+		chmod 644  $(man-prefix)/$(man-dir)/man5/ser.cfg.5

Modified: ser/trunk/debian/changelog
===================================================================
--- ser/trunk/debian/changelog	2006-12-01 22:48:25 UTC (rev 2765)
+++ ser/trunk/debian/changelog	2006-12-02 11:02:17 UTC (rev 2766)
@@ -1,13 +1,19 @@
 ser (0.9.6-2) UNRELEASED; urgency=low
 
-  * NOT RELEASED YET
+  NOT RELEASED YET
 
   [ Kilian Krause ]
   * Build-Depends: Cleanup to stop using alternatives and virtual packages to
     ensure we can reproduce builds and backport properly.
 
- -- Kilian Krause <kilian at debian.org>  Sun, 26 Nov 2006 12:47:25 +0100
+  [ Mark Purcell ]
+  * Taken from openser: Thanks Julien BLACHE & Niko Tyni
+  * debian/rules: temporarily decrease optimisation on arm
+    - Fixes: empty package on arm (Closes: #393713)
+  * Makefile patch - abort the build if a module fails to build
 
+ -- Mark Purcell <msp at debian.org>  Sat,  2 Dec 2006 10:53:36 +0000
+
 ser (0.9.6-1) unstable; urgency=low
 
   [ Kilian Krause ]

Modified: ser/trunk/debian/rules
===================================================================
--- ser/trunk/debian/rules	2006-12-01 22:48:25 UTC (rev 2765)
+++ ser/trunk/debian/rules	2006-12-02 11:02:17 UTC (rev 2766)
@@ -19,6 +19,7 @@
 #                (andrei)
 
 
+DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
 DEBVERSION:=$(shell head -n 1 debian/changelog \
 		    | sed -e 's/^[^(]*(\([^)]*\)).*/\1/')
 UPVERSION:=$(shell echo $(DEBVERSION) | sed -e 's/^.*://' -e 's/-[0-9.]*$$//' -e 's/.dfsg$$//')
@@ -64,6 +65,17 @@
 	INSTALL_PROGRAM += -s
 endif
 
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	ifeq (arm, $(DEB_HOST_ARCH))
+		CFLAGS += -O1
+	else
+		CFLAGS += -O2
+	endif
+endif
+
+
 configure: configure-stamp
 configure-stamp:
 	dh_testdir




More information about the Pkg-voip-commits mailing list