Author: tbooth-guest Date: 2015-02-19 10:11:08 +0000 (Thu, 19 Feb 2015) New Revision: 18795
Added: trunk/packages/stacks/trunk/debian/README.Debian trunk/packages/stacks/trunk/debian/apache2-conf/ trunk/packages/stacks/trunk/debian/apache2-conf/stacks-web.conf trunk/packages/stacks/trunk/debian/bin/ trunk/packages/stacks/trunk/debian/bin/stacks trunk/packages/stacks/trunk/debian/changelog trunk/packages/stacks/trunk/debian/compat trunk/packages/stacks/trunk/debian/control trunk/packages/stacks/trunk/debian/copyright trunk/packages/stacks/trunk/debian/patches/ trunk/packages/stacks/trunk/debian/patches/constants.php.patch trunk/packages/stacks/trunk/debian/patches/email-settings.patch trunk/packages/stacks/trunk/debian/patches/series trunk/packages/stacks/trunk/debian/rules trunk/packages/stacks/trunk/debian/sbin/ trunk/packages/stacks/trunk/debian/sbin/stacks-setup-database trunk/packages/stacks/trunk/debian/source/ trunk/packages/stacks/trunk/debian/source/format trunk/packages/stacks/trunk/debian/stacks-web.install trunk/packages/stacks/trunk/debian/stacks-web.links trunk/packages/stacks/trunk/debian/stacks-web.postinst trunk/packages/stacks/trunk/debian/stacks-web.postrm trunk/packages/stacks/trunk/debian/stacks.install trunk/packages/stacks/trunk/debian/watch Log: Packaging from Bio-Linux. Added: trunk/packages/stacks/trunk/debian/README.Debian =================================================================== --- trunk/packages/stacks/trunk/debian/README.Debian (rev 0) +++ trunk/packages/stacks/trunk/debian/README.Debian 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,34 @@ +Stacks for Debian, packaged for Bio-Linux by Tim Booth +====================================================== + +The stacks command-line commands are all available as advertised, but you have +to type "stacks" as the first command - eg. instead of + + $ process_radtags -p ./raw/ -o ./samples/ -b ./barcodes/barcodes_lane3 + +run + + $ stacks process_radtags -p ./raw/ -o ./samples/ -b ./barcodes/barcodes_lane3 + +If you don't like this, just add /usr/lib/stacks/bin to your $PATH. + +The Stacks web interface is available in the stacks-web package and will be added +to Apache so that it appears under http://localhost/stacks. + +In the manual, the authors of Stacks have assumed that you are always running +Stacks on a personal worsktation, while DEB packages always have to assume +that they are being installed on a shared machine where users have restricted +priviliges. On such a machine you would never run this: + + $ mysql + mysql> GRANT ALL ON *.* TO 'stacks_user'@'localhost' IDENTIFIED BY 'stackspassword'; + +Because it opens up the whole of MySQL to anyone who knows this password (ie. everyone +who can log into the machine). + +To deal with this, I've added a single convenience script which can be run under +sudo to make new databases and assign write perms to a user or users. After this +the user can load data into the database and view it right away with no further +configuration or intervention by the sysadmin. + + $ sudo stacks-setup-database expt1 Added: trunk/packages/stacks/trunk/debian/apache2-conf/stacks-web.conf =================================================================== --- trunk/packages/stacks/trunk/debian/apache2-conf/stacks-web.conf (rev 0) +++ trunk/packages/stacks/trunk/debian/apache2-conf/stacks-web.conf 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,33 @@ +Alias /stacks /usr/share/stacks/php + +<Directory /usr/share/stacks/php> + +DirectoryIndex index.php +AllowOverride None + +order deny,allow +deny from all +# This for local browsing only +# allow from 127.0.0.0/255.0.0.0 ::1/128 +# Or switch to this for global visibility +allow from all + +<IfModule mod_php5.c> + php_flag magic_quotes_gpc Off + #php_flag track_vars On + #php_value include_path . +</IfModule> +<IfModule !mod_php5.c> + <IfModule mod_actions.c> + <IfModule mod_cgi.c> + AddType application/x-httpd-php .php + Action application/x-httpd-php /cgi-bin/php + </IfModule> + <IfModule mod_cgid.c> + AddType application/x-httpd-php .php + Action application/x-httpd-php /cgi-bin/php + </IfModule> + </IfModule> +</IfModule> + +</Directory> Added: trunk/packages/stacks/trunk/debian/bin/stacks =================================================================== --- trunk/packages/stacks/trunk/debian/bin/stacks (rev 0) +++ trunk/packages/stacks/trunk/debian/bin/stacks 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,27 @@ +#!/bin/sh + +# Standard thingy to run a program not in /usr/bin + +PROGPATH=/usr/lib/stacks/bin +PROG=help + +if ! [ "$*" = "" ] ; then + PROG="$1" ; shift +fi + +if [ "$PROG" = help -o "$PROG" = -help -o "$PROG" = -h ] ; then + echo "Stacks - a pipeline for building loci from short-read sequences" + echo " v"`dpkg-query -f'${Version}' -W stacks | cut -d- -f1` 'http://creskolab.uoregon.edu/stacks/' + echo + echo "This is the Stacks wrapper script for Debian. Usage:" + echo " stacks <progname> <args...>" + echo + echo "Programs available are:" + ls "$PROGPATH" | grep -v .pl | column + echo + echo "Or else add $PROGPATH to your \$PATH to invoke the commands directly." + exit 0 +fi + +export PATH="$PROGPATH:$PATH" +exec "$PROGPATH/$PROG" "$@" Added: trunk/packages/stacks/trunk/debian/changelog =================================================================== --- trunk/packages/stacks/trunk/debian/changelog (rev 0) +++ trunk/packages/stacks/trunk/debian/changelog 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,29 @@ +stacks (1.25-0biolinux1) trusty; urgency=medium + + * New upstream + * Re-work stacks-setup-database to make databases named by project + * ...and to enable database deletion + * Improve the help you get from "stacks help" + + -- Tim Booth <[email protected]> Wed, 18 Feb 2015 11:34:22 +0000 + +stacks (1.24-0ubuntu4) trusty; urgency=medium + + * Change web path back to /stacks rather than stacks-web, + just leaving the Apache config fragment with that name. + + -- Tim Booth <[email protected]> Thu, 29 Jan 2015 11:06:58 +0000 + +stacks (1.24-0ubuntu3) trusty; urgency=low + + * Set PATH before calling any Stacks program in the wrapper + + -- Tim Booth <[email protected]> Fri, 23 Jan 2015 14:10:55 +0000 + +stacks (1.24-0ubuntu2) trusty; urgency=medium + + * Initial release. + * Make stacks package plus stack-web for the web stuff + * Require sparsehash >2 + + -- Tim Booth <[email protected]> Thu, 15 Jan 2015 18:50:45 +0000 Added: trunk/packages/stacks/trunk/debian/compat =================================================================== --- trunk/packages/stacks/trunk/debian/compat (rev 0) +++ trunk/packages/stacks/trunk/debian/compat 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1 @@ +9 Added: trunk/packages/stacks/trunk/debian/control =================================================================== --- trunk/packages/stacks/trunk/debian/control (rev 0) +++ trunk/packages/stacks/trunk/debian/control 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,43 @@ +Source: stacks +Maintainer: Debian Med Packaging Team <[email protected]> +Uploaders: Tim Booth <[email protected]> +Section: science +Priority: optional +Build-Depends: debhelper (>= 9), zlib1g-dev, libbam-dev, libsparsehash-dev (>= 2.0) +Standards-Version: 3.9.6 +Homepage: https://github.com/torognes/vsearch/ + +Package: stacks +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + samtools, + libdbi-perl +Recommends: libspreadsheet-writeexcel-perl +Description: pipeline for building loci from short-read sequences + Stacks is a software pipeline for building loci from short-read sequences, + such as those generated on the Illumina platform. Stacks was developed to work + with restriction enzyme-based data, such as RAD-seq, for the purpose of + building genetic maps and conducting population genomics and phylogeography. + . + Note that this package installs Stacks such that all commands must be run as: + $ stacks <cmdname> <args> + +Package: stacks-web +Architecture: all +Depends: ${shlibs:Depends}, + ${misc:Depends}, + apache2 | httpd, + mysql-server, + libapache2-mod-php5 | php5-cgi, + libdbd-mysql-perl, + php-mdb2-driver-mysql +Recommends: stacks +Description: web interface for displaying loci from short-read sequences + Stacks is a software pipeline for building loci from short-read sequences, + such as those generated on the Illumina platform. Stacks was developed to work + with restriction enzyme-based data, such as RAD-seq, for the purpose of + building genetic maps and conducting population genomics and phylogeography. + . + This package provides the web-based viewer which you can use to examine Stacks + output that has been loaded into a MySQL database. Added: trunk/packages/stacks/trunk/debian/copyright =================================================================== --- trunk/packages/stacks/trunk/debian/copyright (rev 0) +++ trunk/packages/stacks/trunk/debian/copyright 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,15 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: Stacks +Upstream-Contact: Julian Catchen <[email protected]> +Source: http://creskolab.uoregon.edu/stacks/ + +Files: * +Copyright: © Julian Catchen <[email protected]> + Angel Amores <[email protected]> + Paul Hohenlohe <[email protected]> + Bill Cresko <[email protected]> +License: GPL + +Files: debian/* +Copyright: © 2014 Tim Booth <[email protected]> +License: GPL-3 Added: trunk/packages/stacks/trunk/debian/patches/constants.php.patch =================================================================== --- trunk/packages/stacks/trunk/debian/patches/constants.php.patch (rev 0) +++ trunk/packages/stacks/trunk/debian/patches/constants.php.patch 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,22 @@ +--- a/php/constants.php.dist ++++ b/php/constants.php.dist +@@ -21,8 +21,8 @@ + // + // Credentials to access Stacks MySQL databases + // +-$db_user = "dbuser"; +-$db_pass = "dbpass"; ++$db_user = "stacksweb"; ++$db_pass = "stacksweb"; + $db_host = "localhost"; + + // +@@ -68,7 +68,7 @@ + + // + // Length to wrap sequences at. +-// ++// + $display_len = 80; + + ?> Added: trunk/packages/stacks/trunk/debian/patches/email-settings.patch =================================================================== --- trunk/packages/stacks/trunk/debian/patches/email-settings.patch (rev 0) +++ trunk/packages/stacks/trunk/debian/patches/email-settings.patch 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,17 @@ +--- a/scripts/stacks_export_notify.pl ++++ b/scripts/stacks_export_notify.pl +@@ -41,11 +41,11 @@ + # from: email address to use in the 'From' field of the message + # + my $exe_path = "_BINDIR_" . "export_sql.pl"; +-my $output_path = "_PKGDATADIR_" . "php/export/"; +-my $url = "http://stackshost.edu/stacks/export/"; ++my $output_path = "_PKGDATADIR_" . "php/export/"; ++my $url = "http://localhost/stacks/export/"; + my $local_host = "localhost"; + my $smtp_host = "localhost"; +-my $from = "stacks\@stackshost.edu"; ++my $from = "stacks\@" + `hostname --fqdn`; chomp $from; + + + my $debug = 0; Added: trunk/packages/stacks/trunk/debian/patches/series =================================================================== --- trunk/packages/stacks/trunk/debian/patches/series (rev 0) +++ trunk/packages/stacks/trunk/debian/patches/series 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,2 @@ +constants.php.patch +email-settings.patch Added: trunk/packages/stacks/trunk/debian/rules =================================================================== --- trunk/packages/stacks/trunk/debian/rules (rev 0) +++ trunk/packages/stacks/trunk/debian/rules 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,43 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +pkg := $(shell dpkg-parsechangelog | sed -n 's/^Source: //p') + +%: + dh $@ + +# override_dh_auto_install: +# dh_auto_install --destdir=debian/tmp + +override_dh_auto_configure: + dh_auto_configure -- --enable-sparsehash --enable-bam \ + --with-bam-include-path=/usr/include/samtools \ + --with-bam-lib-path=/usr/lib + +override_dh_install: + cp php/constants.php.dist ./constants.php + dh_install + # Skip this bit if not building stacks + ! cd debian/stacks/usr/lib/stacks/bin || \ + for f in *.pl ; do \ + ln -s "$$f" "`basename $$f .pl`" ; \ + done + # Skip this bit if not building stacks-web + # Note - directory perms will be set in postinst + dh_installdirs -pstacks-web /var/lib/stacks/export + if [ -e debian/stacks-web/usr/share/stacks/php ] ; then \ + rmdir debian/stacks-web/usr/share/stacks/php/export ; \ + ln -s /var/lib/stacks/export \ + debian/stacks-web/usr/share/stacks/php/export ; \ + fi + + +override_dh_auto_test: + #Tests seem to be broken just now + true + +override_dh_clean: + dh_clean + rm -f ./constants.php Property changes on: trunk/packages/stacks/trunk/debian/rules ___________________________________________________________________ Added: svn:executable + * Added: trunk/packages/stacks/trunk/debian/sbin/stacks-setup-database =================================================================== --- trunk/packages/stacks/trunk/debian/sbin/stacks-setup-database (rev 0) +++ trunk/packages/stacks/trunk/debian/sbin/stacks-setup-database 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,226 @@ +#!/bin/bash +set -u + +USAGE="sudo stacks-setup-database [-u <username>] [-DELETE] <dbname>..." + +HELP="usage: $USAGE + +This script sets up a MySQL database suitable for loading Stacks data, which can +be viewed at http://localhost/stacks. + +In the simplest case, give the name of a single new database to create and it +will be made in MySQL as dbname_radtags. + +In addition to creating the database, the user running sudo will be given write +access to the new database. If you are creating the database for another user +you can specify an alternative account name with the -u flag; eg. '-u joe'. +If the user joe does not yet exist in MySQL, a random password will be set for +joe and also placed in /home/joe/.my.cnf so that joe, and only joe, will immediately +will be able to write to the dbname_radtags database. + +Note that all users on the system who can see the web interface will see all +Stacks databases, and furthermore can access them directly (read-only) in MySQL +by using the well-known username/password stacksweb/stacksweb. If this is a +problem and you want to hide databases from certain users then you'll need to +configure the security manually and edit /etc/stacks/constants.php. + +This script is part of the Debian stacks-web package and is not a standard Stacks +feature. +" + +mode=create +no_user_set=0 +user_name= +sudo_user= + +#I'll be good and use OPTARGS +while getopts ":hNu:D:" opt; do + case $opt in + h) + echo "$HELP" + exit 0 + ;; + N) + no_user_set=1 + ;; + D) + #Ugly, but... + if [ "$OPTARG" = ELETE ] ; then + mode=delete + no_user_set=1 + else + echo "Invalid option: -D$OPTARG" + exit 1 + fi + ;; + u) + user_name="$OPTARG" + ;; + \?) + echo "Invalid option: -$OPTARG" + exit 1 + ;; + :) + echo "Option -$OPTARG requires an argument." + exit 1 + ;; + esac +done +shift $(( $OPTIND - 1 )) + +# Function to run a SQL command or else take input from stdin +mysql_do(){ + e= ; [ "$#" = 1 ] && e=e + #echo DEBUG: "$@" + mysql --defaults-file=/etc/mysql/debian.cnf -BN$e "$@" +} + +if [ "$*" = "" ] ; then + echo "Please give the name of the Stacks database(s) you wish to $mode," + echo "or use -h to get help." + + if [ `id -u` = 0 ] ; then + echo "Stacks databases on this machine:" + mysql_do 'SHOW DATABASES' | grep '_radtags$' | sed 's/^/ /' + else + echo "Stacks databases accessible to `id -nu`:" + mysql -BNe 'SHOW DATABASES' | grep '_radtags$' | sed 's/^/ /' + fi + + exit 1 +fi + +# Ensure we are running as root and work out who the controlling sudoer was: +if [ `id -u` != 0 ] ; then + echo "Only root can administer MySQL via this script. Please use sudo." + exit 1 +fi + +if [ 0`id -u "${SUDO_USER:-}" 2>/dev/null` -gt 0 ] ; then + sudo_user="$SUDO_USER" +fi + +#echo "You ran this as user $SUDO_USER." + + +# Work out what user to give access to. +if ! [ "$no_user_set" = 1 ] ; then + if [ "$user_name" = "" ] ; then + if [ "$sudo_user" = "" ] ; then + echo "You need to specify a user for the database using the -u flag, or -N for no user setup." + else + user_name="$sudo_user" + fi + fi + # Note: If you specify -u and -N together the -N wins. + + #Ensure the user is real, even though sudo_user has already been checked. + user_home=`getent passwd "$user_name" | cut -d: -f6` + user_grp=`getent passwd "$user_name" | cut -d: -f4` + if [ "$user_home" = "" ] ; then + echo "User $user_name is not a valid account on this system." + exit 1 + fi + + # See if $user_name is known to MySQL + # Need to do this before any GRANTs + user_in_mysql=$(mysql_do "SELECT User FROM mysql.user WHERE User = '$user_name'" | sort -u) + +fi + +# Then, create/delete the database(s) +# Note there is no sanitising of the DB name - this script does not pretend +# to be hardened against malicious usage should you permit non-admins to run it +# under sudo. +dbcreate(){ + # Set [ db_name db_in_mysql no_user_set user_name ] before + # calling this routine. + if [ "$db_in_mysql" = "" ] && [ "$no_user_set" = 1 ] ; then + echo "Making database $db_name without adding any write permissions." + elif [ "$db_in_mysql" = "" ] ; then + echo "Making database $db_name and granting permissions for $user_name." + elif [ "$no_user_set" = 1 ] ; then + echo "Database $db_name already exists. Nothing to do!" + return + else + echo "Database $db_name already exists. Ensuring $user_name has write permission." + fi + + if [ "$db_in_mysql" = "" ] ; then + if ! mysql_do "CREATE DATABASE \`$db_name\`" ; then + echo Aborting. + exit 1 + fi + + # Now load in the standard SQL + mysql_do -D "$db_name" < /usr/share/stacks/sql/stacks.sql + fi + + if ! [ "$no_user_set" = 1 ] ; then + # Now ensure that user can write to it + mysql_do "GRANT all ON \`$db_name\`.* TO '$user_name'@localhost" + fi + + # In all cases ensure that stacksweb can read from it + mysql_do "GRANT select ON \`$db_name\`.* TO 'stacksweb'@localhost" +} + +dbdelete() +{ + if [ "$db_in_mysql" = "" ] ; then + echo "Database $db_name not found in MySQL" + return + else + echo "Removing database $db_name and cleaning up privileges." + if ! mysql_do "DROP DATABASE \`$db_name\`" ; then + echo Aborting. + exit 1 + fi + mysql_do "DELETE FROM mysql.db WHERE db = '$db_name'" + mysql_do "DELETE FROM mysql.tables_priv WHERE db = '$db_name'" + mysql_do "FLUSH PRIVILEGES" + fi +} + +for db in "$@" ; do + db_name="$db"_radtags + + db_in_mysql=$(mysql_do "SHOW DATABASES" | grep -x -- "$db_name") + + #dbcreate or dbdelete + #Yes, this is a symbolic function call with pass-by-global parameters. Meh. + db$mode +done + +# Come up with a random password, then set it if there was no user account +# there previously. +random_pass=`head -c300 /dev/urandom | md5sum | head -c 24` + +# Set a user for default access if they are new to MySQL. +# Allow this to work in root-squash mode on NFS by using sudo -u "$user_name" +# for all file accesses under /home. +if ! [ "$no_user_set" = 1 ] ; then + if [ "$user_in_mysql" != "$user_name" ] && \ + sudo -u "$user_name" [ ! -e "$user_home"/.my.cnf ] ; then + + # Nope, set the user up + echo "Setting random password and writing $user_home/.my.cnf" + mysql_do "set password for '$user_name'@'localhost' = PASSWORD('$random_pass')" + + echo $'[client]\nuser='"$user_name"$'\npassword='"$random_pass" | \ + sudo -u "$user_name" sh -c 'cat>"$1"' -- "$user_home"/.my.cnf + #chown "$user_name:$user_grp" "$user_home"/.my.cnf + sudo -u "$user_name" chmod 600 "$user_home"/.my.cnf + else + echo "User is already in MySQL or has .my.cnf, so password will not be changed." + fi +fi + +#In all cases after creating databases, ensure that stacksweb can connect... +if ! [ "$mode" = delete ] ; then + echo "Ensuring user stacksweb can connect to MySQL" + mysql_do "set password for 'stacksweb'@'localhost' = PASSWORD('stacksweb')" +fi + +echo DONE + Property changes on: trunk/packages/stacks/trunk/debian/sbin/stacks-setup-database ___________________________________________________________________ Added: svn:executable + * Added: trunk/packages/stacks/trunk/debian/source/format =================================================================== --- trunk/packages/stacks/trunk/debian/source/format (rev 0) +++ trunk/packages/stacks/trunk/debian/source/format 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1 @@ +3.0 (quilt) Added: trunk/packages/stacks/trunk/debian/stacks-web.install =================================================================== --- trunk/packages/stacks/trunk/debian/stacks-web.install (rev 0) +++ trunk/packages/stacks/trunk/debian/stacks-web.install 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,5 @@ +/usr/share/stacks/php /usr/share/stacks +/usr/share/stacks/sql /usr/share/stacks +debian/apache2-conf/* /etc/apache2/conf-available +constants.php /etc/stacks +debian/sbin/* /usr/sbin Added: trunk/packages/stacks/trunk/debian/stacks-web.links =================================================================== --- trunk/packages/stacks/trunk/debian/stacks-web.links (rev 0) +++ trunk/packages/stacks/trunk/debian/stacks-web.links 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1 @@ +/etc/stacks/constants.php /usr/share/stacks/php/constants.php Added: trunk/packages/stacks/trunk/debian/stacks-web.postinst =================================================================== --- trunk/packages/stacks/trunk/debian/stacks-web.postinst (rev 0) +++ trunk/packages/stacks/trunk/debian/stacks-web.postinst 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e + +#DEBHELPER# + +if [ "$1" = configure ] ; then + #Lintain complains about this, but I do not know what is actually expected + #Manpage of a2enconf says that "a2enconf -m" is correct. + a2enconf -m stacks-web + + # Also sort out perms for export dir + chown 'root:www-data' /var/lib/stacks/export + chmod 770 /var/lib/stacks/export +fi Added: trunk/packages/stacks/trunk/debian/stacks-web.postrm =================================================================== --- trunk/packages/stacks/trunk/debian/stacks-web.postrm (rev 0) +++ trunk/packages/stacks/trunk/debian/stacks-web.postrm 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,11 @@ +#!/bin/sh + +set -e + +#DEBHELPER# + +if [ "$1" = remove -o "$1" = purge ] ; then + #Lintain complains about this, but I do not know what is actually expected + #Manpage of a2enconf says that "a2disconf -m" is correct. + a2disconf -m stacks-web +fi Added: trunk/packages/stacks/trunk/debian/stacks.install =================================================================== --- trunk/packages/stacks/trunk/debian/stacks.install (rev 0) +++ trunk/packages/stacks/trunk/debian/stacks.install 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,3 @@ +/usr/bin/ /usr/lib/stacks/ +debian/bin/* /usr/bin + Added: trunk/packages/stacks/trunk/debian/watch =================================================================== --- trunk/packages/stacks/trunk/debian/watch (rev 0) +++ trunk/packages/stacks/trunk/debian/watch 2015-02-19 10:11:08 UTC (rev 18795) @@ -0,0 +1,4 @@ +# Compulsory line, this is a version 3 file +version=3 + +http://creskolab.uoregon.edu/stacks/ (?:.*/|)source/stacks-([0-9.]+).tar.[gzb2x]+ _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
