[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#990696: unblock: netselect/0.3.ds1-29



Control: tags -1 moreinfo confirmed

On 2021-07-05 00:20:02 +0200, Javier Fernández-Sanguino Peña wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian.org@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

ACK, please remove the moreinfo tag once the package is available in
unstable.

Cheers

> 
> -- 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 <jfs@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


-- 
Sebastian Ramacher

Attachment: signature.asc
Description: PGP signature


Reply to: