Add devel role and test on stretch/buster/xenial

This commit is contained in:
Zachary Seguin 2018-04-15 16:24:11 -04:00
parent 6db3b90d71
commit d1a3479ae6
7 changed files with 687 additions and 12 deletions

18
hosts
View File

@ -1,5 +1,15 @@
test:
hosts:
172.19.134.38:
ansible_user: ubuntu
ansible_ssh_private_key_file: ~/.ssh/id_rsa
children:
debian:
hosts:
172.19.134.64: {}
172.19.134.54: {}
vars:
ansible_user: debian
ubuntu:
hosts:
172.19.134.38: {}
vars:
ansible_user: ubuntu
vars:
ansible_ssh_private_key_file: ~/.ssh/id_rsa

View File

@ -7,4 +7,5 @@
- csc-packages
- csc-filesystems
- general-use
- gui
- devel
#- gui

View File

@ -89,7 +89,7 @@
ignore_errors: true
- name: Mount music (sec=krb5p)
when: mount_music is define and mount_music_sys is not defined and not(ansible_virtualization_role == 'guest' and ansible_virtualization_type == 'lxc')
when: mount_music is defined and mount_music_sys is not defined and not(ansible_virtualization_role == 'guest' and ansible_virtualization_type == 'lxc')
mount:
src: corn-syrup.csclub.uwaterloo.ca:/scratch
name: /scratch

View File

@ -0,0 +1,148 @@
# This is the configuration for dupload.
# It is intended to be read and evaluated from Perl.
#
### PLEASE READ THE dupload.conf(5) MANUAL PAGE
#
# reading the dupload(1) manual page is also advisable
package config;
# Global variables:
# $default_host - the host to use if no --to option is used
# $no_parentheses_to_fullname - boolean, as its name says
#
# Per-host variables:
# fqdn - full hostname
# method - ftp, scp, scpb or rsync
# (defaults to ftp)
# login - user name to use on the remote host
# (defaults to 'anonymous' for FTP and local username for SSH methods)
# use "user\@remote" for firewall logins
# incoming - directory where to upload first
# queuedir - directory where to move if upload succeeded
# mailto - address for announcement email (stable)
# mailtx - address for announcement email (unstable)
# cc - address for carbon copy of the announcement email
# fullname - the full name to use in the announcement email
# (defaults to what your local MTA uses)
# visibleuser - the username to use in the announcement email
# (defaults to local username)
# visiblename - the domainname to use in the announcement email
# (defaults to what your local MTA uses)
# Example of a default host:
$default_host = "debian.csclub";
# -----------------
# Pre-defined hooks
# -----------------
# Check changes file for valid signatures
# Using GPG:
$preupload{'changes'} = '/usr/share/dupload/gpg-check %1';
# or using PGP:
# $preupload{'changes'} = '/usr/share/dupload/pgp-check %1';
#
# Lintian check of packages
# $preupload{'deb'} = 'lintian -v -i %1';
# Other hooks:
# $preupload{'sourcepackage'}
# $preupload{'file'}
# $preupload{'package'}
# $postupload{'changes'}
# $postupload{'sourcepackage'}
# $postupload{'file'}
# $postupload{'deb'}
# $postupload{'package'}
# Note: hooks can also be defined in a per-host basis, this
# overrides globaly defined hooks.
# -----------------
# Pre-defined hosts
# -----------------
$cfg{'debian.csclub'} = {
fqdn => 'potassium-benzoate.csclub.uwaterloo.ca',
method => 'scpb',
incoming => '/srv/debian/incoming',
dinstall_runs => 1,
};
# Notice: There are login restriction on this host, scp will not
# work unless you are authorised.
$cfg{'ftp-master'} = {
fqdn => "ftp-master.debian.org",
method => "scpb",
incoming => "/org/ftp.debian.org/incoming/",
# The dinstall on ftp-master sends emails itself
dinstall_runs => 1,
};
$cfg{'anonymous-ftp-master'} = {
fqdn => "ftp-master.debian.org",
incoming => "/pub/UploadQueue/",
# files pass on to dinstall on ftp-master which sends emails itself
dinstall_runs => 1,
};
# For Delayed uploads use this. You can use 0-day, which is uploaded
# one hour before dinstall runs.
$delay = (defined($ENV{DEBDELAY}) ? $ENV{DEBDELAY} : 7);
$cfg{'delayed'} = {
fqdn => "gluck.debian.org",
method => "scpb",
incoming => "/home/tfheen/DELAYED/$delay-day/",
# The dinstall on ftp-master sends emails itself
dinstall_runs => 1,
};
# Mentors upload queue, see
# http://mentors.debian.net/signup.php
$cfg{'mentors'} = {
fqdn =>'mentors.debian.net',
method =>'scpb',
login =>'incoming',
incoming=>'~',
# Change these to the user and domain part of your email address
# and uncomment them
# visibleuser=>'hugo',
# visiblename=>'mydomain.tld',
mailtx =>'incoming@mentors.debian.net',
preupload=> {
deb=>'chmod 0644 %1',
changes=>'chmod 0644 %1',
file=>'chmod 0644 %1',
},
};
# NOTE: Do _NOT_ upload a package to the security upload queue
# (oldstable-security, stable-security, etc.) without prior authorization
# from the security team. Please read:
# http://www.debian.org/doc/developers-reference/ch-pkgs.en.html#s-bug-security
# Notice: There are login restriction on this host, scp will not
# work unless you are authorised.
#$cfg{'security'} = {
# fqdn => "security-master.debian.org",
# method => "scpb",
# incoming => "/org/security.debian.org/queue/unchecked",
# # The dinstall on security sends emails itself
# dinstall_runs => 1,
# nonus => 1,
#};
#$cfg{'anonymous-security'} = {
# fqdn => "security-master.debian.org",
# incoming => "/pub/SecurityUploadQueue",
# # files pass on to dinstall on security which sends emails itself
# dinstall_runs => 1,
# nonus => 1,
#};
# Don't remove the following line. Perl needs it.
1;
## Local Variables: ##
## mode:perl ##
## End: ##

473
roles/devel/tasks/main.yml Normal file
View File

@ -0,0 +1,473 @@
---
- name: Install build essentials
apt:
name: build-essential
state: present
cache_valid_time: 3600
- name: Install debian development tools
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- dpkg-dev
- devscripts
- debootstrap
- dupload
- fakeroot
- debhelper
- dh-make
- dh-make-perl
- dh-buildinfo
- cdbs
- dpatch
- lintian
- alien
- po-debconf
- pbuilder
- dpkg-repack
- name: Install kernel-package (not Debian Stretch)
when: not(ansible_distribution == 'Debian' and ansible_distribution_release == 'stretch')
apt:
name: kernel-package
state: present
cache_valid_time: 3600
- name: Configure dupload
file:
src: dupload.conf
dest: /etc/dupload.conf
- name: Install llvm
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- clang
- llvm
- llvm-dev
- name: Install build helpers
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- make
- make-doc
- autoconf
- autoconf-doc
- automake
- cmake
- ccache
- ant
- ant-optional
- scons
- qt4-qmake
- qt5-qmake
- autogen
- autotools-dev
- autoproject
- kbuild
- premake4
- maven
- name: Install debuggers
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- strace
- gdb
- elfutils
- valgrind
- libc6-dbg
- name: Install documentation
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- manpages-dev
- gcc-doc
- cpp-doc
- binutils-doc
- manpages-posix-dev
- glibc-doc
- glibc-doc-reference
- gdb-doc
- stl-manual
- perl-doc
- name: Install languages
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- python
- python3
- perl
- ruby
- ruby-dev
- golang
- gfortran
- erlang
- erlang-dev
- beef
- intercal
- rhino
- sbcl
- r-base-core
- ghc
- ghc-doc
- haskell-platform
- openjdk-8-jdk-headless
- mono-complete
- mono-devel
- mono-profiler
- mono-tools-devel
- mono-tools-gui
- mono-vbnc
- ocaml
- camlp4
- lua5.3
- liblua5.3-dev
- php7.0-cli
- name: Install scheme/racket
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- racket
- racket-doc
- tinyscheme
- chicken-bin
- mit-scheme-doc
- scheme9
- stalin
- name: Install scheme/racket (Ubuntu)
when: ansible_distribution == 'Ubuntu'
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- scheme2c
- guile-1.8
- guile-1.8-dev
- name: Install assembly tools
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- bin86
- nasm
- yasm
- name: Install scanning and parsing utils
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- flex
- flex-doc
- bison
- bison-doc
- ragel
- byacc
- re2c
- name: Install source control
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- git
- git-email
- git-cvs
- git-svn
- git-doc
- git-buildpackage
- git-gui
- mercurial
- subversion
- subversion-tools
- darcs
- bzr
- bzrtools
- cvs
- cvsps
- wdiff
- colordiff
- patch
- patchutils
- quilt
- gitk
- diffutils
- name: Install source control (Ubuntu)
when: ansible_distribution == 'Ubuntu'
apt:
name: tkdiff
state: present
cache_valid_time: 3600
- name: Install source control (not Debian Stretch)
when: not(ansible_distribution == 'Debian' and ansible_distribution_release == 'stretch')
apt:
name: git-lfs
state: present
cache_valid_time: 3600
- name: Install python libraries
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- python3-pip
- python3-virtualenv
- python3-all-dev
- python-pip
- python-virtualenv
- python-all-dev
- drpython
- ipython
- pylint
- pychecker
- pyflakes
- python-m2crypto
- python-mysqldb
- python-imaging
- python-libxml2
- python-libxslt1
- python-numpy
- python-numpy-doc
- python-twisted
- python-openssl
- python-pexpect
- python-pyasn1
- python-pysnmp4
- python-sqlobject
- python-subversion
- python-urwid
- python-xmpp
- python-beautifulsoup
- python-chardet
- python-kerberos
- python-mako
- python-rpm
- python-selinux
- python-setuptools
- python-simplejson
- python-sqlite
- python-sqlitecachec
- python-urlgrabber
- python-cups
- python-notify
- python-tk
- python-requests
- jython
- jython-doc
- name: Install rake
apt:
name: rake
state: present
cache_valid_time: 3600
- name: Install tcl/tk
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- tcl
- tcl-dev
- tcl8.5
- tk
- tk-dev
- name: Install lua libs (when not Debian Buster)
when: not(ansible_distribution == 'Debian' and ansible_distribution_version == 'buster/sid')
apt:
name: love
state: present
cache_valid_time: 3600
- name: Install misc. scripting
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- swig
- gawk
- mawk
- m4
- name: Install AVR tools
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- gcc-avr
- binutils-avr
- gdb-avr
- avrdude
- avrdude-doc
- simulavr
- avarice
- avr-libc
- avra
- avrp
- uisp
- usbprog
- name: Install misc. libraries
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- libldap2-dev
- libpam0g-dev
- comerr-dev
- e2fslibs-dev
- libcap-dev
- libattr1-dev
- libacl1-dev
- libselinux1-dev
- libpcre3-dev
- libapt-pkg-dev
- linux-libc-dev
- libkrb5-dev
- libreadline-dev
- libncurses5-dev
- libncursesw5-dev
- libghc-mtl-dev
- libghc-mtl-prof
- libghc-mtl-doc
- libghc-network-dev
- libghc-parsec3-dev
- libboost-dev
- zlib1g-dev
- libbz2-dev
- libcurl4-gnutls-dev
- libexpat1-dev
- libglib2.0-dev
- libgmp3-dev
- libsasl2-dev
- libsctp-dev
- libsqlite3-dev
- libssl-dev
- libssl-dev
- libxml2-dev
- libxslt1-dev
- ss-dev
- mesa-common-dev
- uuid-dev
- libprotobuf-c-dev
- libprotobuf-dev
- libffi-dev
- libidl-dev
- libelf-dev
- libdw-dev
- libaudit-dev
- libgmp-dev
- libmpfr-dev
- libmpc-dev
- libfplll-dev
- name: Install misc. libraries (Ubuntu)
when: ansible_distribution == 'Ubuntu'
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- libgnutls-dev
- name: Install x11 libraries
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- xorg-dev
- xutils-dev
- libgtk2.0-dev
- libqt4-dev
- libsdl1.2-dev
- freeglut3-dev
- libgl1-mesa-dev
- libglu1-mesa-dev
- libghc-x11-dev
- libghc-x11-doc
- libghc-x11-prof
- libgtkmm-2.4-dev
- glade
- name: Install cross-platform toolchains (Ubuntu)
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- gcc-5-arm-linux-gnueabi
- gcc-5-mips-linux-gnu
- gcc-5-mipsel-linux-gnu
- gcc-5-powerpc-linux-gnu
- gcc-5-sparc64-linux-gnu
- gcc-5-s390x-linux-gnu
when: ansible_distribution == 'Ubuntu'
- name: Install cross-platform toolchains (Debian)
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- gcc-6-arm-linux-gnueabi
- gcc-6-mips-linux-gnu
- gcc-6-mipsel-linux-gnu
- gcc-6-powerpc-linux-gnu
- gcc-6-sparc64-linux-gnu
- gcc-6-s390x-linux-gnu
when: ansible_distribution == 'Debian'
- name: Install misc. development tools
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- gperf
- gettext
- check
- dejagnu
- doxygen
- exuberant-ctags
- indent
- cutils
- chrpath
- openmpi-bin
- openmpi-doc
- protobuf-compiler
- protobuf-c-compiler
- dos2unix

View File

@ -58,9 +58,22 @@
- sqlite3
- sqlite3-doc
- postgresql-client
- mysql-client
- db-util
- name: Install database tools (Ubuntu)
when: ansible_distribution == 'Ubuntu'
apt:
name: mysql-client
state: present
cache_valid_time: 3600
- name: Install database tools (Debian)
when: ansible_distribution == 'Debian'
apt:
name: default-mysql-client
state: present
cache_valid_time: 3600
- name: Install xml tools
apt:
name: '{{ item }}'
@ -78,7 +91,6 @@
- opensp
- sgml2x
- sgmltools-lite
- sp
- tidy
- xalan
@ -164,8 +176,8 @@
- dvdrip
- ffmpeg
- name: Install multimedia tools (Debian)
when: ansible_distribution == 'Debian'
- name: Install multimedia tools (Debian Stretch)
when: ansible_distribution == 'Debian' and ansible_distribution_release == 'stretch'
apt:
name: '{{ item }}'
state: present
@ -173,6 +185,15 @@
with_items:
- libav-tools
- name: Install multimedia tools (Debian Buster)
when: ansible_distribution == 'Debian' and ansible_distribution_release == 'buster'
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- ffmpeg
- name: Install torrent tools
apt:
name: '{{ item }}'
@ -189,7 +210,6 @@
with_items:
- mutt
- alpine
- fetchmail
- spamassassin
- tin
- irssi
@ -197,6 +217,13 @@
- weechat-plugins
- newsbeuter
- name: Install communication tools (not Debian Buster)
when: not(ansible_distribution == 'Debian' and ansible_distribution_version == 'buster/sid')
apt:
name: fetchmail
state: present
cache_valid_time: 3600
- name: Install serial tools
apt:
name: '{{ item }}'
@ -214,9 +241,15 @@
with_items:
- qemu
- qemu-kvm
- libvirt-bin
- bridge-utils
- name: Install virtualization tools (Ubuntu)
when: ansible_distribution != 'Debian'
apt:
name: libvirt-bin
state: present
cache_valid_time: 3600
- name: Install misc. tools
apt:
name: '{{ item }}'

View File

@ -340,3 +340,13 @@
name: idle-python2.7
state: present
cache_valid_time: 3600
- name: Install development environments
apt:
name: '{{ item }}'
state: present
cache_valid_time: 3600
with_items:
- eclipse
- monodevelop
- code