include $(TOPDIR)/rules.mk
PKG_NAME:=gnunet
-PKG_SOURCE_VERSION:=37738
+PKG_SOURCE_VERSION:=38014
PKG_VERSION:=0.10.1-svn$(PKG_SOURCE_VERSION)
PKG_RELEASE:=1
# ToDo:
-# - break-out {peer,name,data}store for each backend
# - package testing stuff
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
DEPENDS:=gnunet $(DEPENDS_$(1))
$(if $(3),DEFAULT:=y if PACKAGE_gnunet)
$(if $(USERID_$(1)),USERID:=$(USERID_$(1)))
+ $(if $(CONFLICTS_$(1)),CONFLICTS:=$(CONFLICTS_$(1)))
endef
define Package/gnunet-$(1)/install
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnunet$$$$lib.so* $(1)/usr/lib/ ; \
done )
- ( for plug in ats_proportional block_dht block_regex datacache_heap \
+ ( for plug in ats_proportional block_dht block_regex \
transport_tcp transport_udp transport_unix; do \
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/gnunet/libgnunet_plugin_$$$$plug*.so $(1)/usr/lib/gnunet ; \
done )
$(INSTALL_BIN) ./files/gnunet-proto.sh $(1)/lib/netifd/proto/gnunet.sh
endef
-define Package/gnunet/conffiles
-/etc/config/gnunet
-endef
-
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/gnunet $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.{la,so}* $(1)/usr/lib/
DEPENDS_gns-proxy:=+gnunet-gns +libgnurl +libmicrohttpd
LIBEXEC_gns-proxy:=gns-proxy
-DEPENDS_datastore:=+gnunet-gns +libsqlite3
+DEPENDS_datastore:=+gnunet-gns
BIN_datastore:=datastore
LIB_datastore:=datastore
-PLUGIN_datastore:=datastore_heap
-LIBEXEC_datastore:=daemon-latency-logger service-datastore
+LIBEXEC_datastore:=service-datastore
CONF_datastore:=datastore
BIN_peerstore:=peerstore
LIBEXEC_peerstore:=service-peerstore
CONF_peerstore:=peerstore
-DEPENDS_flat:=+gnunet-gns
-PLUGIN_flat:=namecache_flat namestore_flat
-
-DEPENDS_mysql:=+gnunet-gns +gnunet-datastore +gnunet-social +libmysqlclient
-LIB_mysql:=mysql my
-PLUGIN_mysql:=datastore_mysql psycstore_mysql
-
-DEPENDS_pgsql:=+gnunet-gns +gnunet-datastore +libpq
-LIB_pgsql:=postgres pq
-PLUGIN_pgsql:=datacache_postgres datastore_postgres namecache_postgres namestore_postgres
-
DEPENDS_rest:=+gnunet-gns +gnunet-social +libmicrohttpd +jansson
LIB_rest:=rest json jsonapi jsonapiutils
PLUGIN_rest:=rest_gns rest_identity rest_identity_provider rest_namestore
LIBEXEC_rps:=service-rps
CONF_rps:=rps
-DEPENDS_social:=+gnunet-sqlite +libmicrohttpd +jansson
+DEPENDS_social:=+gnunet-gns +libmicrohttpd +jansson
BIN_social:=identity-token multicast social
LIB_social:=consensus identityprovider multicast psyc psycstore psycutil secretsharing social
-PLUGIN_social:=psycstore_sqlite
LIBEXEC_social:=service-consensus service-evil-consensus service-identity-provider service-multicast service-psyc service-psycstore service-secretsharing service-social
CONF_social:=consensus multicast psyc psycstore secretsharing social
-DEPENDS_sqlite:=+gnunet-gns +gnunet-datastore +gnunet-peerstore +libsqlite3
-PLUGIN_sqlite:=datacache_sqlite datastore_sqlite namecache_sqlite namestore_sqlite peerstore_sqlite
+DEPENDS_gns-flat:=+gnunet-gns
+PLUGIN_gns-flat:=namecache_flat namestore_flat
+
+DEPENDS_peerstore-flat:=+gnunet-peerstore
+PLUGIN_peerstore-flat:=peerstore_flat
+
+DEPENDS_fs-heap:=+gnunet-datastore
+PLUGIN_fs-heap:=datacache_heap datastore_heap
+CONFLICTS_fs-heap:=gnunet-fs-mysql gnunet-fs-pgsql gnunet-fs-sqlite
+
+DEPENDS_mysql:=+libmysqlclient
+LIB_mysql:=mysql my
+
+DEPENDS_social-mysql:=+gnunet-mysql +gnunet-social
+PLUGIN_social-mysql:=psycstore_mysql
+CONFLICTS_social-mysql:=gnunet-social-sqlite
+
+DEPENDS_fs-mysql:=+gnunet-mysql +gnunet-datastore
+PLUGIN_fs-mysql:=datastore_mysql
+CONFLICTS_fs-mysql:=gnunet-fs-pgsql gnunet-fs-sqlite
+
+DEPENDS_pgsql:=+libpq
+LIB_pgsql:=postgres pq
+
+DEPENDS_fs-pgsql:=+gnunet-pgsql +gnunet-datastore
+PLUGIN_fs-pgsql:=datacache_postgres datastore_postgres
+CONFLICTS_fs-pgsql:=gnunet-fs-sqlite
+
+DEPENDS_gns-pgsql:=+gnunet-pgsql +gnunet-gns
+PLUGIN_gns-pgsql:=namecache_postgres namestore_postgres
+CONFLICTS_gns-pgsql:=gnunet-gns-sqlite gnunet-gns-flat
+
+DEPENDS_sqlite:=+libsqlite3
+
+DEPENDS_gns-sqlite:=+gnunet-sqlite +gnunet-gns
+PLUGIN_gns-sqlite:=namecache_sqlite namestore_sqlite
+CONFLICTS_gns-sqlite:=gnunet-gns-flat
+
+DEPENDS_peerstore-sqlite:=+gnunet-sqlite +gnunet-peerstore
+PLUGIN_peerstore-sqlite:=peerstore_sqlite
+CONFLICTS_peerstore-sqlite:=gnunet-peerstore-flat
+
+DEPENDS_fs-sqlite:=+gnunet-sqlite +gnunet-datastore
+PLUGIN_fs-sqlite:=datacache_sqlite datastore_sqlite
+LIBEXEC_fs-sqlite:=daemon-latency-logger
+
+DEPENDS_social-sqlite:=+gnunet-sqlite +gnunet-social
+PLUGIN_social-sqlite:=psycstore_sqlite
DEPENDS_transport-bluetooth:=+bluez-libs
PLUGIN_transport-bluetooth:=transport_bluetooth
$(eval $(call BuildComponent,datastore,data storage components,))
$(eval $(call BuildComponent,dv,distance-vector routing component,))
$(eval $(call BuildComponent,experiments,experimental components,))
-$(eval $(call BuildComponent,flat,flat storage backends,))
$(eval $(call BuildComponent,fs,file-sharing components,))
$(eval $(call BuildComponent,gns,name resolution components,y))
$(eval $(call BuildComponent,gns-proxy,gns-proxy component,))
$(eval $(call BuildComponent,hostlist,HTTP bootstrap hostlist client and server,))
-$(eval $(call BuildComponent,mysql,mySQL datastore backend,))
-$(eval $(call BuildComponent,namestore-fcfsd,first-come-first-serve registration server,))
-$(eval $(call BuildComponent,pgsql,PostgreSQL storage backends,))
$(eval $(call BuildComponent,peerstore,peerstore local persistency component,))
$(eval $(call BuildComponent,rest,REST interface,))
$(eval $(call BuildComponent,rps,RPS routing component,))
$(eval $(call BuildComponent,social,social components,))
-$(eval $(call BuildComponent,sqlite,libsqlite3 storage backends,y))
+$(eval $(call BuildComponent,namestore-fcfsd,first-come-first-serve registration server,))
+$(eval $(call BuildComponent,fs-heap,heap-based filesharing plugins,))
+$(eval $(call BuildComponent,gns-flat,flat storage GNS plugins,))
+$(eval $(call BuildComponent,peerstore-flat,flat storage peerstore plugin,))
+$(eval $(call BuildComponent,mysql,mySQL datastore backend,))
+$(eval $(call BuildComponent,fs-mysql,mySQL filesharing plugins,))
+$(eval $(call BuildComponent,social-mysql,mySQL social plugins,))
+$(eval $(call BuildComponent,pgsql,PostgreSQL storage backends,))
+$(eval $(call BuildComponent,fs-pgsql,PostgreSQL filesharing plugins,))
+$(eval $(call BuildComponent,gns-pgsql,PostgreSQL GNS plugins,))
+$(eval $(call BuildComponent,sqlite,libsqlite3 storage backends,))
+$(eval $(call BuildComponent,fs-sqlite,libsqlite3 filesharing plugins,))
+$(eval $(call BuildComponent,gns-sqlite,libsqlite3 gns plugins,))
+$(eval $(call BuildComponent,peerstore-sqlite,libsqlite3 peerstore plugin,))
+$(eval $(call BuildComponent,social-sqlite,libsqlite3 social plugins,))
$(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,))