Skip to content
Snippets Groups Projects

mkpkglists improvements

Merged Kevin Morris requested to merge kevr/aurweb:teapot into master
  1. Nov 06, 2021
    • Kevin Morris's avatar
      feat(mkpkglists): added metadata archives · cdca8bd2
      Kevin Morris authored
      
      Two new archives are available:
      
      - packages-meta-v1.json.gz
          - RPC search formatted data for all packages
          - ~2.1MB at the time of writing.
      - packages-meta-ext-v1.json.gz (via --extended)
          - RPC multiinfo formatted data for all packages.
          - ~9.8MB at the time of writing.
      
      New dependencies are required for this update:
      
      - `python-orjson`
      
      All archives served out by aur.archlinux.org distribute the Last-Modified
      header and support the If-Modified-Since header, which should be
      populated with Last-Modified's value. These should be used by clients
      to avoid redownloading the archive when unnecessary.
      
      Additionally, the new meta archives contain a format suitable for
      streaming the data as the file is retrieved. It is still in JSON
      format, however, users can parse package objects line by line after
      the first '[' found in the file, until the last ']'; both contained
      on their own lines.
      
      Note: This commit is a documentation change and commit body.
      
      Signed-off-by: Kevin Morris's avatarKevin Morris <kevr@0cost.org>
      Verified
      cdca8bd2
    • Kevin Morris's avatar
      fix(mkpkglists): improve package meta archive · 51fb24ab
      Kevin Morris authored
      
      The SQL logic in this file for package metadata now exactly
      reflects RPC's search logic, without searching for specific
      packages.
      
      Two command line arguments are available:
      
          --extended | Include License, Keywords, Groups, relations
                       and dependencies.
      
      When --extended is passed, the script will create a
      packages-meta-ext-v1.json.gz, configured via packagesmetaextfile.
      
      Archive JSON is in the following format: line-separated package objects
      enclosed in a list:
      
          [
          {...},
          {...},
          {...}
          ]
      
      Signed-off-by: Kevin Morris's avatarKevin Morris <kevr@0cost.org>
      Verified
      51fb24ab
    • Kristian Klausen's avatar
      feat(PHP): Add packages dump file with more metadata · 69773a5b
      Kristian Klausen authored and Kevin Morris's avatar Kevin Morris committed
      Verified
      69773a5b
Loading