debian/0000775000000000000000000000000012255323576007202 5ustar debian/source/0000775000000000000000000000000012175522333010473 5ustar debian/source/options0000664000000000000000000000003712175522333012111 0ustar extend-diff-ignore = "\.orig$" debian/source/format0000664000000000000000000000001411773243470011706 0ustar 3.0 (quilt) debian/copyright0000664000000000000000000000501611773243470011135 0ustar Format: http://dep.debian.net/deps/dep5/ Upstream-Name: cctools Upstream-Contact: Douglas Thain Source: http://www.cse.nd.edu/~ccl/software/ Files: * Copyright: 1999-2011, Douglas Thain, 1999-2004, University of Wisconsin, 2005-2011, The University of Notre Dame License: GPL-2 Files: dttools/src/md5.c Copyright: 1991-1992, RSA Data Security, Inc License: Other License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function. . License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work. . RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. . These notices must be retained in any copies of any part of this documentation and/or software. Files: parrot/src/pfs_location.* Copyright: 2009-2011, Michael Albrecht and The University of Notre Dame License: GPL-2 Files: parrot/src/pfs_service_glite.cc Copyright: 2004, Members of the EGEE Collaboration http://eu-egee.org/partners/ License: Apache Source: http://glite.cern.ch/license . On Debian systems, the full text of the Apache License version 2 can be found in the file `/usr/share/common-licenses/Apache-2.0'. Files: sand/src/sand_compress_reads.c Copyright: 2009-2011, The University of Notre Dame & University of Cambridge License: GPL-2 License: GPL-2 This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. . You should have received a copy of the GNU Lesser General Public License along with this program. If not, see . . On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-2'. debian/coop-computing-tools.install0000664000000000000000000000003211773243470014664 0ustar debian/tmp/bin/* usr/bin/ debian/coop-computing-tools.manpages0000664000000000000000000000003611773243470015015 0ustar debian/coop-computing-tools.1 debian/coop-computing-tools.10000664000000000000000000000213111773243470013360 0ustar .TH "COOP-COMPUTING-TOOLS" "1" "May 2011" "Michael Hanke" "" .SH "NAME" coop-computing-tools \- share resources in a heterogeneous, and unreliable computing environment .SH "DESCRIPTION" The Cooperative Computing Tools (cctools) are a collection of programs designed to assist users with the difficulties of building and managing complex, fault-prone distributed systems. These components are: .TP Parrot \- A personal virtual file system. .TP Chirp \- A distributed file and storage system. .TP Makeflow \- A workflow engine similar to Make. .TP Work Queue \- A flexible master-worker library. .TP All-Pairs \- A computational abstraction. .TP Wavefront \- A computational abstraction. .TP Watchdog \- A reliable process manager. .TP ftsh \- A fault tolerant shell language. .TP FTP-Lite \- A light weight FTP client library. .SH "SEE ALSO" The coop-computing-tools homepage at .I http://nd.edu/~ccl/software .SH "AUTHOR" \fBcoop-computing-tools\fR were written by Douglas Thain and others. .PP This manual page was written by Michael Hanke , for the Debian project (but may be used by others). debian/changelog0000664000000000000000000001214512255323473011053 0ustar cctools (4.0-1ubuntu1) trusty; urgency=medium * Patch configure to include multiarch globus directory. * Rebuild against openmpi1.6. -- Dimitri John Ledkov Sat, 21 Dec 2013 14:23:02 +0000 cctools (4.0-1) unstable; urgency=low * New upstream release (missed quite a few). - Fix FD_CLOEXEC file descriptor flag setting (Closes: #696249). * Disabled now obsolete patches (run_tests_on_buildd, parrot_run_hang_fix). * Bump debhelper compat level to 9, to enable hardening. * Disable API doc generation via doxygen for now -- to avoid delaying this overdue upload even longer. The problem of hanging doxygen remains, but is now hidden (Closes: #718092). * Add patch to use bash as interpreter for ec2_remove_workers -- contains bash-specific for loop construct. -- Michael Hanke Mon, 29 Jul 2013 18:55:40 +0200 cctools (3.5.1-2) unstable; urgency=low * Apply upstream patch to address parrot_run stalling on Debian wheezy and later (Closes: #678417). -- Michael Hanke Sat, 30 Jun 2012 11:35:24 +0200 cctools (3.5.1-1) unstable; urgency=low * New upstream bugfix release, adding support for version 3.2 Linux kernels. * Temporarily disabling the test suite upon upstream's request, as it generates to many false positives. -- Michael Hanke Fri, 29 Jun 2012 08:16:01 +0200 cctools (3.5.0-1) unstable; urgency=low * New upstream release. * Remove obsolete patches 'missing_cflags' and 'python_compat'. They have been merged upstream. * Remove DM-upload flag, not needed anymore. * Bumped Standards-version to 3.9.3, no changes necessary. * Do not install the new 'apps' binaries. They carry language-specific filename extensions, and upstream was asked if renaming is possible. Until this is decided they won't be installed to avoid changing the API twice. -- Michael Hanke Fri, 15 Jun 2012 08:30:02 +0200 cctools (3.4.2-2) unstable; urgency=low * Added patch to handle a missing CFLAGS variable in Python's sysconfig report (Closes: #661658). -- Michael Hanke Fri, 30 Mar 2012 12:40:01 +0200 cctools (3.4.2-1) unstable; urgency=low * New upstream release. * Drop external_python_version patch -- merged upstream. -- Michael Hanke Tue, 21 Feb 2012 16:45:28 +0100 cctools (3.4.0-1) unstable; urgency=low * New upstream release. * Improve DEP5 compliance of debian/copyright. * Added patch to make "starch" use python instead of python2 as interpreter. * Tighten build-dependencies (added swig and m4). * Enable MPI-support for work-queue. * Move to dh_python2. * Split Python-bindings for workqueue into a dedicated package and build them for all supported Python versions. -- Michael Hanke Wed, 26 Oct 2011 11:51:10 +0200 cctools (3.3.4-2) unstable; urgency=low * Added missing build-dependency on ncurses (Closes: #644578). -- Michael Hanke Fri, 07 Oct 2011 14:29:14 +0200 cctools (3.3.4-1) unstable; urgency=low * New upstream release. * Added patches from upstream SVN with fixes for Debian's multiarch (Closes: #635916). * Re-enable building parrot on amd64 (broken by fix for kFreeBSD). * Enable readline support (added appropriate build-dependencies). -- Michael Hanke Sun, 14 Aug 2011 20:14:30 +0200 cctools (3.3.3-1) unstable; urgency=low * New upstream release. * Updated Debian configuration patches. * Added build-dependency to python-support to install the workqueue extension correctly. -- Michael Hanke Thu, 14 Jul 2011 14:41:37 -0400 cctools (3.3.2-4) unstable; urgency=low * More FTBFS fixes for kFreeBSD: The netstat API is different from Linux platforms. Upstream's tests for a Linux platform actually test for a GNU libc, hence "LINUX" is enforced as operating system configure setting to keep the patch minimal. * Add a dependency on Python to coop-computing-tools. Some tools are implemented in Python. Found by lintian. * Remove jquery library copy that is included by the latest doxygen. Replaced with symlink and package dependency on libjs-jquery. * Add DEP-3 compliant headers to all patches. -- Michael Hanke Wed, 11 May 2011 10:32:23 -0400 cctools (3.3.2-3) unstable; urgency=low * Fix another FTBFS on kFreeBSD -- assumption that non-Linux is also non-GNU. -- Michael Hanke Mon, 09 May 2011 16:40:39 -0400 cctools (3.3.2-2) unstable; urgency=low * Fix FTBFS on kFreeBSD -- invalid value in defines (Closes: #626160). * Add gridengine-client to suggested packages, as makeflow also supportes SGE. * Change package long description indentation to be more compatible with existing renderers. -- Michael Hanke Mon, 09 May 2011 09:47:37 -0400 cctools (3.3.2-1) unstable; urgency=low * Initial release. (Closes: #618774) * Named binary package coop-computing-tools to avoid future naming conflict with another cctools package, currently in preparation. -- Michael Hanke Sat, 07 May 2011 09:05:00 -0400 debian/control0000664000000000000000000000653712255323505010610 0ustar Source: cctools Section: utils Priority: extra Maintainer: Ubuntu Developers XSBC-Original-Maintainer: NeuroDebian Team Uploaders: Michael Hanke , Yaroslav Halchenko Build-Depends: debhelper (>= 9~), python-all-dev (>= 2.6.6-3~), libglobus-common-dev, libmysqlclient-dev, libfuse-dev, libkrb5-dev, libglobus-gss-assist-dev, net-tools, doxygen, libreadline6-dev | libreadline-dev, libncurses5-dev | libncurses-dev, swig, m4, mpi-default-dev Standards-Version: 3.9.3 Homepage: http://nd.edu/~ccl/software/ Vcs-Browser: http://git.debian.org/?p=pkg-exppsy/cctools.git Vcs-Git: git://git.debian.org/git/pkg-exppsy/cctools.git Package: coop-computing-tools Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, python Suggests: coop-computing-tools-doc, condor, gridengine-client Description: cooperative computing tools This is a collection of software that help users to share resources in a complex, heterogeneous, and unreliable computing environment. This includes: . * Chirp: A personal filesystem and I/O protocol that allows unprivileged users to share space securely, efficiently, and conveniently. When combined with Parrot, Chirp allows users to create custom wide-area distributed filesystems. * Parrot: A transparent user-level virtual filesystem that allows any ordinary program to be attached to a remote storage device such as an FTP server or a Chirp server. * Makeflow: A workflow system for parallel and distributed computing that uses a language very similar to Make. * Work Queue: A system and API for building master-worker style programs that scale up to thousands of processors. * All Pairs: A computational abstraction for running very large Cartesian products. * Wavefront: A computational asbtraction for running very large dynamic programming problems. * The Fault Tolerant Shell: A high-level programming language that allows users to combine the ease of shell scripting, the power of distributed programming, and the precision of compiled languages. Basically, parallel programming and exception handling for scripts. Package: coop-computing-tools-dev Architecture: any Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} Description: libraries and header files for coop-computing-tools These tools are a collection of software that help users to share resources in a complex, heterogeneous, and unreliable computing environment. . This package provides static libraries and header files for development. Package: coop-computing-tools-doc Section: doc Architecture: all Depends: ${misc:Depends}, libjs-jquery Description: documentation for coop-computing-tools These tools are a collection of software that help users to share resources in a complex, heterogeneous, and unreliable computing environment. . This package provides the documentation (manual and API reference) in HTML format. Package: python-workqueue Section: python Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends} Description: cooperative computing tools work queue Python bindings CCTools's Work Queue is a system and API for building master-worker style programs that scale up to thousands of processors. This package provides bindings to access this system from Python. debian/python-workqueue.install0000664000000000000000000000004011773243470014130 0ustar debian/tmp/lib/python* usr/lib/ debian/coop-computing-tools.links0000664000000000000000000001020711773243470014343 0ustar /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/allpairs_master.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/allpairs_multicore.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/catalog_server.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/chirp.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/chirp_audit_cluster.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/chirp_benchmark.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/chirp_distribute.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/chirp_fuse.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/chirp_get.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/chirp_md5sum.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/chirp_put.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/chirp_server.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/chirp_status.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/chirp_stream_files.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/condor_submit_makeflow.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/condor_submit_workers.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/make_growfs.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/makeflow.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/makeflow_log_parser.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/makeflow_monitor.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/parrot_cp.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/parrot_getacl.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/parrot_identity_box.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/parrot_locate.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/parrot_lsalloc.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/parrot_md5.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/parrot_mkalloc.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/parrot_run.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/parrot_setacl.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/parrot_timeout.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/parrot_whoami.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/sand_align_kernel.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/sand_align_master.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/sand_compress_reads.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/sand_filter_kernel.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/sand_filter_master.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/sand_runCA.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/sand_runCA_5.4.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/sand_runCA_6.1.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/sand_runCA_7.0.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/sand_uncompress_reads.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/sge_submit_workers.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/starch.bin.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/wavefront.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/wavefront_master.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/work_queue_pool.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/work_queue_status.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/work_queue_worker.1.gz /usr/share/man/man1/coop-computing-tools.1.gz /usr/share/man/man1/mpi_queue_worker.1.gz debian/coop-computing-tools-doc.install0000664000000000000000000000020412175522642015426 0ustar debian/tmp/doc/*.html usr/share/doc/coop-computing-tools/manual/ #debian/tmp/doc/api/html/* usr/share/doc/coop-computing-tools/api/ debian/rules0000775000000000000000000000473512255323355010266 0ustar #!/usr/bin/make -f include /usr/share/dpkg/default.mk export DEB_HOST_MULTIARCH non_default_python_versions = $(shell python -c "print \"`pyversions -v -s`\".replace(\"`pyversions -v -d`\", '').strip()") # one ring to rule them all ... %: dh $@ --buildsystem=makefile --with python2 override_dh_auto_configure: # disable warning about unused results (necessary because warning is error # is ON) CFLAGS="$(CFLAGS) -Wno-unused-result" ./configure --with-globus-path /usr \ --with-mysql-path /usr --with-krb5-path /usr --with-readline-path /usr \ --with-mpi-path /usr --with-fuse-path /usr --with-zlib-path /usr \ --with-python-path /usr override_dh_auto_test: # disable the tests for now on upstream's request. they will be reenabled # once the test suite can properly deal with the buildd environment override_dh_auto_install: dh_auto_install -- CCTOOLS_INSTALL_DIR=$(CURDIR)/debian/tmp # make extensions for other supported python versions if [ -n "$(non_default_python_versions)" ]; then \ for pyver in $(non_default_python_versions); do \ PYTHON=/usr/bin/python$${pyver} ./configure.rerun ; \ make -B -C work_queue/src/python install CCTOOLS_INSTALL_DIR=$(CURDIR)/debian/tmp ; \ done ; \ fi # for now remove the 'apps' scripts till upstream confirms that the language # extension can be removed rm -f debian/tmp/bin/*.py # fix permissions find debian/tmp/lib -name '*.py' -exec chmod 644 {} \; # remove undesired pieces -rm debian/tmp/doc/COPYING # upstream says it should not go into the page -rm debian/tmp/bin/watchdog # HDFS helpers are useless without HDFS in Debian -rm debian/tmp/bin/*_hdfs # newer doxygen puts jquery copy #-rm debian/tmp/doc/api/html/jquery.js override_dh_auto_clean: [ -e Makefile.config ] && dh_auto_clean || true -rm Makefile.config configure.rerun -rm -rf api hdfs-setup.template python/python-workqueue/setup.cfg # remove testrun left-overs -rm dttools/src/microbench dttools/src/work_queue_example -find $(CURDIR) -name '*.test.log' -delete -find $(CURDIR) -name '*_test' -delete -rm -rf sand/test/filter_verification/random.cand.filter.tmp/ -rm -rf sand/test/test_20.cand.filter.tmp/ -rm -f sand/test/test_20.cand sand/test/test_20.cfa sand/test/*.log -rm -rf makeflow/test/input/ makeflow/test/worker.pid -rm -rf makeflow/test/dirs/testcase.subdir.01.makeflow.makeflowlog -rm -rf makeflow/test/dirs/testcase.subdir.01.makeflow.wqlog -rm -rf makeflow/test/src/ -rm dttools/src/multirun sand/test/banded.log -rm .configure.tmp.o debian/watch0000664000000000000000000000023212175511117010217 0ustar version=3 opts="uversionmangle=s/_/./" \ http://www3.nd.edu/~ccl/software/files/ \ cctools-(\d)[\._]+(\d+)[\._]*(?:[^r]-|\d-|-)(?:source|src)\.tar\.gz debian/coop-computing-tools-doc.links0000664000000000000000000000040711773243470015107 0ustar /usr/share/doc/coop-computing-tools/api /usr/share/doc/coop-computing-tools-doc/api /usr/share/doc/coop-computing-tools/manual /usr/share/doc/coop-computing-tools-doc/manual /usr/share/javascript/jquery/jquery.js /usr/share/doc/coop-computing-tools/api/jquery.js debian/patches/0000775000000000000000000000000012255323557010630 5ustar debian/patches/run_tests_on_buildd0000664000000000000000000000212012175517157014615 0ustar From: Michael Hanke Subject: Allow tests to run as root Packages get built by root, and chirp refused to start as root without additional argueing. --- a/chirp/test/TR_001_chirp_benchmark.sh +++ b/chirp/test/TR_001_chirp_benchmark.sh @@ -8,7 +8,11 @@ prepare() { - ../src/chirp_server -Z $PORT_FILE & + if [ `id -u` -eq 0 ]; then + ../src/chirp_server -i $USER -Z $PORT_FILE & + else + ../src/chirp_server -Z $PORT_FILE & + fi pid=$! # give the server a moment to generate the port file --- a/chirp/test/TR_002_chirp_ops.sh +++ b/chirp/test/TR_002_chirp_ops.sh @@ -10,10 +10,15 @@ { mkdir foo ln -s ..//.//./..///foo/ foo/foo - ../src/chirp_server -r $PWD/foo -Z $PORT_FILE & + if [ `id -u` -eq 0 ]; then + ../src/chirp_server -i $USER -r $PWD/foo -Z $PORT_FILE & + else + ../src/chirp_server -r $PWD/foo -Z $PORT_FILE & + fi + pid=$! + # give the server a little time to write the port file sleep 5 - pid=$! if ps ux | awk '{print $2}' | grep "^$pid$"; then echo $pid > $PID_FILE debian/patches/multiarch-globus.patch0000664000000000000000000000152712255323557015137 0ustar Description: Patch configure to include multiarch globus directory. Author: Dimitri John Ledkov --- cctools-4.0.orig/configure +++ cctools-4.0/configure @@ -482,7 +482,7 @@ then elif check_file ${globus_path}/include/globus/globus_common.h then - ccflags="${ccflags} -I${globus_path}/lib/globus/include -I${globus_path}/include/globus -DHAS_GLOBUS_GSS" + ccflags="${ccflags} -I${globus_path}/lib/globus/include -I${globus_path}/include/${DEB_HOST_MULTIARCH}/globus -I${globus_path}/include/globus -DHAS_GLOBUS_GSS" ldflags="${ldflags} -L${globus_path}/lib" for library in globus_gss_assist globus_gssapi_gsi globus_gsi_proxy_core globus_gsi_credential globus_gsi_callback globus_oldgaa globus_gsi_sysconfig globus_gsi_cert_utils globus_openssl globus_openssl_error globus_callout globus_proxy_ssl globus_common ltdl do debian/patches/handle_bashism0000664000000000000000000000037412175527246013522 0ustar diff --git a/work_queue/src/ec2_remove_workers b/work_queue/src/ec2_remove_workers index 2013c4e..3e0feb9 100755 --- a/work_queue/src/ec2_remove_workers +++ b/work_queue/src/ec2_remove_workers @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash show_help() { debian/patches/parrot_run_hang_fix0000664000000000000000000000100611773544066014612 0ustar diff --git a/parrot/src/tracer.c b/parrot/src/tracer.c index 140057d..0c15278 100644 --- a/parrot/src/tracer.c +++ b/parrot/src/tracer.c @@ -300,7 +300,7 @@ int tracer_copy_out( struct tracer *t, const void *data, const void *uaddr, int if(has_fast_write) { result = full_pwrite64(t->memory_file,data,length,iuaddr); - if( result!=length && errno==EINVAL ) { + if( result!=length ) { has_fast_write = 0; debug(D_SYSCALL,"writing to /proc/X/mem failed, falling back to slow ptrace write"); } else { debian/patches/debian_configure0000664000000000000000000000745112175523401014034 0ustar From: Michael Hanke Subject: Configure Debian build and runtime environment Modifications include: * Always build for LINUX, even on non-Linux Debian platforms (e.g. kFreeBSD). The test for Linux seems to be more of a test for the GNU libc and all target platform in Debian have that. * Prefer to link against shared libraries. * Accept externally provided CFLAGS * Path tweaks for Debian-specific install locations. * Deal with the difference between netstat APIs on Linux and kFreeBSD --- a/configure +++ b/configure @@ -44,8 +44,10 @@ build_user="$USER" build_host=`uname -n` -build_sys=`uname -s | tr \[a-z\] \[A-Z\] | awk -F_ '{print $1}'` -build_cpu=`uname -m | tr \[a-z\] \[A-Z\]` +# this setting is actually used to identify GNU libc platforms +# and Debian is all GNU libc, so force "Linux" even on non-Linux systems +build_sys=LINUX +build_cpu=`dpkg-architecture -qDEB_BUILD_ARCH | tr \[a-z-\] \[A-Z_\]` if [ "${build_cpu}" = UNKNOWN ] then @@ -81,7 +83,7 @@ if [ -d parrot -a $build_sys = LINUX ] then - if [ $build_cpu = I386 -o $build_cpu = X86_64 ] + if [ $build_cpu = I386 -o $build_cpu = AMD64 ] then echo "parrot IS supported on ${build_sys} ${build_cpu}" include_package_parrot="parrot" @@ -132,6 +134,8 @@ mpicompiler=mpicc ccflags="-D__EXTENSIONS__ -D_LARGEFILE64_SOURCE -D__LARGE64_FILES -Wall -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -Wno-deprecated-declarations -fno-exceptions" +# accepted CCFLAGS from outside +ccflags="$ccflags $CFLAGS" if [ ${build_sys} != CYGWIN ] then @@ -409,15 +413,18 @@ if [ $build_sys = LINUX ] then - ldflags="-Xlinker -Bstatic -static-libgcc -Xlinker -Bdynamic ${link_as_needed}" + ldflags="${link_as_needed}" else ldflags="-static-libgcc" fi +# accept ldflags from outside +ldflags="$ldflags $LDFLAGS" + ########################################################################## # SWITCH TO STATIC LINKING FOR UNCOMMON THIRD-PARTY PACKAGES ########################################################################## -library_search_mode=prefer_static +library_search_mode=prefer_dynamic ########################################################################## if [ $config_rfio_path != no ] && library_search shift ${rfio_path} @@ -512,7 +519,7 @@ fi fi -if [ $config_mysql_path != no ] && library_search mysqlclient ${mysql_path} mysql +if [ $config_mysql_path != no ] && library_search mysqlclient ${mysql_path} then if [ ${mysql_path} != /usr ] then @@ -546,11 +553,11 @@ fi fi -if [ $config_mpi_path != no ] && check_file ${mpi_path}/bin/mpicc && check_file ${mpi_path}/include/mpi.h +if [ $config_mpi_path != no ] && check_file ${mpi_path}/bin/mpicc && check_file ${mpi_path}/include/mpi/mpi.h then mpilinker=${mpi_path}/bin/mpicc usempi="true" - ccflags="${ccflags} -I${mpi_path}/include -DHAS_MPI" + ccflags="${ccflags} -I${mpi_path}/include/mpi -DHAS_MPI" else usempi="false" if [ $config_mpi_path = yes ] @@ -1034,17 +1041,17 @@ CCTOOLS_INSTALL_DIR=${install_path} CCTOOLS_PACKAGES=${packages} -CCTOOLS_CC=@echo COMPILE \$@; ${ccompiler} +CCTOOLS_CC=${ccompiler} CCTOOLS_BASE_CCFLAGS=${ccflags} CCTOOLS_INTERNAL_CCFLAGS=${internal_ccflags} \${CCTOOLS_BASE_CCFLAGS} CCTOOLS_CCFLAGS=-I\${CCTOOLS_INSTALL_DIR}/include/cctools \${CCTOOLS_BASE_CCFLAGS} -CCTOOLS_CXX=@echo COMPILE \$@; ${cxxcompiler} +CCTOOLS_CXX=${cxxcompiler} CCTOOLS_BASE_CXXFLAGS=${ccflags} CCTOOLS_INTERNAL_CXXFLAGS=${internal_ccflags} \${CCTOOLS_BASE_CXXFLAGS} CCTOOLS_CXXFLAGS=-I\${CCTOOLS_INSTALL_DIR}/include/cctools \${CCTOOLS_BASE_CXXFLAGS} -CCTOOLS_LD=@echo LINK \$@; ${linker} +CCTOOLS_LD=${linker} CCTOOLS_BASE_LDFLAGS=${ldflags} CCTOOLS_INTERNAL_LDFLAGS= ${internal_ldflags} \${CCTOOLS_BASE_LDFLAGS} CCTOOLS_LDFLAGS=-L\${CCTOOLS_INSTALL_DIR}/lib \${CCTOOLS_BASE_LDFLAGS} debian/patches/multiarch_configure0000664000000000000000000000567611773243470014621 0ustar Author: Peter Bui Date: Thu Aug 11 19:38:59 2011 +0000 Description: Multiarch support for configure configure: add possible support for Debian multiarch environment Tested on wheezy/sid in virtual machine. git-svn-id: svn://ccl.cse.nd.edu/trunk@1410 a4d8336d-3463-0410-8bba-c098c45d37a8 configure: add optional_include function This function checks normal path, and then the multiarch path if it is detected. Use this function to check for header files. Tested on Debian Sid virtual machine. git-svn-id: svn://ccl.cse.nd.edu/trunk@1415 a4d8336d-3463-0410-8bba-c098c45d37a8 Origin: upstream --- a/configure +++ b/configure @@ -280,6 +280,8 @@ ldflags="-static-libgcc" fi +check_multiarch + rm -f Makefile.config echo "checking for all the things I know how to build..." for p in $potential_packages @@ -675,9 +677,9 @@ optional_function pread /usr/include/unistd.h HAS_PREAD optional_function pwrite /usr/include/unistd.h HAS_PWRITE -optional_file /usr/include/sys/statfs.h HAS_SYS_STATFS_H -optional_file /usr/include/sys/statvfs.h HAS_SYS_STATVFS_H -optional_file /usr/include/alloca.h HAS_ALLOCA_H +optional_include /usr/include/sys/statfs.h HAS_SYS_STATFS_H +optional_include /usr/include/sys/statvfs.h HAS_SYS_STATVFS_H +optional_include /usr/include/alloca.h HAS_ALLOCA_H if check_path doxygen then --- a/configure.tools +++ b/configure.tools @@ -89,6 +89,30 @@ library_search() { + if library_search_normal $@; + then + return 0 + fi + if [ X$HOST_MULTIARCH != X ] && library_search_multiarch $@; + then + return 0 + fi + + return 1 +} + +library_search_multiarch() +{ + if [ X$3 = X ]; + then + library_search_normal $1 $2 $HOST_MULTIARCH + else + library_search_normal $1 $2 $HOST_MULTIARCH/$3 + fi +} + +library_search_normal() +{ # If the second argument is root, and we are not careful, # we will end up with a path that has two slashes, which # means something unintended in Windows @@ -163,20 +187,25 @@ return 0 fi fi - - + return 1 } optional_function() { + multiarch_include=`echo $2 | sed "s|include/|include/$HOST_MULTIARCH/|"` + if check_function $1 $2 then ccflags="${ccflags} -D$3" return 0 - else - return 1 + elif [ X$HOST_MULTIARCH != X ] && check_function $1 $multiarch_include; + then + ccflags="${ccflags} -D$3" + return 0 fi + + return 1 } optional_file() @@ -190,6 +219,21 @@ fi } +optional_include() +{ + multiarch_include=`echo $1 | sed "s|include/|include/$HOST_MULTIARCH/|"` + + if optional_file $1 $2; + then + return 0 + elif [ X$HOST_MULTIARCH != X ] && optional_file $multiarch_include $2; + then + return 0 + fi + + return 1 +} + optional_pfs_service() { service=$1 @@ -419,3 +463,15 @@ return 1 fi } + +check_multiarch() +{ + echo -n "checking for multiarch environment..." + if [ -r /etc/debian_version ]; then + HOST_MULTIARCH=`dpkg-architecture -qDEB_HOST_MULTIARCH 2> /dev/null` + echo "$HOST_MULTIARCH" + else + HOST_MULTIARCH= + echo "no" + fi +} debian/patches/series0000664000000000000000000000016112255323543012036 0ustar debian_configure #run_tests_on_buildd #parrot_run_hang_fix disable_doxygen handle_bashism multiarch-globus.patch debian/patches/disable_doxygen0000664000000000000000000000050612175521674013715 0ustar diff --git a/doc/Makefile b/doc/Makefile index c3b522f..dcafe15 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -17,7 +17,7 @@ manpages: ${ZIPFILES} apipages: api/html/index.html api/html/index.html: - doxygen cctools.doxygen.config + #doxygen cctools.doxygen.config %.html: %.m4 m4 -DHTML ${CCTOOLS_M4_ARGS} $< > $@ debian/compat0000664000000000000000000000000212175524543010376 0ustar 9 debian/TODO0000664000000000000000000000027411773243470007673 0ustar * If some tests fail, 'make test' itself doesn't fail -> upstream is working on it. * No manpages -> upstream is working on it. * Figure out how to install the perl module for workqueue debian/coop-computing-tools-dev.install0000664000000000000000000000007611773243470015450 0ustar debian/tmp/lib/*.a usr/lib/ debian/tmp/include/* usr/include/