Here's an UGLY 8-O ... but effective :-/ workaround:

After the original attempt(s), which still gets many of the files,
but also fails to get many of the files (210 in our slightly earlier
example - presuming that's still the case or similarly/nearly so),
proceed as follows:

First of all, those attempts note above should be made, as there are
some files that can be downloaded from the regular repositories/mirrors,
that aren't available with the workaround - so use the workaround just
to complete the process of constructing the image.

>From that earlier attempt, we should already have the .jigdo and
.template files - if we don't for any reason, then download them.

Once we have those files, we'll create a modified version of the
.jigdo file, most notably we'll take advantage of the earlier
information from:
https://lists.ubuntu.com/archives/ubuntu-us-ca/2014-December/002551.html
regarding:
https://launchpad.net/ubuntu/+archive/primary/+files/
... except jigo-lite doesn't want https URLs, but will work
fine with http URLs - which is fine in this case, as URLs starting with:
http://launchpad.net/ubuntu/+archive/primary/+files/
redirect where we need them to anyway (and even URLs starting with
https://launchpad.net/ubuntu/+archive/primary/+files/
do redirects).

So ... how do we modify the file specifically?
We change the pathname components, and the Server URL(s) ...
at least for the file types (extensions) that can be obtained via
http://launchpad.net/ubuntu/+archive/primary/+files/
based URLs ... which fortunately covers all the file types we
need (at least at the present time, anyway).

So, how to do the modification?  Best done by program/script:
(also attached):
$ expand -t 2 < workaround
#!/bin/sh

# Don't misinterpret our sed(1) character classes/ranges:
LC_ALL=C; export LC_ALL

sed -e '
  : Top

  /^\[Parts\]$/b Parts
  /^\[Servers\]$/b Servers
  n
  b Top

  : Parts
  s/^\([-0-9A-Z_a-z]\{22\}=Debian:\).*\/\([^\/]*.\.u\{0,1\}deb\)$/\1\2/
  /^\[/{
    /^\[Parts\]$/!b Top
  }
  n
  b Parts

  : Servers
  
s/^Debian=.*$/Debian=http:\/\/launchpad.net\/ubuntu\/%2barchive\/primary\/%2bfiles\//
  /^\[/{
    /^\[Servers\]$/!b Top
  }
  n
  b Servers
'

rename our original .jigdo file, note also that .jigdo files may be
optionally gzip compressed - if so save it in uncompressed form - whether
or not it's compressed can be checked with the file(1) command:
$ file ubuntu-16.04.3-server-amd64.jigdo
ubuntu-16.04.3-server-amd64.jigdo: ASCII text
$ mv ubuntu-16.04.3-server-amd64.jigdo 
ubuntu-16.04.3-server-amd64.jigdo.original
if we instead got something like:
ubuntu-16.04.3-server-amd64.jigdo.gz: gzip compressed data ...
We would instead do:
$ gzip -d < ubuntu-16.04.3-server-amd64.jigdo > 
ubuntu-16.04.3-server-amd64.jigdo.original
$

Now apply our workaround to create new modified .jigdo file:
$ ./workaround < ubuntu-16.04.3-server-amd64.jigdo.original > 
ubuntu-16.04.3-server-amd64.jigdo

Now use our new .jigdo file to get the missing file and complete
building the image:
$ jigdo-lite ./ubuntu-16.04.3-server-amd64.jigdo
...
When prompted for mirror, be sure to use:
https://launchpad.net/ubuntu/+archive/primary/+files/
e.g.:
Debian mirror [http://archive.ubuntu.com/ubuntu/]: 
http://launchpad.net/ubuntu/%2barchive/primary/%2bfiles/

When (or if) it prompts about
temporary directory ... already exists
just hit <RETURN> to continue (the contents of that temporary directory
are relatively small and effectively inconsequential).

One is now able to complete the downloading of the missing files and
successfully construct the image with jigdo-lite.
E.g. (example captured with script(1) and processed with col -b and
expand, and also edited out showing the the middle 208 of 210 files):
$ jigdo-lite ./ubuntu-16.04.3-server-amd64.jigdo

Jigsaw Download "lite"
Copyright (C) 2001-2005  |  jigdo@
Richard Atterer          |  atterer.net
Getting mirror information from /etc/apt/sources.list

-----------------------------------------------------------------
Images offered by `./ubuntu-16.04.3-server-amd64.jigdo':
  1: 'Ubuntu-Server 16.04.3 LTS "Xenial Xerus" - Release amd64' 
(ubuntu-16.04.3-server-amd64.iso)

Further information about `ubuntu-16.04.3-server-amd64.iso':
Generated on Tue, 01 Aug 2017 11:30:42 +0000

-----------------------------------------------------------------
The temporary directory `ubuntu-16.04.3-server-amd64.iso.tmpdir' already 
exists. Its contents
ARE GOING TO BE DELETED (possibly after having been copied to the
image, if they are of interest for it). If you do not want this
to happen, press Ctrl-C now. Otherwise, press Return to proceed.
:

-----------------------------------------------------------------
If you already have a previous version of the CD you are
downloading, jigdo can re-use files on the old CD that are also
present in the new image, and you do not need to download them
again. Mount the old CD ROM and enter the path it is mounted under
(e.g. `/mnt/cdrom').
Alternatively, just press enter if you want to start downloading
the remaining files.
Files to scan:

Not downloading .template file - `ubuntu-16.04.3-server-amd64.template' already 
present
Found 0 of6the4210 filescrequired.bydtheitemplate10-0ubuntu1~16.04.1_amd64.deb'
Copied input files to temporary file `ubuntu-16.04.3-server-amd64.iso.tmp' - 
repeat command and supply more files to continue

-----------------------------------------------------------------
The jigdo file refers to files stored on Debian mirrors. Please
choose a Debian mirror as follows: Either enter a complete URL
pointing to a mirror (in the form
`ftp://ftp.debian.org/debian/'), or enter any regular expression
for searching through the list of mirrors: Try a two-letter
country code such as `de', or a country name like `United
States', or a server name like `sunsite'.
Debian mirror [http://archive.ubuntu.com/ubuntu/]: 
http://launchpad.net/ubuntu/%2barchive/primary/%2bfiles/

-----------------------------------------------------------------
Merging parts from `file:' URIs, if any...
Found 0 of the 210 files required by the template
Copied input files to temporary file `ubuntu-16.04.3-server-amd64.iso.tmp' - 
repeat command and supply more files to continue
converted 
'http://launchpad.net/ubuntu/%2barchive/primary/%2bfiles/lxd-client_2.0.10-0ubuntu1~16.04.1_amd64.deb'
 (ANSI_X3.4-1968) -> 
'http://launchpad.net/ubuntu/+archive/primary/+files/lxd-client_2.0.10-0ubuntu1~16.04.1_amd64.deb'
 (UTF-8)
--2017-11-16 06:21:09--  
http://launchpad.net/ubuntu/+archive/primary/+files/lxd-client_2.0.10-0ubuntu1~16.04.1_amd64.deb
Resolving launchpad.net (launchpad.net)... 91.189.89.223, 91.189.89.222
Connecting to launchpad.net (launchpad.net)|91.189.89.223|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: 
https://launchpad.net/ubuntu/+archive/primary/+files/lxd-client_2.0.10-0ubuntu1~16.04.1_amd64.deb
 [following]
converted 
'https://launchpad.net/ubuntu/+archive/primary/+files/lxd-client_2.0.10-0ubuntu1~16.04.1_amd64.deb'
 (ANSI_X3.4-1968) -> 
'https://launchpad.net/ubuntu/+archive/primary/+files/lxd-client_2.0.10-0ubuntu1~16.04.1_amd64.deb'
 (UTF-8)
--2017-11-16 06:21:09--  
https://launchpad.net/ubuntu/+archive/primary/+files/lxd-client_2.0.10-0ubuntu1~16.04.1_amd64.deb
Connecting to launchpad.net (launchpad.net)|91.189.89.223|:443... connected.
HTTP request sent, awaiting response... 303 See Other
Location: 
https://launchpadlibrarian.net/323153417/lxd-client_2.0.10-0ubuntu1~16.04.1_amd64.deb
 [following]
converted 
'https://launchpadlibrarian.net/323153417/lxd-client_2.0.10-0ubuntu1~16.04.1_amd64.deb'
 (ANSI_X3.4-1968) -> 
'https://launchpadlibrarian.net/323153417/lxd-client_2.0.10-0ubuntu1~16.04.1_amd64.deb'
 (UTF-8)
--2017-11-16 06:21:10--  
https://launchpadlibrarian.net/323153417/lxd-client_2.0.10-0ubuntu1~16.04.1_amd64.deb
Resolving launchpadlibrarian.net (launchpadlibrarian.net)... 91.189.89.228, 
91.189.89.229
Connecting to launchpadlibrarian.net 
(launchpadlibrarian.net)|91.189.89.228|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1856358 (1.8M) [application/x-debian-package]
Saving to: 
'ubuntu-16.04.3-server-amd64.iso.tmpdir/launchpad.net/ubuntu/+archive/primary/+files/lxd-client_2.0.10-0ubuntu1~16.04.1_amd64.deb'

ubuntu-16.04.3-serv 100%[=====================>] 981.77M  -158KB/s
ina12s

2017-11-16 06:21:22 (156 KB/s) - 'ubuntu-16.04.3-server-
amd64.iso.tmpdir/launchpad.net/ubuntu/+archive/primary/+files/lxd-
client_2.0.10-0ubuntu1~16.04.1_amd64.deb' saved [1856358/1856358]

// ... - skipping showing the middle 208 of 210 files

converted 
'http://launchpad.net/ubuntu/%2barchive/primary/%2bfiles/bind9_9.10.3.dfsg.P4-8ubuntu1.7_amd64.deb'
 (ANSI_X3.4-1968) -> 
'http://launchpad.net/ubuntu/+archive/primary/+files/bind9_9.10.3.dfsg.P4-8ubuntu1.7_amd64.deb'
 (UTF-8)
--2017-11-16 06:50:15--  
http://launchpad.net/ubuntu/+archive/primary/+files/bind9_9.10.3.dfsg.P4-8ubuntu1.7_amd64.deb
Connecting to launchpad.net (launchpad.net)|91.189.89.223|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: 
https://launchpad.net/ubuntu/+archive/primary/+files/bind9_9.10.3.dfsg.P4-8ubuntu1.7_amd64.deb
 [following]
converted 
'https://launchpad.net/ubuntu/+archive/primary/+files/bind9_9.10.3.dfsg.P4-8ubuntu1.7_amd64.deb'
 (ANSI_X3.4-1968) -> 
'https://launchpad.net/ubuntu/+archive/primary/+files/bind9_9.10.3.dfsg.P4-8ubuntu1.7_amd64.deb'
 (UTF-8)
--2017-11-16 06:50:16--  
https://launchpad.net/ubuntu/+archive/primary/+files/bind9_9.10.3.dfsg.P4-8ubuntu1.7_amd64.deb
Connecting to launchpad.net (launchpad.net)|91.189.89.223|:443... connected.
HTTP request sent, awaiting response... 303 See Other
Location: 
https://launchpadlibrarian.net/326059050/bind9_9.10.3.dfsg.P4-8ubuntu1.7_amd64.deb
 [following]
converted 
'https://launchpadlibrarian.net/326059050/bind9_9.10.3.dfsg.P4-8ubuntu1.7_amd64.deb'
 (ANSI_X3.4-1968) -> 
'https://launchpadlibrarian.net/326059050/bind9_9.10.3.dfsg.P4-8ubuntu1.7_amd64.deb'
 (UTF-8)
--2017-11-16 06:50:16--  
https://launchpadlibrarian.net/326059050/bind9_9.10.3.dfsg.P4-8ubuntu1.7_amd64.deb
Connecting to launchpadlibrarian.net 
(launchpadlibrarian.net)|91.189.89.228|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 372120 (363K) [application/x-debian-package]
Saving to: 
'ubuntu-16.04.3-server-amd64.iso.tmpdir/launchpad.net/ubuntu/+archive/primary/+files/bind9_9.10.3.dfsg.P4-8ubuntu1.7_amd64.deb'

ubuntu-16.04.3-serv 100%[=====================>] 363.40K  -153KB/s   in
2.4s

2017-11-16 06:50:20 (153 KB/s) - 'ubuntu-16.04.3-server-
amd64.iso.tmpdir/launchpad.net/ubuntu/+archive/primary/+files/bind9_9.10.3.dfsg.P4-8ubuntu1.7_amd64.deb'
saved [372120/372120]

FINISHED --2017-11-16 06:50:20--
Total wall clock time: 1m 12s
Downloaded: 10 files, 7.5M in 52s (148 KB/s)
Found 101of3the610kfilescrequired.by/thedtemplate.dfsg.P4-8ubuntu1.7_amd64.deb'
Successfullykcreated `ubuntu-16.04.3-server-amd64.iso'

-----------------------------------------------------------------
Finished!
The fact that you got this far is a strong indication that 
`ubuntu-16.04.3-server-amd64.iso'
was generated correctly. I will perform an additional, final check,
which you can interrupt safely with Ctrl-C if you do not want to wait.

OK:%Checksums/match,kimageiisigood!age
$

Another yet messier workaround - and requires more space to store
files in interim, would be to determine all the missing files,
create a temporarily directory to download them into,
download them all via wget or curl or similar into that directory,
using URLs of form:
https://launchpad.net/ubuntu/+archive/primary/+files/
with the basename .deb or .udeb filenames appended in each case (but no
other additional pathname component portions).
Then rerun the original jigdo-lite (can specify the local .jigdo file to
avoid downloading that again):
$ jigdo-lite ./ubuntu-16.04.3-server-amd64.jigdo
And when it prompts for files to scan, give that temporary directory
name where the missing files were downloaded to.  After completion of
building of the image with jigdo-lite, then (presuming one wishes to)
remove that temporary directory and its contents thereof.

** Attachment added: "workaround (see full comment for how to use)"
   
https://bugs.launchpad.net/ubuntu/+source/jigdo/+bug/1731762/+attachment/5010040/+files/workaround

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1731762

Title:
  jigdo: files missing on archive http://archive.ubuntu.com/ubuntu/ -
  cannot assemble, e.g. ubuntu-16.04.3-server-amd64.iso

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/jigdo/+bug/1731762/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to