#apt #list #linux #source

oma-apt-sources-lists

Library for fetching information from apt sources lists on the system

11 releases (7 breaking)

new 0.8.1 Dec 7, 2024
0.7.0 Dec 7, 2024
0.5.0 Nov 1, 2024
0.4.0 Jul 17, 2024
0.2.0 Oct 24, 2023

#169 in Unix APIs

Download history 610/week @ 2024-08-22 595/week @ 2024-08-29 758/week @ 2024-09-05 241/week @ 2024-09-12 224/week @ 2024-09-19 355/week @ 2024-09-26 249/week @ 2024-10-03 227/week @ 2024-10-10 209/week @ 2024-10-17 387/week @ 2024-10-24 772/week @ 2024-10-31 290/week @ 2024-11-07 460/week @ 2024-11-14 539/week @ 2024-11-21 391/week @ 2024-11-28 608/week @ 2024-12-05

2,055 downloads per month
Used in oma-refresh

MIT license

74KB
1.5K 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

~5.5–7.5MB
~126K SLoC