From c67849b4bd670e31486acb4871516b4c8c3014a3 Mon Sep 17 00:00:00 2001 From: David P Date: Mon, 21 May 2018 21:40:50 -0400 Subject: fix-deprecated-pkgs: major fix and remove more packages from blacklists Signed-off-by: David P --- blacklist.txt | 3 --- find-deprecated-pkgs | 56 ++++++++++++++++++++++++++++-------------- your-initfreedom-blacklist.txt | 2 +- your-privacy-blacklist.txt | 1 - 4 files changed, 38 insertions(+), 24 deletions(-) diff --git a/blacklist.txt b/blacklist.txt index b4608e5..67777c4 100644 --- a/blacklist.txt +++ b/blacklist.txt @@ -9,7 +9,6 @@ usbip:linux-libre-tools-usbip::: [semifree] (li x86_energy_perf_policy:linux-libre-tools-x86_energy_perf_policy:::[semifree] (linux-tools) Build from the Linux-libre kernel aarch64-linux-gnu-linux-api-headers:aarch64-linux-gnu-linux-libre-api-headers:::[semifree] has source containing and recommending nonfree software, [[issue1571]] abiword:abiword:::[semifree] Hard-codes nonfree fonts, and has non-privacy search engines e.g. Google -abs:abs:::[branding] Change default abs.conf to use Parabola servers abuse:abuse:fsf:Free_Abuse_Extensions:[semifree] Contains a nonfree addon acetoneiso2::fsf:AcetoneISO:[uses-nonfree] ask to download and install nonfree poweriso acpi_call:acpi_call:::[technical] adapted to nonfree linux kernel @@ -435,7 +434,6 @@ linux-odroid-x:linux-libre:fsf:linux_linux-backports-modules.2A_linux-ubuntu-mod linux-odroid-x2:linux-libre:fsf:linux_linux-backports-modules.2A_linux-ubuntu-modules:[semifree] nonfree blobs and firmwares linux-odroid-xu3:linux-libre:fsf:linux_linux-backports-modules.2A_linux-ubuntu-modules:[semifree] nonfree blobs and firmwares linux-odroid-xu3-headers:linux-libre-headers:fsf:linux_linux-backports-modules.2A_linux-ubuntu-modules:[semifree] blobbed source -linux-odroid-xu:linux-libre:fsf:linux_linux-backports-modules.2A_linux-ubuntu-modules:[semifree] nonfree blobs and firmwares linux-peach:linux-libre:fsf:linux_linux-backports-modules.2A_linux-ubuntu-modules:[semifree] nonfree blobs and firmwares linux-peach-headers:linux-libre-headers:fsf:linux_linux-backports-modules.2A_linux-ubuntu-modules:[semifree] blobbed source linux-raspberrypi:linux-libre:fsf:linux_linux-backports-modules.2A_linux-ubuntu-modules:[semifree] nonfree blobs and firmwares @@ -772,7 +770,6 @@ xorg-fonts-75dpi:xorg-fonts-75dpi:::[FIXME:description] nonfree fonts xorg-fonts-type1:xorg-fonts-type1:::[FIXME:description] nonfree fonts xscreensaver:xscreensaver:parabola:131:[semifree] dmsc.asm file don't have source code supplied xsnow::::[FIXME:description] -xv::fsf:xv:[nonfree][FIXME:description] zd1211-firmware::::[uses-nonfree] it's free, but drivers are propietary and it's not included in linux-libre parley:parley:::[uses-nonfree] depends on nonfree qt5-webengine kdevelop:kdevelop:::[uses-nonfree] depends on nonfree qt5-webengine diff --git a/find-deprecated-pkgs b/find-deprecated-pkgs index a527d2c..de7bb36 100755 --- a/find-deprecated-pkgs +++ b/find-deprecated-pkgs @@ -9,46 +9,50 @@ set -e repos="core extra community" repos_x86_64="$repos testing multilib multilib-testing" repos_i686="$repos testing build-support" -repos_armv7h="$repos alarm" +repos_armv7h="$repos alarm" # although we don't sync [alarm] we blacklist its packages to conflict with your-freedom # Parabola repos for checking blacklists like your-privacy, # which sometimes block [libre] and [pcr] packages. # [nonprism] and [nonsystemd] are not listened because -# we do not blacklists those packages +# we do not blacklists those packages anywhere repos_parabola="pcr pcr-multilib pcr-multilib-testing pcr-testing libre libre-multilib libre-multilib-testing libre-testing" # Set the blacklist files # aur-blacklist.txt is not here since we want to check Arch's official repos blacklists="blacklist.txt" -# List here files that may also blacklist Parabola packages + +# List here files that may also blacklist Parabola packages. +# These are intended to be used with $repos_parabola blacklists_parabola="your-initfreedom-blacklist.txt your-privacy-blacklist.txt your-freedom_emu-blacklist.txt" # Mirrors. Please choose HTTPS over HTTP when possible -# x86_64 mirror +# x86_64 mirrors for r in $repos_x86_64; do mirrors+=(https://mirrors.edge.kernel.org/archlinux/$r/os/x86_64/) done -# i686 mirror +# i686 mirrors for r in $repos_i686; do mirrors+=(https://mirror.archlinux32.org/i686/$r/) done -# armv7h mirror +# armv7h mirrors for r in $repos_armv7h; do mirrors+=(https://fl.us.mirror.archlinuxarm.org/armv7h/$r/) done # Parabola mirrors, used to check [libre] and [pcr] packages -if [[ $1 = parabola ]]; then +for r in $1 $2; do +if [[ $r = parabola ]]; then for r in $repos_parabola; do mirrors+=(https://mirror.grapentin.org/parabola/$r/os/x86_64/) mirrors+=(https://mirror.grapentin.org/parabola/$r/os/i686/) mirrors+=(https://mirror.grapentin.org/parabola/$r/os/armv7h/) done fi +done -# Sed expresion tested on Nginx, change if needed +# Sed expresion tested for Nginx, change if needed sedexp='s/.*href="//;s/\-any.pkg.tar.xz.*//;s/\-x86_64.pkg.tar.xz.*//;s/\-i686.pkg.tar.xz.*//;s/\-armv7h.pkg.tar.xz.*//' -# extra sedexps for symbols +# extra sedexps for special characters/symbols sedexp+=';s/%2B/+/g;s/%3A/:/g;s/%40/@/g' usage() { @@ -79,42 +83,56 @@ mkpkglist() { parabola_pkgs=$(mktemp) arch_pkgs=$(mktemp) case $1 in - parabola) curl -s ${mirrors[@]} | grep '".*.pkg.tar.xz"' | sed $sedexp > $parabola_pkgs + parabola) curl -s ${mirrors[@]} | grep '".*.pkg.tar.xz"' | sed $sedexp | + for f in $(cat /dev/stdin); do echo ${f%-*-*} >> $parabola_pkgs; done ;; - arch) curl -s ${mirrors[@]} | grep '".*.pkg.tar.xz"' | sed $sedexp > $arch_pkgs + arch) curl -s ${mirrors[@]} | grep '".*.pkg.tar.xz"' | sed $sedexp | + for f in $(cat /dev/stdin); do echo ${f%-*-*} >> $arch_pkgs; done ;; esac } err() { - printf '%sError:%s %s\n' \ + printf '%s==> Error:%s %s\n' \ "$(tput setaf 1)" \ "$(tput sgr0)" \ "$1" false } +msg() { + printf '%s==>%s %s\n' \ + "$(tput bold)" \ + "$(tput sgr0)" \ + "$1" +} + check(){ mkpkglist $1 case $1 in - parabola) pkgs=$(cut -d ":" -f 1 $blacklists_parabola | grep -v ^#) + parabola) msg 'Comparing blacklists with Parabola packages ...' + pkgs=$(cut -d ":" -f 1 $blacklists_parabola | grep -v ^#) for p in $pkgs; do - grep ^$p $parabola_pkgs &> /dev/null || printf '%s was not found\n' "$p" + grep -xw ^$p $parabola_pkgs &> /dev/null || printf '%s was not found\n' "$p" done + msg 'done' ;; - arch) pkgs=$(cut -d ":" -f 1 $blacklists | grep -v ^#) + arch) msg 'Comparing blacklists with Arch packages ...' + pkgs=$(cut -d ":" -f 1 $blacklists | grep -v ^#) for p in $pkgs; do - grep ^$p $arch_pkgs &> /dev/null || printf '%s was not found\n' "$p" + grep -xw ^$p $arch_pkgs &> /dev/null || printf '%s was not found\n' "$p" done + msg 'done' ;; *) err "$1 is not a valid argument" ;; esac } -if [ -s $1 ]; then +if [[ -s $@ ]]; then usage else - ping -q -w 1 -c 1 `ip r | grep ^default | awk '{print $3}'` &> /dev/null || err 'You must have internet connection to run this program' - check $1 || STATUS=$? usage + ip r | grep ^default | awk '{print $3}' | + ping -q -w 1 -c 1 $(tail -n1 /dev/stdin) &> /dev/null || err 'You must have internet connection to run this program' + for arg in $@; do check $arg; done fi diff --git a/your-initfreedom-blacklist.txt b/your-initfreedom-blacklist.txt index 7fd8f56..78853f2 100644 --- a/your-initfreedom-blacklist.txt +++ b/your-initfreedom-blacklist.txt @@ -6,7 +6,7 @@ lib32-systemd:::: libsystemd:libsystemd-dummy::: is part of systemd libsystemd-standalone:libsystemd-dummy::: is part of systemd netctl:::: made for systemd -nss-resolv:::: is part of systemd +nss-resolve:::: is part of systemd nss-systemd:::: is part of systemd python2-systemd:::: made for systemd python-systemd:::: made for systemd diff --git a/your-privacy-blacklist.txt b/your-privacy-blacklist.txt index 12df045..4abaab0 100644 --- a/your-privacy-blacklist.txt +++ b/your-privacy-blacklist.txt @@ -12,7 +12,6 @@ empathy:empathy::: depends of geoclue2 evolution-data-server:evolution-data-server::: depends of libgdata finch:finch::: pidgin console flickcurl:::: only useful with Flickr service -geoclue:::: enables geospatial awareness in applications (physical location tracking software) geoclue2:::: enables geospatial awareness in applications (physical location tracking software) gnome-clocks:::: depends of geoclue2 gnome-documents:::: depends of libgdata -- cgit v1.2.2