Roundup Tracker

This page contains fixes to release documentation. Look for the header matching your version of roundup.


Providing feedback

This is a wiki so you can edit it if you create an account. If you don't want yet another account, email your notes to the mailto:roundup-users@lists.sourceforge.net mailing list. If the link doesn't work, use the Contact menu item at the left.

Release 2.3.0

Always call roundup-demo with target directory

A bug in roundup-demo can cause loss of tracker data. In general this isn't a big deal since it's used to spin up a demo. Once the demo is set up people use roundup-server or wsgi to serve a real non-demo tracker. This was fixed in c73a1177c2.

For safety always call roundup-demo like:

roundup-demo tracker/home/directory

Install under windows fails

Installing using pip or from source hangs. This is due to a bug in the code (setup.py). To work around it, use your browser to download roundup-2.3.0.tar.gz.

(Do not use pip download. It hangs due to this bug as well).

Untar the roundup-2.3.0.tar.gz file using:

python -c "import tarfile, sys; tarfile.open(sys.argv[1]).extractall();" roundup-2.3.0.tar.gz

then change into the roundup-2.3.0 directory and run:

python setup.py install --prefix=%VIRTUAL_ENV%

If you are not using a virtualenv, replace %VIRTUAL_ENV% with the install path above the python Lib directory.

See:

for more details.

Missing import in doc to implement PBKDF2 with SHA 512

The upgrading document with directions on upgrading password hashing to use SHA512 is missing the following import that should be at the top of interfaces.py:

from roundup.password import Password

REST requests need Origin header

If your manual REST requests are failing with:

{ "error": { "status": 400, "msg": "Required Header Missing" } }

try adding an Origin header. Origin header verification was restructured in 2.3.0 and it appears that there were additional code paths that were not properly verifying the Origin header.

pip install markdown2 must not use 2.4.9

Markdown2 changes caused links written as [issue1](issue1) to be ignored. Markdown2 versions 2.4.10 and 2.4.8 or earlier are fine.

pip install brotli==1.0.9 needed for Python 2

If you want to use Brotli compression for Roundup and you are running under Python 2, you must install using:

 pip install brotli==1.0.9

Brotli version 1.1.0 fails to install with Python 2. The installer for the 1.1.0 version of Brotli uses f-strings which aren't supported by Python 2. F-string were added in Python 3.6, but Brotli 1.1.0 incorrectly claims compatibility with python 2.7 and 3.4 and 3.5. So you must explicitly pin the version using pip. (Note Roundup does not support python 3.4 or 3.5.)

Release 2.2.0

Docker healthcheck fails when setting tracker names

The healthcheck in Dockerfile is hardcoded to use a tracker named issues. This causes the healthcheck to fail if you specify trackers when running to docker image. To fix this you can edit the Dockerfile and hard code the name of your tracker. Alternatively you can change the healthcheck to run a script and have the script use ps to extract a valid tracker name from the roundup-server command line. An example of this implementation can be found in commit a24ec63759 and will be part of any release after 2.2.0.

PostgreSQL Full Text Search (FTS) doesn't work

The tests for the PostgreSQL FTS functions actually tested a different indexer. It turns out that PostgreSQL FTS doesn't work and trying to use it will result in an NotImplementedError exception. The 2.3.0 release (due in July 2023) should have this fixed.

If you want to use this now, you will have to use the development code. Note that you will be testing this code as it wasn't deployed during the 2.2.0 beta period. If you are adventurous, your help in testing this would be welcome. You can email your results to the mailing list.

Release 2.0

Mysql database conversion python 2

Determining the character set encoding

a2hosting recommends this sequence:

Quoting from the article:

At the command line, type the following command, replacing USERNAME with your username:

   mysql -u USERNAME -p

At the Enter Password prompt, type your password. When you type the correct password, the mysql> prompt appears.

To display the current character encoding set for a particular database, type the following
command at the mysql> prompt. Replace DBNAME with the database name:

   SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "DBNAME";

[[ note the S in the above command may be wrong. If you get an error try removing the solo S and provide feedback on the mailing list -- rouilj ]]

To display the current character encoding set for a particular table in a database, type the following command at the mysql> prompt. Replace DBNAME with the database name, and TABLENAME with the name of the table:

   SELECT CCSA.character_set_name FROM information_schema.`TABLES` 
      T,information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA WHERE CCSA.collation_name = 
      T.table_collation AND T.table_schema = "DBNAME" AND T.table_name = "TABLENAME";

To exit the mysql program, type \q at the mysql>

Conversion using a2hosting method

a2hosting seems to have a recipe that is exactly what we want.

It mirrors the eventum solution so I believe it's correct.

Quoting here:

To change the character set encoding to UTF-8 for all of the tables in the specified database, type the following command at the command line. Replace DBNAME with the database name:

  mysql --database=DBNAME -B -N -e "SHOW TABLES" | \
    awk '{print "SET foreign_key_checks = 0; ALTER TABLE", $1, "CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; SET foreign_key_checks = 1; "}' | \
    mysql --database=DBNAME

After the command finishes, type the following command to start the mysql program:

  mysql

To change the character set encoding to UTF-8 for the database itself, type the following
command at the mysql> prompt. Replace DBNAME with the database name:

  ALTER DATABASE DBNAME CHARACTER SET utf8 COLLATE utf8_general_ci;

To exit the mysql program, type \q at the mysql> prompt.

Eventum solution to similar issue

It looks like eventum had to deal with a similar issue in their past. The SQL code (source) looks like it discovers all tables associated with the database:

 SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES 
     WHERE TABLE_SCHEMA='%DBNAME%' AND TABLE_COLLATION NOT LIKE 'utf8\_%';

Then for each table returned it converts the data:

  ALTER TABLE TABLENAME CONVERT TO CHARACTER SET utf8";

Lastly it sets the database default (for new tables??):

  ALTER DATABASE `%DBNAME%` DEFAULT CHARACTER SET utf8;

The %DBNAME% variable should be replaced with the value in the config.ini name parameter from the rdbms section.

No other Errata at this time.

Release 1.6.1

No Errata at this time.