From 6aac003abf821e220f7d3c6c597c1f0f1dd84a06 Mon Sep 17 00:00:00 2001 From: Vincent Palatin Date: Sun, 22 Nov 2009 21:18:11 +0100 Subject: [PATCH] package/nbd: add nbd-server support Closes #645 Signed-off-by: Vincent Palatin Signed-off-by: Peter Korsgaard --- CHANGES | 5 +++-- package/nbd/Config.in | 16 +++++++++++++++- package/nbd/nbd.mk | 25 ++++++++++++++++++++++--- 3 files changed, 40 insertions(+), 6 deletions(-) diff --git a/CHANGES b/CHANGES index 421629f259..abf9774fa5 100644 --- a/CHANGES +++ b/CHANGES @@ -14,8 +14,8 @@ e2fsprogs, festival, gstreamer, gst-plugins-bad, gst-plugins-base, gst-plugins-good, imagemagick, ipkg, iptables, iw, kernel-headers, kismet, libelf, libevent, libglib2, libidn, liblockfile, libmad, - libpcap, libupnp, libuuid, lighttpd, ltrace, lua, lzma, mdadm, ncftp, - ncurses, netkittelnet, netsnmp, ntfs-3g, openntp, openssl, php, + libpcap, libupnp, libuuid, lighttpd, ltrace, lua, lzma, mdadm, nbd, + ncftp, ncurses, netkittelnet, netsnmp, ntfs-3g, openntp, openssl, php, python, quagga, radvd, rsync, samba, sawman, sdl, shared-mime-info, spawn-fcgi, speech-tools, sqlite, squashfs, synergy, syslinux, tcpdump, u-boot, util-linux, valgrind, vsftpd, wipe, wpa-supplicant, @@ -38,6 +38,7 @@ #615: python: Don't delete .py files unless asked #617: netkit/inetd requires RPC and fails to build if RPC is disabled #619: netkittelnet requires netkitbase to install, but there's no ... + #645: allow to build nbd-server with NBD package #653: [SECURITY] Update php package to version 5.2.11 #655: Update sqlite package to version 3.6.18 #657: Bug in imagemagick-clean target diff --git a/package/nbd/Config.in b/package/nbd/Config.in index 788240b662..66c24afa37 100644 --- a/package/nbd/Config.in +++ b/package/nbd/Config.in @@ -4,8 +4,22 @@ config BR2_PACKAGE_NBD help NBD is a set of utilities to configure network block devices, allowing access to remote block devices over TCP/IP network. - Notice: This package only provides the NBD client. Depends on glib. http://nbd.sf.net/ + +if BR2_PACKAGE_NBD + +config BR2_NBD_CLIENT + bool "nbd client" + default y + help + the client part of NBD. + +config BR2_NBD_SERVER + bool "nbd server" + help + the server part of NBD. + +endif diff --git a/package/nbd/nbd.mk b/package/nbd/nbd.mk index 6a2f6bc6eb..df8e167316 100644 --- a/package/nbd/nbd.mk +++ b/package/nbd/nbd.mk @@ -10,6 +10,13 @@ NBD_CAT:=$(BZCAT) NBD_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/nbd/ NBD_DIR=$(BUILD_DIR)/nbd-$(NBD_VERSION) +ifeq ($(BR2_NBD_CLIENT),y) +NBD_TARGET_BINARY+= $(TARGET_DIR)/sbin/nbd-client +endif +ifeq ($(BR2_NBD_SERVER),y) +NBD_TARGET_BINARY+= $(TARGET_DIR)/bin/nbd-server +endif + $(DL_DIR)/$(NBD_SOURCE): $(call DOWNLOAD,$(NBD_SITE),$(NBD_SOURCE)) @@ -17,7 +24,11 @@ $(NBD_DIR)/.unpacked: $(DL_DIR)/$(NBD_SOURCE) $(NBD_CAT) $(DL_DIR)/$(NBD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - touch $@ -$(NBD_DIR)/.configured: $(NBD_DIR)/.unpacked +$(NBD_DIR)/.patched: $(NBD_DIR)/.unpacked + toolchain/patch-kernel.sh $(NBD_DIR) package/nbd/ nbd\*.patch + touch $@ + +$(NBD_DIR)/.configured: $(NBD_DIR)/.patched (cd $(NBD_DIR); rm -rf config.cache; \ $(TARGET_CONFIGURE_OPTS) \ $(TARGET_CONFIGURE_ARGS) \ @@ -27,6 +38,7 @@ $(NBD_DIR)/.configured: $(NBD_DIR)/.unpacked --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ --prefix=/usr \ + --sysconfdir=/etc \ ) touch $@ @@ -37,12 +49,19 @@ $(TARGET_DIR)/sbin/nbd-client: $(NBD_DIR)/nbd-client cp $< $@ $(STRIPCMD) $@ -nbd: libglib2 $(TARGET_DIR)/sbin/nbd-client +$(NBD_DIR)/nbd-server: $(NBD_DIR)/.configured + $(MAKE) -C $(NBD_DIR) nbd-server + +$(TARGET_DIR)/bin/nbd-server: $(NBD_DIR)/nbd-server + cp $< $@ + $(STRIPCMD) $@ + +nbd: libglib2 $(NBD_TARGET_BINARY) nbd-source: $(DL_DIR)/$(NBD_SOURCE) nbd-clean: - rm -f $(TARGET_DIR)/sbin/nbd-client + rm -f $(NBD_TARGET_BINARY) -$(MAKE) -C $(NBD_DIR) clean nbd-dirclean: -- 2.30.2