Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package netselect [ Reason ] Netselect-apt is not able to properly parse the URLs in the mirror list available in the Debian website. This version fixes the bug in parsing which makes it work again. [ Impact ] If the unblock is not implemented users will not be able to use netselect-apt [ Tests ] I have run manually tests in my unstable system to confi [ Risks ] The change is very simple. This is a package which is used by a small number of users. [ Checklist ] [x] all changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in testing unblock netselect/0.3.ds1-29 -- System Information: Debian Release: bullseye/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 5.10.0-1-686-pae (SMP w/4 CPU threads) Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled
diff -Nru netselect-0.3.ds1/debian/changelog netselect-0.3.ds1/debian/changelog --- netselect-0.3.ds1/debian/changelog 2021-07-05 00:14:53.000000000 +0200 +++ netselect-0.3.ds1/debian/changelog 2021-07-04 23:04:35.000000000 +0200 @@ -1,3 +1,14 @@ +netselect (0.3.ds1-29) unstable; urgency=high + + * netselect-apt: + - Fix bug that makes it output some hosts with negative value (Closes: 920907) + - Fix bug in the Pelr parsing which prevented it from processing properly + the mirrors listed in the Debian website (Closes: 989674) + * debian/control: Move curl to depends as it is required by netselect-apt + (Closes: 788793) + + -- Javier Fernández-Sanguino Peña <j...@debian.org> Sun, 04 Jul 2021 23:04:35 +0200 + netselect (0.3.ds1-28) unstable; urgency=medium * Use debhelper files properly to relocation binaries and diff -Nru netselect-0.3.ds1/debian/control netselect-0.3.ds1/debian/control --- netselect-0.3.ds1/debian/control 2021-07-05 00:14:53.000000000 +0200 +++ netselect-0.3.ds1/debian/control 2021-07-04 23:04:35.000000000 +0200 @@ -22,8 +22,7 @@ Package: netselect-apt Architecture: all -Depends: wget, netselect (>= 0.3.ds1-17), ${misc:Depends} -Recommends: curl +Depends: wget, netselect (>= 0.3.ds1-17), curl, ${misc:Depends} Enhances: apt Suggests: dpkg-dev Description: speed tester for choosing a fast Debian mirror diff -Nru netselect-0.3.ds1/netselect-apt netselect-0.3.ds1/netselect-apt --- netselect-0.3.ds1/netselect-apt 2021-07-05 00:14:53.000000000 +0200 +++ netselect-0.3.ds1/netselect-apt 2021-07-04 23:04:35.000000000 +0200 @@ -35,7 +35,7 @@ # Default distribution distro="stable" # Default protocol -protocol="HTTP" +protocol="http" # Number of fastest hosts that will be validated test_hosts="10" # URL where the mirror list is retrieved from @@ -120,7 +120,7 @@ # Second test: do we have the test file we are looking for? [ -n "$DEBUG" ] && log "DEBUG: Checking if the file '$test_file' is available in site" - temp=`tempfile` + temp=`mktemp` [ ! -e "$temp" ] && return 0 # Return without error if we cannot create # a temporary file curl -m 2 -q -s "$host/$test_file" >$temp 2>&1 @@ -156,12 +156,14 @@ SEARCH="$1" PROTO="$2" hosts=$(cat "$infile" \ - | perl -n -e ' + | perl -n -e ' + use warnings; + use strict; $/="<br><br>"; - $country_name = ".*"; - $country_iso = ".."; - $country = "'"$country"'"; - $my_country = 1; + my $country_name = ".*"; + my $country_iso = ".."; + my $country = "'"$country"'"; + my $my_country = 1; if ( $country ne "" ) { $my_country = 0; if ( $country =~ /^\w{2}$/ ) { @@ -184,7 +186,7 @@ next if $_ !~ /Site:/; if( ( /Includes architectures:.+'"$arch"'.+/i || $_ !~ /Includes architectures:/ ) && - m@<br>'"$SEARCH"':.*<a.*?href="('"$PROTO"'://.*?)">@i && $my_country == 1 + m@'"$SEARCH"':.*<a.*?href="('"$PROTO"'://.*?)">@i && $my_country == 1 ){ print("$1\n"); }}') @@ -197,7 +199,7 @@ corruptedhosts=$(echo "$out" | egrep '^ *-') if [ $? -eq 0 ]; then log "Detected corrupt scores from bug in netselect: $corruptedhosts" - out=$(echo "$out" | sed -e '/^-/d') + out=$(echo "$out" | sed -e '/^ *-/d') fi @@ -262,7 +264,7 @@ log " -i, --infile INFILE Use INFILE as the input file (temp file)" log " -o, --outfile OUTFILE Use OUTFILE as the output file (sources.list)" log " -n, --nonfree Use also non-free packages in OUTFILE (no)" - log " -f, --ftp Use FTP as the protocol for OUTFILE (HTTP)" + log " -f, --ftp Use FTP as the protocol for OUTFILE (http)" log " -t, --tests # Number of hosts to test ($test_hosts)" log " -c, --country COUNTRY Restrict search to servers in that country" log " -d, --debug Enable debugging" @@ -302,7 +304,7 @@ -n|--nonfree) want_nonfree=1; shift ;; -c|--country) country=$2; shift 2 ;; -t|--tests) test_hosts=$2; shift 2 ;; - -f|--ftp) protocol="FTP"; shift ;; + -f|--ftp) protocol="ftp"; shift ;; -d|--debug) DEBUG=1; shift ;; -h|--help) usage; exit 0;; --) shift; break;; @@ -366,7 +368,9 @@ if [ -n "$country" ]; then log "(will filter only for mirrors in country $country)" fi -hosts_netselect=$(run_netselect "Packages over $protocol" $protocol) +# Convert Search string to uppercase as it is used in the website +search_string="Packages over ${protocol^^}" +hosts_netselect=$(run_netselect "$search_string" $protocol) netselect_rv=$? if [ $netselect_rv -eq 0 ] ; then if [ ! -z "$hosts_netselect" ] ; then