[Pkg-haskell-commits] [SCM] Packaging for Agda branch, master, updated. debian/2.2.6-2-1-g4dfac36

Iain Lane laney at ubuntu.com
Mon Feb 8 14:08:04 UTC 2010


The following commit has been merged in the master branch:
commit 4dfac36fc80d1f4c29165bf048f80b8aedb625b7
Author: Iain Lane <laney at ubuntu.com>
Date:   Sun Feb 7 23:18:26 2010 +0000

    Add a ticker to the build, and add ${haskell:Provides}
    
    * debian/rules, debian/watcher.sh: Add a ticker to the build to prevent
      timeouts on some arches. This was taken from the GHC6 source package and
      modified a bit to add some rudimentary locking. Previously the build was
      timing out on some slow arches (armel, mips*) but does actually make
      progress and complete when given enough time
    * debian/control:
      + Add field ${haskell:Provides} to -dev and -prof packages in preparation
        the upcoming GHC6/haskell-devscripts uploads into unstable
      + Standards-Version bump to 3.8.4, no changes required

diff --git a/debian/changelog b/debian/changelog
index 88399cc..092edfc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+agda (2.2.6-3) unstable; urgency=low
+
+  * debian/rules, debian/watcher.sh: Add a ticker to the build to prevent
+    timeouts on some arches. This was taken from the GHC6 source package and
+    modified a bit to add some rudimentary locking. Previously the build was
+    timing out on some slow arches (armel, mips*) but does actually make
+    progress and complete when given enough time
+  * debian/control:
+    + Add field ${haskell:Provides} to -dev and -prof packages in preparation
+      the upcoming GHC6/haskell-devscripts uploads into unstable
+    + Standards-Version bump to 3.8.4, no changes required
+
+ -- Iain Lane <laney at ubuntu.com>  Mon, 08 Feb 2010 14:06:05 +0000
+
 agda (2.2.6-2) unstable; urgency=low
 
   * debian/control: Set priority to extra per archive overrides
diff --git a/debian/control b/debian/control
index ffc7ec2..bf7773a 100644
--- a/debian/control
+++ b/debian/control
@@ -65,7 +65,7 @@ Build-Depends: debhelper (>= 7.0),
                libghc6-xhtml-doc (<< 3000.3),
                haskell-zlib-doc (>= 0.4.0.1),
                haskell-zlib-doc (<< 1)
-Standards-Version: 3.8.3
+Standards-Version: 3.8.4
 Vcs-Browser: http://git.debian.org/?p=pkg-haskell/agda.git;a=summary
 Vcs-Git: git://git.debian.org/git/pkg-haskell/agda.git
 Homepage: http://wiki.portal.chalmers.se/agda/
@@ -76,6 +76,7 @@ Section: haskell
 Depends: ${haskell:Depends},
          ${misc:Depends},
 Suggests: ${haskell:Suggests}
+Provides: ${haskell:Provides}
 Description: a dependently typed functional programming language - development libraries
  Agda is a dependently typed functional programming language: It has inductive
  families, which are like Haskell's GADTs, but they can be indexed by values and
@@ -96,6 +97,7 @@ Architecture: any
 Section: haskell
 Depends: ${haskell:Depends},
          ${misc:Depends},
+Provides: ${haskell:Provides}
 Description: a dependently typed functional programming language - profiling libraries
  Agda is a dependently typed functional programming language: It has inductive
  families, which are like Haskell's GADTs, but they can be indexed by values and
diff --git a/debian/copyright b/debian/copyright
index 09f3e42..690ac3b 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -17,6 +17,11 @@ Copyright: 2009, Iain Lane <laney at ubuntu.com>,
            Marco Túlio Gontijo e Silva <marcot at holoscopio.com>
 License: MIT
 
+Files: debian/watcher.sh
+Copyright: Released into the public domain by original author,
+           Ian Lynagh <igloo at debian.org>, and therefore copyright is disclaimed
+License: PD
+
 License: MIT
   Copyright (c) 2005-2009 Ulf Norell, Nils Anders Danielsson, Catarina
     Coquand, Makoto Takeyama, Andreas Abel, Karl Mehltretter, Marcin
diff --git a/debian/rules b/debian/rules
index 5a70c25..7081bd5 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,3 +5,6 @@ DEB_SETUP_GHC6_CONFIGURE_ARGS := --datadir='/usr/share' --datasubdir='libghc6-ag
 
 include /usr/share/cdbs/1/rules/debhelper.mk
 include /usr/share/cdbs/1/class/hlibrary.mk
+
+pre-build::
+	sh debian/watcher.sh "$$PPID" "$(CURDIR)" "$(CURDIR)/build-stamp" 'ghc' &
diff --git a/debian/watcher.sh b/debian/watcher.sh
new file mode 100644
index 0000000..0de582d
--- /dev/null
+++ b/debian/watcher.sh
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+if [ "$#" -ne 4 ]
+then
+    echo "Watcher: Bad args: $#"
+    exit 1
+fi
+
+CHECK_PID=$1
+DIR="$2"
+FILE="$3"
+GREP_FOR="$4"
+
+echo "Watcher: Check PID: $CHECK_PID"
+echo "Watcher: Directory: $DIR"
+echo "Watcher: File: $FILE"
+echo "Watcher: Grep for: $GREP_FOR"
+
+if [ -d "$DIR" ]; then
+    if [ -f "$DIR/watcher-lock" ]; then
+        echo "Watcher: not spawning as lock in place"
+        exit 1
+    else
+        echo "Watcher: creating lock"
+        touch $DIR/watcher-lock
+    fi
+fi
+
+# If the PID we are told still exists (our caller is still running),
+# the directory we are told (the working directory still exists) and
+# the file we are told doesn't exist (the build stamp hasn't been created)
+# keep going
+while ps "$CHECK_PID" > /dev/null &&
+      [ -d "$DIR" ] &&
+      [ ! -f "$FILE" ]
+do
+    sleep 600
+    echo "Watcher: Tick."
+    ps ux | grep -- "$GREP_FOR" | grep -v grep
+done
+
+echo "Watcher: Terminating."
+echo "Watcher: Removing lock"
+[ -f $DIR/watcher-lock ] && rm $DIR/watcher-lock

-- 
Packaging for Agda



More information about the Pkg-haskell-commits mailing list