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

Bug#803711: copy:// urls ommited in gen-sources.list.udeb



Control: tag -1 pending
Control: found -1 20091215

(I suppose I could have removed the version information since I tracked
this to the commit adding p-u handling in the first place, in r61207.)

Hi,

Łukasz Stelmach <steelman@post.pl> (2015-11-01):
> Package: debian-installer
> Version: 20150422+deb8u2
> Tags: patch
> 
> I've debootstrapped a chroot from a local debian mirror. The
> sources.list file in the chroot is
> 
> deb file:///srv/debian jessie main
> deb file:///srv/debian jessie-proposed-updates main
> 
> but the gen-sources.list.udeb script outputs only
> 
> deb copy:///srv/debian jessie main/debian-installer
> 
> The script has some elaborate code to handle (f|ht)tp urls and add
> proposed-updates when needed for those but can't handle file:/// urls
> and ouptputs only one repo instead of two. The attached patch fixes the
> problem in a rather simplistic yet efficient way.

Good catch, thanks!

Just to make sure there's no confusion given the lines you quoted for the
chroot's sources.list: the jessie-proposed-updates line there is
irrelevant. As you might have seen, the p-u logic is handled through the
USE_PROPOSED_UPDATES variable, which gets set depending on the heuristics
in debian/rules. For reference, without your patch, building with p-u
enabled leads to a somewhat explicit:
| (sid-amd64-devel)kibi@wodi:~/debian-installer/installer$ make -C build build_netboot-gtk USE_UDEBS_FROM=stretch USE_PROPOSED_UPDATES=1
| make: Entering directory '/home/kibi/debian-installer/installer/build'
| Using generated sources.list.udeb:
|    deb [trusted=yes] copy:/home/kibi/debian-installer/installer/build/ localudebs/
|    deb copy:///srv/mirrors/debian stretch main/debian-installer
| ERROR: no valid source for stretch-proposed-updates
| Makefile:645: recipe for target 'sources.list.udeb' failed

Once your patch is applied, this becomes:
| (sid-amd64-devel)kibi@wodi:~/debian-installer/installer$ make -C build build_netboot-gtk USE_UDEBS_FROM=stretch USE_PROPOSED_UPDATES=1
| make: Entering directory '/home/kibi/debian-installer/installer/build'
| Using generated sources.list.udeb:
|    deb [trusted=yes] copy:/home/kibi/debian-installer/installer/build/ localudebs/
|    deb copy:///srv/mirrors/debian stretch main/debian-installer
|    deb copy:///srv/mirrors/debian stretch-proposed-updates main/debian-installer
| make[2]: 'sources.list.udeb' is up to date.

> diff --git a/build/util/gen-sources.list.udeb b/build/util/gen-sources.list.udeb
> index 26a0ac2..7f62d9d 100755
> --- a/build/util/gen-sources.list.udeb
> +++ b/build/util/gen-sources.list.udeb
> @@ -86,6 +86,9 @@ for mirror in $MIRRORS; do
>  		fi
>  	else
>  		echo "$mirror $SUITE $UDEB_COMPONENTS"
> +		if [ "$USE_PROPOSED_UPDATES" = 1 ]; then
> +			echo "$mirror $SUITE-proposed-updates $UDEB_COMPONENTS"
> +		fi
>  	fi
>  
>  done | perl -ne 'print unless $seen{$_}; $seen{$_}=1'

Pushed to master, thanks again! I might cherry-pick this to jessie as well.

Mraw,
KiBi.

Attachment: signature.asc
Description: Digital signature


Reply to: