Open link in a new tab

Content

Expand project menu

Cannot upgrade OP from 16.6.4 to 17.0.1 (curl: URL rejected: Malformed input to a URL function)

Hi,

I am running Ubuntu 22.04.5 LTS (Postgres V17.7) in a VM on TrueNAS and am trying to upgrade OpenProject to the newest version. I am following these steps:

  1. according to https://www.openproject.org/docs/installation-and-operations/operation/upgrading/#major-upgrades, remove package repository information

  2. according to https://www.openproject.org/docs/installation-and-operations/installation/packaged/#ubuntu-2204, add new package source

I receive the error from curl: "URL rejected: Malformed input to a URL function" when trying to execute this command: 

sudo curl -fsSL \ "https://packages.openproject.com/srv/opf/openproject/stable/17/installer/ubuntu/22.04.list" \ -o /etc/apt/sources.list.d/openproject.list

Am I missing something here? When still following the guide, it says (see log below) that 16.6.4 is the current version, which is wrong.

I am getting the following output from the commands:

philipp@UBUNTUOP:~$ sudo apt-get update
Hit:1 http://de.archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://apt.postgresql.org/pub/repos/apt jammy-pgdg InRelease
Hit:3 http://de.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:4 https://downloads.plex.tv/repo/deb public InRelease
Hit:5 http://de.archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:6 https://ppa.launchpadcontent.net/ondrej/apache2/ubuntu jammy InRelease
Hit:7 https://ppa.launchpadcontent.net/ztefn/haguichi-stable/ubuntu jammy InRelease
Hit:8 http://security.ubuntu.com/ubuntu jammy-security InRelease
Reading package lists... Done
N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'http://apt.postgresql.org/pub/repos/apt jammy-pgdg InRelease' doesn't support architecture 'i386'
philipp@UBUNTUOP:~$ sudo apt-get install apt-transport-https ca-certificates wget
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
ca-certificates is already the newest version (20240203~22.04.1).
wget is already the newest version (1.21.2-2ubuntu1.1).
apt-transport-https is already the newest version (2.4.14).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
philipp@UBUNTUOP:~$ sudo curl -fsSL "https://packages.openproject.com/srv/deb/opf/openproject/gpg-key.gpg" \ -o /usr/share/keyrings/openproject.gpg
philipp@UBUNTUOP:~$ sudo curl -fsSL \ "https://packages.openproject.com/srv/opf/openproject/stable/17/installer/ubuntu/22.04.list" \ -o /etc/apt/sources.list.d/openproject.list
curl: (3) URL rejected: Malformed input to a URL function
curl: (3) URL rejected: Malformed input to a URL function
curl: (3) URL rejected: No host part in the URL
philipp@UBUNTUOP:~$ sudo apt-get update
Hit:1 http://apt.postgresql.org/pub/repos/apt jammy-pgdg InRelease
Hit:2 http://de.archive.ubuntu.com/ubuntu jammy InRelease
Hit:3 http://de.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:4 http://de.archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:5 https://downloads.plex.tv/repo/deb public InRelease
Hit:6 https://ppa.launchpadcontent.net/ondrej/apache2/ubuntu jammy InRelease
Hit:7 https://ppa.launchpadcontent.net/ztefn/haguichi-stable/ubuntu jammy InRelease
Hit:8 http://security.ubuntu.com/ubuntu jammy-security InRelease
Reading package lists... Done
N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'http://apt.postgresql.org/pub/repos/apt jammy-pgdg InRelease' doesn't support architecture 'i386'
philipp@UBUNTUOP:~$ sudo apt-get install openproject
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
openproject is already the newest version (16.6.4-1767877238.e7fc1efe.jammy).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
philipp@UBUNTUOP:~$

Many thanks in advance,

Philipp

Message actions

Hi Philipp,

This looks like a shell syntax issue rather than a repository problem.

In the curl command, there’s a space after the line-continuation backslash (\ "https://..."). That breaks the command and causes curl to interpret the URL as malformed.

Could you try running it either as a single line:

sudo curl -fsSL "https://packages.openproject.com/srv/opf/openproject/stable/17/installer/ubuntu/22.04.list" -o /etc/apt/sources.list.d/openproject.list

or with proper line continuations:

sudo curl -fsSL \
 "https://packages.openproject.com/srv/opf/openproject/stable/17/installer/ubuntu/22.04.list" \
 -o /etc/apt/sources.list.d/openproject.list

After that, apt-get update should detect OpenProject 17 correctly.

Hope that helps.

Message actions

Hi Lakshay,

thanks a lot for your response. The command seems to be working now.

I got an error "curl: (23) Failure writing output to destination", but a quick online search revealed that I had to replace snap curl with the "proper" one: https://askubuntu.com/questions/1387141/curl-23-failure-writing-output-to-destination

Now I am happily running on 17.0.2 :)

Best regards,

Philipp