add support for building smartmontools
authorEric Andersen <andersen@codepoet.org>
Fri, 16 Dec 2005 13:33:32 +0000 (13:33 -0000)
committerEric Andersen <andersen@codepoet.org>
Fri, 16 Dec 2005 13:33:32 +0000 (13:33 -0000)
package/Config.in
package/smartmontools/Config.in [new file with mode: 0644]
package/smartmontools/smartmontools.mk [new file with mode: 0644]

index 477851b963403eea6fd81133c07f090af110380a..a72c6432f568d4328e21cf12c92c9ab4d665d4ec 100644 (file)
@@ -107,6 +107,7 @@ source "package/rxvt/Config.in"
 source "package/sdl/Config.in"
 source "package/sfdisk/Config.in"
 source "package/slang/Config.in"
+source "package/smartmontools/Config.in"
 source "package/socat/Config.in"
 source "package/strace/Config.in"
 source "package/sysklogd/Config.in"
diff --git a/package/smartmontools/Config.in b/package/smartmontools/Config.in
new file mode 100644 (file)
index 0000000..f2e27fc
--- /dev/null
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_SMARTMONTOOLS
+       bool "smartmontools"
+       default n
+       help
+         Control and monitor storage systems using S.M.A.R.T.
+
+         http://smartmontools.sourceforge.net/
diff --git a/package/smartmontools/smartmontools.mk b/package/smartmontools/smartmontools.mk
new file mode 100644 (file)
index 0000000..82a2a2b
--- /dev/null
@@ -0,0 +1,76 @@
+#############################################################
+#
+# smartmontools
+#
+#############################################################
+SMARTMONTOOLS_VER:=5.33
+SMARTMONTOOLS_SOURCE:=smartmontools-$(SMARTMONTOOLS_VER).tar.gz
+SMARTMONTOOLS_SITE:=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/smartmontools
+SMARTMONTOOLS_DIR:=$(BUILD_DIR)/smartmontools-$(SMARTMONTOOLS_VER)
+SMARTMONTOOLS_CAT:=zcat
+SMARTMONTOOLS_BINARY:=smartctl
+SMARTMONTOOLS_BINARY2:=smartd
+SMARTMONTOOLS_TARGET_BINARY:=usr/sbin/smartctl
+
+$(DL_DIR)/$(SMARTMONTOOLS_SOURCE):
+        $(WGET) -P $(DL_DIR) $(SMARTMONTOOLS_SITE)/$(SMARTMONTOOLS_SOURCE)
+
+smartmontools-source: $(DL_DIR)/$(SMARTMONTOOLS_SOURCE)
+
+$(SMARTMONTOOLS_DIR)/.unpacked: $(DL_DIR)/$(SMARTMONTOOLS_SOURCE)
+       $(SMARTMONTOOLS_CAT) $(DL_DIR)/$(SMARTMONTOOLS_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+       toolchain/patch-kernel.sh $(SMARTMONTOOLS_DIR) package/smartmontools/ \*.patch
+       touch $(SMARTMONTOOLS_DIR)/.unpacked
+
+$(SMARTMONTOOLS_DIR)/.configured: $(SMARTMONTOOLS_DIR)/.unpacked
+       (cd $(SMARTMONTOOLS_DIR); rm -rf config.cache; \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(TARGET_CFLAGS)" \
+               ./configure \
+               --target=$(GNU_TARGET_NAME) \
+               --host=$(GNU_TARGET_NAME) \
+               --build=$(GNU_HOST_NAME) \
+               --prefix=/usr \
+               --exec-prefix=/usr \
+               --bindir=/usr/bin \
+               --sbindir=/usr/sbin \
+               --libexecdir=/usr/lib \
+               --sysconfdir=/etc \
+               --datadir=/usr/share \
+               --localstatedir=/var \
+               --mandir=/usr/man \
+               --infodir=/usr/info \
+               $(DISABLE_NLS) \
+               $(DISABLE_LARGEFILE) \
+       );
+       touch $(SMARTMONTOOLS_DIR)/.configured
+
+$(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY): $(SMARTMONTOOLS_DIR)/.configured
+       $(MAKE) -C $(SMARTMONTOOLS_DIR)
+       $(STRIP) $(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY)
+       $(STRIP) $(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY2)
+       touch -c $(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY)
+
+$(TARGET_DIR)/$(SMARTMONTOOLS_TARGET_BINARY): $(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY)
+       cp $(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY) $(TARGET_DIR)/usr/sbin/
+
+$(TARGET_DIR)/$(SMARTMONTOOLS_TARGET_BINARY2): $(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY)
+       cp $(SMARTMONTOOLS_DIR)/$(SMARTMONTOOLS_BINARY2) $(TARGET_DIR)/usr/sbin/
+
+smartmontools: uclibc $(TARGET_DIR)/$(SMARTMONTOOLS_TARGET_BINARY)
+
+smartmontools-clean:
+       $(MAKE) DESTDIR=$(TARGET_DIR) -C $(SMARTMONTOOLS_DIR) uninstall
+       -$(MAKE) -C $(SMARTMONTOOLS_DIR) clean
+
+smartmontools-dirclean:
+       rm -rf $(SMARTMONTOOLS_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_TAR)),y)
+TARGETS+=smartmontools
+endif