aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/Config.in1
-rw-r--r--package/at/Config.in10
-rw-r--r--package/at/at-crosscompile.patch58
-rw-r--r--package/at/at.mk67
4 files changed, 136 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index 9745d8e7d8..25e1a91385 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -25,6 +25,7 @@ source "package/tar/Config.in"
comment "Other stuff"
source "package/acpid/Config.in"
+source "package/at/Config.in"
source "package/autoconf/Config.in"
source "package/automake/Config.in"
source "package/berkeleydb/Config.in"
diff --git a/package/at/Config.in b/package/at/Config.in
new file mode 100644
index 0000000000..9f2bdc5df4
--- /dev/null
+++ b/package/at/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_AT
+ bool "at"
+ default n
+ help
+ At and batch read shell commands from standard input and
+ store them as jobs to be scheduled for execution in the
+ future.
+
+ at - run the job at a specified time
+ batch - run the job when system load levels permit
diff --git a/package/at/at-crosscompile.patch b/package/at/at-crosscompile.patch
new file mode 100644
index 0000000000..c04c359192
--- /dev/null
+++ b/package/at/at-crosscompile.patch
@@ -0,0 +1,58 @@
+--- at/config.h.in
++++ at/config.h.in
+@@ -182,3 +182,6 @@
+
+ #undef HAVE_ATTRIBUTE_NORETURN
+ #undef HAVE_PAM
++
++#undef NEED_YYWRAP
++
+--- at/configure
++++ at/configure
+@@ -1037,7 +1037,7 @@
+ echo $ac_n "checking Trying to compile a trivial ANSI C program""... $ac_c" 1>&6
+ echo "configure:1039: checking Trying to compile a trivial ANSI C program" >&5
+ if test "$cross_compiling" = yes; then
+- { echo "configure: error: Could not compile and run even a trivial ANSI C program - check CC." 1>&2; exit 1; }
++ echo "$ac_t""assuming it works" 1>&6
+ else
+ cat > conftest.$ac_ext <<EOF
+ #line 1044 "configure"
+--- at/getloadavg.c
++++ at/getloadavg.c
+@@ -66,11 +66,12 @@
+
+ /* This should always be first. */
+ #ifdef HAVE_CONFIG_H
+-#include <config.h>
++#include "config.h"
+ #endif
+
+-#include "lisp.h"
+-#include "sysfile.h" /* for encapsulated open, close, read, write */
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <fcntl.h>
+
+ #ifndef HAVE_GETLOADAVG
+
+--- at/Makefile.in
++++ at/Makefile.in
+@@ -62,6 +62,8 @@
+ DIST = $(CSRCS) $(HEADERS) $(MISC) $(OTHERS)
+ LIST = Filelist Filelist.asc
+
++IROOT = $(DESTDIR)
++
+ .PHONY: all install clean dist distclean
+
+ all: at atd atrun
+--- at/parsetime.l
++++ at/parsetime.l
+@@ -1,5 +1,6 @@
+ %{
+
++#include "config.h"
+ #include <string.h>
+ #include <time.h>
+ #include "y.tab.h"
diff --git a/package/at/at.mk b/package/at/at.mk
new file mode 100644
index 0000000000..e701e0e06a
--- /dev/null
+++ b/package/at/at.mk
@@ -0,0 +1,67 @@
+#############################################################
+#
+# at
+#
+#############################################################
+AT_VER:=3.1.9
+AT_SOURCE:=at_$(AT_VER).tar.gz
+AT_SITE:=http://ftp.debian.org/debian/pool/main/a/at
+AT_DIR:=$(BUILD_DIR)/at-$(AT_VER)
+AT_CAT:=zcat
+AT_TARGET_BINARY:=usr/bin/at
+
+$(DL_DIR)/$(AT_SOURCE):
+ $(WGET) -P $(DL_DIR) $(AT_SITE)/$(AT_SOURCE)
+
+$(AT_DIR)/.unpacked: $(DL_DIR)/$(AT_SOURCE)
+ $(AT_CAT) $(DL_DIR)/$(AT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(AT_DIR) package/at/ at\*.patch
+ touch $(AT_DIR)/.unpacked
+
+$(AT_DIR)/.configured: $(AT_DIR)/.unpacked
+ (cd $(AT_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 \
+ --libexecdir=/usr/lib \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-jobdir=/var/lib/atjobs \
+ --with-atspool=/var/lib/atspool \
+ --with-daemon_username=at \
+ --with-daemon_groupname=at \
+ );
+ touch $(AT_DIR)/.configured
+
+$(AT_DIR)/$(AT_BINARY): $(AT_DIR)/.configured
+ $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(AT_DIR)
+
+$(TARGET_DIR)/$(AT_TARGET_BINARY): $(AT_DIR)/$(AT_BINARY)
+ # Use fakeroot to pretend to do 'make install' as root
+ rm -f $(STAGING_DIR)/.fakeroot.at
+ $(STAGING_DIR)/usr/bin/fakeroot -s $(STAGING_DIR)/.fakeroot.at -- \
+ $(MAKE) DAEMON_USERNAME=root DAEMON_GROUPNAME=root \
+ $(TARGET_CONFIGURE_OPTS) DESTDIR=$(TARGET_DIR) -C $(AT_DIR) install
+ $(INSTALL) -m 0755 -D $(AT_DIR)/debian/rc $(TARGET_DIR)/etc/init.d/S99at
+
+at: uclibc host-fakeroot $(TARGET_DIR)/$(AT_TARGET_BINARY)
+
+at-clean:
+ $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(AT_DIR) uninstall
+ -$(MAKE) -C $(AT_DIR) clean
+
+at-dirclean:
+ rm -rf $(AT_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_AT)),y)
+TARGETS+=at
+endif