Skip to content
Commits on Source (45)
infernal for Debian
-------------------
The documentation for easel contains many PDFs that are not buildable
from source - although Debian most likely provide the tools at least to
prepare some of the figures, e.g., a sequence alignment. Other figures
would be more difficult to prepare. As an interim solution it was decided
to leave that documentation out and users are requested to address the
web pages of the upstream developers in this matter.
Infernal offers to be compiled for LAM-MPI. Please contact us if there is
respective demand. Also, the Large File Support (LFS) was not activated,
which may be of concern for large screening projects on files larger
than 2GB.
Infernal optionally uses the CFSQP library which is non-free. This is
not supported by this Debian package. Please address the Userguide for
instructions of a manual self-compilation and -installation.
The packaging has become part of the Debian Med Blend
and everyone interested is invited to join in for maintaining it.
-- Steffen Moeller <moeller@debian.org> Mon, 10 Sep 2007 23:15:37 +0200
infernal - Changes to upstream source distribution
==================================================
Upstream provides a readily readable userguide
for Infernal, which is also available online at
ftp://selab.janelia.org/pub/software/infernal/Userguide.pdf
and should better not be distributed with the source to
save disk space.
The PDFs that are coming with the sources from which
the userguide is built are indeed upstream's original
sources. They are edited with a PDF editor. Upstream,
Dr Eddy, was consulted in this issue.
Some figures like the sequence alignments could be prepared
with the infrastructure that Debian provides and thus would
not be ultimately required to be shipped as PDFs. This is however
tolerated.
-- Steffen Moeller Sun, 20 Jan 2008 23:05:22 +0100
Remove code copy of hmmer
#!/bin/sh
BINNAME=`basename $0`
if grep -q '^flags[[:space:]]*:.* sse2 ' /proc/cpuinfo ; then
/usr/lib/infernal/$BINNAME $@
else
cat <<EOT
To run $BINNAME from infernal package your proccessor needs SSE2 which is not
available on this machine.
... Exiting
EOT
fi
infernal (1.1.3-2) unstable; urgency=medium
* Team upload.
* Add python3 build-dep for `make check`
* Secure URI in copyright format
* Remove trailing whitespace in debian/changelog
* Trim trailing whitespace.
* Set upstream metadata fields: Bug-Submit.
* Enable a verbose build log
* infernal-doc: mark Multi-Arch: foreign (thanks Multiarch hinter!)
* debian/patches/hardening: added CPPFLAGS to easel, rmark, and hmmer/profmark
* Install example binaries into /usr/lib/ and symlink them into the
doc/infernal/examples directory (fixes a FHS violation)
* Added missing autopkgtest dependency on python3
-- Michael R. Crusoe <michael.crusoe@gmail.com> Sun, 01 Dec 2019 16:35:34 +0100
infernal (1.1.3-1) unstable; urgency=medium
* New upstream version
- Upstream accepted patch for reproducible builds
- autoreconf now works without respective non-applicable patch
* Still debian/TODO: remove code copy of hmmer
* debhelper-compat 12
* Standards-Version: 4.4.1
-- Steffen Moeller <moeller@debian.org> Sat, 30 Nov 2019 00:03:03 +0100
infernal (1.1.2-2) unstable; urgency=medium
* Fix homepage
* Add debian/TODO: remove code copy of hmmer
* debhelper 10
* d/watch: version=4
* Added references to RRID and OMICtools registries (Steffen Moeller)
* debhelper 11
* Point Vcs fields to salsa.debian.org
* Standards-Version: 4.1.5
* Fix configure.ac to enable autoreconf
* Fix spelling
-- Andreas Tille <tille@debian.org> Mon, 16 Jul 2018 12:20:32 +0200
infernal (1.1.2-1) unstable; urgency=medium
* Team upload.
* New upstream release.
* Fix watchfile.
* Make build reproducible.
-- Sascha Steinbiss <satta@debian.org> Sat, 06 Aug 2016 00:00:56 +0000
infernal (1.1.1-5) unstable; urgency=medium
* Team upload.
[Canberk Koç]
* Added Autopkgtest suite
* debian/rules file changed
* debian/tests directory added
[ Andreas Tille ]
* Move packaging from SVN to Git
* cme fix dpkg-control
* Better hardening
-- Canberk Koç <canberkkoc@gmail.com> Wed, 22 Jun 2016 05:35:41 +0300
infernal (1.1.1-4) unstable; urgency=medium
* Architecture: any-amd64 any-i386
Closes: #815310
* cme fix dpkg-control
* Secure Vcs-Browser
-- Andreas Tille <tille@debian.org> Sat, 20 Feb 2016 23:07:53 +0100
infernal (1.1.1-3) unstable; urgency=medium
* cme fix dpkg-control
* drop dpg package at all since it is auto-generated by dpkg now
Closes: #766309
-- Andreas Tille <tille@debian.org> Mon, 21 Dec 2015 09:35:57 +0100
infernal (1.1.1-2) unstable; urgency=medium
* Re-enable i386 by checking availability of sse2
* d/copyright: Deleted unneeded paragraphs
* d/rules: drop redundant targets
* d/README*: drop pararaphs about squid which is not part of the
source any more
-- Andreas Tille <tille@debian.org> Thu, 18 Sep 2014 10:00:12 +0200
infernal (1.1.1-1) unstable; urgency=medium
* Team upload.
* New upstream release.
-- Charles Plessy <plessy@debian.org> Fri, 08 Aug 2014 21:45:26 +0900
infernal (1.1-1) unstable; urgency=low
* Team upload.
* New upstream release.
* Removed i386 architecture as some processors do not provide SSE2.
* Conforms with Policy 3.9.5.
-- Charles Plessy <plessy@debian.org> Sun, 01 Dec 2013 10:30:00 +0900
infernal (1.1~rc4-2) unstable; urgency=low
* Team upload.
* Build-depends on libperl4-corelibs-perl (Closes: #724119).
* debian/control: removed myself from Uploaders.
-- Charles Plessy <plessy@debian.org> Mon, 23 Sep 2013 10:57:17 +0900
infernal (1.1~rc4-1) unstable; urgency=low
* New upstream source
* debian/source/format: 3.0 (quilt)
* debian/control:
- cme fix dpkg-control
- debhelper 9
- do not Build-Depend: quilt since source format implies this
- The package builds only on architectures with SSE instructions.
Quoting from build log on armel:
configure: WARNING: Infernal 1.1 requires VMX or SSE capability for
parallel instructions.
configure: error: It appears your platform has neither and will not
support Infernal.
So all non i386/amd64 architectures were excluded
Closes: #718742
- use anonscm in Vcs fields
* debian/rules:
- remove redundant setting for flags which is handled by debhelper 9
automatically
- use xz compression
* debian/copyright: DEP5
-- Andreas Tille <tille@debian.org> Mon, 05 Aug 2013 12:06:12 +0200
infernal (1.1~rc2-1) unstable; urgency=low
* New upstream version - aiming to support RNAWorld BOINC project,
with many thanks and regards to Yoyo!
- cmscore no longer available
* Bumped policy to 3.9.4 (no changes needed)
- introduced hardening, with it build dep on
dpkg-dev (>= 1.16.1~)
-- Steffen Moeller <moeller@debian.org> Wed, 01 May 2013 20:24:17 +0200
infernal (1.0.2-3) UNRELEASED; urgency=low
[ Steffen Moeller ]
* Extra fixed for lintian cleanliness (Steffen)
[ Andreas Tille ]
* debian/upstream:
- do not specify DOI twice
- Moved PMID to references
* debian/control:
- Fixed Vcs-Svn field
- Standards-Version: 3.9.3 (no changes needed)
-- Andreas Tille <tille@debian.org> Thu, 08 Mar 2012 11:44:54 +0100
infernal (1.0.2-2) unstable; urgency=low
* Series of mall fixes (Closes: #643407).
* source/format 3.0
* Policy to 3.9.2
* added infernal-dbg
* corrected upstream's email address
-- Steffen Moeller <moeller@debian.org> Tue, 27 Sep 2011 15:48:27 +0200
infernal (1.0.2-1) unstable; urgency=low
* New upstream version
-- Andreas Tille <tille@debian.org> Tue, 03 Nov 2009 11:15:34 +0100
infernal (1.0-2) unstable; urgency=low
* Switch to CDBS to benefit from automagical config.{sub,guess}
update (debian/rules). Closes: #550253.
* debian/control:
- Depend on cdbs, downgraded requirement on debhelper from 7.1 to 7.
- Transferred bibliographic information from the package description
to debian/upstream-metadata.yaml.
- Clarified the short description of the documentation package.
* Removed debian/infernal.dirs, not needed.
* Edited README.source, removing mention that infernal is in contrib.
* debian/copyright points at the version 3 of the GPL.
-- Charles Plessy <plessy@debian.org> Sat, 10 Oct 2009 11:22:35 +0900
infernal (1.0-1) unstable; urgency=low
[ Charles Plessy ]
* Updated my email address.
[ Andreas Tille ]
* New upstream version
* debian/control:
- Standards-Version: 3.8.3 (no changes needed)
- Added myself to uploaders
- s/Debian-Med/Debian Med/
- Build-Depends: debhelper (>= 7.1) autotools-dev
- Package: infernal-doc
* debian/rules rewritten to make use of short dh
* debian/copyright:
- added myself to Copyright holders of debian/*
- squid is not part of the upstream tarball anymore so this
paragraph was deleted
- files/Userguide.pdf: Copied comment about PDF = source from
README.Debian
* debian/infernal-doc.doc-base
* debian/infernal.install: install src/{trcyk,truncyk_check} to
/usr/bin
* TODO: Convince upstream to release libeazel which is also used in
hmmer as a separate library instead of copying the code into
different projects
-- Andreas Tille <tille@debian.org> Fri, 25 Sep 2009 15:17:22 +0200
infernal (0.81-1) experimental; urgency=low
* Initial release (Closes: #441840)
-- Steffen Moeller <moeller@debian.org> Mon, 10 Sep 2007 23:15:37 +0200
Source: infernal
Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
Uploaders: Steffen Moeller <moeller@debian.org>,
Andreas Tille <tille@debian.org>
Section: science
Priority: optional
Build-Depends: debhelper-compat (= 12),
libperl4-corelibs-perl,
python3
Standards-Version: 4.4.1
Vcs-Browser: https://salsa.debian.org/med-team/infernal
Vcs-Git: https://salsa.debian.org/med-team/infernal.git
Homepage: http://eddylab.org/infernal/
Package: infernal
Architecture: any-amd64 any-i386
Depends: ${shlibs:Depends},
${misc:Depends}
Description: inference of RNA secondary structural alignments
Infernal ("INFERence of RNA ALignment") searches DNA sequence
databases for RNA structure and sequence similarities. It provides an
implementation of a special variant of profile stochastic context-free
grammars called covariance models (CMs). A CM is like a sequence
profile, but it scores a combination of sequence consensus and RNA
secondary structure consensus, so in many cases, it is more capable of
identifying RNA homologs that conserve their secondary structure more
than their primary sequence.
.
The tool is an integral component of the Rfam database.
Package: infernal-doc
Architecture: all
Section: doc
Multi-Arch: foreign
Depends: ${shlibs:Depends},
${misc:Depends}
Description: inference of RNA secondary structural alignments – documentation
Infernal ("INFERence of RNA ALignment") searches DNA sequence
databases for RNA structure and sequence similarities. It provides an
implementation of a special case of profile stochastic context-free
grammars called covariance models (CMs). A CM is like a sequence
profile, but it scores a combination of sequence consensus and RNA
secondary structure consensus, so in many cases, it is more capable of
identifying RNA homologs that conserve their secondary structure more
than their primary sequence.
.
This package provides the documentation which is shipped with the
code of infernal.
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Contact: Infernal developer team at HHMI Janelia Farm:
Diana Kolbe <kolbed janelia.hhmi.org>
Eric Nawrocki <nawrockie janelia.hhmi.org>
Sean Eddy <eddys janelia.hhmi.org>.
Source: ftp://infernal.janelia.org/pub/software/infernal/infernal-1.1.1.tar.gz
Files: *
Copyright: © 2001-2014 HHMI Janelia Farm
© 1991-2013 Sean R. Eddy
© 2005-2013 Eric P. Nawrocki
© 2005-2011 Diana L. Kolbe
© 2004 Zasha Weinberg
© 1990 Don G. Gilbert
© 1995-2006 Washington University in St. Louis
© 1992-1995 Medical Research Council, UK
© 2004 University of Washington, Seattle
© 1986,1993,1995 University of Toronto
© 1989-2001 Free Software Foundation
© 1991 Massachusetts Institute of Technology
License: GPL-3
Files: debian/*
Copyright: © 2007-2008 Steffen Moeller <moeller@debian.org>
© 2009-2014 Andreas Tille <tille@debian.org>
License: GPL-3
Files: easel/*
Copyright: © 2004-2014 Sean R. Eddy
© 2006-2008 Howard Hughes Medical Institute
License: BSD-Easel
Files: easel/esl_sse.c easel/esl_vmx.c
Copyright: © 2007 Julien Pommier
© 1992 Stephen Moshier
License: BSD-Easel
Files: easel/easel.c
Copyright: © 1999-2001 David A. Wheeler
License: BSD-Easel
Comment: This only concerns esl_tmpfile()
Files: easel/esl_regexp.c
Copyright: © 1986, 1993, 1995 by University of Toronto
License: BSD-Easel
License: BSD-Easel
@EASEL_COPYRIGHT@
.
The Easel library is freely modifiable and redistributable under the
Janelia Farm Software License, a BSD license:
.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
.
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
.
3. Neither the name of the Howard Hughes Medical Institute nor the
names of its contributors may be used to endorse or promote
products derived from this software without specific prior written
permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
NON-INFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
REASONABLE ROYALTIES; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
Files: Userguide.pdf
Copyright: Sean R. Eddy
License: GPL-3
Comment: The PDFs that are coming with the sources from which the userguide is
built are indeed upstream's original sources. They are edited with a PDF
editor. Upstream, Dr Eddy, was consulted in this issue.
License: GPL-3
This suite of programs 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 of the
License, or (at your option) any later version.
.
In other words, you may modify, copy, or redistribute this source code
and its documentation, but if you do, you must preserve all these
copyrights and distribute all derivative versions as free software
under the GNU General Public License.
.
This software 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 software, in the file LICENSE; if not, write to the
Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
MA 02110-1301, USA or see http://www.gnu.org/
Comment: On Debian systems, the complete text of the GNU General Public
License version 3 can be found in `/usr/share/common-licenses/GPL-3'.
Document: infernal-doc
Title: INFERNAL User’s Guide
Author: Diana Kolbe, Eric Nawrocki, Sean Eddy
Abstract: Sequence analysis using profiles of RNA secondary structure consensus
Infernal ("INFERence of RNA ALignment") is for searching DNA sequence
databases for RNA structure and sequence similarities. It is an
implementation of a special case of profile stochastic context-free
grammars called covariance models (CMs). A CM is like a sequence
profile, but it scores a combination of sequence consensus and RNA
secondary structure consensus, so in many cases, it is more capable of
identifying RNA homologs that conserve their secondary structure more
than their primary sequence.
Section: Science/Biology
Format: pdf
Files: /usr/share/doc/infernal/Userguide.pdf
Userguide.pdf usr/share/doc/infernal
README
RELEASE-*.md
bin/* usr/lib/infernal
debian/bin/* usr/bin
#documentation/manpages/*
#share/man/man1/*.1
debian/tmp/share/man/man1/*.1
Author: Andreas Tille <tille@debian.org>
Last-Update: Mon, 16 Jul 2018 07:59:38 +0200
Origin: https://lists.debian.org/debian-mentors/2018/07/msg00193.html
Description: Fix configure.ac to enable autoreconf
--- a/configure.ac
+++ b/configure.ac
@@ -121,24 +121,24 @@ AC_SUBST(EASEL_VERSION)
AC_SUBST(EASEL_URL)
# Preprocessor symbols (replace #undefs in hmmer/src/p7_config.h and src/config.h)
-AC_DEFINE_UNQUOTED(INFERNAL_DATE, "$INFERNAL_DATE")
-AC_DEFINE_UNQUOTED(INFERNAL_COPYRIGHT, "$INFERNAL_COPYRIGHT")
-AC_DEFINE_UNQUOTED(INFERNAL_LICENSE, "$INFERNAL_LICENSE")
-AC_DEFINE_UNQUOTED(INFERNAL_VERSION, "$INFERNAL_VERSION")
-AC_DEFINE_UNQUOTED(INFERNAL_URL, "$INFERNAL_URL")
-
-AC_DEFINE_UNQUOTED(HMMER_DATE, "$HMMER_DATE")
-AC_DEFINE_UNQUOTED(HMMER_COPYRIGHT, "$HMMER_COPYRIGHT")
-AC_DEFINE_UNQUOTED(HMMER_LICENSE, "$HMMER_LICENSE")
-AC_DEFINE_UNQUOTED(HMMER_VERSION, "$HMMER_VERSION")
-AC_DEFINE_UNQUOTED(HMMER_URL, "$HMMER_URL")
-
-AC_DEFINE_UNQUOTED(EASEL_DATE, "$EASEL_DATE")
-AC_DEFINE_UNQUOTED(EASEL_COPYRIGHT, "$EASEL_COPYRIGHT")
-AC_DEFINE_UNQUOTED(EASEL_LICENSE, "$EASEL_LICENSE")
-AC_DEFINE_UNQUOTED(EASEL_VERSION, "$EASEL_VERSION")
+AC_DEFINE_UNQUOTED([INFERNAL_DATE], ["$INFERNAL_DATE"], [Timestamp of infernal code])
+AC_DEFINE_UNQUOTED([INFERNAL_COPYRIGHT], ["$INFERNAL_COPYRIGHT"], [Infernal copyright information])
+AC_DEFINE_UNQUOTED([INFERNAL_LICENSE], ["$INFERNAL_LICENSE"], [Infernal license])
+AC_DEFINE_UNQUOTED([INFERNAL_VERSION], ["$INFERNAL_VERSION"], [Invernal version])
+AC_DEFINE_UNQUOTED([INFERNAL_URL], ["$INFERNAL_URL"], [Link to infernal homepage])
+
+AC_DEFINE_UNQUOTED([HMMER_DATE], ["$HMMER_DATE"], [Timestamp of hmmer code])
+AC_DEFINE_UNQUOTED([HMMER_COPYRIGHT], ["$HMMER_COPYRIGHT"], [Hmmer copyright information])
+AC_DEFINE_UNQUOTED([HMMER_LICENSE], ["$HMMER_LICENSE"], [Hmmer license])
+AC_DEFINE_UNQUOTED([HMMER_VERSION], ["$HMMER_VERSION"], [Hmmer version])
+AC_DEFINE_UNQUOTED([HMMER_URL], ["$HMMER_URL"], [Link to hmmer homepage])
+
+AC_DEFINE_UNQUOTED([EASEL_DATE], ["$EASEL_DATE"], [Timestamp of easel code])
+AC_DEFINE_UNQUOTED([EASEL_COPYRIGHT], ["$EASEL_COPYRIGHT"], [Easel copyright information])
+AC_DEFINE_UNQUOTED([EASEL_LICENSE], ["$EASEL_LICENSE"], [Easel license])
+AC_DEFINE_UNQUOTED([EASEL_VERSION], ["$EASEL_VERSION"], [Easel version])
-AC_DEFINE(eslLIBRARY)
+AC_DEFINE(eslLIBRARY, [], [esl library])
#AC_DEFINE(hmmerLIBRARY)
# Figure out what host we're compiling on.
@@ -182,11 +182,11 @@ AS_HELP_STRING([--enable-debugging=x],[a
enable_debugging=$enableval, enable_debugging=no)
case $enable_debugging in
- yes) AC_DEFINE(eslDEBUGLEVEL, 0);;
- 1) AC_DEFINE(eslDEBUGLEVEL, 1);;
- 2) AC_DEFINE(eslDEBUGLEVEL, 2);;
- 3) AC_DEFINE(eslDEBUGLEVEL, 3);;
- no) AC_DEFINE(eslDEBUGLEVEL, 0);;
+ yes) AC_DEFINE(eslDEBUGLEVEL, 0, [no debugging]);;
+ 1) AC_DEFINE(eslDEBUGLEVEL, 1, [debug level 1]);;
+ 2) AC_DEFINE(eslDEBUGLEVEL, 2, [debug level 2]);;
+ 3) AC_DEFINE(eslDEBUGLEVEL, 3, [debug level 3]);;
+ no) AC_DEFINE(eslDEBUGLEVEL, 0, [no debugging]);;
*) AC_MSG_ERROR([Unknown argument to --enable-debugging: $enable_debugging]);;
esac
@@ -293,7 +293,7 @@ case $enable_threads in
esac
AS_IF([test "x$check_threads" != xno],
- [ACX_PTHREAD([AC_DEFINE(HMMER_THREADS)
+ [ACX_PTHREAD([AC_DEFINE(HMMER_THREADS, [], [Threads for hmmer])
AC_DEFINE(HAVE_PTHREAD)
AC_SUBST(PTHREAD_LIBS)
AC_SUBST(PTHREAD_CFLAGS)],
@@ -356,7 +356,7 @@ AC_PROG_CC
AC_PROG_INSTALL
# MPI : set @CC@ to mpicc, sets @MPILIBS@, defines HAVE_MPI.
if test "$enable_mpi" = "yes"; then
- ACX_MPI([AC_DEFINE(HAVE_MPI)
+ ACX_MPI([AC_DEFINE(HAVE_MPI, [], [MPI enabled])
AC_SUBST([MPI_UTESTS], ["mpi_utest"])
AC_SUBST([MPI_BENCHMARKS], ["mpi_benchmark"])],
AC_MSG_ERROR([MPI library not found for --enable-mpi]))
@@ -376,7 +376,7 @@ CHECK_GNU_MAKE
# Select our optimization level in CFLAGS.
if test "$enable_debugging" != "no"; then
- AC_DEFINE(p7_DEBUGGING, 1)
+ AC_DEFINE(p7_DEBUGGING, 1, [p7 debugging level 1])
if test "$GCC" = "yes" && test "$sre_cflags_env_set" = "no"; then
CFLAGS="-g -Wall"
fi
@@ -454,7 +454,7 @@ if test "$impl_choice" = "sse"; then
__m128i b;
b = _mm_castps_si128(a);
a = _mm_castsi128_ps(b);]])],
- [AC_DEFINE([HAVE_SSE2_CAST])
+ [AC_DEFINE([HAVE_SSE2_CAST], [], [compiler support for sse2 cast functions])
ssecast=yes])
AC_MSG_RESULT([$ssecast])
CFLAGS="$sre_save_cflags"
@@ -531,7 +531,7 @@ if test "$impl_choice" = "sse"; then
[[_MM_SET_FLUSH_ZERO_MODE (_MM_FLUSH_ZERO_ON);
]])],
[ AC_MSG_RESULT([yes])
- AC_DEFINE([HAVE_FLUSH_ZERO_MODE])],
+ AC_DEFINE([HAVE_FLUSH_ZERO_MODE], [], [_MM_SET_FLUSH_ZERO_MODE is supported])],
[ AC_MSG_RESULT([no])]
)
CFLAGS="$sre_save_cflags"
@@ -540,16 +540,16 @@ fi
# Now, we can enable the appropriate optimized implementation.
case "$impl_choice" in
sse) AC_MSG_NOTICE([Activating Intel/AMD SSE optimized DP implementation])
- AC_DEFINE([HAVE_SSE2])
- AC_DEFINE([p7_IMPL_SSE])
+ AC_DEFINE([HAVE_SSE2], [], [Activating Intel/AMD SSE optimized DP implementation])
+ AC_DEFINE([p7_IMPL_SSE], [], [Activating Intel/AMD SSE optimized DP implementation])
AC_SUBST([HMMERIMPLLIB], ["impl_sse/libhmmerimpl.a"])
IMPL_CHOICE="sse"
INFERNAL_IMPLDIR="impl_sse"
;;
vmx) AC_MSG_NOTICE([Activating Altivec/VMX optimized DP implementation])
- AC_DEFINE([HAVE_VMX])
- AC_DEFINE([p7_IMPL_VMX])
+ AC_DEFINE([HAVE_VMX], [], [Activating Altivec/VMX optimized DP implementation])
+ AC_DEFINE([p7_IMPL_VMX], [], [Activating Altivec/VMX optimized DP implementation])
AC_SUBST([HMMERIMPLLIB], ["impl_vmx/libhmmerimpl.a"])
IMPL_CHOICE="vmx"
INFERNAL_IMPLDIR=""
@@ -582,7 +582,7 @@ AC_PATH_PROG(HAVE_GZIP, "gzip", "no")
if test "${HAVE_GZIP}" = "no"; then
AC_MSG_WARN([gzip not found])
else
- AC_DEFINE(HAVE_GZIP)
+ AC_DEFINE(HAVE_GZIP, [], [Use systm gzip library])
fi
# 5. Checks for libraries
@@ -731,6 +731,29 @@ AC_CONFIG_FILES([easel/testsuite/Makefil
AC_CONFIG_FILES([easel/Makefile])
AC_CONFIG_FILES([easel/documentation/Makefile])
+
+AH_TOP([
+/* RAMLIMIT (in MB) defines how much memory we're
+ * allowed to expend on alignment algorithms without
+ * switching to more efficient memory forms - e.g.
+ * in smallcyk.c
+ */
+#ifndef RAMLIMIT
+#define RAMLIMIT 0
+#endif
+
+/* SRE_CONLEVEL will prob move to squid somewhere.
+ * Set to 1 to activate contract checking, during debugging.
+ */
+#define SRE_CONLEVEL 1
+#if (SRE_CONLEVEL >= 1)
+#include <assert.h>
+#endif
+
+#define CMSEQDBENV "BLASTDB"
+#define CMDBENV "RFAMDB"
+])
+
################################################################
# 13. AC_OUTPUT
################################################################
Author: Andreas Tille
Last-Update: 2016-06-21 11:19:17 +0200
Description: Fix format security issues
Index: infernal-1.0.2/easel/esl_getopts.c
===================================================================
--- infernal-1.0.2.orig/easel/esl_getopts.c 2009-10-30 18:30:58.000000000 +0100
+++ infernal-1.0.2/easel/esl_getopts.c 2011-09-27 15:52:41.490289335 +0200
@@ -1270,7 +1270,7 @@
"Arg looks like option? Use %.24s%.24s if you really mean it.",
g->opt[opti].name, *ret_optarg);
} else
- ESL_FAIL(eslESYNTAX, "Option %.24s requires an argument", g->opt[opti].name);
+ ESL_FAIL(eslESYNTAX, g->errbuf, "Option %.24s requires an argument", g->opt[opti].name);
g->optstring = NULL; /* An optchar that takes an arg must terminate an optstring. */
}
Index: infernal-1.0.2/easel/esl_msa.c
===================================================================
--- infernal-1.0.2.orig/easel/esl_msa.c 2009-10-30 18:30:55.000000000 +0100
+++ infernal-1.0.2/easel/esl_msa.c 2011-09-27 15:57:44.961318373 +0200
@@ -3614,7 +3614,8 @@
ESL_MSA *msa = NULL;
if (esl_tmpfile_named(tmpfile, &fp) != eslOK) goto ERROR;
- fprintf(fp, s);
+ //fprintf(fp, s); // provokes error: format not a string literal and no format arguments [-Werror=format-security]
+ fputs(s,fp);
fclose(fp);
fp = NULL;
if (esl_msafile_Open(tmpfile, fmt, NULL, &mfp) != eslOK) goto ERROR;
Index: infernal-1.0.2/easel/esl_tree.c
===================================================================
--- infernal-1.0.2.orig/easel/esl_tree.c 2009-10-30 18:30:58.000000000 +0100
+++ infernal-1.0.2/easel/esl_tree.c 2011-09-27 15:59:14.101032221 +0200
@@ -149,7 +149,8 @@
ESL_TREE *T = NULL;
if (esl_tmpfile(tmpfile, &fp) != eslOK) goto ERROR;
- fprintf(fp, s);
+ //fprintf(fp, s); // provokes error: format not a string literal and no format arguments [-Werror=format-security]
+ fputs(s,fp);
rewind(fp);
if (esl_tree_ReadNewick(fp, NULL, &T) != eslOK) goto ERROR;
fclose(fp);
From: Michael R. Crusoe <michael.crusoe@gmail.com>
Subject: insert CPPFLAGS in easel
--- infernal.orig/easel/Makefile.in
+++ infernal/easel/Makefile.in
@@ -549,7 +549,7 @@
@${RANLIB} libeasel.a
${ALL_OBJS}: %.o : %.c ${HDRS} esl_config.h
- ${QUIET_CC}${CC} -I. -I${srcdir} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${DEFS} -c $<
+ ${QUIET_CC}${CC} -I. -I${srcdir} ${CPPFLAGS} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${DEFS} -c $<
# Driver compilation:
@@ -573,10 +573,10 @@
else DFILE=${srcdir}/esl_$${BASENAME}.c ;\
fi;\
if test ${V} ;\
- then echo "${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${UTEST_CFLAGS} ${DEFS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}" ;\
+ then echo "${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${CPPFLAGS} ${DEFS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}" ;\
else echo ' ' GEN $@ ;\
fi ;\
- ${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${DEFS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}
+ ${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${CPPFLAGS} ${DEFS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}
${ALL_BENCHMARKS}: libeasel.a
@BASENAME=`echo $@ | sed -e 's/_benchmark//'| sed -e 's/^esl_//'` ;\
@@ -587,10 +587,10 @@
else DFILE=${srcdir}/esl_$${BASENAME}.c ;\
fi;\
if test ${V} ;\
- then echo "${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMDFLAGS} ${DEFS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}" ;\
+ then echo "${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${DEFS} ${CPPFLAGS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}" ;\
else echo ' ' GEN $@ ;\
fi ;\
- ${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${DEFS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}
+ ${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${DEFS} ${CPPFLAGS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}
${ALL_EXPERIMENTS}: libeasel.a
@BASENAME=`echo $@ | sed -e 's/_experiment//'| sed -e 's/^esl_//'` ;\
@@ -601,10 +601,10 @@
else DFILE=${srcdir}/esl_$${BASENAME}.c ;\
fi;\
if test ${V} ;\
- then echo "${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMDFLAGS} ${DEFS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}" ;\
+ then echo "${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${DEFS} ${CPPFLAGS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}" ;\
else echo ' ' GEN $@ ;\
fi ;\
- ${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${DEFS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}
+ ${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${DEFS} ${CPPFLAGS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}
${ALL_EXAMPLES}: libeasel.a
@BASENAME=`echo $@ | sed -e 's/_example[0-9]*//'| sed -e 's/^esl_//'` ;\
@@ -614,10 +614,10 @@
else DFILE=${srcdir}/esl_$${BASENAME}.c ;\
fi ;\
if test ${V}; \
- then echo "${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMDFLAGS} ${DEFS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}" ;\
+ then echo "${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${DEFS} ${CPPFLAGS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}" ;\
else echo ' ' GEN $@ ;\
fi ;\
- ${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${DEFS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}
+ ${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${PIC_CFLAGS} ${SIMD_CFLAGS} ${DEFS} ${CPPFLAGS} ${LDFLAGS} -o $@ -I. -I${srcdir} -L. -D$${DFLAG} $${DFILE} -leasel -lm ${LIBS}
--- infernal.orig/easel/miniapps/Makefile.in
+++ infernal/easel/miniapps/Makefile.in
@@ -94,13 +94,13 @@
check: ${PROGS} easel
easel: % : %.c ../libeasel.a ${SUBCMDOBJS}
- ${QUIET_GEN}${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${DEFS} ${LDFLAGS} -L.. -I. -I.. -I${srcdir} -I${srcdir}/.. -o $@ $< ${SUBCMDOBJS} ${LIBS}
+ ${QUIET_GEN}${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${DEFS} ${LDFLAGS} ${CPPFLAGS} -L.. -I. -I.. -I${srcdir} -I${srcdir}/.. -o $@ $< ${SUBCMDOBJS} ${LIBS}
${PROGS}: % : %.c ../libeasel.a
- ${QUIET_GEN}${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${DEFS} ${LDFLAGS} -L.. -I. -I.. -I${srcdir} -I${srcdir}/.. -o $@ $< ${LIBS}
+ ${QUIET_GEN}${CC} ${CFLAGS} ${PTHREAD_CFLAGS} ${DEFS} ${LDFLAGS} ${CPPFLAGS} -L.. -I. -I.. -I${srcdir} -I${srcdir}/.. -o $@ $< ${LIBS}
${SUBCMDOBJS}: %.o : %.c ../libeasel.a
- ${QUIET_CC}${CC} -I. -I.. -I${srcdir} -I${srcdir}/.. ${CFLAGS} ${PTHREAD_CFLAGS} ${SIMD_CFLAGS} ${DEFS} -c $<
+ ${QUIET_CC}${CC} ${CPPFLAGS} -I. -I.. -I${srcdir} -I${srcdir}/.. ${CFLAGS} ${PTHREAD_CFLAGS} ${SIMD_CFLAGS} ${DEFS} -c $<
install: ${PROGS}
${INSTALL} -m 0755 easel ${DESTDIR}${bindir}/
--- infernal.orig/hmmer/profmark/Makefile.in
+++ infernal/hmmer/profmark/Makefile.in
@@ -43,12 +43,12 @@
dev: ${PROGS}
${PROGS}: % : %.o ../${ESLDIR}/libeasel.a ../src/libhmmer.a
- ${QUIET_GEN}${CC} ${CFLAGS} ${SSE_CFLAGS} ${VMX_CFLAGS} ${PTHREAD_CFLAGS} ${DEFS} ${LDFLAGS} -L../${ESLDIR} -L../src -o $@ $@.o ${LIBS}
+ ${QUIET_GEN}${CC} ${CPPFLAGS} ${CFLAGS} ${SSE_CFLAGS} ${VMX_CFLAGS} ${PTHREAD_CFLAGS} ${DEFS} ${LDFLAGS} -L../${ESLDIR} -L../src -o $@ $@.o ${LIBS}
${PROGOBJS}: ../src/hmmer.h ../src/p7_config.h
.c.o:
- ${QUIET_CC}${CC} ${ESLINC} ${SRCINC} ${CFLAGS} ${SSE_CFLAGS} ${VMX_CFLAGS} ${PTHREAD_CFLAGS} ${DEFS} -o $@ -c $<
+ ${QUIET_CC}${CC} ${CPPFLAGS} ${ESLINC} ${SRCINC} ${CFLAGS} ${SSE_CFLAGS} ${VMX_CFLAGS} ${PTHREAD_CFLAGS} ${DEFS} -o $@ -c $<
clean:
-rm -f *.o *~ ${PROGS}
--- infernal.orig/rmark/Makefile.in
+++ infernal/rmark/Makefile.in
@@ -43,12 +43,12 @@
dev: ${PROGS}
${PROGS}: % : %.o ../${HMMERDIR}/src/libhmmer.a ../${ESLDIR}/libeasel.a
- ${QUIET_GEN}${CC} ${CFLAGS} ${DEFS} ${LDFLAGS} -L../${HMMERDIR}/src -L../${ESLDIR} -L${SRCDIR} -o $@ $@.o ${LIBS}
+ ${QUIET_GEN}${CC} ${CPPFLAGS} ${CFLAGS} ${DEFS} ${LDFLAGS} -L../${HMMERDIR}/src -L../${ESLDIR} -L${SRCDIR} -o $@ $@.o ${LIBS}
${PROGOBJS}: ../${HMMERDIR}/src/hmmer.h ../${HMMERDIR}/src/p7_config.h ../src/infernal.h ../src/config.h
.c.o:
- ${QUIET_CC}${CC} ${ESLINC} ${SRCINC} ${CFLAGS} ${DEFS} -o $@ -c $<
+ ${QUIET_CC}${CC} ${CPPFLAGS} ${ESLINC} ${SRCINC} ${CFLAGS} ${DEFS} -o $@ -c $<
distclean: clean
-rm -f Makefile
#format_security.patch
#autoreconf.patch
spelling.patch
hardening
Author: Andreas Tille <tille@debian.org>
Last-Update: Mon, 16 Jul 2018 07:59:38 +0200
Description: Fix spelling
Index: infernal/src/cm_modelmaker.c
===================================================================
--- infernal.orig/src/cm_modelmaker.c
+++ infernal/src/cm_modelmaker.c
@@ -1361,7 +1361,7 @@ ConsensusModelmaker(const ESL_ALPHABET *
*/
esl_wuss_nopseudo(ss_cons, ss_cons); /* remove pknots in place */
ESL_ALLOC(ct, (clen+1) * sizeof(int));
- if ((status = esl_wuss2ct(ss_cons, clen, ct)) != eslOK) ESL_FAIL(status, errbuf, "Consensus string is inconsisent in ConsensusModelMaker().");
+ if ((status = esl_wuss2ct(ss_cons, clen, ct)) != eslOK) ESL_FAIL(status, errbuf, "Consensus string is inconsistent in ConsensusModelMaker().");
/* 2. Construct a guide tree.
* This codes is borrowed from HandModelmaker(), where it
Index: infernal/documentation/manpages/cmalign.man
===================================================================
--- infernal.orig/documentation/manpages/cmalign.man
+++ infernal/documentation/manpages/cmalign.man
@@ -309,7 +309,7 @@ only cells within the bands need be allo
Importantly, HMM banding sacrifices the guarantee of determining the
optimally accurarte or optimal alignment, which will be missed if it
-lies outside the bands. The tau paramater is the amount of probability
+lies outside the bands. The tau parameter is the amount of probability
mass considered negligible during HMM band calculation; lower values
of tau yield greater speedups but also a greater chance of missing the
optimal alignment. The default tau is 1E-7, determined empirically as
@@ -500,7 +500,7 @@ in previous versions of
.B --mapstr
Must be used in combination with
.BI --mapali " <f>".
-Propogate structural information for any pseudoknots that exist in
+Propagate structural information for any pseudoknots that exist in
.I <f>
to the output alignment. A similar option to this one was called
.B --withstr
Index: infernal/documentation/manpages/cmcalibrate.man
===================================================================
--- infernal.orig/documentation/manpages/cmcalibrate.man
+++ infernal/documentation/manpages/cmcalibrate.man
@@ -51,7 +51,7 @@ Interface) can be also be used for paral
.B --mpi
option if Infernal was built with MPI enabled, but using more than 161
processors is not recommended because increasing past 161 won't
-accelerate the calibration. See the Installation seciton of the user
+accelerate the calibration. See the Installation section of the user
guide for more information.
.PP
Index: infernal/hmmer/src/p7_builder.c
===================================================================
--- infernal.orig/hmmer/src/p7_builder.c
+++ infernal/hmmer/src/p7_builder.c
@@ -481,7 +481,7 @@ p7_Builder(P7_BUILDER *bld, ESL_MSA *msa
*
* Args: bld - build configuration
* sq - query sequence
- * bg - null model (needed to paramaterize insert emission probs)
+ * bg - null model (needed to parameterize insert emission probs)
* opt_hmm - optRETURN: new HMM
* opt_gm - optRETURN: profile corresponding to <hmm>
* opt_om - optRETURN: optimized profile corresponding to <gm>
Index: infernal/documentation/manpages/cmscan.man
===================================================================
--- infernal.orig/documentation/manpages/cmscan.man
+++ infernal/documentation/manpages/cmscan.man
@@ -746,7 +746,7 @@ option.
.TP
.B --oskip
-Omit any hit h from the tabular output file that satisifies the
+Omit any hit h from the tabular output file that satisfies the
following: another hit h2 overlaps with h and the E-value of h2 is
lower than that of h. Hit h will not appear in the tabular output
file, although it will still exist in the standard output.
Index: infernal/documentation/manpages/cmstat.man
===================================================================
--- infernal.orig/documentation/manpages/cmstat.man
+++ infernal/documentation/manpages/cmstat.man
@@ -115,7 +115,7 @@ include Rfam GA, TC, and/or NC bit score
and/or
.B --cut_nc
options can be used to display E-values that correspond to the bit
-score thresholds. Seperate bit scores or E-values will be displayed
+score thresholds. Separate bit scores or E-values will be displayed
for each of the four possible CM search algorithm and model
configuration pairs: local Inside, local CYK, glocal Inside and glocal
CYK.
#!/usr/bin/make -f
# -*- makefile -*-
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
include /usr/share/dpkg/default.mk
pkgdata:=infernal
sampledir:=$(CURDIR)/debian/$(DEB_SOURCE)/usr/share/doc/$(DEB_SOURCE)/examples
sampledir_lib:=$(CURDIR)/debian/$(DEB_SOURCE)/usr/lib/$(DEB_TARGET_MULTIARCH)/$(DEB_SOURCE)/examples
%:
dh $@
override_dh_auto_clean:
if [ -r Makefile ]; then $(MAKE) distclean; fi
-cd documentation/userguide && if [ -r Makefile ]; then make distclean; fi
-cd easel/documentation && if [ -r Makefile ]; then make distclean; fi
dh_clean *.1 */*.log *.log */Makefile Makefile documentation/manpages/*.1
rm -f testsuite/i49.tbl
override_dh_compress :
dh_compress -X.pdf
override_dh_auto_build:
dh_auto_build -- V=1
override_dh_auto_install:
$(MAKE) install -j$(shell nproc) AM_UPDATE_INFO_DIR=no V=1 prefix=$(CURDIR)/debian/tmp
override_dh_install:
dh_install
for bin in `ls $(CURDIR)/debian/infernal/usr/lib/infernal` ; do \
if [ $$bin != cmalign ] ; then \
ln -s cmalign $(CURDIR)/debian/infernal/usr/bin/$$bin ; \
fi ; \
done
override_dh_installexamples:
dh_installexamples
mkdir -p $(sampledir)
mkdir -p $(sampledir_lib)/src/
mkdir -p $(sampledir_lib)/easel/miniapps/
find ./src -name "*test" -exec cp \{\} $(sampledir_lib)/src/ \;
cp ./src/itest_brute $(sampledir_lib)/src/
cp ./easel/miniapps/esl-reformat $(sampledir_lib)/easel/miniapps/
cp ./easel/miniapps/esl-shuffle $(sampledir_lib)/easel/miniapps/
cp ./easel/miniapps/esl-sfetch $(sampledir_lib)/easel/miniapps/
cd $(sampledir) && ln -s ../../../../lib/$(DEB_TARGET_MULTIARCH)/$(DEB_SOURCE)/examples/easel ./easel \
&& ln -s ../../../../lib/$(DEB_TARGET_MULTIARCH)/$(DEB_SOURCE)/examples/src ./src
cp -aR testsuite $(sampledir)/
cp ./easel/devkit/sqc $(sampledir)/
Tests: run-unit-test
Depends: @, python3
Restrictions: