You are not logged in.

#1 2017-05-15 05:46:41

Xyne
Moderator/TU
Registered: 2008-08-03
Posts: 6,395
Website

alatools: tools for using the Arch Linux Archive

Project page: http://xyne.archlinux.ca/projects/alatools/
AUR page: https://aur.archlinux.org/packages/alatools/

I've had some ideas for tools for working with the Arch Linux Archive (ALA) for a while. This topic reminded me of one and got me to finally write it (ala-config). It can be used to install versions of packages that match the local sync databases even if they have been upgraded on the mirror. For example, if you haven't upgraded in a while and don't have the time to, but need package <foo>, you can run e.g.

ala-config --pacman -S <foo>

It should also be possible to use it to step through upgrades on a systemn using the --date option while following the front-page news. This is untested though and may not work if signing keys are revoked. Some usage examples and the help message are available on the project page.

If I write any other tools for working with the ALA, I'll add them to this package.

As usual, bug reports, suggestions and other feedback are welcome.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#2 2017-05-20 15:40:27

Alad
Wiki Admin/IRC Op/TU
From: Bagelstan
Registered: 2014-05-04
Posts: 1,901
Website

Re: alatools: tools for using the Arch Linux Archive

Nice creation. smile Would it also be possible to process configurations in Include files?

edit: I see it was implemented, tyvm big_smile

Last edited by Alad (2017-06-09 01:17:25)


Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Honest Alad's Package Emporium—Now with added bugs! (Grand reopening: December 1st 2018)

Offline

#3 2019-01-17 10:13:01

Alad
Wiki Admin/IRC Op/TU
From: Bagelstan
Registered: 2014-05-04
Posts: 1,901
Website

Re: alatools: tools for using the Arch Linux Archive

It seems that ala-config takes (the date of) sync repositories under consideration that are not hosted by Arch, which may result in 404 errors. In my case custom.db was modified today (without existing ALA link), while the actual Arch repos were modified on the 10th and 12th.

user@foxden /var/lib/pacman/sync % ala-config       
[2019-01-17 11:11:07] INFO: reusing repo list from https://archive.archlinux.org/repos/2019/01/10 located at /home/user/.cache/ala-config/20190110.html
[2019-01-17 11:11:07] INFO: reusing repo list from https://archive.archlinux.org/repos/2019/01/12 located at /home/user/.cache/ala-config/20190112.html
[2019-01-17 11:11:08] INFO: downloading repo list from https://archive.archlinux.org/repos/2019/01/17 to /home/user/.cache/ala-config/20190117.html
Traceback (most recent call last):
  File "/usr/bin/ala-config", line 192, in repo_is_available
    repos = self.repo_lists[url]
KeyError: 'https://archive.archlinux.org/repos/2019/01/17'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/ala-config", line 407, in <module>
    main()
  File "/usr/bin/ala-config", line 371, in main
    config = apc.interpolate_pacman_config()
  File "/usr/bin/ala-config", line 220, in interpolate_pacman_config
    available, url = self.repo_is_available(repo)
  File "/usr/bin/ala-config", line 195, in repo_is_available
    path = download_to_cache(url)
  File "/usr/bin/ala-config", line 305, in download_to_cache
    with urllib.request.urlopen(url) as f:
  File "/usr/lib/python3.7/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.7/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/usr/lib/python3.7/urllib/request.py", line 641, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python3.7/urllib/request.py", line 569, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.7/urllib/request.py", line 503, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.7/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
  File: community.db
  Size: 5042001   	Blocks: 9856       IO Block: 4096   regular file
Device: fe00h/65024d	Inode: 7100578     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-01-17 11:05:47.720022614 +0100
Modify: 2019-01-12 03:07:53.000000000 +0100
Change: 2019-01-14 23:36:20.327178059 +0100
 Birth: -
  File: community.files
  Size: 19248266  	Blocks: 37600      IO Block: 4096   regular file
Device: fe00h/65024d	Inode: 7097959     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-01-16 12:05:16.100012725 +0100
Modify: 2019-01-13 01:32:30.000000000 +0100
Change: 2019-01-13 01:53:42.195920309 +0100
 Birth: -
  File: core.db
  Size: 137987    	Blocks: 272        IO Block: 4096   regular file
Device: fe00h/65024d	Inode: 7101237     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-01-17 11:05:47.380022612 +0100
Modify: 2019-01-10 08:23:20.000000000 +0100
Change: 2019-01-14 23:36:18.497124453 +0100
 Birth: -
  File: core.files
  Size: 826159    	Blocks: 1616       IO Block: 4096   regular file
Device: fe00h/65024d	Inode: 7097968     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-01-16 11:37:05.300003439 +0100
Modify: 2019-01-12 23:59:21.000000000 +0100
Change: 2019-01-13 01:53:18.565920485 +0100
 Birth: -
  File: custom.db
  Size: 312832    	Blocks: 616        IO Block: 4096   regular file
Device: fe00h/65024d	Inode: 7100502     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-01-17 10:35:43.710012707 +0100
Modify: 2019-01-17 10:35:40.000000000 +0100
Change: 2019-01-17 10:35:43.700012707 +0100
 Birth: -
  File: custom.files
  Size: 1878016   	Blocks: 3672       IO Block: 4096   regular file
Device: fe00h/65024d	Inode: 7100514     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-01-17 10:35:40.000000000 +0100
Modify: 2019-01-17 10:35:40.000000000 +0100
Change: 2019-01-17 10:35:43.680012706 +0100
 Birth: -
  File: extra.db
  Size: 1725368   	Blocks: 3376       IO Block: 4096   regular file
Device: fe00h/65024d	Inode: 7100418     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-01-17 11:05:47.410022612 +0100
Modify: 2019-01-12 13:17:52.000000000 +0100
Change: 2019-01-12 15:09:08.913177865 +0100
 Birth: -
  File: extra.files
  Size: 8216112   	Blocks: 16048      IO Block: 4096   regular file
Device: fe00h/65024d	Inode: 7097956     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-01-16 11:37:05.340003439 +0100
Modify: 2019-01-12 18:21:34.000000000 +0100
Change: 2019-01-13 01:53:25.645920432 +0100
 Birth: -
  File: multilib.db
  Size: 178992    	Blocks: 352        IO Block: 4096   regular file
Device: fe00h/65024d	Inode: 7100415     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-01-16 01:45:46.302390574 +0100
Modify: 2019-01-11 21:52:38.000000000 +0100
Change: 2019-01-12 15:09:09.683209258 +0100
 Birth: -
  File: multilib.files
  Size: 287806    	Blocks: 568        IO Block: 4096   regular file
Device: fe00h/65024d	Inode: 7097969     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-01-14 19:28:05.119307048 +0100
Modify: 2019-01-12 23:28:07.000000000 +0100
Change: 2019-01-13 01:53:42.495920306 +0100
 Birth: -

Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Honest Alad's Package Emporium—Now with added bugs! (Grand reopening: December 1st 2018)

Offline

Board footer

Powered by FluxBB