From 805ca21a303b1dd83852cf1b5bfe95463787fccd Mon Sep 17 00:00:00 2001
From: florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Fri, 17 Mar 2006 20:08:06 +0000
Subject: [PATCH] Added motion, thanks to Nathan True ! Fixed menuconfig symbol

git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3395 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/Config.in                      |  1 +
 package/Makefile                       |  5 +++
 package/motion/Config.in               |  9 +++++
 package/motion/Makefile                | 51 ++++++++++++++++++++++++++
 package/motion/ipkg/motion.control     |  8 ++++
 package/motion/patches/01-ffmpeg.patch | 38 +++++++++++++++++++
 package/openser/Config.in              |  2 +-
 7 files changed, 113 insertions(+), 1 deletion(-)
 create mode 100644 package/motion/Config.in
 create mode 100644 package/motion/Makefile
 create mode 100644 package/motion/ipkg/motion.control
 create mode 100644 package/motion/patches/01-ffmpeg.patch

diff --git a/package/Config.in b/package/Config.in
index 737052e94..52e6e6aba 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -31,6 +31,7 @@ source "package/less/Config.in"
 source "package/lua/Config.in"
 source "package/microperl/Config.in"
 source "package/monit/Config.in"
+source "package/motion/Config.in"
 source "package/mgetty/Config.in"
 source "package/mutt/Config.in"
 source "package/nano/Config.in"
diff --git a/package/Makefile b/package/Makefile
index 290723c07..eaf9bf43c 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -143,6 +143,7 @@ package-$(BR2_COMPILE_MINI_HTTPD) += mini_httpd
 package-$(BR2_PACKAGE_MINI_SENDMAIL) += mini_sendmail
 package-$(BR2_COMPILE_MIREDO) += miredo
 package-$(BR2_COMPILE_MONIT) += monit
+package-$(BR2_PACKAGE_MOTION) += motion
 package-$(BR2_PACKAGE_MPD) += mpd
 package-$(BR2_PACKAGE_MRD6) += mrd6
 package-$(BR2_PACKAGE_MT_DAAPD) += mt-daapd
@@ -437,6 +438,10 @@ ifneq ($(BR2_PACKAGE_MINI_HTTPD_OPENSSL),)
 mini_httpd-compile: openssl-compile
 endif
 
+ifneq ($(BR2_PACKAGE_MOTION),)
+motion-compile: libjpeg-compile
+endif
+
 ifneq ($(BR2_PACKAGE_MPD_MP3),)
 mpd-compile: libid3tag-compile libmad-compile
 endif
