diff --git a/.srcfiles.mk b/.srcfiles.mk index 70a37544..039bcb59 100644 --- a/.srcfiles.mk +++ b/.srcfiles.mk @@ -58,7 +58,7 @@ _gitfiles.all+=src/abslibre-tools/GNUmakefile _gitfiles.all+=src/abslibre-tools/Makefile _gitfiles.all+=src/abslibre-tools/createworkdir _gitfiles.all+=src/abslibre-tools/createworkdir.md -_gitfiles.all+=src/abslibre-tools/diff-unfree +_gitfiles.all+=src/abslibre-tools/diff-nonfree _gitfiles.all+=src/abslibre-tools/libreaddiff _gitfiles.all+=src/abslibre-tools/libredbdiff _gitfiles.all+=src/abslibre-tools/libredbdiff.conf @@ -155,12 +155,12 @@ _gitfiles.all+=test/librechroot-test.sh _gitfiles.all+=test/libredbdiff-test.sh _gitfiles.all+=test/libredbdiff.d/expected-explicit.txt _gitfiles.all+=test/libredbdiff.d/expected-implicit.txt -_gitfiles.all+=test/libredbdiff.d/statedir/pacman.archlinux/local/ALPM_DB_VERSION -_gitfiles.all+=test/libredbdiff.d/statedir/pacman.archlinux/sync/core.db -_gitfiles.all+=test/libredbdiff.d/statedir/pacman.conf.archlinux -_gitfiles.all+=test/libredbdiff.d/statedir/pacman.conf.parabola -_gitfiles.all+=test/libredbdiff.d/statedir/pacman.parabola/local/ALPM_DB_VERSION -_gitfiles.all+=test/libredbdiff.d/statedir/pacman.parabola/sync/libre.db +_gitfiles.all+=test/libredbdiff.d/statedir/pacman.arch/local/ALPM_DB_VERSION +_gitfiles.all+=test/libredbdiff.d/statedir/pacman.arch/sync/core.db +_gitfiles.all+=test/libredbdiff.d/statedir/pacman.conf.arch +_gitfiles.all+=test/libredbdiff.d/statedir/pacman.conf.hyperbola +_gitfiles.all+=test/libredbdiff.d/statedir/pacman.hyperbola/local/ALPM_DB_VERSION +_gitfiles.all+=test/libredbdiff.d/statedir/pacman.hyperbola/sync/core.db _gitfiles.all+=test/librefetch-test.sh _gitfiles.all+=test/librefetch.d/PKGBUILD-mksource _gitfiles.all+=test/librefetch.d/PKGBUILD-recurse diff --git a/config.mk b/config.mk index 0d564e0c..a3143471 100644 --- a/config.mk +++ b/config.mk @@ -30,7 +30,7 @@ docdir = $(datarootdir)/doc mandir = $(datarootdir)/man devtoolsdir = $(call abspath,$(topsrcdir)/../devtools-par) -RONNFLAGS = --manual='libretools Manual' --organization='Parabola' +RONNFLAGS = --manual='libretools Manual' --organization='Hyperbola Project' TESTENVFLAGS ?= diff --git a/src/abslibre-tools/diff-unfree b/src/abslibre-tools/diff-unfree index 2d543798..579de1f5 100755 --- a/src/abslibre-tools/diff-unfree +++ b/src/abslibre-tools/diff-unfree @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# This script will help you diff a *-libre PKGBUILD against the unfree one +# This script will help you diff a PKGBUILD against the nonfree one # to check for updates. # Copyright (C) 2010-2011 Nicolás Reynolds @@ -27,9 +27,9 @@ . "$(librelib conf)" usage() { - print "Usage: %s [community|packages] [unfree-package] [repo]" "${0##*/}" + print "Usage: %s [community|packages] [nonfree-package] [repo]" "${0##*/}" print "Usage: %s --help" "${0##*/}" - prose "Helps you diff build scripts from ABSLibre against (Unfree) ABS." + prose "Helps you diff a PKGBUILD against the nonfree one to check for updates." echo prose "Package name and repo will we guessed if you don't specify them." } @@ -46,7 +46,7 @@ main() { local package_guess=${PWD##*/} local repo=${1:-$(basename "${PWD%/*}")} local package=${2:-${package_guess%-libre}} - local trunk=${3:-trunk} + local repos=${3:-repos} svnrepo="packages" case $repo in @@ -66,7 +66,6 @@ main() { error "Can't create temp dir" return 1 fi - unfree_dir="${tmp_dir}/${svnrepo}/${package}/${trunk}" pushd "${tmp_dir}" &>/dev/null @@ -75,14 +74,20 @@ main() { svn checkout --depth=empty "svn://svn.archlinux.org/$svnrepo" &>/dev/null cd "${svnrepo}" - svn update "${package}" + svn update -r {${SNAPSHOT}} "${package}" # Back to start dir popd &>/dev/null + if [[ -d "${tmp_dir}/${svnrepo}/${package}/${repos}/${repo}-any" ]]; then + nonfree_dir="${tmp_dir}/${svnrepo}/${package}/${repos}/${repo}-any" + else + nonfree_dir="${tmp_dir}/${svnrepo}/${package}/${repos}/${repo}-x86_64" + fi + msg "Diffing files" - for _file in "${unfree_dir}"/*; do + for _file in "${nonfree_dir}"/*; do msg2 "%s" "$(basename "${_file}")" "${DIFFPROG}" "$PWD/$(basename "${_file}")" "${_file}" done diff --git a/src/abslibre-tools/libredbdiff b/src/abslibre-tools/libredbdiff index 1903c8c2..a01c32fb 100755 --- a/src/abslibre-tools/libredbdiff +++ b/src/abslibre-tools/libredbdiff @@ -28,20 +28,20 @@ setup_traps declare -r name="Libredbdiff" declare -r cmd="${0##*/}" -declare -r conffile_prbl="$statedir/pacman.conf.parabola" -declare -r conffile_arch="$statedir/pacman.conf.archlinux" +declare -r conffile_hyper="$statedir/pacman.conf.hyperbola" +declare -r conffile_arch="$statedir/pacman.conf.arch" -declare -r dbpath_prbl="$statedir/pacman.parabola" -declare -r dbpath_arch="$statedir/pacman.archlinux" +declare -r dbpath_hyper="$statedir/pacman.hyperbola" +declare -r dbpath_arch="$statedir/pacman.arch" -declare -r mirrorlist_prbl="$statedir/mirrorlist.parabola" -declare -r mirrorlist_arch="$statedir/mirrorlist.archlinux" +declare -r mirrorlist_hyper="$statedir/mirrorlist.hyperbola" +declare -r mirrorlist_arch="$statedir/mirrorlist.arch" -declare -r field_pkgname_prbl=30 +declare -r field_pkgname_hyper=30 declare -r field_pkgname_arch=30 -declare -r field_pkgname_total="$((field_pkgname_prbl + field_pkgname_arch))" +declare -r field_pkgname_total="$((field_pkgname_hyper + field_pkgname_arch))" -declare -r printf_format="%s %-${field_pkgname_prbl}s%-${field_pkgname_arch}s %s | %s\n" +declare -r printf_format="%s %-${field_pkgname_hyper}s%-${field_pkgname_arch}s %s | %s\n" declare -r printf_format_noarch="%s %-${field_pkgname_total}s %s\n" enablerepo() { @@ -76,18 +76,18 @@ createdir() { } # Globals: -# - pkgname : the Parabola pkgname -# - ver_prbl : a map of pkgname->arch_pkgver -# - ver_arch : a map of pkgname->prbl_pkgver +# - pkgname : the Hyperbola pkgname +# - ver_hyper : a map of pkgname->arch_pkgver +# - ver_arch : a map of pkgname->hyper_pkgver # - provides : a map of pkgname->provides compare_pkgs() { if [[ -n "${ver_arch[$pkgname]:-}" ]]; then - if {{ "${ver_prbl[$pkgname]}" -lt "${ver_arch[$pkgname]}" }}; then + if {{ "${ver_hyper[$pkgname]}" -lt "${ver_arch[$pkgname]}" }}; then printf "$printf_format" \ '=' \ "$pkgname" \ "" \ - "${ver_prbl[$pkgname]}" \ + "${ver_hyper[$pkgname]}" \ "${ver_arch[$pkgname]}" fi elif [[ -n "${provides[$pkgname]:-}" ]]; then @@ -95,12 +95,12 @@ compare_pkgs() { read -r -a _provides <<<"${provides[$pkgname]}" for provide in "${_provides[@]}"; do if [[ -n "${ver_arch[$provide]:-}" ]]; then - if {{ "${ver_prbl[$pkgname]}" -lt "${ver_arch[$provide]}" }}; then + if {{ "${ver_hyper[$pkgname]}" -lt "${ver_arch[$provide]}" }}; then printf "$printf_format" \ 'p' \ "$pkgname" \ "$provide" \ - "${ver_prbl[$pkgname]}" \ + "${ver_hyper[$pkgname]}" \ "${ver_arch[$provide]}" fi fi @@ -109,22 +109,22 @@ compare_pkgs() { printf "$printf_format_noarch" \ 'o' \ "$pkgname" \ - "${ver_prbl[$pkgname]}" + "${ver_hyper[$pkgname]}" fi } # Globals: -# - prbl_packages_tmp -# - ver_prbl +# - hyper_packages_tmp +# - ver_hyper # - ver_arch (transitively through compare_pkgs) # - provides print_cmp() { local repo="$1" - < "$prbl_packages_tmp" \ + < "$hyper_packages_tmp" \ awk -F/ -v repo="$repo" '$1 == repo {print $2}' | while read -r pkgname _pkgver _provides ; do - ver_prbl["$pkgname"]="$_pkgver" + ver_hyper["$pkgname"]="$_pkgver" provides["$pkgname"]="$_provides" compare_pkgs done @@ -136,8 +136,8 @@ usage() { print " or: %q -h" "$cmd" print 'Show packages that need to be updated from Arch repositories.' echo - prose "Compares packages in Parabola repositories. Packages from - all configured Parabola repositories are compared. A Parabola + prose "Compares packages in Hyperbola repositories. Packages from + all configured Hyperbola repositories are compared. A Hyperbola repository name can be specified as argument to compare only packages in that repository." echo @@ -168,24 +168,24 @@ usage() { print '\tpkgline' print '\t...' echo - prose "That is, the output is organized by Parabola repository, and + prose "That is, the output is organized by Hyperbola repository, and within each repository section, there is one line for each - package in that Parabola repo that seems to be behind the + package in that Hyperbola repo that seems to be behind the equivalent package in Arch." echo print "The line-format for packages is:" printf "\t$printf_format" \ - status parabola_pkgname '[arch_pkgname]' parabola_pkgver arch_pkgver + status hyperbola_pkgname '[arch_pkgname]' hyperbola_pkgver arch_pkgver echo print "Where 'status' is one of the characters:" - flag '=' "An Arch package with the same pkgname as a Parabola package - was found, and Arch has a higher pkgver than Parabola. In + flag '=' "An Arch package with the same pkgname as a Hyperbola package + was found, and Arch has a higher pkgver than Hyperbola. In this case, arch_pkgname is not present (as it is the same as - the parabola_pkgname)." - flag 'p' "An Arch package with a pkgname that is provide'd by a Parabola + the hyperbola_pkgname)." + flag 'p' "An Arch package with a pkgname that is provide'd by a Hyperbola package was found, and the pkgver of the Arch package is - higher than the pkgver of the parabola package." - flag 'o' "It appears that this Parabola package is not a replacement for + higher than the pkgver of the hyperbola package." + flag 'o' "It appears that this Hyperbola package is not a replacement for an Arch package." } @@ -231,7 +231,7 @@ main() { fi if [[ $# = 1 ]]; then if ! in_array "$1" "${repos[@]}"; then - die "The specified Parabola repo \"%s\" cannot be compared. It's not in the list of repos in the configuration variable \"repos\"." "$1" + die "The specified Hyperbola repo \"%s\" cannot be compared. It's not in the list of repos in the configuration variable \"repos\"." "$1" fi fi main_compare "$@" @@ -245,20 +245,20 @@ main_update() { usage >&2 exit 1 fi - check_vars libredbdiff statedir mirror_prbl mirror_arch || exit 1 + check_vars libredbdiff statedir mirror_hyper mirror_arch || exit 1 createdir "$statedir" { - msg "Generating %s %q" Parabola pacman.conf - cp -T /usr/share/pacman/defaults/pacman.conf.x86_64 "$conffile_prbl" + msg "Generating %s %q" Hyperbola pacman.conf + cp -T /usr/share/pacman/defaults/pacman.conf.x86_64 "$conffile_hyper" sed -r \ - -e "s|/etc/pacman\.d/mirrorlist$|$mirrorlist_prbl|" \ - -e "s|^#?DBPath\s*=.*|DBPath = $dbpath_prbl|" \ + -e "s|/etc/pacman\.d/mirrorlist$|$mirrorlist_hyper|" \ + -e "s|^#?DBPath\s*=.*|DBPath = $dbpath_hyper|" \ -e "s|^#?Architecture\s*=.*|Architecture = x86_64|" \ - -i "$conffile_prbl" + -i "$conffile_hyper" local repo - for repo in multilib {libre,pcr,nonprism}{,-multilib}; do - enablerepo "$repo" "$conffile_prbl" + for repo in multilib; do + enablerepo "$repo" "$conffile_hyper" done msg "Generating %s %q" Arch pacman.conf @@ -273,16 +273,16 @@ main_update() { -i "$conffile_arch" enablerepo multilib "$conffile_arch" - printf 'Server = %s\n' "$mirror_prbl" > "$mirrorlist_prbl" + printf 'Server = %s\n' "$mirror_hyper" > "$mirrorlist_hyper" - printf 'Server = %s\n' "$mirror_arch" > "$mirrorlist_arch" + printf 'Server = %s\n' "${mirror_arch/SNAPSHOT/${SNAPSHOT//-//}}" > "$mirrorlist_arch" } - createdir "$dbpath_prbl" + createdir "$dbpath_hyper" { - msg "Synchronizing %s pacman databases for %s" "$name" "Parabola" - pacman --config "$conffile_prbl" -Sy || - die "Failed to synchronize pacman database for %s. Exiting." Parabola + msg "Synchronizing %s pacman databases for %s" "$name" "Hyperbola" + pacman --config "$conffile_hyper" -Sy || + die "Failed to synchronize pacman database for %s. Exiting." Hyperbola } createdir "$dbpath_arch" @@ -299,9 +299,9 @@ main_update() { main_compare() { check_vars libredbdiff statedir repos || exit 1 - if ! [[ -f "$conffile_prbl" && \ + if ! [[ -f "$conffile_hyper" && \ -f "$conffile_arch" && \ - -f "$dbpath_prbl/sync/libre.db" && \ + -f "$dbpath_hyper/sync/core.db" && \ -f "$dbpath_arch/sync/core.db" ]] then error "You must run %q with out arguments as root to initialize." "$cmd" @@ -313,10 +313,10 @@ main_compare() { tmpdir="$(mktemp --tmpdir -d "$cmd.XXXXXXXXXX")" || die "Could not create temporary working directory" trap "rm -rf -- $(printf %q "$tmpdir")" RETURN local arch_packages_tmp="$tmpdir/arch-packages" - local prbl_packages_tmp="$tmpdir/parabola-packages" + local hyper_packages_tmp="$tmpdir/hyperbola-packages" - unset provides ver_prbl ver_arch - declare -gA provides ver_prbl ver_arch + unset provides ver_hyper ver_arch + declare -gA provides ver_hyper ver_arch expac --config "$conffile_arch" -S '%n %v' \ > "$arch_packages_tmp" || \ @@ -327,9 +327,9 @@ main_compare() { ver_arch["$pkgname"]="$pkgver" done < "$arch_packages_tmp" - expac --config "$conffile_prbl" -S '%r/%n %v %S' \ - > "$prbl_packages_tmp" || \ - die "expac command to get %s package data has failed. Exiting." Parabola + expac --config "$conffile_hyper" -S '%r/%n %v %S' \ + > "$hyper_packages_tmp" || \ + die "expac command to get %s package data has failed. Exiting." Hyperbola if [[ $# == 1 ]]; then print_cmp "$1" diff --git a/src/abslibre-tools/libredbdiff.conf b/src/abslibre-tools/libredbdiff.conf index d92a8322..9d31e906 100644 --- a/src/abslibre-tools/libredbdiff.conf +++ b/src/abslibre-tools/libredbdiff.conf @@ -3,7 +3,7 @@ statedir='/var/lib/libredbdiff' -mirror_prbl='https://repomirror.parabola.nu/$repo/os/$arch' -mirror_arch='https://mirrors.kernel.org/archlinux/$repo/os/$arch' +mirror_hyper='https://repo.hyperbola.info:50011/gnu-plus-linux-libre/testing/$repo/os/$arch' +mirror_arch='https://archive.archlinux.org/repos/SNAPSHOT/$repo/os/$arch' -repos=(libre{,-multilib} pcr{,-multilib} nonprism{,-multilib}) +repos=(core extra community multilib) diff --git a/src/abslibre-tools/librerelease b/src/abslibre-tools/librerelease index b8eb0e32..51739256 100755 --- a/src/abslibre-tools/librerelease +++ b/src/abslibre-tools/librerelease @@ -40,7 +40,6 @@ . "$(librelib conf)" dryrun="" -upload_only=false readonly rsync_flags=( --no-group --no-perms @@ -49,7 +48,7 @@ readonly rsync_flags=( --partial --human-readable --progress - -e ssh + -e "ssh -p 51011" ) # Functions #################################################################### @@ -125,12 +124,11 @@ usage() { print "Usage: %s [OPTIONS]" "${0##*/}" echo prose 'This script uploads packages on $WORKDIR/staging - to the Parabola server.' + to the Hyperbola server.' echo print "Options:" flag '-c' 'Clean; delete packages in $WORKDIR/staging' flag '-l' "List; list packages but not upload them" - flag '-u' "Upload-only; do not run db-update on the server" flag '-n' "Dry-run; don't actually do anything" flag '-h' "Show this message" @@ -148,7 +146,6 @@ main() { case $arg in c) mode=clean ;; l) mode=pretty_print_packages ;; - u) upload_only=true ;; n) dryrun="--dry-run" ;; h) mode=usage ;; *) usage >&2; return 1 ;; @@ -227,7 +224,7 @@ release_packages() { msg "%s to upload" "$(cd "${WORKDIR}/staging" && du -hc --files0-from="$file_list" | sed -n '$s/\t.*//p')" msg "Uploading packages..." - xargs -0r -a "$file_list" dirname -z | ssh "${REPODEST%%:*}" "$(printf 'mkdir -p -- %q && cd %q && xargs -0r mkdir -pv --' "${REPODEST#*:}"{,})" + xargs -0r -a "$file_list" dirname -z | ssh -p 51011 "${REPODEST%%:*}" "$(printf 'mkdir -p -- %q && cd %q && xargs -0r mkdir -pv --' "${REPODEST#*:}"{,})" if ! rsync ${dryrun} "${rsync_flags[@]}" \ -0 --files-from="$file_list" \ "${WORKDIR}/staging" \ @@ -239,13 +236,6 @@ release_packages() { clean_files "$file_list" - if $upload_only; then - return 0 - fi - - msg "Running db-update on repos" - ssh "${REPODEST%%:*}" "$(printf 'STAGING=%q db-update' "${REPODEST#*:}")" - if [[ -n $HOOKPOSTRELEASE ]]; then msg "Running HOOKPOSTRELEASE..." plain '%s' "${HOOKPOSTRELEASE}" diff --git a/src/abslibre-tools/librestage b/src/abslibre-tools/librestage index 74de8fb3..34a34779 100755 --- a/src/abslibre-tools/librestage +++ b/src/abslibre-tools/librestage @@ -64,7 +64,7 @@ main() { check_vars libretools WORKDIR || return 1 load_files makepkg # for PKGDEST, SRCDEST, and SRCPKGDEST, which are optional load_files librefetch # for MIRRORS, which is optional - SRCPKGPOOL="$WORKDIR/staging/sources/parabola" + SRCPKGPOOL="$WORKDIR/staging/sources/hyperbola" # Load the PKGBUILD load_PKGBUILD @@ -102,19 +102,19 @@ main() { return 1 fi done - if pkgfile=$(find_cached_srcpackage "$pkgbase" "$(get_full_version)" "$CARCH"); then - msg 'Found source package: %s' "${pkgfile##*/}" - - mkdir -p "$SRCPKGPOOL" - if cp "$pkgfile" "$SRCPKGPOOL/${pkgfile##*/}"; then - msg2 "%s staged on [%s]" "$pkgbase" sources - staged=true - else - error "Can't put %s on [%s]" "$pkgbase" sources - return 1 - fi - fi done + if pkgfile=$(find_cached_srcpackage "$pkgbase" "$(get_full_version)"); then + msg 'Found source package: %s' "${pkgfile##*/}" + + mkdir -p "$SRCPKGPOOL" + if cp "$pkgfile" "$SRCPKGPOOL/${pkgfile##*/}"; then + msg2 "%s staged on [%s]" "$pkgbase" sources + staged=true + else + error "Can't put %s on [%s]" "$pkgbase" sources + return 1 + fi + fi # Look for librefetch output local netfile mirror path @@ -138,13 +138,13 @@ main() { done if [[ -n "$srcpath" ]]; then msg "Found generated source file: %s" "$srcname" - local dest="${WORKDIR}/staging/other/${srcurl##"$mirror"}" + local dest="${WORKDIR}/staging/sources/${srcurl##"$mirror"}" mkdir -p -- "${dest%/*}" if cp "$srcpath" "$dest"; then - msg2 "%s staged on [%s]" "$srcname" other + msg2 "%s staged on [%s]" "$srcname" sources staged=true else - error "Can't put %s on [%s]" "$srcname" other + error "Can't put %s on [%s]" "$srcname" sources return 1 fi fi diff --git a/src/aur b/src/aur index 8f69505b..295e0fc7 100755 --- a/src/aur +++ b/src/aur @@ -29,7 +29,7 @@ usage() { prose "This script will download packages from AUR to the current directory and check their license for nonfree issues. This does not mean that they are free; they may be incorrectly labeled, or - have other freedom issues. It's a tool to help Parabola + have other freedom issues. It's a tool to help Hyperbola packagers, not to help users install things directly from AUR." } diff --git a/src/chroot-tools/libremakepkg b/src/chroot-tools/libremakepkg index 019bae11..d4e5b8a0 100755 --- a/src/chroot-tools/libremakepkg +++ b/src/chroot-tools/libremakepkg @@ -167,7 +167,7 @@ usage() { flag '-N' "Don't disable networking during build() and package(). PLEASE don't use this unless you have a special reason, its use is a violation - of Parabola policy." + of Hyperbola policy." flag '-R' 'Repackage contents of the package without rebuilding' flag '-h' 'Show this message' } diff --git a/src/chroot-tools/makechrootpkg.in b/src/chroot-tools/makechrootpkg.in index 7589737c..f97b329b 100644 --- a/src/chroot-tools/makechrootpkg.in +++ b/src/chroot-tools/makechrootpkg.in @@ -199,9 +199,13 @@ prepare_chroot() { # We can't use useradd without chrooting, otherwise it invokes PAM modules # which we might not be able to load (i.e. when building i686 packages on # an x86_64 host). - sed -e '/^builduser:/d' -i "$copydir"/etc/{passwd,group} - printf >>"$copydir/etc/group" 'builduser:x:%d:\n' "$builduser_gid" - printf >>"$copydir/etc/passwd" 'builduser:x:%d:%d:builduser:/build:/bin/bash\n' "$builduser_uid" "$builduser_gid" + sed -e '\/adm:/ s/,builduser//g' -i "$copydir"/etc/{group,gshadow} + sed -e '/^builduser:/d' -i "$copydir"/etc/{passwd,group,gshadow,shadow} + printf >>"$copydir/etc/passwd" 'builduser:x:%d:%d:builduser:/build:/bin/bash\n' "$builduser_uid" "$builduser_gid" + printf >>"$copydir/etc/shadow" 'builduser:x:14871::::::\n' + printf >>"$copydir/etc/group" 'builduser:x:%d:\n' "$builduser_gid" + printf >>"$copydir/etc/gshadow" 'builduser:x::\n' + sed -e '\/adm:/ s/root,daemon/root,daemon,builduser/' -i "$copydir"/etc/{group,gshadow} $install -d "$copydir"/{build,build/.gnupg,startdir,{pkg,srcpkg,src,log}dest} @@ -272,24 +276,11 @@ _chrootprepare() { _chrootbuild() { # shellcheck source=/dev/null . /etc/profile - local srcext - srcext="$( - # shellcheck source=makepkg-x86_64.conf - . /etc/makepkg.conf || exit - # shellcheck source=PKGBUILD.proto - . /startdir/PKGBUILD || exit - if [ "$arch" = any ]; then - pkgarch=any - else - pkgarch=$CARCH - fi - printf '%s\n' "-$pkgarch$SRCEXT" - )" || return # Beware, there are some stupid arbitrary rules on how you can # use "$" in arguments to commands with "sudo -i". ${foo} or # ${1} is OK, but $foo or $1 isn't. # https://bugzilla.sudo.ws/show_bug.cgi?id=765 - sudo -iu builduser bash -c 'cd /startdir; SRCEXT="${1}" makepkg "${@:2}" --allsource' -bash "$srcext" "$@" || return + sudo -iu builduser bash -c 'cd /startdir; makepkg "${@:2}" --allsource' -bash ".src.tar.gz" "$@" || return sudo -iu builduser bash -c 'cd /startdir; makepkg "$@" --noextract --noprepare' -bash "$@" } diff --git a/src/gitget/gitget b/src/gitget/gitget index 6a4b9d17..f652e479 100755 --- a/src/gitget/gitget +++ b/src/gitget/gitget @@ -48,7 +48,7 @@ download_git_checkout() { if [[ ! -d "$dir/.git" ]] ; then msg2 "Cloning %s %s repo..." "${name}" "git" - if ! git clone "$url" "$dir"; then + if ! git clone --recursive "$url" "$dir"; then error "Failure while downloading %s %s repo" "${name}" "git" plain "Aborting..." exit 1 diff --git a/src/lib/common.sh.in b/src/lib/common.sh.in index 118a06c8..ccc19b75 100644 --- a/src/lib/common.sh.in +++ b/src/lib/common.sh.in @@ -283,7 +283,7 @@ find_cached_package() { } ## -# usage: find_cached_srcpackage( $pkgname, $pkgver, $arch ) +# usage: find_cached_srcpackage( $pkgname, $pkgver) # # $pkgver can be supplied with or without a pkgrel appended. # If not supplied, any pkgrel will be matched. @@ -291,7 +291,7 @@ find_cached_package() { find_cached_srcpackage() { local searchdirs=("$PWD" "$SRCPKGDEST") results=() local targetname=$1 targetver=$2 targetarch=$3 - local dir pkg pkgbasename name ver rel arch r results + local dir pkg pkgbasename name ver rel r results for dir in "${searchdirs[@]}"; do [[ -d $dir ]] || continue @@ -308,16 +308,13 @@ find_cached_srcpackage() { pkgbasename=${pkg##*/} pkgbasename=${pkgbasename%.src.tar?(.?z)} - arch=${pkgbasename##*-} - pkgbasename=${pkgbasename%-"$arch"} - rel=${pkgbasename##*-} pkgbasename=${pkgbasename%-"$rel"} ver=${pkgbasename##*-} name=${pkgbasename%-"$ver"} - if [[ $targetname = "$name" && $targetarch = "$arch" ]] && + if [[ $targetname = "$name" ]] && pkgver_equal "$targetver" "$ver-$rel"; then results+=("$pkg") fi diff --git a/src/lib/conf.sh.3.ronn b/src/lib/conf.sh.3.ronn index 0974bdb4..949ce3e9 100644 --- a/src/lib/conf.sh.3.ronn +++ b/src/lib/conf.sh.3.ronn @@ -8,7 +8,7 @@ conf.sh(3) -- easy loading of configuration files ## DESCRIPTION `conf.sh` is a Bash(1) library to easily load various configuration -files related to Arch Linux/Parabola(7) and libretools(7). +files related to Arch/Hyperbola(7) and libretools(7). ### VARIABLES diff --git a/src/lib/conf.sh.in b/src/lib/conf.sh.in index 1e4acd92..942484ef 100644 --- a/src/lib/conf.sh.in +++ b/src/lib/conf.sh.in @@ -18,6 +18,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . +SNAPSHOT=2020-05-08 + LIBREUSER="${SUDO_USER:-$USER}" if [[ $LIBREUSER == "$USER" ]]; then LIBREHOME=$HOME diff --git a/src/lib/libremessages.1.ronn b/src/lib/libremessages.1.ronn index 4af446e1..2abdd987 100644 --- a/src/lib/libremessages.1.ronn +++ b/src/lib/libremessages.1.ronn @@ -217,7 +217,7 @@ These routines relate to `makepkg`(8). found (not counting duplicate links), then an error is printed to stderr and nothing is printed to stdout. - * `find_cached_srcpackage` [-: + * `find_cached_srcpackage` [- for source packages produced by libremakepkg. diff --git a/src/lib/messages.sh.3.ronn b/src/lib/messages.sh.3.ronn index 4af446e1..2abdd987 100644 --- a/src/lib/messages.sh.3.ronn +++ b/src/lib/messages.sh.3.ronn @@ -217,7 +217,7 @@ These routines relate to `makepkg`(8). found (not counting duplicate links), then an error is printed to stderr and nothing is printed to stdout. - * `find_cached_srcpackage` [-: + * `find_cached_srcpackage` [- for source packages produced by libremakepkg. diff --git a/src/librefetch/librefetch b/src/librefetch/librefetch index 807fe9be..fb032bc4 100755 --- a/src/librefetch/librefetch +++ b/src/librefetch/librefetch @@ -75,7 +75,7 @@ usage() { straight to makepkg." echo print "Example usage:" - print ' $ %s https://repo.parabola.nu/other/mypackage/mypackage-1.0.tar.gz' "$cmd" + print ' $ %s https://repo.hyperbola.info:50000/sources/mypackage/mypackage-1.0.tar.gz' "$cmd" echo print "Options:" flag 'Settings:' \ diff --git a/src/librefetch/librefetch.8.ronn b/src/librefetch/librefetch.8.ronn index fa7aaceb..9b30d5f7 100644 --- a/src/librefetch/librefetch.8.ronn +++ b/src/librefetch/librefetch.8.ronn @@ -12,7 +12,7 @@ librefetch(8) -- downloads or creates a liberated source tarball tarballs for `PKGBUILD(5)` files. If a URL mentioned in the array in a `PKGBUILD` is in a -location that Parabola uploads "custom" source tarballs to (or +location that Hyperbola uploads "custom" source tarballs to (or configured locations), and no file is at that URL, librefetch will automatically create it for you. diff --git a/src/librefetch/librefetch.conf b/src/librefetch/librefetch.conf index d92683f8..a013acf6 100644 --- a/src/librefetch/librefetch.conf +++ b/src/librefetch/librefetch.conf @@ -2,9 +2,6 @@ # shellcheck disable=2034 MIRRORS=( - 'https://repo.parabola.nu/sources/' - 'https://repo.parabola.nu/other/' - 'https://repo.parabolagnulinux.org/sources/' - 'https://repo.parabolagnulinux.org/other/' + 'https://repo.hyperbola.info:50000/sources/' ) DOWNLOADER='/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u' diff --git a/src/libretools.conf b/src/libretools.conf index f909c367..7ecad428 100644 --- a/src/libretools.conf +++ b/src/libretools.conf @@ -6,21 +6,23 @@ ################################################################################ # The dir where you work on -WORKDIR="$LIBREHOME/packages" +WORKDIR="$LIBREHOME/hyperbola" ## Blacklist URL -BLACKLIST=https://git.parabola.nu/blacklist.git/plain/blacklist.txt +BLACKLIST=https://git.hyperbola.info:50100/software/blacklist.git/plain/blacklist.txt +#BLACKLIST=$WORKDIR/blacklist/blacklist.txt ## Diff tool (vimdiff, gvimdiff, meld, etc) -## Used by `aur`, `diff-unfree` +## Used by `aur`, `diff-nonfree` # shellcheck disable=2046 -DIFFPROG=$(which $([ -z "${DISPLAY:-}" ]||echo kdiff3 meld gvimdiff) vimdiff colordiff diff 2>/dev/null|sed 's/\s.*//;1q') +#DIFFPROG=$(which $([ -z "${DISPLAY:-}" ]||echo kdiff3 meld gvimdiff) vimdiff colordiff diff 2>/dev/null|sed 's/\s.*//;1q') +DIFFPROG=vimdiff -## ABSLibre +## Packages ## Used by xbs-abslibre -ABSLIBRERECV=git://git.parabola.nu/abslibre/abslibre.git -ABSLIBRESEND=ssh://git@git.parabola.nu/srv/git/abslibre/abslibre.git -ABSLIBREDEST="$WORKDIR/staging/abslibre" +ABSLIBRERECV=https://git.hyperbola.info:50100/packages/packages.git +ABSLIBRESEND=ssh://git@git.hyperbola.info:51100/srv/git/packages/packages.git +ABSLIBREDEST="$WORKDIR/staging/packages" ## ARCHES is the list of ARCHES to look for under ABSLIBREDEST ARCHES=($(printf '%s\n' /usr/share/pacman/defaults/pacman.conf.*|sed 's|.*\.||')) @@ -29,12 +31,11 @@ ARCHES=($(printf '%s\n' /usr/share/pacman/defaults/pacman.conf.*|sed 's|.*\.||') ################################################################################ ## Where to upload packages to -# '/staging/' is appended; this is for compatibility with previous versions. -REPODEST=repo@repo.parabola.nu:staging/$LIBREUSER +REPODEST=staging@dusseldorf.hyperbola.info:$LIBREUSER ## These are run before and after uploading packages -HOOKPRERELEASE="ssh -fN ${REPODEST%%:*}" -HOOKPOSTRELEASE="sudo librechroot clean-repo" +HOOKPRERELEASE="ssh -p 51011 -fN ${REPODEST%%:*}" +HOOKPOSTRELEASE="sudo librechroot clean-repo" # && sudo librechroot -n i686 clean-repo" ################################################################################ # dagpkg # @@ -69,4 +70,4 @@ TORUPATH=/var/lib/libretools/toru # inverted order of precedence. Put testing repos first so dagpkg will find new # PKGBUILDs first, for instance. `toru-path` uses reverse order to enforce repo # precedence on the path cache (the last path added replaces the rest) -REPOS=('core' 'libre' 'extra' 'community' 'libre-testing' 'social' 'sugar' 'pcr' 'java') +REPOS=('core' 'extra' 'community' 'multilib') diff --git a/src/repo-diff b/src/repo-diff index df5e49be..651bb399 100755 --- a/src/repo-diff +++ b/src/repo-diff @@ -22,12 +22,12 @@ . "$(librelib messages)" usage() { - print "Usage: %s arch/core/i686 parabola/core/i686" "${0##*/}" + print "Usage: %s arch/core/i686 hyperbola/core/i686" "${0##*/}" print "Compares two repo databases using distro/repo/architecture format." echo print 'Shortcuts:' - flag 'arch' 'expands to Arch Linux repo url' - flag 'parabola' 'expands to Parabola GNU/Linux-libre repo url' + flag 'arch' 'expands to Arch GNU/Linux repo url' + flag 'hyperbola' 'expands to Hyperbola GNU/Linux-libre repo url' } b() { @@ -38,13 +38,13 @@ n() { } # hopefully simple way to convert -# parabola/libre/i686 +# hyperbola/core/i686 # to -# http://repo.parabola.nu/libre/os/i686/libre.db +# https://repo.hyperbola.info:50011/gnu-plus-linux-libre/testing/core/os/i686/core.db # add more distros here g() { echo "$1" | sed -e "s,^\([^/]\+\)/\([^/]\+\)/\([^/]\+\)$,\1/\2/os/\3/\2.db," \ - -e "s,^parabola/,http://repo.parabola.nu/," \ + -e "s,^hyperbola/,https://repo.hyperbola.info:50011/gnu-plus-linux-libre/testing/," \ -e "s,^arch\(linux\)\?/,http://mirrors.kernel.org/archlinux/," } diff --git a/test/lib-blacklist-test.sh b/test/lib-blacklist-test.sh index 49c756ec..49ee3488 100644 --- a/test/lib-blacklist-test.sh +++ b/test/lib-blacklist-test.sh @@ -3,7 +3,7 @@ describe libreblacklist . ./test-common.sh -_blacklist_url=https://projects.parabola.nu/blacklist.git/plain/blacklist.txt +_blacklist_url=https://git.hyperbola.info:50100/software/blacklist.git/plain/blacklist.txt it_works_with_just_pkgname() { v="$(libreblacklist normalize <</dev/tty - testsudo librechroot -l "$roundup_test_name" run curl https://repo.parabola.nu/ >/dev/null - not testsudo librechroot -l "$roundup_test_name" -N run curl https://repo.parabola.nu/ >/dev/null + testsudo librechroot -l "$roundup_test_name" run curl https://repo.hyperbola.info:50011/ >/dev/null + not testsudo librechroot -l "$roundup_test_name" -N run curl https://repo.hyperbola.info:50011/ >/dev/null } it_handles_CHROOTEXTRAPKG_correctly() { diff --git a/test/libredbdiff-test.sh b/test/libredbdiff-test.sh index fe73074c..d2ca50b0 100644 --- a/test/libredbdiff-test.sh +++ b/test/libredbdiff-test.sh @@ -7,9 +7,9 @@ common_before() { mkdir -p "$XDG_CONFIG_HOME/libretools" printf '%s\n' \ 'statedir="$PWD"' \ - "mirror_prbl='https://repo.parabola.nu/\$repo/os/\$arch'" \ + "mirror_hyper='https://repo.hyperbola.info:50011/gnu-plus-linux-libre/testing/\$repo/os/\$arch'" \ "mirror_arch='https://mirrors.kernel.org/archlinux/\$repo/os/\$arch'" \ - 'repos=(libre)' \ + 'repos=(core)' \ > $XDG_CONFIG_HOME/libretools/libredbdiff.conf } @@ -23,7 +23,7 @@ it_displays_help() { it_handles_packages_with_multiple_provides_explicit() { cd libredbdiff.d/statedir - libredbdiff -n libre >$tmpdir/stdout 2>$tmpdir/stderr + libredbdiff -n core >$tmpdir/stdout 2>$tmpdir/stderr empty $tmpdir/stderr diff -w ../expected-explicit.txt $tmpdir/stdout diff --git a/test/libredbdiff.d/expected-implicit.txt b/test/libredbdiff.d/expected-implicit.txt index afc2689a..c1523bb4 100644 --- a/test/libredbdiff.d/expected-implicit.txt +++ b/test/libredbdiff.d/expected-implicit.txt @@ -1,2 +1,2 @@ -[libre] +[core] p linux-libre linux 4.10.12_gnu-2 | 4.10.13-1 diff --git b/test/libredbdiff.d/statedir/pacman.conf.arch b/test/libredbdiff.d/statedir/pacman.conf.arch new file mode 100644 index 00000000..d527c954 --- /dev/null +++ b/test/libredbdiff.d/statedir/pacman.conf.arch @@ -0,0 +1,6 @@ +[options] +DBPath = ./pacman.arch +Architecture = x86_64 + +[core] +Server = https://mirrors.kernel.org/archlinux/$repo/os/$arch diff --git a/test/libredbdiff.d/statedir/pacman.conf.archlinux a/test/libredbdiff.d/statedir/pacman.conf.archlinux deleted file mode 100644 index d4a9c8da..00000000 --- a/test/libredbdiff.d/statedir/pacman.conf.archlinux +++ /dev/null @@ -1,6 +0,0 @@ -[options] -DBPath = ./pacman.archlinux -Architecture = x86_64 - -[core] -Server = https://mirrors.kernel.org/archlinux/$repo/os/$arch diff --git b/test/libredbdiff.d/statedir/pacman.conf.hyperbola b/test/libredbdiff.d/statedir/pacman.conf.hyperbola new file mode 100644 index 00000000..aaf5c9c6 --- /dev/null +++ b/test/libredbdiff.d/statedir/pacman.conf.hyperbola @@ -0,0 +1,6 @@ +[options] +DBPath = ./pacman.hyperbola +Architecture = x86_64 + +[core] +Server = https://repo.hyperbola.info:50011/gnu-plus-linux-libre/testing/$repo/os/$arch diff --git a/test/libredbdiff.d/statedir/pacman.conf.parabola a/test/libredbdiff.d/statedir/pacman.conf.parabola deleted file mode 100644 index 7b553dd4..00000000 --- a/test/libredbdiff.d/statedir/pacman.conf.parabola +++ /dev/null @@ -1,6 +0,0 @@ -[options] -DBPath = ./pacman.parabola -Architecture = x86_64 - -[libre] -Server = https://repomirror.parabola.nu/$repo/os/$arch diff --git a/test/libremakepkg.d/PKGBUILD-hello b/test/libremakepkg.d/PKGBUILD-hello index 5f320fe3..b29f7475 100644 --- a/test/libremakepkg.d/PKGBUILD-hello +++ b/test/libremakepkg.d/PKGBUILD-hello @@ -1,7 +1,7 @@ pkgname='libretools-hello' pkgver=1.0 license=('GPL') -url='https://parabola.nu' +url='https://www.hyperbola.info' pkgrel=1 arch=(any) diff --git a/test/libremakepkg.d/PKGBUILD-netbuild b/test/libremakepkg.d/PKGBUILD-netbuild index 4db1274a..231d1728 100644 --- a/test/libremakepkg.d/PKGBUILD-netbuild +++ b/test/libremakepkg.d/PKGBUILD-netbuild @@ -1,14 +1,14 @@ pkgname='libretools-netbuild' pkgver=1.0 license=('GPL') -url='https://parabola.nu' +url='https://www.hyperbola.info' pkgrel=1 arch=(any) build() { cd "$srcdir" - curl https://repo.parabola.nu/ > index.html + curl https://repo.hyperbola.info:50000/ > index.html } package() { diff --git a/test/libremakepkg.d/PKGBUILD-netpackage b/test/libremakepkg.d/PKGBUILD-netpackage index 6cadcf8d..94c63bf0 100644 --- a/test/libremakepkg.d/PKGBUILD-netpackage +++ b/test/libremakepkg.d/PKGBUILD-netpackage @@ -1,12 +1,12 @@ pkgname='libretools-netpackage' pkgver=1.0 license=('GPL') -url='https://parabola.nu' +url='https://www.hyperbola.info' pkgrel=1 arch=(any) package() { install -d "$pkgdir"/usr/share/$pkgname - curl https://repo.parabola.nu/ > "$pkgdir"/usr/share/$pkgname/index.html + curl https://repo.hyperbola.info:50000/ > "$pkgdir"/usr/share/$pkgname/index.html } diff --git a/test/libremakepkg.d/PKGBUILD-netprepare b/test/libremakepkg.d/PKGBUILD-netprepare index efb7a435..0b024b95 100644 --- a/test/libremakepkg.d/PKGBUILD-netprepare +++ b/test/libremakepkg.d/PKGBUILD-netprepare @@ -1,14 +1,14 @@ pkgname='libretools-netprepare' pkgver=1.0 license=('GPL') -url='https://parabola.nu' +url='https://www.hyperbola.info' pkgrel=1 arch=(any) prepare() { cd "$srcdir" - curl https://repo.parabola.nu/ > index.html + curl https://repo.hyperbola.info:50000/ > index.html } package() { diff --git a/test/libremakepkg.d/PKGBUILD-testpkg1 b/test/libremakepkg.d/PKGBUILD-testpkg1 index 8da1f14c..267e84e8 100644 --- a/test/libremakepkg.d/PKGBUILD-testpkg1 +++ b/test/libremakepkg.d/PKGBUILD-testpkg1 @@ -1,7 +1,7 @@ pkgname='libretools-testpkg1' pkgver=1.0 license=('GPL') -url='https://parabola.nu' +url='https://www.hyperbola.info' pkgrel=1 arch=(any) diff --git a/test/libremakepkg.d/PKGBUILD-testpkg2 b/test/libremakepkg.d/PKGBUILD-testpkg2 index 65d558ed..0d39e394 100644 --- a/test/libremakepkg.d/PKGBUILD-testpkg2 +++ b/test/libremakepkg.d/PKGBUILD-testpkg2 @@ -1,7 +1,7 @@ pkgname='libretools-testpkg2' pkgver=1.0 license=('GPL') -url='https://parabola.nu' +url='https://www.hyperbola.info' pkgrel=1 arch=(any) diff --git a/test/librerelease-test.sh b/test/librerelease-test.sh index 1c864f7d..2f554309 100644 --- a/test/librerelease-test.sh +++ b/test/librerelease-test.sh @@ -7,7 +7,7 @@ common_before() { mkdir -p $XDG_CONFIG_HOME/libretools { echo "WORKDIR='$tmpdir/workdir'" - echo 'REPODEST=repo@repo:/srv/http/repo/staging-$LIBREUSER' + echo 'REPODEST=staging@repo.hyperbola.info:/srv/staging/$LIBREUSER' } >$XDG_CONFIG_HOME/libretools/libretools.conf mkdir -p $XDG_CONFIG_HOME/pacman { diff --git a/test/librestage-test.sh b/test/librestage-test.sh index 153e1a42..75450aec 100644 --- a/test/librestage-test.sh +++ b/test/librestage-test.sh @@ -59,7 +59,7 @@ it_guesses_the_repo() { find "$tmpdir" -not -type d -exec ls -ld -- {} + [[ -f $(echo $tmpdir/workdir/staging/reponame/libretools-hello-1.0-1-any.pkg.tar.?z) ]] - $nochroot || [[ -f $(echo $tmpdir/workdir/staging/sources/parabola/libretools-hello-1.0-1-any.src.tar.?z) ]] + $nochroot || [[ -f $(echo $tmpdir/workdir/staging/sources/hyperbola/libretools-hello-1.0-1-any.src.tar.?z) ]] } it_stages_packages_without_PKGDEST() { @@ -80,5 +80,5 @@ it_stages_packages_without_PKGDEST() { find "$tmpdir" -not -type d -exec ls -ld -- {} + [[ -f $(echo $tmpdir/workdir/staging/repo1/libretools-hello-1.0-1-any.pkg.tar.?z) ]] - $nochroot || [[ -f $(echo $tmpdir/workdir/staging/sources/parabola/libretools-hello-1.0-1-any.src.tar.?z) ]] + $nochroot || [[ -f $(echo $tmpdir/workdir/staging/sources/hyperbola/libretools-hello-1.0-1-any.src.tar.?z) ]] } diff --git a/test/librestage.d/PKGBUILD-hello b/test/librestage.d/PKGBUILD-hello index 5f320fe3..b29f7475 100644 --- a/test/librestage.d/PKGBUILD-hello +++ b/test/librestage.d/PKGBUILD-hello @@ -1,7 +1,7 @@ pkgname='libretools-hello' pkgver=1.0 license=('GPL') -url='https://parabola.nu' +url='https://www.hyperbola.info' pkgrel=1 arch=(any) diff --git a/test/test-common.sh b/test/test-common.sh index 5c238e18..3f3763cb 100644 --- a/test/test-common.sh +++ b/test/test-common.sh @@ -51,7 +51,7 @@ setup_chrootdir() { _common_before() { mkdir -p "$XDG_CONFIG_HOME"/libretools - echo "BLACKLIST=https://git.parabola.nu/blacklist.git/plain/blacklist.txt" >"$XDG_CONFIG_HOME"/libretools/libretools.conf + echo "BLACKLIST=https://git.hyperbola.info:50100/software/blacklist.git/plain/blacklist.txt" >"$XDG_CONFIG_HOME"/libretools/libretools.conf printf 'CHROOTDIR=%q\n' "${chrootdir}" > "$XDG_CONFIG_HOME"/libretools/chroot.conf printf 'CHROOT=%q\n' default >> "$XDG_CONFIG_HOME"/libretools/chroot.conf diff --git a/test/toru.d/libre/simple/PKGBUILD b/test/toru.d/libre/simple/PKGBUILD index e2d44d1a..b61be460 100644 --- a/test/toru.d/libre/simple/PKGBUILD +++ b/test/toru.d/libre/simple/PKGBUILD @@ -1,7 +1,7 @@ pkgname='simple' pkgver=1.0 license=('GPL') -url='https://parabola.nu' +url='https://www.hyperbola.info' pkgrel=1 arch=(any) diff --git a/test/toru.d/libre/split/PKGBUILD b/test/toru.d/libre/split/PKGBUILD index fe25a944..b29e9ed2 100644 --- a/test/toru.d/libre/split/PKGBUILD +++ b/test/toru.d/libre/split/PKGBUILD @@ -1,7 +1,7 @@ pkgname=(foo bar baz) pkgver=1.0 license=('GPL') -url='https://parabola.nu' +url='https://www.hyperbola.info' pkgrel=1 arch=(any) diff --git a/test/toru.d/libre/split-base/PKGBUILD b/test/toru.d/libre/split-base/PKGBUILD index ce547c5f..20a798ea 100644 --- a/test/toru.d/libre/split-base/PKGBUILD +++ b/test/toru.d/libre/split-base/PKGBUILD @@ -2,7 +2,7 @@ pkgbase=split-base pkgname=(FOO BAR BAZ) pkgver=1.0 license=('GPL') -url='https://parabola.nu' +url='https://www.hyperbola.info' pkgrel=1 arch=(any)