[med-svn] [Git][med-team/genometools][master] 6 commits: add patch to fix FTBFS
Sascha Steinbiss (@satta)
gitlab at salsa.debian.org
Mon Oct 6 20:02:17 BST 2025
Sascha Steinbiss pushed to branch master at Debian Med / genometools
Commits:
ec853223 by Sascha Steinbiss at 2025-10-06T20:34:18+02:00
add patch to fix FTBFS
- - - - -
1d7de6db by Sascha Steinbiss at 2025-10-06T20:34:25+02:00
bump Standards-Version
- - - - -
831bee86 by Sascha Steinbiss at 2025-10-06T20:34:34+02:00
New upstream version 1.6.6+ds
- - - - -
102e916f by Sascha Steinbiss at 2025-10-06T20:34:42+02:00
Update upstream source from tag 'upstream/1.6.6+ds'
Update to upstream version '1.6.6+ds'
with Debian dir 8de214f9a9b4816e79dd52fa7a3a698ffb0c8888
- - - - -
ade6a593 by Sascha Steinbiss at 2025-10-06T20:40:48+02:00
refresh and clean patches
- - - - -
395b4614 by Sascha Steinbiss at 2025-10-06T21:01:48+02:00
new upstream release
- - - - -
24 changed files:
- .github/workflows/build.yaml
- .github/workflows/release.yaml
- Makefile
- README.md
- VERSION
- debian/changelog
- debian/control
- debian/patches/adding_soname
- debian/patches/ignore-m32-m64.patch
- debian/patches/reproducible
- src/annotationsketch/gt_sketch_page.c
- src/core/types_api.h
- src/examples/sketch_parsed_with_ctrack.c
- src/extended/md5set.c
- src/match/idxlocalidp.c
- src/match/spaced-seeds.c
- www/genometools.org/htdocs/annotationsketch.html
- − www/genometools.org/htdocs/cgi-bin/annotationsketch_demo.cgi
- − www/genometools.org/htdocs/cgi-bin/gff3validator.cgi
- www/genometools.org/htdocs/contribute.html
- www/genometools.org/htdocs/customtracks.html
- www/genometools.org/htdocs/examples_tmpl.html
- www/genometools.org/htdocs/style_options.html
- www/genometools.org/htdocs/trackselectors.html
Changes:
=====================================
.github/workflows/build.yaml
=====================================
@@ -50,9 +50,9 @@ jobs:
strategy:
matrix:
options:
- - assert=no errorcheck=yes
- - opt=no cairo=no errorcheck=yes
- - amalgamation=yes errorcheck=yes
+ - assert=no errorcheck=yes verbose=yes
+ - opt=no cairo=no errorcheck=yes verbose=yes
+ - amalgamation=yes errorcheck=yes verbose=yes
runs-on: macos-latest
env:
BUILDOPTS: $${{ matrix.options }}
@@ -85,7 +85,7 @@ jobs:
AR: ${{ matrix.mingw-arch.machine }}-w64-mingw32-ar
CFLAGS: -Wno-error=attributes -Wno-error=unused-parameter -DSQLITE_MALLOCSIZE=_msize
runs-on: ubuntu-latest
- container: debian:buster
+ container: debian:stable
steps:
- name: Check out repository code
uses: actions/checkout at v2
=====================================
.github/workflows/release.yaml
=====================================
@@ -139,7 +139,7 @@ jobs:
CFLAGS: -Wno-error=attributes -Wno-error=unused-parameter -DSQLITE_MALLOCSIZE=_msize
runs-on: ubuntu-latest
container:
- image: debian:buster
+ image: debian:stable
steps:
- name: Check out repository code
uses: actions/checkout at v2
=====================================
Makefile
=====================================
@@ -28,7 +28,7 @@ else
endif
# add necessary shared lib dependencies instead of building them ourselves
-ZLIB_DIR:=src/external/zlib-1.3.0.1
+ZLIB_DIR:=src/external/zlib-1.3.1
ifeq ($(useshared),yes)
ifeq ($(HAS_PKGCONFIG),yes)
DEPLIBS:=-lbz2 \
@@ -99,7 +99,7 @@ EXP_CXXFLAGS:=$(CXXFLAGS)
EXP_CPPFLAGS:=$(CPPFLAGS)
EXP_LDLIBS:=$(LIBS) -lm
# ...while those starting with GT_ are for internal purposes only
-GT_CFLAGS:=-g -Wall -Wunused-parameter -pipe $(FPIC) -Wpointer-arith -Wno-unknown-pragmas
+GT_CFLAGS:=-g -Wall -Wunused-parameter -pipe $(FPIC) -Wpointer-arith -Wno-unknown-pragmas -Wno-macro-redefined
# expat needs -DHAVE_MEMMOVE
# zlib needs -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN
EXT_FLAGS:= -DHAVE_MEMMOVE -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN
@@ -230,7 +230,7 @@ EXP_LDLIBS += $(DEPLIBS)
GTSHAREDLIB_LIBDEP += $(DEPLIBS)
SERVER=satta at genometools.org
-WWWBASEDIR=/var/www/servers
+WWWBASEDIR=/var/www/
# process arguments
ifeq ($(assert),no)
@@ -371,10 +371,10 @@ ifeq ($(m64),yes)
endif
ifeq ($(findstring clang,$(CC)),clang)
- # do not complain about unnecessary options
+ # do not complain about unnecessary options and more
GT_CFLAGS += -Qunused-arguments -Wno-parentheses
GT_CPPFLAGS += -Qunused-arguments -Wno-parentheses
- # do not complain about indentation in 3rdparty code
+ # do not complain about indentation
GT_CFLAGS += -Wno-misleading-indentation
endif
=====================================
README.md
=====================================
@@ -24,11 +24,11 @@ example, Linux, macOS, and OpenBSD.
Debian and Ubuntu users can install the most recent
stable version simply using apt, e.g.
```bash
-% apt-get install genometools
+apt-get install genometools
```
(as root) to install the `gt` executable. To install the library and development headers, use
```bash
-% apt-get install libgenometools0 libgenometools0-dev
+apt-get install libgenometools0 libgenometools0-dev
```
instead. This is not required to just use the tools.
@@ -37,7 +37,7 @@ instead. This is not required to just use the tools.
If [Homebrew](https://brew.sh) is installed, GenomeTools can be installed on
supported macOS versions using `brew`:
```bash
-$ brew install genometools
+brew install genometools
```
#### Building from source
@@ -50,7 +50,7 @@ have a look at the
[INSTALL](https://github.com/genometools/genometools/blob/master/INSTALL) file.
In most cases (e.g. on a 64-bit Linux system) something like
```bash
-$ make -j4
+make -j4
```
should suffice. On 32-bit systems, add the `32bit=yes` option. Add `cairo=no` if
you do not have the Cairo libraries and their development headers installed.
@@ -59,7 +59,7 @@ When your binary has been built, use the `install` target and `prefix` option to
install the compiled binary on your system. Make sure you repeat all the options
from the original `make` run. So
```bash
-$ make -j4 install prefix=~/gt
+make -j4 install prefix=~/gt
```
would install the software in the `gt` subdirectory in the current user's home
directory. If no `prefix` option is given, the software will be installed
=====================================
VERSION
=====================================
@@ -1 +1 @@
-1.6.5
+1.6.6
=====================================
debian/changelog
=====================================
@@ -1,3 +1,18 @@
+genometools (1.6.6+ds-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Remove patches applied upstream.
+
+ -- Sascha Steinbiss <satta at debian.org> Mon, 06 Oct 2025 20:40:58 +0200
+
+genometools (1.6.5+ds-3) unstable; urgency=medium
+
+ * Add patch to fix FTBFS.
+ Closes: #1114122
+ * Bump Standards-Version.
+
+ -- Sascha Steinbiss <satta at debian.org> Tue, 30 Sep 2025 19:28:58 +0200
+
genometools (1.6.5+ds-2.2) unstable; urgency=medium
* Non-maintainer upload.
=====================================
debian/control
=====================================
@@ -34,7 +34,7 @@ Build-Depends: dpkg-dev (>= 1.22.5), debhelper (>= 13),
docbook-xml,
faketime,
imagemagick
-Standards-Version: 4.6.1
+Standards-Version: 4.7.2
Rules-Requires-Root: no
Vcs-Browser: https://salsa.debian.org/med-team/genometools
Vcs-Git: https://salsa.debian.org/med-team/genometools.git
=====================================
debian/patches/adding_soname
=====================================
@@ -5,7 +5,7 @@ Description: add soname to linker call in Makefile
Author: Sascha Steinbiss <steinbiss at zbh.uni-hamburg.de>
--- a/Makefile
+++ b/Makefile
-@@ -139,6 +139,7 @@
+@@ -140,6 +140,7 @@
SHARED_OBJ_NAME_EXT:=.so
SHARED:=-shared
endif
=====================================
debian/patches/ignore-m32-m64.patch
=====================================
@@ -23,5 +23,5 @@ Author: Sascha Steinbiss <satta at debian.org>
-endif
-
ifeq ($(findstring clang,$(CC)),clang)
- # do not complain about unnecessary options
+ # do not complain about unnecessary options and more
GT_CFLAGS += -Qunused-arguments -Wno-parentheses
=====================================
debian/patches/reproducible
=====================================
@@ -10,7 +10,7 @@ Author: Sascha Steinbiss <satta at debian.org>
INCLUDEOPT:=-I$(CURDIR)/src -I$(CURDIR)/obj
ifeq ($(shell pkg-config --version > /dev/null 2> /dev/null; echo $$?),0)
-@@ -712,7 +713,7 @@
+@@ -728,7 +729,7 @@
$(V_DO)(echo '#ifndef GT_CONFIG_H' ;\
echo '#define GT_CONFIG_H' ;\
echo '#define GT_CC "'`$(CC) --version | head -n 1`\" ;\
@@ -19,7 +19,7 @@ Author: Sascha Steinbiss <satta at debian.org>
echo '$(EXP_CPPFLAGS) $(GT_CPPFLAGS)' | \
sed -e 's/\([^\]\)"/\1\\"/g' -e 's/^"/\\"/g' -e 's/$$/"/' \
-e 's/^/#define GT_CPPFLAGS "/'; \
-@@ -911,7 +912,7 @@
+@@ -927,7 +928,7 @@
> www/genometools.org/htdocs/libgenometools.html
bin/gt gtscripts/gtdoc.lua -lua -html $(CURDIR) \
> www/genometools.org/htdocs/docs.html
=====================================
src/annotationsketch/gt_sketch_page.c
=====================================
@@ -51,7 +51,7 @@
#include "annotationsketch/text_width_calculator_cairo.h"
#define TEXT_SPACER 8 /* pt */
-#define TIME_DATE_FORMAT "%a, %b %d %Y - %T"
+#define TIME_DATE_FORMAT "%a, %b %d %Y - %H:%M:%S"
typedef struct {
GtUword width;
=====================================
src/core/types_api.h
=====================================
@@ -26,14 +26,14 @@
#ifndef _WIN32
#define GT_LLD "%lld"
#else
-#define GT_LLD "%I64d"
+#define GT_LLD "%lld"
#endif
/* Define the conversion string for '%llu' in platform independent fashion. */
#ifndef _WIN32
#define GT_LLU "%llu"
#else
-#define GT_LLU "%I64u"
+#define GT_LLU "%llu"
#endif
/* Define the conversion string for 'ld' in platform independent fashion. Note
@@ -43,8 +43,8 @@
#define GT_WDS "ld"
#define GT_WD "%ld"
#else
-#define GT_WDS "I64d"
-#define GT_WD "%I64d"
+#define GT_WDS "lld"
+#define GT_WD "%lld"
#endif
/* Define the conversion string for 'lu' in platform independent fashion. Note
@@ -54,22 +54,22 @@
#define GT_WUS "lu"
#define GT_WU "%lu"
#else
-#define GT_WUS "I64u"
-#define GT_WU "%I64u"
+#define GT_WUS "llu"
+#define GT_WU "%llu"
#endif
/* Define the conversion string for '%lX' in platform independent fashion. */
#ifndef _WIN64
#define GT_LX "%lX"
#else
-#define GT_LX "%I64X"
+#define GT_LX "%llX"
#endif
/* Define the conversion string for '%zu' in platform independent fashion. */
#if !defined(_WIN32)
#define GT_ZU "%zu"
#elif defined(_WIN64)
-#define GT_ZU "%I64u"
+#define GT_ZU "%llu"
#else
#define GT_ZU "%u"
#endif
=====================================
src/examples/sketch_parsed_with_ctrack.c
=====================================
@@ -1,7 +1,8 @@
#include "genometools.h"
#include "annotationsketch/custom_track_example.h"
-#include "core/seq_api.h"
#include "core/bioseq_api.h"
+#include "core/seq_api.h"
+#include "core/types_api.h"
static void handle_error(GtError *err)
{
@@ -60,9 +61,9 @@ int main(int argc, char *argv[])
seqid = argv[5];
if (gt_feature_index_get_range_for_seqid(feature_index, &range, seqid, err))
handle_error(err);
- sscanf(argv[6], "%lu", &range.start);
- sscanf(argv[7], "%lu", &range.end);
- sscanf(argv[8], "%lu", &windowsize);
+ sscanf(argv[6], GT_WU, &range.start);
+ sscanf(argv[7], GT_WU, &range.end);
+ sscanf(argv[8], GT_WU, &windowsize);
diagram = gt_diagram_new(feature_index, seqid, &range, style, err);
if (gt_error_is_set(err))
=====================================
src/extended/md5set.c
=====================================
@@ -29,7 +29,7 @@
typedef struct {
uint64_t l, h;
-} md5_t;
+} _md5_t;
#define MD5_T_EQUAL(A, B) \
((A).l == (B).l && (A).h == (B).h)
@@ -83,7 +83,7 @@ static GtUword md5set_get_size(GtUword n)
struct GtMD5Set
{
/* hash table */
- md5_t *table;
+ _md5_t *table;
GtUword alloc;
GtUword fill;
GtUword maxfill;
@@ -110,7 +110,7 @@ enum MD5SetSearchResult
};
static inline enum MD5SetSearchResult md5set_search_pos(GtMD5Set *set,
- md5_t k,
+ _md5_t k,
bool
insert_if_not_found,
GtUword i)
@@ -135,7 +135,7 @@ static inline enum MD5SetSearchResult md5set_search_pos(GtMD5Set *set,
#define MD5SET_H2(MD5, TABLE_SIZE) \
(((MD5).h % ((TABLE_SIZE) - 1)) + 1)
-static bool md5set_search(GtMD5Set *set, md5_t k, bool insert_if_not_found)
+static bool md5set_search(GtMD5Set *set, _md5_t k, bool insert_if_not_found)
{
GtUword i, c;
#ifndef NDEBUG
@@ -163,7 +163,7 @@ static bool md5set_search(GtMD5Set *set, md5_t k, bool insert_if_not_found)
}
}
-static void md5set_rehash(GtMD5Set *set, md5_t *oldtable, GtUword oldsize)
+static void md5set_rehash(GtMD5Set *set, _md5_t *oldtable, GtUword oldsize)
{
GtUword i;
set->fill = 0;
@@ -176,7 +176,7 @@ static void md5set_rehash(GtMD5Set *set, md5_t *oldtable, GtUword oldsize)
static void md5set_alloc_table(GtMD5Set *set, GtUword newsize)
{
- md5_t *oldtable;
+ _md5_t *oldtable;
GtUword oldsize;
oldsize = set->alloc;
@@ -184,7 +184,7 @@ static void md5set_alloc_table(GtMD5Set *set, GtUword newsize)
set->alloc = newsize;
set->maxfill =
(GtUword)((double)newsize * MD5SET_MAX_LOAD_FACTOR);
- set->table = gt_calloc((size_t)newsize, sizeof (md5_t));
+ set->table = gt_calloc((size_t)newsize, sizeof (_md5_t));
if (oldtable != NULL) {
gt_log_log("rehashing " GT_WU " elements; old size: " GT_WU ", new size: "
GT_WU "\n", set->fill, oldsize, newsize);
@@ -238,7 +238,7 @@ GtMD5SetStatus gt_md5set_add_sequence(GtMD5Set *set, const char* seq,
GtUword seqlen, bool both_strands,
GtError *err)
{
- md5_t md5sum, md5sum_rc;
+ _md5_t md5sum, md5sum_rc;
GtUword i;
int retval = 0;
bool found;
=====================================
src/match/idxlocalidp.c
=====================================
@@ -496,7 +496,7 @@ static Limdfsconstinfo *locali_allocatedfsconstinfo (GT_UNUSED
}
static void locali_initdfsconstinfo (Limdfsconstinfo *lci,
- unsigned int alphasize,...)
+ GT_UNUSED unsigned int alphasize, ...)
{
va_list ap;
=====================================
src/match/spaced-seeds.c
=====================================
@@ -60,7 +60,7 @@ static Limdfsconstinfo *spse_allocatedfsconstinfo(
}
static void spse_initdfsconstinfo(Limdfsconstinfo *mt,
- unsigned int alphasize,
+ GT_UNUSED unsigned int alphasize,
...)
/* Variable argument list is as follows:
const GtUchar *pattern,
=====================================
www/genometools.org/htdocs/annotationsketch.html
=====================================
@@ -22,7 +22,6 @@
<li><a href="customtracks.html">Custom tracks</a></li>
<li><a href="annotationsketch.html#gtsketch">The <tt>gt sketch</tt> tool</a></li>
<li><a href="examples.html">Code examples</a></li>
- <li><a href="cgi-bin/annotationsketch_demo.cgi">Try it online</a></li>
<li><a href="libgenometools.html">API reference</a></li>
</ul>
<li><a href="/cgi-bin/gff3validator.cgi">GFF3 validator</a></li>
@@ -46,7 +45,6 @@ module is a versatile and efficient C-based drawing library for GFF3-compatible
<li><a href="#customtracks">Custom tracks</a></li>
<li><a href="#gtsketch">The <tt>gt sketch</tt> tool</a></li>
<li><a href="#examples">Code examples</a></li>
- <li><a href="#tryme">Try <em>AnnotationSketch</em> online!</a></li>
<li><a href="#api">API Reference</a></li>
</ul>
</p>
@@ -227,10 +225,6 @@ If the PDF, SVG and/or PostScript output format options are not available in the
<h2>Code examples</h2>
Besides the native C programming interface, <em>AnnotationSketch</em> is usable from a variety of programming languages. Code examples for the individual languages can be found <a href="examples.html">here</a>.
-<a name="tryme"></a>
-<h2>Try <em>AnnotationSketch</em> online!</h2>
-<a href="cgi-bin/annotationsketch_demo.cgi">Upload your own annotations</a> to a simple <em>AnnotationSketch</em>-based web application showing how output can look like.
-
<a name="api"></a>
<h2>API Reference</h2>
A function reference for the <em>AnnotationSketch</em> classes can be found in
=====================================
www/genometools.org/htdocs/cgi-bin/annotationsketch_demo.cgi deleted
=====================================
@@ -1,270 +0,0 @@
-#!/usr/bin/env ruby1.8
-#
-# Copyright (c) 2008 Sascha Steinbiss <steinbiss at zbh.uni-hamburg.de>
-# Copyright (c) 2008 Center for Bioinformatics, University of Hamburg
-#
-# Permission to use, copy, modify, and distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-#
-
-GENOMETOOLS_PATH = "/home/satta/genometools_for_web"
-GTRUBY_PATH = "#{GENOMETOOLS_PATH}/gtruby"
-# the LD_LIBRARY_PATH has to be set externally to "#{GENOMETOOLS_PATH}/lib"!
-STYLE_FILE = "#{GENOMETOOLS_PATH}/gtdata/sketch/default.style"
-DEFAULT_ANNOTATION_FILE = "#{GENOMETOOLS_PATH}/testdata/standard_gene_as_tree.gff3"
-SCRIPT_PATH = "/var/www/servers/genometools.org/htdocs/cgi-bin"
-UPLOAD_PATH = "/tmp"
-IMAGE_DIR = "imgs" # relative paths from SCRIPT_PATH please
-MAXSIZE = 2097152
-
-$: << (GTRUBY_PATH)
-require "gtruby"
-require "cgi"
-
-puts "Content-type: text/html"
-puts ""
-
-cgi = CGI.new("html4")
-
-class String
-# String#strip_html - Removes HTML tags from a string.
-# Author:: Rob Pitt
-# Removes HTML tags from a string. Allows you to specify some tags to be kept.
- def strip_html( allowed = [] )
- re = if allowed.any?
- Regexp.new(
- %(<(?!(\\s|\\/)*(#{
- allowed.map {|tag| Regexp.escape( tag )}.join( "|" )
- })( |>|\\/|'|"|<|\\s*\\z))[^>]*(>+|\\s*\\z)),
- Regexp::IGNORECASE | Regexp::MULTILINE, 'u'
- )
- else
- /<[^>]*(>+|\s*\z)/m
- end
- gsub(re,'')
- end
-end
-
-HTML_HEADER = <<END
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>The AnnotationSketch module</title>
-<link rel="stylesheet" type="text/css" href="../style.css">
-<script type="text/javascript">
- function disable(field) {
- field.disabled = true;
- field.readonly = true;
- }
-
- function enable(field) {
- field.disabled = false;
- field.readonly = false;
- }
-</script>
-</head>
-<body>
-<div id="menu">
-<ul>
-<li><a href="../index.html">Overview</a></li>
-<li><a href="https://github.com/genometools/genometools/releases">Releases</a></li>
-<li><a href="pub/">Archive</a></li>
-<li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
-<li><a href="../documentation.html">Documentation</a></li>
-<li><a href="../annotationsketch.html"><tt>AnnotationSketch</tt></a></li>
- <ul class="submenu">
- <li><a href="../annotationsketch.html#collapsing">Collapsing</a></li>
- <li><a href="../annotationsketch.html#styles">Styles</a></li>
- <li><a href="../trackselectors.html">Track assignment</a></li>
- <li><a href="../customtracks.html">Custom tracks</a></li>
- <li><a href="../annotationsketch.html#gtsketch">The <tt>gt sketch</tt> tool</a></li>
- <li><a href="../examples.html">Code examples</a></li>
- <li><a id="current" href="cgi-bin/annotationsketch_demo.cgi">Try it online</a></li>
- <li><a href="../libgenometools.html">API reference</a></li>
- </ul>
-<li><a href="/cgi-bin/gff3validator.cgi">GFF3 validator</a></li>
-<li><a href="../license.html">License</a></li>
-</ul>
-</div>
-<div id="main">
- <h1><em>AnnotationSketch</em> online demo</h1>
- <p>Use this form to upload a GFF3 annotation file (up to 2MB) which is then
- drawn using an <em>AnnotationSketch</em>-based Ruby script and output to
- your browser. Some basic options, such as displayed sequence region and
- range, or the generated image width, can be set. For more options, the
- stand-alone <tt>gt sketch</tt> tool can be used.</p>
-END
-
-HTML_FOOTER = <<END
-<div id="footer">
-Copyright © 2007-2023 Sascha Steinbiss. Last update: 2011-02-11
-</div>
-</div>
-</body>
-</html>
-END
-
-UPLOAD_FORM = <<END
- <form action="annotationsketch_demo.cgi" method="POST" enctype="multipart/form-data">
- <table>
- <tr><td>Annotation file:</td>
- <td>
- <input type="radio" name="example" value="example" onclick="disable(this.form.file);" %s>Example file<br>
- <input type="radio" name="example" value="file" onclick="enable(this.form.file);" %s>Custom file: <input name="file" type="file" %s>
- <input type="hidden" name="submitted" value="true">
- </td>
- </tr>
- <tr>
- <td>Sequence region:</td>
- <td><input name="seqid" type="text" value="%s"></td>
- </tr>
- <tr><td></td><td style="font-size:small;">
- (leave blank to use first sequence region in file)</td>
- </tr>
- <tr>
- <td>Range to display:</td>
- <td><input name="rangestart" size="10" type="text" value="%s">bp
- –
- <input name="rangeend" size="10" type="text" value="%s">bp</td>
- <tr><td></td><td style="font-size:small;">
- (leave blank to show complete sequence region)</td>
- </tr>
- <tr>
- <td>Image width:</td>
- <td><input name="width" type="text" value="%s"> pixels</td>
- </tr>
- <tr>
- <td colspan=2><input value="Sketch this file!" type="submit"></td>
- </tr>
- </table>
- </form>
-END
-
-HTML_IMAGE = <<END
- <h2><em>AnnotationSketch</em> diagram of %s</h2>
- <div>
- <p><img src="%s" alt="AnnotationSketch diagram"></p>
- </div>
-END
-
-puts HTML_HEADER
-
-if cgi.params.has_key?('submitted') then
- # CGI parameters behave differently with uploaded file size.
- # StringIO.read does not seem to work right either.
- # account for that by checking for the type of the parameters
- if cgi["example"].kind_of?(StringIO) then
- read_method = :string
- else
- read_method = :read
- end
- begin
- if cgi["example"].nil? or cgi["example"].send(read_method) == "example" then
- e_str = 'checked="checked"'
- d_str1 = ""
- d_str2 = 'disabled="disabled"'
- else
- e_str = ""
- d_str1 = 'checked="checked"'
- d_str2 = ""
- end
- puts UPLOAD_FORM % [e_str, \
- d_str1, \
- d_str2, \
- cgi['seqid'].string.strip_html, \
- cgi['rangestart'].string.strip_html, \
- cgi['rangeend'].string.strip_html, \
- cgi['width'].string.strip_html]
-
- if cgi["example"].nil? or cgi["example"].send(read_method) == "example" then
- targetfilename = DEFAULT_ANNOTATION_FILE
- originalfilename = File.basename(DEFAULT_ANNOTATION_FILE)
- else
- ufile = cgi.params['file']
- if ufile.first.length == 0 then
- GT::gterror("No file was uploaded!")
- elsif ufile.first.length > MAXSIZE then
- GT::gterror("Your uploaded file was too large! This demo service
- supports annotation files up to #{(MAXSIZE/1024)}KB. Please
- upload a smaller file.")
- end
- # mangle file path to avoid directory traversal attacks
- originalfilename = ufile.first.original_filename
- truncated_filename = File.basename(File.expand_path(originalfilename))
- targetfilename = "#{UPLOAD_PATH}/#{truncated_filename}"
- File.open(targetfilename, "w+") do |file|
- file.write(ufile.first.read)
- end
- end
- feature_index = GT::FeatureIndexMemory.new()
- feature_index.add_gff3file(targetfilename)
-
- if cgi['width'].string != "" then
- width = cgi['width'].send(read_method).to_i
- if width < 70 then
- GT::gterror("Please set a width of more than 70 pixels!")
- end
- else
- width = 800
- end
-
- if cgi['seqid'].string.to_s != "" then
- seqid = cgi['seqid'].string
- seqids = feature_index.get_seqids
- if !seqids.include?(seqid) then
- if not cgi["example"].send(read_method) == "example" then
- File.unlink(targetfilename)
- end
- GT::gterror("Invalid sequence region '#{seqid}':
- must be #{"one of" unless seqids.length == 1}
- #{seqids.collect{|v|""#{v}""}.join(" or ")}!")
- end
- else
- seqid = feature_index.get_first_seqid
- end
-
- if cgi['rangestart'] and cgi['rangestart'].string != "" \
- and cgi['rangeend'] and cgi['rangeend'].string != "" then
- range = GT::Range.malloc
- range.start = cgi['rangestart'].string.to_i
- range.end = cgi['rangeend'].string.to_i
- if range.start >= range.end then
- GT::gterror("Invalid range, must be numeric and
- <i>start</i> must be < <i>end</i>!")
- end
- else
- range = feature_index.get_range_for_seqid(seqid)
- end
-
- style = GT::Style.new()
- style.load_file(STYLE_FILE)
- d = GT::Diagram.from_index(feature_index, seqid, range, style)
- l = GT::Layout.new(d, width, style)
- c = GT::CanvasCairoFile.new(style, width, l.get_height())
- l.sketch(c)
- c.to_file("#{SCRIPT_PATH}/#{IMAGE_DIR}/#{originalfilename}.png")
- puts HTML_IMAGE % [originalfilename.strip_html, \
- "#{IMAGE_DIR}/#{originalfilename}.png"]
- if not cgi["example"].send(read_method) == "example" then
- File.unlink(targetfilename)
- end
- rescue Exception => err:
- puts "<h2>An error has occurred</h2><p>#{err}</p>"
- end
-else
- puts UPLOAD_FORM % ['checked="checked"', '', 'disabled="disabled"', '', '', \
- '', 800]
-end
-
-print HTML_FOOTER
=====================================
www/genometools.org/htdocs/cgi-bin/gff3validator.cgi deleted
=====================================
@@ -1,216 +0,0 @@
-#!/usr/bin/env ruby1.8
-#
-# Copyright (c) 2012 Sascha Steinbiss <steinbiss at zbh.uni-hamburg.de>
-# Copyright (c) 2012 Center for Bioinformatics, University of Hamburg
-#
-# Permission to use, copy, modify, and distribute this software for any
-# purpose with or without fee is hereby granted, provided that the above
-# copyright notice and this permission notice appear in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-#
-
-GENOMETOOLS_PATH = "/home/satta/genometools_for_web"
-GTRUBY_PATH = "#{GENOMETOOLS_PATH}/gtruby"
-# the LD_LIBRARY_PATH has to be set externally to "#{GENOMETOOLS_PATH}/lib"!
-SCRIPT_PATH = "/var/www/servers/genometools.org/htdocs/cgi-bin"
-UPLOAD_PATH = "/var/www/servers/genometools.org/htdocs/cgi-bin/gff3"
-MAXSIZE = 52428800
-
-$: << (GTRUBY_PATH)
-require "gtruby"
-require "cgi"
-require 'tempfile'
-
-puts "Content-type: text/html"
-puts ""
-
-cgi = CGI.new("html4")
-
-HTML_HEADER = <<END
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>GFF3 Online Validator</title>
-<link rel="stylesheet" type="text/css" href="../style.css">
-<style type="text/css">
-table.padded-table td {
- padding: 0px 7px;
- }
-</style>
-<script type="text/javascript">
- function disable(field) {
- field.disabled = true;
- field.readonly = true;
- }
-
- function enable(field) {
- field.disabled = false;
- field.readonly = false;
- }
-</script>
-</head>
-<body>
-<div id="menu">
-<ul>
-<li><a href="../index.html">Overview</a></li>
-<li><a href="https://github.com/genometools/genometools/releases">Releases</a></li>
-<li><a href="pub/">Archive</a></li>
-<li><a href="https://github.com/genometools/genometools">Browse source</a></li>
-<li><a href="http://github.com/genometools/genometools/issues/">Issue tracker</a></li>
-<li><a href="../documentation.html">Documentation</a></li>
-<li><a href="../annotationsketch.html"><tt>AnnotationSketch</tt></a></li>
-<li><a id="current" href="/cgi-bin/gff3validator.cgi">GFF3 validator</a></li>
-<li><a href="../license.html">License</a></li>
-</ul>
-</div>
-<div id="main">
- <h1><em>GFF3 online validator</h1>
- <p>Use this form to upload a GFF3 annotation file (up to 50 MB, can be .gz or
-.bz2 compressed) which is then validated against the <a href="http://www.sequenceontology.org/gff3.shtml">GFF3 specification</a> (potentially also using the current <a href="http://song.cvs.sourceforge.net/song/ontology/so.obo?view=log">Sequence Ontology OBO file</a>).</p>
-END
-
-HTML_FOOTER = <<END
-<div id="footer">
-Copyright © 2012-2023 Sascha Steinbiss. Last update: 2015-01-25
-</div>
-</div>
-</body>
-</html>
-END
-
-UPLOAD_FORM = <<END
- <form action="gff3validator.cgi" method="POST" enctype="multipart/form-data">
- <table>
- <input type="hidden" name="submitted" value="true">
- <tr><td>Annotation file:</td>
- <td>
- <input name="file" type="file">
- </td>
- </tr>
- <tr><td></td>
- <td>
- <input type="checkbox" name="tidy" %s>enable "tidy" mode (tries to fix errors) <br />
- <input type="checkbox" name="type" %s>use Sequence Ontology to validate types and parent-child relationships<br />
- <input type="checkbox" name="show" %s>also report content of affected GFF lines <br />
- </td>
- </tr>
- <tr>
- <td colspan=2><input value="Validate this file!" type="submit"></td>
- </tr>
- </table>
- </form>
- <p>This GFF3 validator is part of the <em>GenomeTools</em> distribution which you
-can <a href="http://genometools.org/pub">download</a> to your computer.
-Use the <tt>gff3validator</tt> tool to validate your own – possibly larger – GFF3 files (with option <tt>-typecheck so</tt> to use the Sequence Ontology). Use the <tt>gff3</tt> tool with option <tt>-tidy</tt> to tidy them up (<tt>-help</tt> shows further options).</p>
-END
-
-puts HTML_HEADER
-
-def print_gff3line(line, lineno, red = false)
- puts "<tr>"
- puts "<td style='font-family: Verdana, Geneva, Arial, sans-serif;'>#{lineno}</td>"
- puts "<td>#{if red then "→" end}</td>"
- line.split("\t").each do |v|
- print "<td #{if red then "style='color:red;'" end}>#{v}</td>"
- end
- puts
- puts "</tr>"
-end
-
-if cgi.params.has_key?('submitted') then
- tidy = (cgi.params["tidy"].length > 0)
- type = (cgi.params["type"].length > 0)
- show = (cgi.params["show"].length > 0)
- begin
- show_checked = ''
- type_checked = ''
- tidy_checked = ''
- if tidy then
- tidy_checked = 'checked="checked"'
- end
- if type then
- type_checked = 'checked="checked"'
- end
- if show then
- show_checked = 'checked="checked"'
- end
-
- puts UPLOAD_FORM % [tidy_checked, type_checked, show_checked]
-
- ufile = cgi.params['file']
- if ufile.first.length == 0 then
- GT::gterror("No file was uploaded!")
- elsif ufile.first.length > MAXSIZE then
- GT::gterror("Your uploaded file was too large! This service
- supports annotation files up to #{(MAXSIZE/1024)}KB. Please
- upload a smaller file.")
- end
- # mangle file path to avoid directory traversal attacks
- originalfilename = ufile.first.original_filename
- truncated_filename = File.basename(File.expand_path(originalfilename))
- targetfilename = "#{UPLOAD_PATH}/#{truncated_filename}"
- File.open(targetfilename, "w+") do |file|
- file.write(ufile.first.read)
- end
-
- errfile = Tempfile.new('validator')
- $stderr.reopen(errfile)
-
- stream = GT::GFF3InStream.new(targetfilename, false)
- if type then
- checker = GT::TypeCheckerOBO.new("#{GENOMETOOLS_PATH}/gtdata/obo_files/so.obo")
- stream.set_type_checker(checker)
- end
- if tidy then
- stream.enable_tidy_mode
- end
-
- gn = stream.next_tree()
- while (gn) do
- gn = stream.next_tree()
- end
- errfile.flush
-
- puts "<h2 style='color:green;'>Validation successful!</h2>"
- errfile.rewind
- entries = errfile.readlines
- if entries.length > 0 then
- puts "<p>#{entries.length} issue#{"s" unless entries.length == 1} remaining:</p>"
- file = File.open(targetfilename).readlines
- entries.each do |entry|
- puts "<div style='background-color:#EFEFEF; padding:0px 5px;'>"
- puts "<p>#{entry}</p>"
- if show and (m = /line ([0-9]+)/.match(entry)) then
- linenumber = m[1].to_i
- puts "<p style='background-color:#EEEEEE;'><pre><table class='padded-table'>"
- if linenumber-1 > 0 then
- print_gff3line(file[linenumber-2].chomp,linenumber-1)
- end
- print_gff3line(file[linenumber-1].chomp, linenumber, true)
- if linenumber <= (file.length)-1 then
- print_gff3line(file[linenumber].chomp, linenumber+1)
- end
- puts "</table></pre></p>"
- end
- puts "</div>"
- end
- end
- errfile.close
- errfile.unlink
-
- rescue Exception => err
- puts "<h2 style='color:red;'>Validation unsuccessful!</h2><p>#{err}</p>"
- end
-else
- puts UPLOAD_FORM % ['', 'checked="checked"', 'checked="checked"']
-end
-
-print HTML_FOOTER
=====================================
www/genometools.org/htdocs/contribute.html
=====================================
@@ -37,7 +37,7 @@ href="contract.html"><em>GenomeTools</em> development contract</a>. If you contr
<li><a href="https://github.com/genometools/genometools/issues">Log an issue</a> that explains the problem you are solving or the feature you are adding.</li>
<li>Provide a test case if possible. </li>
<li>Make your change as a pull request (see below).</li>
-<li>Discuss on the issue page or the <a href="http://genometools.org/mailman/listinfo/gt-dev">gt-dev mailing list</a> as needed.</li>
+<li>Discuss on the issue page as needed.</li>
<li>Close the issue when your pull request is merged and the test case passes.</li>
</ol>
@@ -89,7 +89,7 @@ git pull --rebase gt-master master</code>
<ul>
<li>A single summary line. This should be short — no more than 70 characters or so, since it can be used as the e-mail subject when submitting your patch and also for generating patch file names by 'git format-patch'. If your change only touches a single file or subsystem you may wish to prefix the summary with the file or subsystem name.</li>
<li>A blank line.</li>
-<li>A detailed description of your change. Where possible, write in the present tense, e.g. "Add assertions to zmq_foo()". If your changes have not resulted from previous discussion on the mailing list you may also wish to include brief rationale on your change. Your description should be formatted as plain text with each line not exceeding 80 characters.</li>
+<li>A detailed description of your change. Where possible, write in the present tense, e.g. "Add assertions to gt_foo()". If your changes have not resulted from previous discussions you may also wish to include brief rationale on your change. Your description should be formatted as plain text with each line not exceeding 80 characters.</li>
</ul>
<h3 id="toc6"><span>Give Yourself Credit</span></h3>
=====================================
www/genometools.org/htdocs/customtracks.html
=====================================
@@ -22,7 +22,6 @@
<li><a id="current" href="customtracks.html">Custom tracks</a></li>
<li><a href="annotationsketch.html#gtsketch">The <tt>gt sketch</tt> tool</a></li>
<li><a href="examples.html">Code examples</a></li>
- <li><a href="cgi-bin/annotationsketch_demo.cgi">Try it online</a></li>
<li><a href="libgenometools.html">API reference</a></li>
</ul>
<li><a href="/cgi-bin/gff3validator.cgi">GFF3 validator</a></li>
=====================================
www/genometools.org/htdocs/examples_tmpl.html
=====================================
@@ -22,7 +22,6 @@
<li><a href="customtracks.html">Custom tracks</a></li>
<li><a href="annotationsketch.html#gtsketch">The <tt>gt sketch</tt> tool</a></li>
<li><a id="current" href="examples.html">Code examples</a></li>
- <li><a href="cgi-bin/annotationsketch_demo.cgi">Try it online</a></li>
<li><a href="libgenometools.html">API reference</a></li>
</ul>
<li><a href="/cgi-bin/gff3validator.cgi">GFF3 validator</a></li>
=====================================
www/genometools.org/htdocs/style_options.html
=====================================
@@ -34,7 +34,6 @@
<li><a href="customtracks.html">Custom tracks</a></li>
<li><a href="annotationsketch.html#gtsketch">The <tt>gt sketch</tt> tool</a></li>
<li><a href="examples.html">Code examples</a></li>
- <li><a href="cgi-bin/annotationsketch_demo.cgi">Try it online</a></li>
<li><a href="libgenometools.html">API reference</a></li>
</ul>
<li><a href="/cgi-bin/gff3validator.cgi">GFF3 validator</a></li>
=====================================
www/genometools.org/htdocs/trackselectors.html
=====================================
@@ -22,7 +22,6 @@
<li><a href="customtracks.html">Custom tracks</a></li>
<li><a href="annotationsketch.html#gtsketch">The <tt>gt sketch</tt> tool</a></li>
<li><a href="examples.html">Code examples</a></li>
- <li><a href="cgi-bin/annotationsketch_demo.cgi">Try it online</a></li>
<li><a href="libgenometools.html">API reference</a></li>
</ul>
<li><a href="/cgi-bin/gff3validator.cgi">GFF3 validator</a></li>
View it on GitLab: https://salsa.debian.org/med-team/genometools/-/compare/3befdf23f29d12a7adf46deff61d00f87a1522ec...395b461451fdecbcd18976347c225d1bba48683c
--
View it on GitLab: https://salsa.debian.org/med-team/genometools/-/compare/3befdf23f29d12a7adf46deff61d00f87a1522ec...395b461451fdecbcd18976347c225d1bba48683c
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20251006/2c43a5f0/attachment-0001.htm>
More information about the debian-med-commit
mailing list