On Wed, 2009-10-21 at 13:46 +0200, Fredrik Thulin wrote:
> On Sat, 2009-10-17 at 11:23 +0200, Mikael Magnusson wrote:
... 
> > I have posted my patches (also in debian pkg-voip) which auto-detects
> > Erlang ERTS and library versions. They also include the patch from Jakob
> > Schlyter which makes it possible to skip Erlang/OTP version check with
> > --disable-erlang-version-check. Refer to the following emails:
> > 
> > * [PATCH1/2] Autodetect Erlang ERTS version and OTP library version
> > numbers
> > * [PATCH2/2] Use auto-detected version numbers
> 
> Thanks for the patches. Unfortunately, I have two problems with them :
> 
> 1) The m4-files are GNU licensed, YXA is BSD licensed. I'm quite
> ignorant regarding OSS licensing, and have to be convinced (not
> necessarily by you) that it is not a bad idea to include these files.
> 

The dependency on m4/erlang-erts.m4, which is copyright FSF, could be
removed but it means autoconf 2.64 is required instead.

I may be able to change the license of m4/erlang-extra.m4.

> 2) It doesn't work out of the (my) box. I get errors which I've tried to
> sort out but m4/autoconf makes my head spin. Any help would be
> appreciated.
> 
> YXA trunk, clean check out. Only patch 1/2 applied (also tried with
> both). This is on Ubuntu Jaunty, which has autoconf 2.63-2ubuntu1.
> 

I'm resending the second patch. Maybe it was damaged somewhere between
the list server and your email reader, because both patches applied
cleanly on yxa trunk for me as received from the list server.

> $ ../yxa-trunk/configure 
> ...
> checking for erlc... /usr/bin/erlc
> checking for erl... /usr/bin/erl
> checking for Erlang/OTP library installation base directory...
> ${exec_prefix}/lib/erlang/lib
> checking for erl... /usr/bin/erl
> checking for Erlang/OTP ERTS version... configure: error: in
> `/home/ft/tmp/build':
> configure: error: test Erlang program execution failed
> See `config.log' for more details.
> 

Erlang support is broken on autoconf 2.63, refer to
http://erlang.org/pipermail/erlang-questions/2009-May/043838.html

I guess more people will be hit by this. Do you see any problems with
requiring autoconf 2.64? It's in Ubuntu 9.10 Karmic Koala released next
week, and it should be possible to install the same package on 9.04.

/Mikael

diff --git a/src/Makefile.in b/src/Makefile.in
index e2dd70b..6750e31 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -30,6 +30,15 @@ INSTALL = @INSTALL@
 install_DATA = @INSTALL_DATA@
 install_PROGRAM = @INSTALL_PROGRAM@
 
+ERLANG_ERTS_VER = @ERLANG_ERTS_VER@
+ERLANG_LIB_VER_asn1 = @ERLANG_LIB_VER_asn1@
+ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@
+ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@
+ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@
+ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@
+ERLANG_LIB_VER_yaws = @ERLANG_LIB_VER_yaws@
+ERLANG_LIB_VER_SUBST = @ERLANG_LIB_VER_SUBST@
+
 mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
 
 systools_make_script = \
@@ -174,7 +183,7 @@ distclean: clean distclean-recursive
 
 clean: clean-recursive
 	rm -f core *.core *~
-	rm -f *.beam *.script *.start *.boot *.app
+	rm -f *.beam *.script *.start *.boot *.app *.rel
 	rm -f *.o ktrace.out erl_crash.dump
 	rm -f $(addsuffix .tar.gz, $(basename $(rel_FILES)))
 	rm -f $(rel_FILES) start_ssl.rel sys.config
@@ -184,9 +193,9 @@ clean: clean-recursive
 $(beam_FILES): $(yxa_hrl_FILES)
 $(boot_FILES): $(beam_FILES)
 
-SUFFIXES = .c .o .hrl .beam .erl .boot .rel .rel-in .app .app-in
+SUFFIXES = .c .o .hrl .beam .erl .boot .rel .rel-in .app .app-in .rel-in
 .SUFFIXES:
-.SUFFIXES: .c .o .hrl .beam .erl .boot .rel .rel-in .app .app-in
+.SUFFIXES: .c .o .hrl .beam .erl .boot .rel .rel-in .app .app-in .rel-in
 
 $(ebin_dir)/%.beam:	$(srcdir)/%.erl
 	$(ERLC) $(L_ERLC_FLAGS) $<
@@ -202,7 +211,9 @@ $(ebin_dir)/%.app:	$(srcdir)/%.app-in
 			-e 's!%versio...@package_version@!' < $< > $@
 
 $(ebin_dir)/%.rel:	$(srcdir)/%.rel-in
