Ian Campbell <[email protected]> writes: > Package: net-retriever > Version: 1.37 > Severity: wishlist > Tags: patch > > On Wed, 2014-01-22 at 22:23 +0100, Cyril Brulebois wrote: >> Ian Campbell <[email protected]> (2014-01-22): >> > I finally got fed up of rebuilding the initrd to include new versions of >> > udebs I was hacking on, so I bodged up something in net-retriever to >> > allow me to just throw udebs into a reprepro archive on a local web dir >> > and have them be used. >> > >> > So now I just need to build the initrd once with this included and I can >> > preseed a location to get devel udebs from. It fits in quite nicely with >> > apt-setup/local0 for debs to install on the target system. >> > >> > Patch is below. I've also thrown it onto gitorious at: >> > https://gitorious.org/ijc-debian/net-retriever/commit/34e4eb1e972dfbcec757b815f81b7d42447dfad7 >> > >> > This is by no means a proper thing and apart from being a massive hack >> > it has no support for checking the gpg sigs, release files etc. >> > >> > But here it is in case it is useful to someone... >> >> ACK on principle, that avoids having to resort to disabling GPG checks >> in this component and {hacking,cracking} an archive by replacing bits >> with tweaked packages, or having to build custom debian-archive-keyring >> deb/udeb. (Tried both, and neither is nice.) >> >> Can't really look at the implementation right now though, sorry about >> that. > > No problem, I was mostly just putting it out there in case anyone else > wanted it. It sounds like you think it might be something which could > plausibly be added to the proper package? > >> Might be nice to file a bug against net-retriever to track it? > > Good idea, doing so now (Bcc to submit@) leaving quotes in place and > attaching the patch for the BTS.
In addition it would be nice to have this on a branch in the official Alioth repository. Gaudenz > > Thanks, > > Ian > From 34e4eb1e972dfbcec757b815f81b7d42447dfad7 Mon Sep 17 00:00:00 2001 > From: Ian Campbell <[email protected]> > Date: Sun, 19 Jan 2014 13:19:21 +0000 > Subject: [PATCH] Development udeb retrieval support. > > Use via preseeding: > d-i retriever/devel-udeb/url string http://www-int./~ijc/debian/devel-udeb > or on the command line: > retriever/devel-udeb/url=http://www-int./~ijc/debian/devel-udeb > --- > debian/changelog | 6 ++++++ > debian/net-retriever.templates | 7 +++++++ > net-retriever | 37 ++++++++++++++++++++++++++++++++++++- > 3 files changed, 49 insertions(+), 1 deletion(-) > > diff --git a/debian/changelog b/debian/changelog > index e74d768..6681e99 100644 > --- a/debian/changelog > +++ b/debian/changelog > @@ -1,3 +1,9 @@ > +net-retriever (1.38+ijc1) UNRELEASED; urgency=low > + > + * Add hack to allow preseeding a URL to retrieve development udebs from. > + > + -- Ian Campbell <[email protected]> Sun, 05 Jan 2014 12:43:24 +0000 > + > net-retriever (1.37) unstable; urgency=low > > [ Updated translations ] > diff --git a/debian/net-retriever.templates b/debian/net-retriever.templates > index d3da8a9..8b33adf 100644 > --- a/debian/net-retriever.templates > +++ b/debian/net-retriever.templates > @@ -11,3 +11,10 @@ _Description: Downloading a file failed: > problem with your network, or with the mirror. You can choose to retry > the download, select a different mirror, or cancel and choose another > installation method. > + > +Template: retriever/devel-udeb/url > +Type:string > +_Description: Additional udeb mirror for development > + FOR DEVELOPMENT USE ONLY > + . > + No authentication of the mirror is performed. Use at your own risk. > diff --git a/net-retriever b/net-retriever > index 347fefc..4c2ac8f 100755 > --- a/net-retriever > +++ b/net-retriever > @@ -16,6 +16,8 @@ db_get mirror/$protocol/hostname > hostname="$RET" > db_get mirror/$protocol/directory > directory="$RET" > +db_get retriever/devel-udeb/url > +dev_url="$RET" > > keyring=/usr/share/keyrings/archive.gpg > > @@ -23,6 +25,15 @@ fetch() { > fetch-url -c "${protocol}://${hostname}${directory}/$1" "$2" > } > > +dev_fetch() { > + if [ -z "$dev_url" ]; then > + error "dev_fetch with no retriever/devel-udeb/url active -- > something untoward is going on" > + fi > + > + p=${1#@@devel@@} > + fetch-url -c "${dev_url}/$p" "$2" > +} > + > checkmatch() { > release="$1" > packages="$2" > @@ -63,7 +74,17 @@ shift > > case "$cmd" in > retrieve) > - fetch "$@" > + case $1 in > + @@devel@@*) > + log "devel: $@" > + dev_fetch "$@" > + ;; > + *) > + log "regular: $@" > + fetch "$@" > + ;; > + esac > + > exit $? > ;; > > @@ -127,6 +148,20 @@ case "$cmd" in > elif [ "$ext" = .gz ]; then > zcat "$Packages" >> "$1" > fi > + if [ -n "$dev_url" ]; then > + > DevelPackages="/tmp/net-retriever-$$-Devel-Packages" > + log "Checking $dev_url for DevelPackages" > + if dev_fetch "dists/$codename/$pkgfile" > "$DevelPackages" ; then > + log "Got devel Packages from > dists/$codename/$pkgfile" > + if [ "$ext" = '' ]; then > + cat "$DevelPackages" | sed -e > 's/^Filename: /&@@devel@@/g' >> "$1" > + elif [ "$ext" = .gz ]; then > + zcat "$DevelPackages" | sed -e > 's/^Filename: /&@@devel@@/g' >> "$1" > + fi > + else > + log "No devel Packages from > dists/$codename/$pkgfile" > + fi > + fi > ret=0 > break > done > -- > 1.7.10.4 > -- Ever tried. Ever failed. No matter. Try again. Fail again. Fail better. ~ Samuel Beckett ~ -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

