Port heyu to -ng
authorFlorian Fainelli <florian@openwrt.org>
Wed, 2 Aug 2006 08:29:39 +0000 (08:29 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Wed, 2 Aug 2006 08:29:39 +0000 (08:29 +0000)
SVN-Revision: 4389

utils/heyu/Makefile [new file with mode: 0644]
utils/heyu/files/x10.conf [new file with mode: 0644]
utils/heyu/patches/01-avoid_configure.patch [new file with mode: 0644]

diff --git a/utils/heyu/Makefile b/utils/heyu/Makefile
new file mode 100644 (file)
index 0000000..e93eca2
--- /dev/null
@@ -0,0 +1,47 @@
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=heyu
+PKG_VERSION:=2.0beta.5
+PKG_RELEASE:=1
+PKG_MD5SUM:=8289d5ca5b972333a72bc0fc3e640c13
+PKG_SOURCE_URL:=http://heyu.tanj.com/download/
+PKG_SOURCE:=heyu-$(PKG_VERSION).tgz
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_CAT:=zcat
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/heyu
+  SECTION:=utils
+  CATEGORY:=Utilities
+  DEPENDS:=+setserial
+  TITLE:=X10 home automation control using a CM11A
+  DESCRIPTION:=10 home automation control using the CM11A serial device.
+  URL:=http://heyu.tanj.com/heyu2/
+endef
+
+define Package/heyu/conffiles
+/etc/heyu/x10.conf
+endef
+
+define Build/Compile   
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld \
+               CFLAGS="$(TARGET_CFLAGS) -I$(PKG_BUILD_DIR) -DSYSV -DPOSIX -DHAS_ITIMER -DLINUX -DHASSELECT -DHASTZ"
+endef
+
+define Package/heyu/install    
+       install -d -m0755 $(1)/etc/$(PKG_NAME)
+       install -m0644 ./files/x10.conf $(1)/etc/$(PKG_NAME)/x10.conf
+       install -d -m0755 $(1)/usr/bin
+       install -m0644 $(PKG_BUILD_DIR)/heyu $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,heyu))
diff --git a/utils/heyu/files/x10.conf b/utils/heyu/files/x10.conf
new file mode 100644 (file)
index 0000000..3cacaf5
--- /dev/null
@@ -0,0 +1,24 @@
+# this file should contain x10 appliance aliases, one per line, as:
+#   appliance-name  housecode  modulenumber
+# for example:
+#  mydesklamp  A       4
+#  atticfan    B       3
+#  sumppump    C       3
+#  manythings  J       1-4
+#
+# IMPORTANT!  disable the serial console if you need to use heyu
+# on /dev/tts/0.  Read http://forum.openwrt.org/viewtopic.php?id=1767
+#
+# NOTE: using /dev/tts/1 requires the setserial package to
+# set the port to use irq 3, otherwise performance will be
+# unbearable as it is polled.
+#
+TTY            /dev/tts/1
+#
+# give your location - for computing sunrise and sunset times
+# Boston, MA USA:
+#LATITUDE      N42:20
+#LONGITUDE     W71:05
+# Menlo Park, CA USA:
+LATITUDE        N37:43
+LONGITUDE       W122:20
diff --git a/utils/heyu/patches/01-avoid_configure.patch b/utils/heyu/patches/01-avoid_configure.patch
new file mode 100644 (file)
index 0000000..110602f
--- /dev/null
@@ -0,0 +1,194 @@
+diff -urN orig/heyu-2.0beta.2/Makefile heyu-2.0beta.2/Makefile
+--- orig/heyu-2.0beta.2/Makefile       1970-01-01 01:00:00.000000000 +0100
++++ heyu-2.0beta.2/Makefile    2006-01-07 01:53:25.000000000 +0100
+@@ -0,0 +1,183 @@
++# Makefile for HEYU, a program to control an X10 CM11A computer interface.
++# This makefile is generated by the Configure program.
++#
++BIN = /usr/bin
++MAN = /usr/man/man1
++MAN5 = /usr/man/man5
++GROUP = sys
++OWNER = root
++
++#       set DFLAGS equal to:
++#          -DSYSV       if using SYSTEM V
++#          -DVOID       if compiler doesn't understand 'void'
++
++#This makefile is built for linux
++DFLAGS = -DSYSV -DPOSIX -DHAS_ITIMER -DLINUX -DHASSELECT -DHASTZ -DHASCM17A
++LIBS = -lm -lc
++# # The rest of the makefile should need no changes
++
++## Makefile template for Heyu, a program to control an X10 CM11A computer
++## interface.  From this point on the Makefile is copied from Makefile.in
++## by the Configure program
++
++SRCS =        date.c erase.c info.c  message.c relay.c \
++      monitor.c reset.c setclock.c stop.c \
++      tty.c turn.c x10.c xread.c xwrite.c status.c cm11a.c \
++      eeprom.c preset.c process.c sun.c cmd.c config.c x10state.c \
++      poll.c modules.c cm17a.c xsync.c timing.c
++
++OBJS =        date.o erase.o info.o message.o relay.o \
++      monitor.o reset.o setclock.o stop.o \
++      tty.o turn.o x10.o xread.o xwrite.o status.o cm11a.o \
++      eeprom.o preset.o process.o sun.o cmd.o config.o x10state.o \
++      poll.o modules.o cm17a.o xsync.o timing.o
++
++OTHERSRC = README README2 Makefile x10config.sample protocol.txt eeprom.h \
++      x10.sched.sample  heyu.1 x10.h x10config.5 x10cm17a.5 \
++      history.txt version.h heyufaq.txt x10sched.5 process.h sun.h \
++      x10scripts.5 Configure Makefile.in install.sh INSTALL LICENSE
++
++EVERYTHING = $(OTHERSRC) $(SRCS)
++
++all:  heyu 
++
++heyu: $(OBJS) version.h
++      $(CC) $(LDFLAGS) -o heyu $(OBJS) $(LIBS)
++      @echo `id` >usergroup.tmp
++      @echo ${HOME}  >userhome.tmp
++      @echo "** Now become root and run 'make install' **"
++
++$(OBJS): x10.h process.h sun.h
++
++eeprom.o:     eeprom.h
++
++install: $(BIN)/heyu  $(MAN)/heyu.1 $(MAN5)/x10config.5 $(MAN5)/x10sched.5 \
++      $(MAN5)/x10scripts.5
++
++uninstall:
++      rm -f $(BIN)/heyu
++      rm -f $(MAN)/heyu.1
++      rm -f $(MAN5)/x10config.5
++      rm -f $(MAN5)/x10sched.5
++      rm -f $(MAN5)/x10scripts.5
++
++$(BIN)/heyu:  heyu
++      mkdir -p -m 755 $(BIN)
++      cp heyu $(BIN)
++      chgrp $(GROUP) $(BIN)/heyu
++      chmod 755 $(BIN)/heyu
++      chown $(OWNER) $(BIN)/heyu
++      ./install.sh
++
++$(MAN)/heyu.1: heyu.1
++      mkdir -p -m 755 $(MAN)
++      cp heyu.1 $(MAN)
++      chmod 644 $(MAN)/heyu.1
++
++$(MAN5)/x10config.5: x10config.5
++      mkdir -p -m 755 $(MAN5)
++      cp x10config.5 $(MAN5)
++      chmod 644 $(MAN5)/x10config.5
++
++$(MAN5)/x10sched.5: x10sched.5
++      mkdir -p -m 755 $(MAN5)
++      cp x10sched.5 $(MAN5)
++      chmod 644 $(MAN5)/x10sched.5
++
++$(MAN5)/x10scripts.5: x10scripts.5
++      mkdir -p -m 755 $(MAN5)
++      cp x10scripts.5 $(MAN5)
++      chmod 644 $(MAN5)/x10scripts.5
++
++lint:
++      lint $(DFLAGS) $(SRCS)
++
++shar: x10_heyu.shar.1 x10_heyu.shar.2
++
++x10.o:        x10.c version.h
++
++ci:   $(SRCS) index.html Makefile
++      @ for FL in $+ ; do \
++      if test -w $$FL ; then \
++        ci -l $$FL ;\
++      fi ;\
++      done
++
++x10_heyu.shar.1:
++      shar $(OTHERSRC) >x10_heyu.shar.1
++
++x10_heyu.shar.2:
++      shar $(SRCS) > x10_heyu.shar.2
++
++bigshar:
++      shar $(EVERYTHING) > x10_heyu.shar
++
++tar:    x10_heyu.tgz
++
++x10_heyu.tgz: $(EVERYTHING)
++      rm -fr heyu.dir
++      mkdir heyu.dir
++      cp -p $(EVERYTHING) heyu.dir
++      cp Makefile.dist heyu.dir/Makefile
++      tar -czvf x10_heyu.tgz heyu.dir
++
++heyudistro:   $(EVERYTHING)
++      rm -rf distro.dir
++      mkdir distro.dir
++      cp -p $(EVERYTHING) distro.dir
++      cp -p release_notes.txt distro.dir
++      rm distro.dir/Makefile
++
++
++beta: x10_beta.tgz
++
++x10_beta.tgz: $(EVERYTHING)
++      rm -fr heyu.beta
++      mkdir heyu.beta
++      cp -p $(EVERYTHING) heyu.beta
++      cp Makefile.dist heyu.dir/Makefile
++      tar -czvf x10_beta.tgz heyu.beta
++
++zip:  x10_heyu.zip
++
++x10_heyu.zip: $(EVERYTHING)
++      rm -f x10_heyu.zip
++      zip -kl x10_heyu.zip $(EVERYTHING)
++
++touch:
++      touch $(OTHERSRC)
++      touch $(SRCS)
++
++clean:
++      rm -f *.o
++
++clobber: clean
++      rm -f heyu
++
++upload:       heyu index.html x10_heyu.tgz x10_heyu.zip
++      /bin/sh -c ./upload.sh
++
++rcsdiffrw:
++      @-for x in `$(MAKE) rw` ;\
++      do      \
++              echo            ;\
++              echo $$x        ;\
++              echo =========  ;\
++              rcsdiff $$x     ;\
++      done 2>&1               ;\
++      echo                    ;\
++      echo all done
++
++list:
++      @ls $(EVERYTHING) | more
++
++rw:
++      @ls -l $(EVERYTHING) | \
++              egrep '^[^l].w' | \
++              sed 's;.* ;;'   # strip to last space
++
++populate: $(EVERYTHING)
++
++$(EVERYTHING):
++##    co -r$(revision) $@
++
+diff -urN orig/heyu-2.0beta.2/local.h heyu-2.0beta.2/local.h
+--- orig/heyu-2.0beta.2/local.h        1970-01-01 01:00:00.000000000 +0100
++++ heyu-2.0beta.2/local.h     2006-01-07 01:54:13.000000000 +0100
+@@ -0,0 +1,3 @@
++#define USESIGINT 1'
++#define SPOOLDIR "/tmp"
++#define LOCKDIR "/tmp"