#!/bin/sh set +e trap 'rm -rf --one-file-system "${tmp_dir:?}"' EXIT tmp_dir=$(mktemp -d) all_archs=( $( curl -Ss 'https://arch.eckner.net/archlinuxewe/os/' | \ sed -n ' s,^.*href="\([^".]\+\)/".*$,\1, T p ' ) ) { find ~erich/'eigeneSkripte/archPackages' -mindepth 2 -maxdepth 2 -type f -name PKGBUILD | \ while read -r PKGBUILD; do if grep -qxF '# repo: releng' "${PKGBUILD}"; then repo='releng' else repo='archlinuxewe' fi for arch in $( sed -n ' s/^arch=(\([^)]*\)).*$/\1/ T s/['"'"'"]//g p ' "${PKGBUILD}" ); do if [ "${repo}" = 'releng' ]; then case "${arch}" in 'any') arch='x86_64' ;; 'x86_64') : ;; *) continue ;; esac fi for pkgname in $( sed -n ' s/^pkgname=(\([^)]*\)).*$/\1/ t foundPkgname s/^pkgname=// T :foundPkgname s/['"'"'"]//g p ' "${PKGBUILD}" ); do printf '%s/%s/%s\n' \ "${arch}" \ "${repo}" \ "${pkgname}" if [ "${arch}" = 'any' ] && [ "${repo}" = 'archlinuxewe' ]; then printf '%s/'"${repo}/${pkgname}"'\n' \ "${all_archs[@]}" fi done done done | \ sed ' s/^/source: / ' { for arch in "${all_archs[@]}"; do curl -Ss 'https://arch.eckner.net/archlinuxewe/os/'"${arch}"'/archlinuxewe.db.tar.gz' | \ tar -tz --wildcards '*/desc' | \ sed ' s,-[^-]\+-[^-]\+/desc$,, s,^,'"${arch}"'/archlinuxewe/, ' done curl -Ss 'https://arch.eckner.net/archlinux32/x86_64/releng/releng.db.tar.gz' | \ tar -tz --wildcards '*/desc' | \ sed ' s,-[^-]\+-[^-]\+/desc$,, s,^,x86_64/releng/, ' } | \ sed ' s/^/package: / ' } | \ sort -k2 | \ uniq -uf1