You are not logged in.

#1 2022-04-07 05:47:30

0BADC0DE
Member
From: Regnum Utriusque Siciliae
Registered: 2018-02-21
Posts: 342

[SOLVED] [N00B] How to list package versions?

I need to know which versions are available in the repo(s) for a specific package.
I want to know not just the latest version, but also the previous ones, provided that there are any available.
Even for packages I haven't installed yet.

I know how to query the package database for the latest and greatest versions.
So, if your answer boils down to "pacman -Q", "pacman -Si" or "pacman -Ss", please re-read my question:
I want to know all version numbers.

I am experiencing a likely package regression bug on a freshly installed machine:
- I want to test with older packages and
- I have no cache available and cannot comb through it.

I am pretty sure the repositories host more than one package version which I am almost sure I can query.
But, as I am a bad n00b, I don't know how to.

U P D A T E
Maybe I have found the one and only working answer here.
Which basically is to manually browse the repository web interface and "figure out" all the required dependencies.
You may say I am just another wishful thinker, but as a defense, I would say that a rolling release should at least allow for "easy" package version browsing.
Having a fully automated version-pinned installation tool would be great.

Last edited by 0BADC0DE (2022-04-07 06:36:48)


Maybe Computers Will Never Become As Intelligent
As Humans. Surely They Won't Ever Become So Stupid.

Offline

#2 2022-04-07 07:24:26

mpan
Member
Registered: 2012-08-01
Posts: 1,615
Website

Re: [SOLVED] [N00B] How to list package versions?

You are having trouble solving that problem, because you are seeking something that doesn’t exist. A wrong mental image. In Arch Linux, repos always contain only a single version of any package. There is simply no other versions to list, because there is nothing to be listed.

On the other hand, if you asked what other versions repos contained in the past (note the past tense), there are at least two approaches.

  • One you have partially discovered: Arch Linux Archive (ALA). But no, you do not need to manually browse anything. If you follow the prescribed way of installing from Arch Linux Archivepacman resolves and installs all dependencies automatically.

  • Development of PKGBUILDs of officiall packages takes place in the Git repositories: core and extra, or community and multilib. That can be either cloned and searched locally, or GitHub API may be used if it provides the information you seek.

Last edited by mpan (2022-04-07 07:25:51)

Offline

#3 2022-04-07 07:45:54

0BADC0DE
Member
From: Regnum Utriusque Siciliae
Registered: 2018-02-21
Posts: 342

Re: [SOLVED] [N00B] How to list package versions?

mpan wrote:

You are having trouble solving that problem, because you are seeking something that doesn’t exist. A wrong mental image. In Arch Linux, repos always contain only a single version of any package. There is simply no other versions to list, because there is nothing to be listed.

On the other hand, if you asked what other versions repos contained in the past (note the past tense), there are at least two approaches.

  • One you have partially discovered: Arch Linux Archive (ALA). But no, you do not need to manually browse anything. If you follow the prescribed way of installing from Arch Linux Archivepacman resolves and installs all dependencies automatically.

  • Development of PKGBUILDs of officiall packages takes place in the Git repositories: core and extra, or community and multilib. That can be either cloned and searched locally, or GitHub API may be used if it provides the information you seek.

Thanks a lot for the great feedback.

I am sorry to contradict you, but the main repository does contain a real lot of older versions you can actually download:

~  wget -q -O - "https://archive.archlinux.org/packages/i/intel-media-driver/" 
<html>
<head><title>Index of /packages/i/intel-media-driver/</title></head>
<body>
<h1>Index of /packages/i/intel-media-driver/</h1><hr><pre><a href="../">../</a>
<a href="intel-media-driver-18.4.0-1-x86_64.pkg.tar.xz">intel-media-driver-18.4.0-1-x86_64.pkg.tar.xz</a>      30-Jan-2019 11:02      4M
<a href="intel-media-driver-18.4.0-1-x86_64.pkg.tar.xz.sig">intel-media-driver-18.4.0-1-x86_64.pkg.tar.xz.sig</a>  30-Jan-2019 11:02     310
...
<a href="intel-media-driver-21.4.3-1-x86_64.pkg.tar.zst">intel-media-driver-21.4.3-1-x86_64.pkg.tar.zst</a>     02-Dec-2021 22:16      6M
<a href="intel-media-driver-21.4.3-1-x86_64.pkg.tar.zst.sig">intel-media-driver-21.4.3-1-x86_64.pkg.tar.zst.sig</a> 02-Dec-2021 22:16     310
<a href="intel-media-driver-22.2.2-1-x86_64.pkg.tar.zst">intel-media-driver-22.2.2-1-x86_64.pkg.tar.zst</a>     04-Mar-2022 22:33      6M
<a href="intel-media-driver-22.2.2-1-x86_64.pkg.tar.zst.sig">intel-media-driver-22.2.2-1-x86_64.pkg.tar.zst.sig</a> 04-Mar-2022 22:33     310
</pre><hr></body>
</html>

