gnunet: bump source, improve packaging
authorDaniel Golle <daniel@makrotopia.org>
Thu, 2 Jul 2015 22:07:41 +0000 (00:07 +0200)
committerDaniel Golle <daniel@makrotopia.org>
Tue, 7 Jul 2015 07:36:05 +0000 (09:36 +0200)
 * fix two typos in Makefile
 * package transports seperately
 * enable all installed transports by default
 * use logfile so we don't stdio-choke gnunet-service-arm
   -> should use syslog instead...

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
net/gnunet/Makefile
net/gnunet/files/gnunet.init

index 08b7f4000aad88d44b623cdc21689c515a43e63d..b6908c2a38f806f204cd3b8b70f1d06748ec922b 100644 (file)
@@ -8,14 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gnunet
-PKG_SOURCE_VERSION:=36019
+PKG_SOURCE_VERSION:=36048
 PKG_VERSION:=0.10.1-svn$(PKG_SOURCE_VERSION)
 PKG_RELEASE:=1
 
 # ToDo:
-#  - break-out transports
-#    -> get rid of microhttpd and gnurl dependency for gns and vpn
-#       requires upstream to split config files
 #  - break-out {peer,name,data}store for each backend
 #  - package testing stuff
 
@@ -74,8 +71,8 @@ define Package/gnunet/description
  well as many missing features in this release.
 
  This package provides the core components of GNUnet including the
- CADET routing engine, a DHT implementation and most transports as well
- as their helpers.
+ CADET routing engine, a DHT implementation and basic transports as
well as their helpers.
 endef
 
 define BuildComponent
@@ -144,9 +141,7 @@ define Package/gnunet/install
        done )
 
        ( for plug in ats_proportional block_dht block_regex datacache_heap  \
-           transport_http_client transport_http_server \
-           transport_https_client transport_https_server \
-           transport_tcp transport_udp transport_unix transport_wlan; do \
+           transport_tcp transport_udp transport_unix; do \
                $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/gnunet/libgnunet_plugin_$$$$plug*.so $(1)/usr/lib/gnunet ; \
        done )
 
@@ -185,6 +180,15 @@ PLUGIN_conversation:=gnsrecord_conversation
 LIBEXEC_conversation:=helper-audio-playback helper-audio-record
 CONF_conversation:=conversation
 
+DEPENDS_transport-http_client:=+libgnurl
+PLUGIN_transport-http_client:=transport_http_client transport_https_client
+
+DEPENDS_transport-http_server:=+libmicrohttpd
+PLUGIN_transport-http_server:=transport_http_server transport_https_server
+
+PLUGIN_transport-wifi:=transport_wlan
+LIBEXEC_transport-wifi:=helper-transport-wlan
+
 DEPENDS_experiments:=+libglpk
 PLUGIN_experiments:=ats_mlp ats_ril
 
@@ -192,7 +196,7 @@ DEPENDS_fs:=+gnunet-datastore +libextractor
 BIN_fs:=auto-share directory download download-manager.scm fs publish unindex search
 LIB_fs:=fs
 PLUGIN_fs:=block_fs
-LIB_EXEC_fs:=helper-fs-publish service-fs
+LIBEXEC_fs:=helper-fs-publish service-fs
 CONF_fs:=fs
 
 DEPENDS_gns:=+gnunet-vpn
@@ -226,7 +230,7 @@ PLUGIN_transport-bluetooth:=transport_bluetooth
 LIBEXEC_transport-bluetooth:=helper-transport-bluetooth
 
 DEPENDS_utils:=+certtool +openssl-util
-BIN_utils:=config gns-import.sh gns-proxy-setup-ca transport-certificate-creation
+BIN_utils:=config gns-proxy-setup-ca transport-certificate-creation
 
 DEPENDS_vpn:=+kmod-tun
 LIB_vpn:=tun vpn
@@ -240,6 +244,9 @@ $(eval $(call BuildComponent,fs,file-sharing components,))
 $(eval $(call BuildComponent,gns,name resolution components,y))
 $(eval $(call BuildComponent,datastore,storage components,))
 $(eval $(call BuildComponent,transport-bluetooth,bluetooth transport,))
+$(eval $(call BuildComponent,transport-http_client,HTTP/HTTPS client transport,y))
+$(eval $(call BuildComponent,transport-http_server,HTTP/HTTPS server transport,))
+$(eval $(call BuildComponent,transport-wlan,WLAN transport,))
 $(eval $(call BuildComponent,utils,administration utililties,))
 $(eval $(call BuildComponent,vpn,vpn components,y))
 $(eval $(call BuildComponent,mysql,mySQL datastore backend,))
index 66e2600d419e677c737e21bdfbcb59b66ae81cc5..3d9fc18753e2e844fcddfd0de7ca3398ca981337 100644 (file)
@@ -8,6 +8,7 @@ USE_PROCD=1
 PROG=/usr/lib/gnunet/libexec/gnunet-service-arm
 
 GNUNET_HOME=/var/run/gnunet
+LOGFILE=$GNUNET_HOME/gnunet.log
 CONFIGFILE=$GNUNET_HOME/gnunet.conf
 SUID_ROOT_HELPERS="exit nat-server nat-client transport-bluetooth transport-wlan vpn"
 
@@ -37,10 +38,20 @@ prepare_config() {
        touch $CONFIGFILE
        chown root:gnunet $CONFIGFILE
        chmod 0640 $CONFIGFILE
-       gnunet-config -c /tmp/run/gnunet/gnunet.conf -s PATHS -o GNUNET_HOME -V $GNUNET_HOME
+       gnunet-config -c $CONFIGFILE -s PATHS -o GNUNET_HOME -V $GNUNET_HOME
+       # enable gns2dns service
        defaultservices=$( gnunet-config -c /tmp/run/gnunet/gnunet.conf -s arm -o DEFAULTSERVICES )
-       defaultservices="$defaultservices gns2dns"
-       gnunet-config -c /tmp/run/gnunet/gnunet.conf -s arm -o DEFAULTSERVICES -V "$defaultservices"
+       defaultservices="$defaultservices dns2gns"
+       # enable all installed transport plugins
+       gnunet-config -c $CONFIGFILE -s arm -o DEFAULTSERVICES -V "$defaultservices"
+       transport_plugins=$(gnunet-config -c $CONFIGFILE -s transport -o PLUGINS)
+       for transplug in /usr/lib/gnunet/libgnunet_plugin_transport_*.so; do
+               transplug=$( echo $transplug |
+                       sed -ne 's!^.*_transport_\(.*\)\.so$!\1!p' )
+               [ -n "$( echo $transport_plugins | grep $transplug )" ] ||
+                       transport_plugins="$transport_plugins $transplug"
+       done
+       gnunet-config -c $CONFIGFILE -s transport -o PLUGINS -V "$transport_plugins"
 }
 
 start_service() {
@@ -49,7 +60,7 @@ start_service() {
 
        procd_open_instance
        procd_set_param user gnunet
-       procd_set_param command $PROG -c $CONFIGFILE
+       procd_set_param command $PROG -c $CONFIGFILE -l $LOGFILE
        procd_set_param respawn
        procd_close_instance
 }