Content
Cannot upgrade OP from 16.6.4 to 17.0.1 (curl: URL rejected: Malformed input to a URL function)
Added by Philipp Schulz 6 days ago
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:
-
according to https://www.openproject.org/docs/installation-and-operations/operation/upgrading/#major-upgrades, remove package repository information
-
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
Replies (2)
Hi Philipp,
This looks like a shell syntax issue rather than a repository problem.
In the
curlcommand, 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.listor 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.listAfter that,
apt-get updateshould detect OpenProject 17 correctly.Hope that helps.
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