summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--blacklist.txt3
-rwxr-xr-xfind-deprecated-pkgs56
-rw-r--r--your-initfreedom-blacklist.txt2
-rw-r--r--your-privacy-blacklist.txt1
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