-	sed -e 's!%versio...@package_version@!' < $< > $@
+	sed -e 's!%versio...@package_version@!' \
+	  -e 's,[...@]erlang_erts_ver[@],$(ERLANG_ERTS_VER),g' \
+	  $(ERLANG_LIB_VER_SUBST) < $< > $@
 
 %.boot: $(ebin_dir)/%.app $(ebin_dir)/yxa.app $(ebin_dir)/%.rel
 	$(systools_make_script)
diff --git a/src/appserver.rel-in b/src/appserver.rel-in
index a978fa5..0be9a81 100644
--- a/src/appserver.rel-in
+++ b/src/appserver.rel-in
@@ -1,10 +1,10 @@
 %% Erlang OTP R12B-2 library versions
 {release, {"YXA appserver","YXA-appserver-%VERSION%"},
- {erts, "5.5.2"},
- [{kernel,"2.12.2"},
-  {stdlib,"1.15.2"},
-  {ssl, "3.9"},
-  {mnesia, "4.4.2"},
+ {erts, "@ERLANG_ERTS_VER@"},
+ [{kernel,"@ERLANG_LIB_VER_kernel@"},
+  {stdlib,"@ERLANG_LIB_VER_stdlib@"},
+  {ssl, "@ERLANG_LIB_VER_ssl@"},
+  {mnesia, "@ERLANG_LIB_VER_mnesia@"},
   {yxa, "%VERSION%"},
   {appserver, "%VERSION%"}
  ]
diff --git a/src/event/Makefile.in b/src/event/Makefile.in
index b81575e..cdd6455 100644
--- a/src/event/Makefile.in
+++ b/src/event/Makefile.in
@@ -30,6 +30,15 @@ INSTALL = @INSTALL@
 install_DATA = @INSTALL_DATA@
 install_PROGRAM = @INSTALL_PROGRAM@
 
+ERLANG_ERTS_VER = @ERLANG_ERTS_VER@
+ERLANG_LIB_VER_asn1 = @ERLANG_LIB_VER_asn1@
+ERLANG_LIB_VER_kernel = @ERLANG_LIB_VER_kernel@
+ERLANG_LIB_VER_mnesia = @ERLANG_LIB_VER_mnesia@
+ERLANG_LIB_VER_ssl = @ERLANG_LIB_VER_ssl@
+ERLANG_LIB_VER_stdlib = @ERLANG_LIB_VER_stdlib@
+ERLANG_LIB_VER_yaws = @ERLANG_LIB_VER_yaws@
+ERLANG_LIB_VER_SUBST = @ERLANG_LIB_VER_SUBST@
+
 mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
 
 systools_make_script = \
@@ -104,7 +113,7 @@ distclean: clean
 
 clean:
 	rm -f core *.core *~
-	rm -f *.beam *.script *.start
+	rm -f *.beam *.script *.start *.rel
 	rm -f *.o ktrace.out erl_crash.dump
 	rm -f $(addsuffix .tar.gz, $(basename $(rel_FILES)))
 	rm -f $(start_FILES)
@@ -125,15 +134,17 @@ doc:
 $(beam_FILES): $(yxa_hrl_FILES)
 $(boot_FILES): $(beam_FILES)
 
-SUFFIXES = .c .o .hrl .beam .erl .boot .rel .rel-in .app .app-in
+SUFFIXES = .c .o .hrl .beam .erl .boot .rel .rel-in .app .app-in .app-in
 .SUFFIXES:
-.SUFFIXES: .c .o .hrl .beam .erl .boot .rel .rel-in .app .app-in
+.SUFFIXES: .c .o .hrl .beam .erl .boot .rel .rel-in .app .app-in .app-in
 
 $(ebin_dir)/%.beam:	$(srcdir)/%.erl
 	$(ERLC) $(L_ERLC_FLAGS) $<
 
 $(ebin_dir)/%.rel:	$(srcdir)/%.rel-in
-	sed -e 's!%versio...@package_version@!' < $< > $@
+	sed -e 's!%versio...@package_version@!' \
+	  -e 's,[...@]erlang_erts_ver[@],$(ERLANG_ERTS_VER),g' \
+	  $(ERLANG_LIB_VER_SUBST) < $< > $@
 
 $(ebin_dir)/%.app:	$(srcdir)/%.app-in
 	sed -e 's!%versio...@package_version@!' < $< > $@
diff --git a/src/event/eventserver.rel-in b/src/event/eventserver.rel-in
index f1a60fb..7f51c10 100644
--- a/src/event/eventserver.rel-in
+++ b/src/event/eventserver.rel-in
@@ -1,11 +1,11 @@
 %% Erlang OTP R12B-2 library versions
 {release, {"YXA eventserver", "YXA-eventserver-%VERSION%"},
- {erts, "5.5.2"},
- [{kernel,"2.12.2"},
-  {stdlib,"1.15.2"},
-  {ssl, "3.9"},
-  {asn1, "1.5.1"},
-  {mnesia, "4.4.2"},
+ {erts, "@ERLANG_ERTS_VER@"},
+ [{kernel,"@ERLANG_LIB_VER_kernel@"},
+  {stdlib,"@ERLANG_LIB_VER_stdlib@"},
+  {ssl, "@ERLANG_LIB_VER_ssl@"},
+  {asn1, "@ERLANG_LIB_VER_asn1@"},
+  {mnesia, "@ERLANG_LIB_VER_mnesia@"},
   {yxa, "%VERSION%"},
   {eventserver, "%VERSION%", [yxa]}
  ]
diff --git a/src/incomingproxy.rel-in b/src/incomingproxy.rel-in
index 5b493bd..587d8df 100644
--- a/src/incomingproxy.rel-in
+++ b/src/incomingproxy.rel-in
@@ -1,11 +1,11 @@
 %% Erlang OTP R12B-2 library versions
 {release, {"YXA incomingproxy","YXA-incomingproxy-%VERSION%"},
- {erts, "5.5.2"},
- [{kernel,"2.12.2"},
-  {stdlib,"1.15.2"},
-  {ssl, "3.9"},
-  {asn1, "1.5.1"},
-  {mnesia, "4.4.2"},
+ {erts, "@ERLANG_ERTS_VER@"},
+ [{kernel,"@ERLANG_LIB_VER_kernel@"},
+  {stdlib,"@ERLANG_LIB_VER_stdlib@"},
+  {ssl, "@ERLANG_LIB_VER_ssl@"},
+  {asn1, "@ERLANG_LIB_VER_asn1@"},
+  {mnesia, "@ERLANG_LIB_VER_mnesia@"},
   {yxa, "%VERSION%", load},
   {incomingproxy, "%VERSION%", permanent}
  ]
diff --git a/src/outgoingproxy.rel-in b/src/outgoingproxy.rel-in
index a7f6f1a..7e55eb8 100644
--- a/src/outgoingproxy.rel-in
+++ b/src/outgoingproxy.rel-in
@@ -1,10 +1,10 @@
 %% Erlang OTP R12B-2 library versions
 {release, {"YXA outgoingproxy","YXA-outgoingproxy-%VERSION%"},
- {erts, "5.5.2"},
- [{kernel,"2.12.2"},
-  {stdlib,"1.15.2"},
-  {ssl, "3.9"},
-  {mnesia, "4.4.2"},
+ {erts, "@ERLANG_ERTS_VER@"},
+ [{kernel,"@ERLANG_LIB_VER_kernel@"},
+  {stdlib,"@ERLANG_LIB_VER_stdlib@"},
+  {ssl, "@ERLANG_LIB_VER_ssl@"},
+  {mnesia, "@ERLANG_LIB_VER_mnesia@"},
   {yxa, "%VERSION%"},
   {outgoingproxy, "%VERSION%"}
  ]
diff --git a/src/pstnproxy.rel-in b/src/pstnproxy.rel-in
index 6becdc6..e411852 100644
--- a/src/pstnproxy.rel-in
+++ b/src/pstnproxy.rel-in
@@ -1,11 +1,11 @@
 %% Erlang OTP R12B-2 library versions
 {release, {"YXA pstnproxy","YXA-pstnproxy-%VERSION%"},
- {erts, "5.5.2"},
- [{kernel,"2.12.2"},
-  {stdlib,"1.15.2"},
-  {ssl, "3.9"},
-  {asn1, "1.5.1"},
-  {mnesia, "4.4.2"},
+ {erts, "@ERLANG_ERTS_VER@"},
+ [{kernel,"@ERLANG_LIB_VER_kernel@"},
+  {stdlib,"@ERLANG_LIB_VER_stdlib@"},
+  {ssl, "@ERLANG_LIB_VER_ssl@"},
+  {asn1, "@ERLANG_LIB_VER_asn1@"},
+  {mnesia, "@ERLANG_LIB_VER_mnesia@"},
   {yxa, "%VERSION%"},
   {pstnproxy, "%VERSION%"}
  ]
diff --git a/src/start_ssl.rel-in b/src/start_ssl.rel-in
index 177dff5..71afa53 100644
--- a/src/start_ssl.rel-in
+++ b/src/start_ssl.rel-in
@@ -1,9 +1,9 @@
 %% Erlang OTP R12B-2 library versions
 %% File to get Erlang distribution using SSL started
 {release, {"YXA start_ssl","YXA-start_ssl-%VERSION%"},
- {erts, "5.5.2"},
- [{kernel,"2.12.2"},
-  {stdlib,"1.15.2"},
-  {ssl, "3.9"}
+ {erts, "@ERLANG_ERTS_VER@"},
+ [{kernel,"@ERLANG_LIB_VER_kernel@"},
+  {stdlib,"@ERLANG_LIB_VER_stdlib@"},
+  {ssl, "@ERLANG_LIB_VER_ssl@"}
  ]
 }.
_______________________________________________
Yxa-devel mailing list
Yxa-devel@lists.su.se
https://lists.su.se/mailman/listinfo/yxa-devel

Reply via email to