Re: [Tails-dev] TAILS build system with Vagrant 1.7.3

Delete this message

Reply to this message
Author: Adam Burns
Date:  
To: The Tails public development discussion list
Subject: Re: [Tails-dev] TAILS build system with Vagrant 1.7.3
On 07/15/2015 09:12 PM, anonym wrote:
> On 07/13/2015 06:32 PM, Adam Burns wrote:
>> Got Vagrant 1.7.3 to inter-operate with the current TAILS Rakefile by
>> adding explicit paths for some extra require commands. This likely is
>> not needed once ruby/rake system paths for require commands are set
>> correctly (I'm a ruby/rake n00b).
>>
>> The Vagrant/VirtualBox shell provisioning of the base box
>> 'tails-builder-20141201' currently errors with the following packages
>> not found.
>>
>> P: Begin installing packages...
>> Reading package lists...
>> Building dependency tree...
>> Reading state information...
>> Package hopenpgp-tools is not available, but is referred to by another
>> package.
>> This may mean that the package is missing, has been obsoleted, or
>> is only available from another source
>>
>> Package keyringer is not available, but is referred to by another package.
>> This may mean that the package is missing, has been obsoleted, or
>> is only available from another source
>>
>> Package linux-image-3.16.0-4-586 is not available, but is referred to by
>> another package.
>> This may mean that the package is missing, has been obsoleted, or
>> is only available from another source
>>
>> Package linux-image-3.16.0-4-amd64 is not available, but is referred to
>> by another package.
>> This may mean that the package is missing, has been obsoleted, or
>> is only available from another source
>>
>> E: Package 'linux-image-3.16.0-4-586' has no installation candidate
>> E: Package 'linux-image-3.16.0-4-amd64' has no installation candidate
>> E: Package 'hopenpgp-tools' has no installation candidate
>> E: Package 'keyringer' has no installation candidate
>> P: Begin unmounting filesystems...
>>
>> real    4m42.505s
>> user    2m6.284s
>> sys     0m33.978s
>> + RET=123
>> + '[' -e binary.iso ']'
>> + fatal 'lb build failed (1).'
>> + echo 'lb build failed (1).'
>> lb build failed (1).
>> + exit 1

>
> You say that the "Vagrant/VirtualBox shell provisioning of the base box"
> fails, but the above error is clearly from the Tails build script, not
> while running the provisioning scripts.


Perhaps my wording was in error. What I was trying to say clumsily was
the bash script vagrant/provision/assets/build-tails running on the
VirtualBox base image tails-builder-20141201 reeled in by the 'rake
build' command appears to bork with package dependency issues.

> Which branch are you trying to
> build? If you are trying to build something else than the 'devel'
> branch, that might explain it, so please try that.
>


Thank you for that tip. Double-checked, and yes, I'm building the
'devel' branch:

> $ git checkout devel
> M       Rakefile
> Already on 'devel'



SSH'ing into the VirtualBox host after rake build errors:

> vagrant@tails-builder-20140709:~$ cat /etc/os-release
> PRETTY_NAME="Debian GNU/Linux 7 (wheezy)"
> NAME="Debian GNU/Linux"
> VERSION_ID="7"
> VERSION="7 (wheezy)"
> ID=debian
> ANSI_COLOR="1;31"
> HOME_URL="http://www.debian.org/"
> SUPPORT_URL="http://www.debian.org/support/"
> BUG_REPORT_URL="http://bugs.debian.org/"
>
> vagrant@tails-builder-20140709:~$ dpkg-query -l | egrep "hopenpgp-tools|keyringer|linux-image-3.16.0-4"
> vagrant@tails-builder-20140709:~$


Use apt-get update to see if it exposes these packages:


> root@tails-builder-20140709:~# apt-get update
> Hit http://security.debian.org wheezy/updates Release.gpg
> Hit http://security.debian.org wheezy/updates Release                                                      
> Hit http://security.debian.org wheezy/updates/main Sources                                                                       
> Hit http://security.debian.org wheezy/updates/main amd64 Packages                                                                                  
> Hit http://security.debian.org wheezy/updates/main Translation-en                                                                                                      
> Hit http://deb.tails.boum.org builder-wheezy Release.gpg                                                                                                               
> Hit http://deb.tails.boum.org builder-wheezy Release                                                                         
> Hit http://deb.tails.boum.org builder-wheezy/main amd64 Packages                                
> Ign http://deb.tails.boum.org builder-wheezy/main Translation-en_US                                               
> Ign http://deb.tails.boum.org builder-wheezy/main Translation-en                               
> Hit http://http.us.debian.org wheezy Release.gpg                                         
> Hit http://ftp.us.debian.org unstable Release.gpg                                        
> Hit http://http.us.debian.org wheezy-updates Release.gpg
> Hit http://ftp.us.debian.org wheezy-backports Release.gpg
> Hit http://http.us.debian.org wheezy Release
> Hit http://ftp.us.debian.org unstable Release                         
> Hit http://http.us.debian.org wheezy-updates Release                  
> Hit http://http.us.debian.org wheezy/main Sources                     
> Hit http://ftp.us.debian.org wheezy-backports Release             
> Hit http://http.us.debian.org wheezy/main amd64 Packages                                
> Get:1 http://ftp.us.debian.org unstable/main amd64 Packages/DiffIndex [7,876 B]
> Hit http://http.us.debian.org wheezy/main Translation-en                                                                                                               
> Hit http://http.us.debian.org wheezy-updates/main Sources                                                                                                              
> Hit http://http.us.debian.org wheezy-updates/main amd64 Packages/DiffIndex                                                                                             
> Hit http://http.us.debian.org wheezy-updates/main Translation-en/DiffIndex                                                                                             
> Get:2 http://ftp.us.debian.org unstable/main Translation-en/DiffIndex [7,876 B]                                                                                        
> Get:3 http://ftp.us.debian.org wheezy-backports/main amd64 Packages/DiffIndex [7,819 B]                                                                                
> Get:4 http://ftp.us.debian.org wheezy-backports/main Translation-en/DiffIndex [7,819 B]                                                                                
> Fetched 31.4 kB in 7s (4,136 B/s)                                                                                                                                      
> Reading package lists... Done
> W: Ignoring Provides line with DepCompareOp for package php-psr-http-message-implementation
> W: Ignoring Provides line with DepCompareOp for package php-psr-log-implementation
> W: Ignoring Provides line with DepCompareOp for package php-math-biginteger
> W: Ignoring Provides line with DepCompareOp for package python-cffi-backend-api-max
> W: Ignoring Provides line with DepCompareOp for package python-cffi-backend-api-min
> W: Ignoring Provides line with DepCompareOp for package python3-cffi-backend-api-max
> W: Ignoring Provides line with DepCompareOp for package python3-cffi-backend-api-min
> W: You may want to run apt-get update to correct these problems


Now cross fingers ... ;)

> root@tails-builder-20140709:~# apt-get install hopenpgp-tools keyringer linux-image-3.16.0-4-586 linux-image-3.16.0-4-amd64
> Reading package lists... Done
> Building dependency tree       
> Reading state information... Done
> E: Unable to locate package linux-image-3.16.0-4-586
> E: Couldn't find any package by regex 'linux-image-3.16.0-4-586'
> E: Unable to locate package linux-image-3.16.0-4-amd64
> E: Couldn't find any package by regex 'linux-image-3.16.0-4-amd64'
> root@tails-builder-20140709:~# 


No coconut :(

Looking again at https://tails.boum.org/contribute/design/vagrant/ to
try to rebuild tails veewee base box from first principles:

> After issuing the commands below, Veewee will download the boot ISO image, drive the debian-installer using preeseding and run postinstall.sh to take care of seting up the environment expected by Vagrant.
>
> ORIG_BOXNAME=tails-builder
> DATE="$(date +%Y%m%d)"
> BOXNAME="${ORIG_BOXNAME}-${DATE}"
> sed -i "s/tails-builder-[0-9]\{8\}/${BOXNAME}/" vagrant/Vagrantfile
> mkdir -p "${VEEWEE_SRC}"/definitions
> cp -a vagrant/definitions/${ORIG_BOXNAME}" vagrant/definitions/${BOXNAME}"
> veewee vbox build "${BOXNAME}"
> vboxmanage controlvm "${BOXNAME}" acpipowerbutton
>

'veewee vbox build' (in vagrant CWD) gives 404 error on
http://cdimage.debian.org/debian-cd/7.5.0/amd64/iso-cd/debian-7.5.0-amd64-netinst.iso

Looks like this ISO image has been removed from the Debian site.

Some notes on to verify and replicate the veewee base box :

- VEEWEE_SRC does not appear to be defined anywhere in the devel branch.

- the VirtualBox host shell prompt date is out of sync with the veewee
base box filename although likely only a cosmetic issue by static
setting of VIRTUAL_MACHINE_HOSTNAME in vagrant/lib/tails_build_settings.rb

I'll look at this more closely when I can, but the core issue appears to
be that the current veewee base box image does not satisfy build
requirements for the current devel branch?

I could be mistaken on this, so feedback/corrections are much
appreciated. Has anyone successfully built tails using vagrant lately?

Thanks & Shine.