Skip to content

Instantly share code, notes, and snippets.

@uladkasach
Created June 8, 2017 17:52
Show Gist options
  • Save uladkasach/81cfe5d3b879882152178f0b5c8a6ec0 to your computer and use it in GitHub Desktop.
Save uladkasach/81cfe5d3b879882152178f0b5c8a6ec0 to your computer and use it in GitHub Desktop.
Shell Provisioner for Packaging Vagrant
config.ssh.forward_agent = true;
config.vm.provision "shell" do |s|
your_launchpad_name = "Launchpad Name";
your_launchpad_email = "launchpademail@provider.com";
your_launchpad_username = "launchpadusername";
your_gpg_password = "a_gpg_password";
your_git_email = "yourgitemail@provider.com";
your_git_username = "gitusername";
s.inline = <<-SHELL
echo "##########################";
echo Beginning provisioning of packaging environment setup.;
echo "##########################";
echo For launchpad:
echo Using #{your_launchpad_name} as your name,
echo Using #{your_launchpad_email} as your email,
echo Using #{your_launchpad_username} as your username...
echo For git:
echo Using #{your_launchpad_email} as your email,
echo Using #{your_launchpad_username} as your username...
echo "##########################";
echo Updating and Upgrading
echo "##########################";
sudo apt-get update && sudo apt-get -y upgrade;
echo "##########################";
echo Installing package building packages...;
echo "##########################";
sudo apt-get -y install gnupg pbuilder ubuntu-dev-tools bzr-builddeb apt-file;
sudo apt-get -y install packaging-dev; # Install packaging package
echo This next part may take a little while...;
pbuilder-dist trusty create;
echo "##########################";
echo Configuring Bazaar...;
echo "##########################";
bzr whoami "#{your_launchpad_name} <#{your_launchpad_email}>";
bzr launchpad-login #{your_launchpad_username};
echo "##########################";
echo Configuring Git...;
echo "##########################";
git config --global user.email "#{your_git_email}"
git config --global user.name "#{your_git_username}"
git config --global push.default simple
echo "##########################";
echo Assigning your DEBFULLNAME and DEBEMAIL;
echo "##########################";
echo $'export DEBFULLNAME="#{your_launchpad_name}"\nexport DEBEMAIL="#{your_launchpad_email}"' >> ~/.bashrc;
source ~/.bashrc;
echo "##########################";
echo Creating your vagrants GPG key;
echo "##########################";
sudo apt-get install rng-tools;
cat > .temp_settings_file <<-SETTINGS
%echo Generating a basic OpenPGP key...
Key-Type: RSA
Key-Length: 2048
Subkey-Type: RSA
Subkey-Length: 2048
Name-Real: #{your_launchpad_name}
Name-Email: #{your_launchpad_email}
Expire-Date: 0
Passphrase: #{your_gpg_password}
%commit
%echo OpenPGP key created successfully.
SETTINGS
gpg --batch --gen-key .temp_settings_file;
rm .temp_settings_file;
echo "##########################";
echo Packaging environment successfuly provisioned [Success].
SHELL
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment