Skip to content
Commits on Source (15)
# Generated on OS X sometimes (by dsymutil when using valgrind)
*.dSYM
# Distribution file (generated by "make distcheck" and "make dist")
mrbayes-*.tar.gz
# GNU autotools generated files
Makefile
autom4te.cache
config.cache
config.h
config.log
config.status
# Generated by Unix build
*~
src/*.o
src/.deps
src/mb
src/stamp-h1
# hidden files
.gitignore
# OS X files
.DS_Store
Thumbs.db
# LaTeX temporary files
.texpadtmp
# XCode project
*.xcodeproj
# Tags files
TAGS
tags
# cscope output
cscope.out
# private file
local.env
MrBayes 3.2.7-dev (development not-yet-3.2.7 version)
========================================================================
Building MrBayes using the supplied "configure" script:
------------------------------------------------------------------------
The code in the MrBayes Git repository comes with a standard GNU
"configure" script. On any Unix system, these are the steps required to
compile and optionally install MrBayes:
* Run "configure" in the top-level directory to create "Makefile" (see
"./configure --help" for info about enabling and disabling features of
MrBayes, or how to install in non-standard locations etc., and also
read further down in this document):
$ ./configure
* Make (i.e. compile) the project:
$ make
Note that if "pdflatex" or "bibtex" could not be found by the
"configure" script, the PDF documentation in doc/manual and
doc/tutorial will not be rebuilt, even if the PDF documents are
outdated or missing.
* Install it on the system (optional). This will install
the executable "mb" in /usr/local/bin, the documentation
in /usr/local/share/doc/mrbayes, and the example files in
/usr/local/share/examples/mrbayes unless the default installation
prefix ("/usr/local") is changed with the "--prefix" option when
running "configure".
$ make install
To build a statically linked version of MrBayes, set the environment
variable LDFLAGS to "-static" when configuring:
$ env LDFLAGS=-static ./configure
Building MrBayes using the GNU autotools (Autoconf and Automake):
------------------------------------------------------------------------
MrBayes uses the GNU autotools, i.e. Automake and Autoconf, for its
configuration and build system. To tinker with "configure.ac" and
"Makefile.am" and then to regenerate the "configure" script and
associated files, there are some prerequisites that need to be in place:
* Make sure Automake 1.15 (http://www.gnu.org/software/automake/)
is installed.
* Make sure Autoconf 2.69 (http://www.gnu.org/software/autoconf/)
is installed.
The "configure.ac" script here uses the "pkg-config" tool for detection
of external libraries (Beagle) and also uses m4 macros from the
autoconf-archive collection for detection of MPI, Readline, and some
architecture-dependent compiler flags. Therefore,
* Make sure pkg-config (https://www.freedesktop.org/wiki/Software/pkg-config/)
is installed.
* Make sure autoconf-archive 2016.03.20 (or later)
(http://www.gnu.org/software/autoconf-archive/) is installed.
* On some systems that uses metaauto for wrapping multiple versions of
the GNU autotools (OpenBSD for example):
$ export AUTOCONF_VERSION=2.69
$ export AUTOMAKE_VERSION=1.15
* On Ubuntu Linux, installing the following packages installs all of the
above prerequisites:
1. automake
2. autoconf
3. pkg-config
4. autoconf-archive
These may be installed through
sudo apt-get install automake autoconf pkg-config autoconf-archive
When all the prerequisites are in place:
* Run "autoreconf" to generate the "configure" script:
$ autoreconf -i
* Then continue as outlined earlier in this document.
Disabling the SSE, AVX and FMA code paths
------------------------------------------------------------------------
MrBayes will use SSE, AVX and FMA instructions to speed up computations
on CPUs that support these instruction sets, if the compiler supports
it. These code paths are however optional, and if you suspect a bug in
part of this code, you may use "--disable-sse", "--disable-avx" and/or
"--disable-fma" to disable it when running the "configure" script.
Note however, that disabling SSE will also disable AVX and FMA, and
disabling AVX will also disable FMA.
Note also that disabling these accelerated code paths will not remove
the "-msse" (etc.) compiler flags. These compiler flags affects what
instructions the compiler is allowed to generate, not what code path is
choosen for compilation.
Picking up the Beagle library:
------------------------------------------------------------------------
Assuming Beagle (https://github.com/beagle-dev/beagle-lib) was compiled
and installed in a standard location, it will be picked up by the
"configure" script automatically. If it isn't found, or the "configure"
script is run with "--without-beagle", Beagle will not be used.
If Beagle is installed in a non-default location, there are three ways
of telling the "configure" script how to find it:
1. Use the flag "--with-beagle=PATH" where "PATH" is the prefix path
where the Beagle headers and libraries may be found. For example
"$HOME/local", "/opt" etc. The paths "/usr/local" and "/usr" are
tested if no path is specified.
2. Point the "PKG_CONFIG_PATH" environment variable to the "pkgconfig"
directory that Beagle installed its "hmsbeagle-1.pc" file into.
This file is installed if Beagle was compiled from sources, and
may be found in the installation's "lib" directory. The detection
of Beagle will fall back on using "pkg-config" which picks up this
file.
3. As a last resort, it's also possible to set the "BEAGLE_CFLAGS" and
"BEAGLE_LIBS" environment variables prior to running "configure":
$ env BEAGLE_CFLAGS="-I$HOME/local/include/hmsbeagle-1" \
BEAGLE_LIBS="-L$HOME/local/lib -lhmsbeagle" \
./configure
Picking up and using MPI:
------------------------------------------------------------------------
The "configure" script will find any available MPI C compiler or
compiler wrapper and use it (for example the one provided by OpenMPI
(https://www.open-mpi.org/) or MPICH (https://www.mpich.org/)) if
the "--with-mpi" flag is used. If this flag is not used, or if
"--without-mpi" is used, MrBayes will be compiled without support for
MPI parallelization.
You may set the "MPICC" environment variable to the name or path of a
specific MPI C compiler, if you have many to choose from:
$ env MPICC="/usr/local/bin/mpicc" ./configure --with-mpi
About support for the GNU Readline library:
------------------------------------------------------------------------
MrBayes will be compiled with support for the GNU Readline Library
(https://cnswww.cns.cwru.edu/php/chet/readline/rltop.html) (which
allows for command line history within an interactive session, and
command completion through pressing the "tab" key) if the Readline
library and its associated header files are available. However, it
seems as if the Readline library doesn't work well together with common
MPI implementations (OpenMPI (https://www.open-mpi.org/) and MPICH
(https://www.mpich.org/)), so if MrBayes is configured with support for
MPI parallelization, Readline support will be automatically disabled.
A possible workaround is to use a "Readline wrapper", such as "rlwrap"
(https://github.com/hanslub42/rlwrap), which gives you persistent
command line history between sessions, but no command tab-completion.
To use rlwrap with an MPI-enabled MrBayes, simply start MrBayes like
this:
$ rlwrap mb
# vim: filetype=text
EXTRA_DIST= COPYING INSTALL README NEWS
SUBDIRS= src doc examples
This diff is collapsed.
Hi,
This is the GitHub repository for MrBayes, a program used for Bayesian
inference of phylogeny.
Build instructions, very very short version:
1. Clone the Git repository.
2. Refer to the document called "INSTALL" for further information.
Current repository directory layout:
.
├ doc
│ ├ manual : The manual
│ └ tutorial : A tutorial
├ examples : Example input data sets
└ src : C source code
We are currently in the process of moving everything over from
Subversion to Git, and from SourceForge to GitHub. The code, web
pages and PDF manuals are already available here, and the bug tracking
database and mailing list are very nearly sorted too. Also, the MrBayes
home page link at http://mrbayes.net/ is still pointing to the old web
pages.
The new web site is available at
http://NBISweden.github.io/MrBayes/
Historical releases are tagged with "v3.2.0" (etc.) from release 3.2.0
onwards.
The 'master' branch contains releases.
The 'develop' branch should hopefully, at all times, contain working
development code that at least compiles. Apart from simple fixes, new
development happens on feature branches off the 'develop' branch, and
are merged back into 'develop' when finished. This more or less follows
the "git-flow" branching model.
The orphaned 'gh-pages' branch contains the web site (only).
After release 3.2.6 (November 2015), MrBayes entered "maintenance mode",
and its care has been passed over to NBIS (National Bioinformatics
Infrastructure Sweden, http://nbis.se/). The original development
team is still involved with the program, but any future releases will
probably be geared more towards bug-fixes rather than addition of new
features.
With kind regards,
Andreas (Kusalananda) Kähäri
NBIS
TODO:
* Data parallelization
MrBayes currently uses MPI to run different chains in parallel
on different processors. However, data sets are becoming a lot
larger now with respect to number of sites, so it is becoming
important also to distribute likelihood computations on data across
processors. This would require some programming but it is not a
huge challenge.
* Native AVX and FMA code
I have added native AVX and FMA code for the 4by4 nucleotide models.
It would be straightforward to add native AVX and FMA code for the
other models. Particularly the AA-model would probably benefit from
this code (when not using the beagle library).
* Dynamic scaling
Scaling of likelihoods take a surprisingly large amount of time when
using the standard 4by4 nucleotide models. Maxim added dynamic
scaling code for the Beagle implementation but not for the native
likelihoood calculators, which are faster. The dynamic scaling
code adjusts the rescaling frequency so that you do not rescale
likelihoods more often than needed to avoid numerical exceptions and
achieve a reasonable level of precision. For typical-size trees
and the 4by4 model, no rescaling is often needed. I added the
infrastructure needed to support dynamic scaling for both Beagle and
native calculators in December 2015. In principle, it should be
straightforward now to rewrite Maxim's dynamic scaling code (which
is not so pretty C code) so that it works for both Beagle and native
likelihood calculators.
This diff is collapsed.
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-10-14.11; # UTC
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
nl='
'
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent tools from complaining about whitespace usage.
IFS=" "" $nl"
file_conv=
# func_file_conv build_file lazy
# Convert a $build file to $host form and store it in $file
# Currently only supports Windows hosts. If the determined conversion
# type is listed in (the comma separated) LAZY, no conversion will
# take place.
func_file_conv ()
{
file=$1
case $file in
/ | /[!/]*) # absolute file, and not a UNC file
if test -z "$file_conv"; then
# lazily determine how to convert abs files
case `uname -s` in
MINGW*)
file_conv=mingw
;;
CYGWIN*)
file_conv=cygwin
;;
*)
file_conv=wine
;;
esac
fi
case $file_conv/,$2, in
*,$file_conv,*)
;;
mingw/*)
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
;;
cygwin/*)
file=`cygpath -m "$file" || echo "$file"`
;;
wine/*)
file=`winepath -w "$file" || echo "$file"`
;;
esac
;;
esac
}
# func_cl_dashL linkdir
# Make cl look for libraries in LINKDIR
func_cl_dashL ()
{
func_file_conv "$1"
if test -z "$lib_path"; then
lib_path=$file
else
lib_path="$lib_path;$file"
fi
linker_opts="$linker_opts -LIBPATH:$file"
}
# func_cl_dashl library
# Do a library search-path lookup for cl
func_cl_dashl ()
{
lib=$1
found=no
save_IFS=$IFS
IFS=';'
for dir in $lib_path $LIB
do
IFS=$save_IFS
if $shared && test -f "$dir/$lib.dll.lib"; then
found=yes
lib=$dir/$lib.dll.lib
break
fi
if test -f "$dir/$lib.lib"; then
found=yes
lib=$dir/$lib.lib
break
fi
if test -f "$dir/lib$lib.a"; then
found=yes
lib=$dir/lib$lib.a
break
fi
done
IFS=$save_IFS
if test "$found" != yes; then
lib=$lib.lib
fi
}
# func_cl_wrapper cl arg...
# Adjust compile command to suit cl
func_cl_wrapper ()
{
# Assume a capable shell
lib_path=
shared=:
linker_opts=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
eat=1
case $2 in
*.o | *.[oO][bB][jJ])
func_file_conv "$2"
set x "$@" -Fo"$file"
shift
;;
*)
func_file_conv "$2"
set x "$@" -Fe"$file"
shift
;;
esac
;;
-I)
eat=1
func_file_conv "$2" mingw
set x "$@" -I"$file"
shift
;;
-I*)
func_file_conv "${1#-I}" mingw
set x "$@" -I"$file"
shift
;;
-l)
eat=1
func_cl_dashl "$2"
set x "$@" "$lib"
shift
;;
-l*)
func_cl_dashl "${1#-l}"
set x "$@" "$lib"
shift
;;
-L)
eat=1
func_cl_dashL "$2"
;;
-L*)
func_cl_dashL "${1#-L}"
;;
-static)
shared=false
;;
-Wl,*)
arg=${1#-Wl,}
save_ifs="$IFS"; IFS=','
for flag in $arg; do
IFS="$save_ifs"
linker_opts="$linker_opts $flag"
done
IFS="$save_ifs"
;;
-Xlinker)
eat=1
linker_opts="$linker_opts $2"
;;
-*)
set x "$@" "$1"
shift
;;
*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
func_file_conv "$1"
set x "$@" -Tp"$file"
shift
;;
*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
func_file_conv "$1" mingw
set x "$@" "$file"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -n "$linker_opts"; then
linker_opts="-link$linker_opts"
fi
exec "$@" $linker_opts
exit 1
}
eat=
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: compile [--help] [--version] PROGRAM [ARGS]
Wrapper for compilers which do not understand '-c -o'.
Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
arguments, and rename the output as expected.
If you are trying to build a whole package this is not the
right script to run: please start by reading the file 'INSTALL'.
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "compile $scriptversion"
exit $?
;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
func_cl_wrapper "$@" # Doesn't return...
;;
esac
ofile=
cfile=
for arg
do
if test -n "$eat"; then
eat=
else
case $1 in
-o)
# configure might choose to run compile as 'compile cc -o foo foo.c'.
# So we strip '-o arg' only if arg is an object.
eat=1
case $2 in
*.o | *.obj)
ofile=$2
;;
*)
set x "$@" -o "$2"
shift
;;
esac
;;
*.c)
cfile=$1
set x "$@" "$1"
shift
;;
*)
set x "$@" "$1"
shift
;;
esac
fi
shift
done
if test -z "$ofile" || test -z "$cfile"; then
# If no '-o' option was seen then we might have been invoked from a
# pattern rule where we don't need one. That is ok -- this is a
# normal compilation that the losing compiler can handle. If no
# '.c' file was seen then we are probably linking. That is also
# ok.
exec "$@"
fi
# Name of file we expect compiler to create.
cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
# Create the lock directory.
# Note: use '[/\\:.-]' here to ensure that we don't use the same name
# that we are using for the .o file. Also, base the name on the expected
# object file name, since that is what matters with a parallel build.
lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
while true; do
if mkdir "$lockdir" >/dev/null 2>&1; then
break
fi
sleep 1
done
# FIXME: race condition here if user kills between mkdir and trap.
trap "rmdir '$lockdir'; exit 1" 1 2 15
# Run the compile.
"$@"
ret=$?
if test -f "$cofile"; then
test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
elif test -f "${cofile}bj"; then
test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
fi
rmdir "$lockdir"
exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#!/bin/sh
#
# $NetBSD: install-sh.in,v 1.6 2012/01/11 13:07:31 hans Exp $
# This script now also installs multiple files, but might choke on installing
# multiple files with spaces in the file names.
#
# install - install a program, script, or datafile
# This comes from X11R5.
# This comes from X11R5 (mit/util/scripts/install.sh).
#
# Copyright 1991 by the Massachusetts Institute of Technology
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
......@@ -9,8 +25,6 @@
#
# This script is compatible with the BSD install script, but was written
# from scratch.
#
# set DOITPROG to echo to test this script
......@@ -20,6 +34,7 @@ doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
awkprog="${AWKPROG-awk}"
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
......@@ -29,21 +44,34 @@ stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
tranformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
instcmd="$cpprog"
instflags=""
pathcompchmodcmd="$chmodprog 755"
chmodcmd="$chmodprog 755"
chowncmd=""
chgrpcmd=""
stripcmd=""
stripflags=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
msrc=""
dst=""
dir_arg=""
suffix=""
suffixfmt=""
while [ x"$1" != x ]; do
case $1 in
-b) suffix=".old"
shift
continue;;
-B) suffixfmt="$2"
shift
shift
continue;;
-c) instcmd="$cpprog"
shift
continue;;
......@@ -57,6 +85,11 @@ while [ x"$1" != x ]; do
shift
continue;;
-m*)
chmodcmd="$chmodprog ${1#-m}"
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
......@@ -71,87 +104,98 @@ while [ x"$1" != x ]; do
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
-S) stripcmd="$stripprog"
stripflags="-S $2 $stripflags"
shift
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
-p) instflags="-p"
shift
continue;;
*) if [ x"$src" = x ]
*) if [ x"$msrc" = x ]
then
src=$1
msrc="$dst"
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
msrc="$msrc $dst"
fi
src="$dst"
dst="$1"
shift
continue;;
esac
done
if [ x"$src" = x ]
if [ x"$dir_arg" = x ]
then
dstisfile=""
if [ ! -d "$dst" ]
then
echo "install: no input file specified"
if [ x"$msrc" = x"$src" ]
then
dstisfile=true
else
echo "install: destination is not a directory"
exit 1
fi
fi
else
true
msrc="$msrc $dst"
fi
if [ x"$msrc" = x ]
then
echo "install: no destination specified"
exit 1
fi
for srcarg in $msrc; do
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d $dst ]; then
instcmd=:
else
instcmd=mkdir
fi
dstarg="$srcarg"
else
dstarg="$dst"
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# Waiting for this to be detected by the "$instcmd $srcarg $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f $src -o -d $src ]
if [ -f "$srcarg" ]
then
true
else
echo "install: $src does not exist"
exit 1
fi
if [ x"$dst" = x ]
doinst="$instcmd $instflags"
elif [ -d "$srcarg" ]
then
echo "install: no destination specified"
echo "install: $srcarg: not a regular file"
exit 1
elif [ "$srcarg" = "/dev/null" ]
then
doinst="$cpprog"
else
true
echo "install: $srcarg does not exist"
exit 1
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
if [ -d "$dstarg" ]
then
dst="$dst"/`basename $src`
else
true
dstarg="$dstarg"/`basename "$srcarg"`
fi
fi
## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
dstdir=`echo "$dstarg" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS=''
defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}"
......@@ -168,7 +212,11 @@ while [ $# -ne 0 ] ; do
if [ ! -d "${pathcomp}" ] ;
then
$mkdirprog "${pathcomp}"
$doit $mkdirprog "${pathcomp}"
if [ x"$chowncmd" != x ]; then $doit $chowncmd "${pathcomp}"; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "${pathcomp}"; else true ; fi &&
if [ x"$pathcompchmodcmd" != x ]; then $doit $pathcompchmodcmd "${pathcomp}"; else true ; fi
else
true
fi
......@@ -179,40 +227,49 @@ fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
if [ -d "$dstarg" ]; then
true
else
$doit $mkdirprog "$dstarg" &&
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
else
dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dstarg"; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dstarg"; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dstarg"; else true ; fi
fi
else
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
if [ x"$dstisfile" = x ]
then
dstfile=`basename $dst`
file=$srcarg
else
true
file=$dst
fi
dstfile=`basename "$file"`
dstfinal="$dstdir/$dstfile"
# Make a temp file name in the proper directory.
dsttmp=$dstdir/#inst.$$#
# Make a backup file name in the proper directory.
case x$suffixfmt in
*%*) suffix=`echo x |
$awkprog -v bname="$dstfinal" -v fmt="$suffixfmt" '
{ cnt = 0;
do {
sfx = sprintf(fmt, cnt++);
name = bname sfx;
} while (system("test -f " name) == 0);
print sfx; }' -`;;
x) ;;
*) suffix="$suffixfmt";;
esac
dstbackup="$dstfinal$suffix"
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp &&
$doit $doinst $srcarg "$dsttmp" &&
trap "rm -f ${dsttmp}" 0 &&
......@@ -222,17 +279,23 @@ else
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $stripflags "$dsttmp"; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else true;fi &&
# Now rename the file to the real destination.
$doit $rmcmd -f $dstdir/$dstfile &&
$doit $mvcmd $dsttmp $dstdir/$dstfile
if [ x"$suffix" != x ] && [ -f "$dstfinal" ]
then
$doit $mvcmd "$dstfinal" "$dstbackup"
else
$doit $rmcmd -f "$dstfinal"
fi &&
$doit $mvcmd "$dsttmp" "$dstfinal"
fi
done &&
exit 0
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
mrbayes (3.2.6+dfsg-3) UNRELEASED; urgency=medium
mrbayes (3.2.7~pre-1) UNRELEASED; urgency=medium
* New upstream version
* Upstream moved to Github
-- Andreas Tille <tille@debian.org> Fri, 16 Feb 2018 09:46:59 +0100
* hardening=+all
* Point Vcs fields to Salsa
* Standards-Version: 4.1.4
* debhelper 11
* Drop inactive maintainers from Uploaders
* No Priority=extra for doc package
* Do not include rpath
-- Andreas Tille <tille@debian.org> Wed, 27 Jun 2018 08:45:36 +0200
mrbayes (3.2.6+dfsg-2) unstable; urgency=medium
......
Source: mrbayes
Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
Uploaders: Fernando Ribeiro <fernando@staff.nerdgroup.org>,
Steffen Moeller <moeller@debian.org>,
Dominique Belhachemi <domibel@debian.org>,
Pjotr Prins <pjotr.debian@thebird.nl>,
Uploaders: Steffen Moeller <moeller@debian.org>,
Andreas Tille <tille@debian.org>
Section: science
Priority: optional
Build-Depends: debhelper (>= 9),
Build-Depends: debhelper (>= 11~),
libreadline-dev,
mpi-default-dev,
libhmsbeagle-dev (<< 2.1-1) | libhmsbeagle-dev (>= 2.1-2),
autoconf,
automake
Standards-Version: 4.0.0
Vcs-Browser: https://anonscm.debian.org/cgit/debian-med/mrbayes.git
Vcs-Git: https://anonscm.debian.org/git/debian-med/mrbayes.git
Standards-Version: 4.1.4
Vcs-Browser: https://salsa.debian.org/med-team/mrbayes
Vcs-Git: https://salsa.debian.org/med-team/mrbayes.git
Homepage: http://mrbayes.csit.fsu.edu/
Package: mrbayes
......@@ -54,7 +51,6 @@ Description: Bayesian Inference of Phylogeny - mpi version
Package: mrbayes-doc
Architecture: all
Section: doc
Priority: extra
Depends: ${misc:Depends}
Enhances: mrbayes
Description: Bayesian Inference of Phylogeny - manual
......