Warning: output is sorted lexicographically, not by date!!!
There is even some description here with a reference to a possible backup at archive.org

Anyway, I just packed a "simple" bash function to help me in the process: if it's still in the main repo, you can find it there with its download link and release date.

function pacversions () {
  [[ -z "$1" ]] && echo "No package name provided" && return 1
  wget -q -O - "https://archive.archlinux.org/packages/${1:0:1}/$1/" 2> /dev/null | sed -e '/\.sig/d' -e 's/<\/*a[^>]*>//g' -e '/</d' -e "s/^/https:\/\/archive.archlinux.org\/packages\/${1:0:1}\/$1\//g"
  [[ $? -ne 0 ]] && echo "No package found as '$1'" && return 2
}

It's a little bit convoluted (conceded!) but it worked great for me!
Be warned: dependencies with older packages (manually downloaded) need to be manually solved!

Last edited by 0BADC0DE (2022-04-07 07:52:27)


Maybe Computers Will Never Become As Intelligent
As Humans. Surely They Won't Ever Become So Stupid.

Offline

#4 2022-04-07 07:54:38

loqs
Member
Registered: 2014-03-06
Posts: 18,970

Re: [SOLVED] [N00B] How to list package versions?

0BADC0DE wrote:

I am sorry to contradict you, but the main repository does contain a real lot of older versions you can actually download:

~  wget -q -O - "https://archive.archlinux.org/packages/i/intel-media-driver/" 

https://archive.archlinux.org/packages/ … ia-driver/ is not a repository.  You need to use Arch_Linux_Archive#/repos to access the ALA as a usable repository instead of the packages hierarchy.

Offline

#5 2022-04-07 07:55:40

0BADC0DE
Member
From: Regnum Utriusque Siciliae
Registered: 2018-02-21
Posts: 342

Re: [SOLVED] [N00B] How to list package versions?

loqs wrote:
0BADC0DE wrote:

I am sorry to contradict you, but the main repository does contain a real lot of older versions you can actually download:

~  wget -q -O - "https://archive.archlinux.org/packages/i/intel-media-driver/" 

https://archive.archlinux.org/packages/ … ia-driver/ is not a repository.  You need to use Arch_Linux_Archive#/repos to access the ALA as a usable repository instead of the packages hierarchy.

You are right.
Let 's call it "the repo archive" then: I am a n00b after all! ;-)

Last edited by 0BADC0DE (2022-04-07 07:57:30)


Maybe Computers Will Never Become As Intelligent
As Humans. Surely They Won't Ever Become So Stupid.

Offline

#6 2022-04-07 07:58:13

dogknowsnx
Guest

Re: [SOLVED] [N00B] How to list package versions?

Please read @mpan 's post again... There's is an aur package "downgrade" which "does" what you're looking for, already.

#7 2022-04-07 08:01:45

0BADC0DE
Member
From: Regnum Utriusque Siciliae
Registered: 2018-02-21
Posts: 342

Re: [SOLVED] [N00B] How to list package versions?

dogknowsnx wrote:

Please read @mpan 's post again... There's is an aur package "downgrade" which "does" what you're looking for, already.

Very good hint.

Last edited by 0BADC0DE (2022-04-07 08:03:18)


Maybe Computers Will Never Become As Intelligent
As Humans. Surely They Won't Ever Become So Stupid.

Offline

#8 2022-04-07 08:04:32

dogknowsnx
Guest

Re: [SOLVED] [N00B] How to list package versions?

0BADC0DE wrote:
dogknowsnx wrote:

Please read @mpan 's post again... There's is an aur package "downgrade" which "does" what you're looking for, already.

Yes, i know. But I first need to know which older package version I need.
I am not sure the downgrade tool has a listing feature.
Very good hint, though.

'downgrade' will print a list of all available versions (cached and ALA), but as you know, partial updates are not supported...

Board footer

Powered by FluxBB