diff options
author | Matthias Radestock <matthias@lshift.net> | 2009-11-11 22:23:20 +0000 |
---|---|---|
committer | Matthias Radestock <matthias@lshift.net> | 2009-11-11 22:23:20 +0000 |
commit | e41f790fb6d1501f291dabf43e138058f6fb2630 (patch) | |
tree | 9a9683c375767e98c162a0c19ad83daa1b2b3f96 | |
parent | 8f6fc6304de71619fcfbae306e8c8db438795752 (diff) | |
parent | 88433c43c79f45b045656aa26e11650776d003d8 (diff) | |
download | rabbitmq-server-e41f790fb6d1501f291dabf43e138058f6fb2630.tar.gz |
merge bug21876 into next
-rw-r--r-- | codegen.py | 27 | ||||
-rw-r--r-- | packaging/common/rabbitmq-script-wrapper | 4 | ||||
-rw-r--r-- | packaging/macports/net/rabbitmq-server/Portfile | 27 | ||||
-rw-r--r-- | packaging/macports/net/rabbitmq-server/files/rabbitmq-script-wrapper | 4 |
4 files changed, 50 insertions, 12 deletions
@@ -228,12 +228,12 @@ def genErl(spec): print " rabbit_binary_generator:encode_properties(%s, %s);" % \ (fieldTypeList(c.fields), fieldTempList(c.fields)) - def massageConstantClass(cls): + def messageConstantClass(cls): # We do this because 0.8 uses "soft error" and 8.1 uses "soft-error". return erlangConstantName(cls) def genLookupException(c,v,cls): - mCls = massageConstantClass(cls) + mCls = messageConstantClass(cls) if mCls == 'SOFT_ERROR': genLookupException1(c,'false') elif mCls == 'HARD_ERROR': genLookupException1(c, 'true') elif mCls == '': pass @@ -244,6 +244,20 @@ def genErl(spec): print 'lookup_amqp_exception(%s) -> {%s, ?%s, <<"%s">>};' % \ (n.lower(), hardErrorBoolStr, n, n) + def genIsAmqpHardErrorCode(c,v,cls): + mCls = messageConstantClass(cls) + if mCls == 'SOFT_ERROR' : genIsAmqpHardErrorCode1(c,'false') + elif mCls == 'HARD_ERROR' : genIsAmqpHardErrorCode1(c,'true') + elif mCls == '' : pass + else: raise 'Unkown constant class', cls + + def genIsAmqpHardErrorCode1(c,hardErrorBoolStr): + n = erlangConstantName(c) + print 'is_amqp_hard_error_code(?%s) -> %s;' % \ + (n, hardErrorBoolStr) + print 'is_amqp_hard_error_code(%s) -> %s;' % \ + (n.lower(), hardErrorBoolStr) + methods = spec.allMethods() print """-module(rabbit_framing). @@ -260,6 +274,7 @@ def genErl(spec): -export([encode_method_fields/1]). -export([encode_properties/1]). -export([lookup_amqp_exception/1]). +-export([is_amqp_hard_error_code/1]). bitvalue(true) -> 1; bitvalue(false) -> 0; @@ -296,8 +311,14 @@ bitvalue(undefined) -> 0. for (c,v,cls) in spec.constants: genLookupException(c,v,cls) print "lookup_amqp_exception(Code) ->" print " rabbit_log:warning(\"Unknown AMQP error code '~p'~n\", [Code])," - print " {true, ?INTERNAL_ERROR, <<\"INTERNAL_ERROR\">>}." + print " {true, ?INTERNAL_ERROR, <<\"INTERNAL_ERROR\">>}." + for(c,v,cls) in spec.constants: genIsAmqpHardErrorCode(c,v,cls) + print "is_amqp_hard_error_code(Code) when is_integer(Code) ->" + print " true;" + print "is_amqp_hard_error_code(Code) ->" + print " rabbit_log:warning(\"Unknown AMQP error code '~p'~n\", [Code])," + print " true." def genHrl(spec): def erlType(domain): diff --git a/packaging/common/rabbitmq-script-wrapper b/packaging/common/rabbitmq-script-wrapper index 0c4bd0a8..08e888cd 100644 --- a/packaging/common/rabbitmq-script-wrapper +++ b/packaging/common/rabbitmq-script-wrapper @@ -46,9 +46,11 @@ SCRIPT=`basename $0` if [ `id -u` = 0 ] ; then su rabbitmq -s /bin/sh -c "/usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}" +elif [ `id -u` = `id -u rabbitmq` ] ; then + /usr/lib/rabbitmq/bin/${SCRIPT} "$@" else /usr/lib/rabbitmq/bin/${SCRIPT} - echo -e "\nOnly root should run ${SCRIPT}\n" + echo -e "\nOnly root or rabbitmq should run ${SCRIPT}\n" exit 1 fi diff --git a/packaging/macports/net/rabbitmq-server/Portfile b/packaging/macports/net/rabbitmq-server/Portfile index 6b51fb2f..739f99d0 100644 --- a/packaging/macports/net/rabbitmq-server/Portfile +++ b/packaging/macports/net/rabbitmq-server/Portfile @@ -3,7 +3,7 @@ PortSystem 1.0 name rabbitmq-server -version 1.6.0 +version 1.7.0 revision 0 categories net maintainers tonyg@rabbitmq.com @@ -19,13 +19,28 @@ homepage http://www.rabbitmq.com/ master_sites http://www.rabbitmq.com/releases/rabbitmq-server/v${version}/ checksums \ - md5 af3b0d868d58e5aefb4f0837b82ca010 \ - sha1 1834c670d076fa9878223aacaa35a5a6528f1d86 \ - rmd160 d6c9de4e1fb48c6ceb1cb5d717ca2afb5e3266fe + md5 4505ca0fd8718439bd6f5e2af2379e56 \ + sha1 84fb86d403057bb808c1b51deee0c1fca3bf7bef \ + rmd160 092f90946825cc3eb277019805e24db637a559f4 -depends_build port:erlang port:py25-simplejson +depends_build port:erlang depends_run port:erlang +platform darwin 7 { + depends_build-append port:py25-simplejson + build.args PYTHON=${prefix}/bin/python2.5 +} +platform darwin 8 { + depends_build-append port:py25-simplejson + build.args PYTHON=${prefix}/bin/python2.5 +} +platform darwin 9 { + depends_build-append port:py25-simplejson + build.args PYTHON=${prefix}/bin/python2.5 +} +# no need for simplejson on Snow Leopard or higher + + set serveruser rabbitmq set servergroup rabbitmq set serverhome ${prefix}/var/lib/rabbitmq @@ -40,8 +55,6 @@ use_configure no use_parallel_build yes -build.args PYTHON=${prefix}/bin/python2.5 - destroot.destdir \ TARGET_DIR=${destroot}${prefix}/lib/rabbitmq/lib/rabbitmq_server-${version} \ SBIN_DIR=${sbindir} \ diff --git a/packaging/macports/net/rabbitmq-server/files/rabbitmq-script-wrapper b/packaging/macports/net/rabbitmq-server/files/rabbitmq-script-wrapper index 0d7118c4..80cb7bd5 100644 --- a/packaging/macports/net/rabbitmq-server/files/rabbitmq-script-wrapper +++ b/packaging/macports/net/rabbitmq-server/files/rabbitmq-script-wrapper @@ -5,9 +5,11 @@ SCRIPT=`basename $0` if [ `id -u` = 0 ] ; then sudo -u rabbitmq -H /usr/lib/rabbitmq/bin/${SCRIPT} "$@" +elif [ `id -u` = `id -u rabbitmq` ] ; then + /usr/lib/rabbitmq/bin/${SCRIPT} "$@" else /usr/lib/rabbitmq/bin/${SCRIPT} - echo -e "\nOnly root should run ${SCRIPT}\n" + echo -e "\nOnly root or rabbitmq should run ${SCRIPT}\n" exit 1 fi |