ddisasm
ddisasm copied to clipboard
Ubuntu packages aren't versioned properly
Using the depository at https://download.grammatech.com/gtirb/files/apt-repo, the packages updates don't trigger the removal of the old packages, causing conflicts where different versions of ddisasm, gtirb, and GrammaTech's libcapstone-dev-4.0.2-gt?
have the same file paths. To be able to install the newer packages, I had to first uninstall the old ones, then select the new ones.
OS: Ubuntu 20.04
@rjzak Was this with the stable or unstable component of the repository? Also, apologies, but could you describe exactly what you tried to do? You tried to apt-get upgrade ddisasm
?
stable, and I tried sudo apt-get upgrade
stable, and I tried
sudo apt-get upgrade
I'm sorry to say that I don't think we'll be able to fix this. The tool we use to manage our APT repo is called reprepro
, and that tool doesn't allow you to store multiple different versions of a package in the repository, which I think is necessary to get apt-get upgrade
working.
I think the issue is that something libgtirb is a metapackage for libgtirb-1.2.3. But if the old version is installed, it's not removed. So gtirb-1.2.3 has the same file paths as gtirb-1.2.2, so dpkg gets upset. The way to fix would be to have libgtirb point to the new package, but have the libgtirb-1.2.3 conflict with the old versions, so dpkg knows to uninstall it first. Alternatively, install gtirb in a versioned path, like /opt/gtirb/1.2.3/, /opt/gtirb/1.2.2, and use symlinks of the alternatives program, to set up system usage of the libraries. But the current option is annoying :)
Ah, I see. Okay, that makes sense, thank you for explaining. This is something we could do eventually.