diff --git a/package/motion/Config.in b/package/motion/Config.in
new file mode 100644
index 000000000..7d5203691
--- /dev/null
+++ b/package/motion/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_MOTION
+	prompt "motion............................ webcam motion sensing and logging"
+	tristate
+	default m if CONFIG_DEVEL
+	select BR2_PACKAGE_LIBJPEG
+	help
+	  Motion is a software motion detector
+
+	  http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome
diff --git a/package/motion/Makefile b/package/motion/Makefile
new file mode 100644
index 000000000..578d35be1
--- /dev/null
+++ b/package/motion/Makefile
@@ -0,0 +1,51 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=motion
+PKG_VERSION:=3.2.5.1
+PKG_RELEASE:=1
+
+PKG_SOURCE_URL:=http://superb.dl.sourceforge.net/sourceforge/motion
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,MOTION,motion,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared
+	(cd $(PKG_BUILD_DIR); \
+		$(TARGET_CONFIGURE_OPTS) \
+		CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
+		LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib" \
+		./configure \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
+		--build=$(GNU_HOST_NAME) \
+		--prefix=/usr \
+		--sysconfdir=/etc \
+		--with-jpeg-mmx="$(STAGING_DIR)/usr" \
+	);
+	touch $@
+
+$(PKG_BUILD_DIR)/.built:
+	rm -rf $(PKG_INSTALL_DIR)
+	mkdir -p $(PKG_INSTALL_DIR)
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		$(TARGET_CONFIGURE_OPTS) \
+		install_prefix="$(PKG_INSTALL_DIR)" \
+		all install
+	touch $@
+
+$(IPKG_FOO):
+	install -d -m0755 $(IDIR_FOO)/usr/sbin
+	$(CP) $(PKG_INSTALL_DIR)/usr/sbin/motion $(IDIR_FOO)/usr/sbin
+	$(RSTRIP) $(IDIR_FOO)
+	$(IPKG_BUILD) $(IDIR_FOO) $(PACKAGE_DIR)
+
+mostlyclean:
+	make -C $(PKG_BUILD_DIR) clean
+	rm $(PKG_BUILD_DIR)/.built
+
diff --git a/package/motion/ipkg/motion.control b/package/motion/ipkg/motion.control
new file mode 100644
index 000000000..5bf192298
--- /dev/null
+++ b/package/motion/ipkg/motion.control
@@ -0,0 +1,8 @@
+Package: motion
+Priority: optional
+Section: multimedia
+Maintainer: Jeroen Vreeken <pe1rxq@amsat.org>
+Source: http://www.lavrsen.dk
+Depends: libjpeg
+Description: Webcam motion sensing and logging
+
diff --git a/package/motion/patches/01-ffmpeg.patch b/package/motion/patches/01-ffmpeg.patch
new file mode 100644
index 000000000..1f4c73eaf
--- /dev/null
+++ b/package/motion/patches/01-ffmpeg.patch
@@ -0,0 +1,38 @@
+diff -ur motion-3.2.5.1-old/motion.c motion-3.2.5.1/motion.c
+--- motion-3.2.5.1-old/motion.c	2006-03-17 10:05:13.490000000 -0800
++++ motion-3.2.5.1/motion.c	2006-03-17 10:03:38.020000000 -0800
+@@ -1246,10 +1246,10 @@
+ 		 * Note: Negative value means SIGALRM snaps are enabled
+ 		 * httpd-control snaps are always enabled.
+ 		 */
+-		
++#ifdef HAVE_FFMPEG		
+ 		/* time_current_frame is used both for snapshot and timelapse features */
+ 		time_current_frame = cnt->currenttime;		
+-		
++
+ 		if ( (cnt->conf.snapshot_interval > 0 && cnt->shots == 0 &&
+ 		      time_current_frame % cnt->conf.snapshot_interval <= time_last_frame % cnt->conf.snapshot_interval) ||
+ 		    cnt->snapshot) {
+@@ -1257,7 +1257,7 @@
+ 			cnt->snapshot = 0;
+ 		}
+ 
+-
++#endif /* HAVE_FFMPEG */
+ 	/***** MOTION LOOP - TIMELAPSE FEATURE SECTION *****/
+ 
+ #ifdef HAVE_FFMPEG
+@@ -1331,10 +1331,9 @@
+ 			event(cnt, EVENT_TIMELAPSEEND, NULL, NULL, NULL, cnt->currenttime_tm);
+ 			
+ 		
+-#endif /* HAVE_FFMPEG */
+ 
+ 		time_last_frame = time_current_frame;
+-
++#endif /* HAVE_FFMPEG */
+ 
+ 	/***** MOTION LOOP - VIDEO LOOPBACK SECTION *****/
+ 
+Only in motion-3.2.5.1-old/: motion.c.orig
diff --git a/package/openser/Config.in b/package/openser/Config.in
index 54a586ea9..d015c072c 100644
--- a/package/openser/Config.in
+++ b/package/openser/Config.in
@@ -39,7 +39,7 @@ config BR2_PACKAGE_OPENSER_MOD_AUTH_RADIUS
 	tristate
 	default m
 	select BR2_PACKAGE_OPENSER
-	select BR2_PACAKGE_LIBRADIUSCLIENT_NG
+	select BR2_PACKAGE_LIBRADIUSCLIENT_NG
 	help
 	  Authentication against RADIUS
 
-- 
2.20.1