#apt #list #linux #source

oma-apt-sources-lists

Library for fetching information from apt sources lists on the system

6 releases (3 breaking)

0.4.0 Jul 17, 2024
0.3.2 Jul 17, 2024
0.3.1 May 6, 2024
0.2.0 Oct 24, 2023
0.1.0 Aug 18, 2023

#195 in Unix APIs

Download history 81/week @ 2024-06-16 84/week @ 2024-06-23 68/week @ 2024-06-30 17/week @ 2024-07-07 408/week @ 2024-07-14 331/week @ 2024-07-21 241/week @ 2024-07-28 261/week @ 2024-08-04 419/week @ 2024-08-11 449/week @ 2024-08-18 635/week @ 2024-08-25 715/week @ 2024-09-01 541/week @ 2024-09-08 132/week @ 2024-09-15 311/week @ 2024-09-22 383/week @ 2024-09-29

1,596 downloads per month
Used in oma-refresh

MIT license

50KB
1K SLoC

apt-sources-lists

Rust crate for fetching detailed information from all available apt sources.

Example

extern crate apt_sources_lists;

use apt_sources_lists::*;

pub fn main() {
    let list = SourcesList::scan().unwrap();
    for event in list.into_iter() {
        match event {
            SourceEvent::NewList(path) => {
                println!("{}:", path.display());
            }
            SourceEvent::Entry(entry) => {
                // Pretty
                println!("  {}", entry);
                if let SourceLine::Entry(ref entry) = *entry {
                    println!("    Dist paths:");
                    for dist in entry.dist_components() {
                        println!("      {}", dist);
                    }
                    println!("    Pool path: {}", entry.pool_path());
                }
            }
        }
    }
}

Example Output

/etc/apt/sources.list:
  # deb cdrom:[Pop_OS 18.04 _Bionic Beaver_ - Release amd64 (20180916)]/ bionic main restricted
  deb http://us.archive.ubuntu.com/ubuntu/ cosmic main restricted universe multiverse
    Dist paths:
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic/main
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic/restricted
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic/universe
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic/multiverse
    Pool path: http://us.archive.ubuntu.com/ubuntu/pool/
  deb-src http://us.archive.ubuntu.com/ubuntu/ cosmic main restricted universe multiverse
    Dist paths:
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic/main
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic/restricted
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic/universe
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic/multiverse
    Pool path: http://us.archive.ubuntu.com/ubuntu/pool/
  deb http://us.archive.ubuntu.com/ubuntu/ cosmic-updates main restricted universe multiverse
    Dist paths:
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-updates/main
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-updates/restricted
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-updates/universe
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-updates/multiverse
    Pool path: http://us.archive.ubuntu.com/ubuntu/pool/
  deb-src http://us.archive.ubuntu.com/ubuntu/ cosmic-updates main restricted universe multiverse
    Dist paths:
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-updates/main
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-updates/restricted
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-updates/universe
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-updates/multiverse
    Pool path: http://us.archive.ubuntu.com/ubuntu/pool/
  deb http://us.archive.ubuntu.com/ubuntu/ cosmic-security main restricted universe multiverse
    Dist paths:
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-security/main
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-security/restricted
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-security/universe
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-security/multiverse
    Pool path: http://us.archive.ubuntu.com/ubuntu/pool/
  deb-src http://us.archive.ubuntu.com/ubuntu/ cosmic-security main restricted universe multiverse
    Dist paths:
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-security/main
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-security/restricted
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-security/universe
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-security/multiverse
    Pool path: http://us.archive.ubuntu.com/ubuntu/pool/
  deb http://us.archive.ubuntu.com/ubuntu/ cosmic-backports main restricted universe multiverse
    Dist paths:
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-backports/main
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-backports/restricted
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-backports/universe
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-backports/multiverse
    Pool path: http://us.archive.ubuntu.com/ubuntu/pool/
  deb-src http://us.archive.ubuntu.com/ubuntu/ cosmic-backports main restricted universe multiverse
    Dist paths:
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-backports/main
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-backports/restricted
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-backports/universe
      http://us.archive.ubuntu.com/ubuntu/dists/cosmic-backports/multiverse
    Pool path: http://us.archive.ubuntu.com/ubuntu/pool/
  deb http://apt.pop-os.org/proprietary cosmic main
    Dist paths:
      http://apt.pop-os.org/proprietary/dists/cosmic/main
    Pool path: http://apt.pop-os.org/proprietary/pool/
  # deb-src http://apt.pop-os.org/proprietary cosmic main
/etc/apt/sources.list.d/mmstick76-ubuntu-ion-shell-cosmic.list:
  deb http://ppa.launchpad.net/mmstick76/ion-shell/ubuntu cosmic main
    Dist paths:
      http://ppa.launchpad.net/mmstick76/ion-shell/ubuntu/dists/cosmic/main
    Pool path: http://ppa.launchpad.net/mmstick76/ion-shell/ubuntu/pool/
  # deb-src http://ppa.launchpad.net/mmstick76/ion-shell/ubuntu cosmic main
  # deb-src http://ppa.launchpad.net/mmstick76/ion-shell/ubuntu cosmic main
/etc/apt/sources.list.d/dmj726-ubuntu-nvidia-367-bionic.list:
  # deb http://ppa.launchpad.net/dmj726/nvidia-367/ubuntu cosmic main # disabled on upgrade to cosmic
  # deb-src http://ppa.launchpad.net/dmj726/nvidia-367/ubuntu bionic main
/etc/apt/sources.list.d/system76-ubuntu-pop-bionic.list:
  deb http://ppa.launchpad.net/system76/pop/ubuntu cosmic main
    Dist paths:
      http://ppa.launchpad.net/system76/pop/ubuntu/dists/cosmic/main
    Pool path: http://ppa.launchpad.net/system76/pop/ubuntu/pool/
  deb-src http://ppa.launchpad.net/system76/pop/ubuntu cosmic main
    Dist paths:
      http://ppa.launchpad.net/system76/pop/ubuntu/dists/cosmic/main
    Pool path: http://ppa.launchpad.net/system76/pop/ubuntu/pool/

Dependencies

~2.5MB
~59K SLoC