{{- $architecture := or .architecture "amd64" }} {{- $type := or .type "basesdk" -}} {{- $mirror := or .mirror "https://repositories.apertis.org/apertis/" -}} {{- $suite := or .suite "v2019dev0" -}} {{- $timestamp := or .timestamp "" -}} {{- $ospack := or .ospack (printf "ospack_%s-%s-%s" $suite $architecture $type) -}} architecture: {{ $architecture }} actions: - action: debootstrap suite: {{ $suite }} components: - target mirror: {{ $mirror }} variant: minbase keyring-package: apertis-archive-keyring keyring-file: keyring/apertis-archive-keyring.gpg merged-usr: false # Add image version information - action: run description: "Setting up image version metadata" chroot: true script: scripts/setup_image_version.sh apertis {{ $suite }} '{{ $timestamp }}' collabora {{ $type }} - action: run description: "Add extra apt sources" chroot: true script: scripts/apt_source.sh -m {{ $mirror }} -r {{ $suite }} hmi helper-libs development sdk - action: run description: "Switch to the latest coreutils package (GPLv3)" chroot: true script: scripts/replace-tar-coreutils-for-build.sh - action: apt description: "Core packages" packages: - sudo - apt-transport-https - initramfs-tools # - apertis-customizations - action: apt description: "Base packages" packages: - busybox - dbus-user-session - action: apt description: "Networking packages" packages: - connman - wpasupplicant - action: apt description: "AppArmor packages" packages: - apparmor - chaiwala-apparmor-profiles - action: apt description: "Test environment packages" packages: - net-tools - openssh-client - openssh-server - vim.tiny - action: apt description: "Target packages" packages: - adduser - apertis-archive-keyring - apparmor - apparmor-profiles - apt - apt-transport-https - apt-utils - auditd - avahi-daemon - bluez - bluez-obexd - btrfs-tools - bzip2 - ca-certificates - connman - debconf-i18n - evolution-data-server - file - fonts-dejavu-extra - gnupg - gstreamer1.0-plugins-good - gstreamer1.0-pulseaudio - gvfs - initramfs-tools - iproute2 - iptables - kmod - libgupnp-1.0-4 - liblockfile-bin - libnss-myhostname #- libproxy1-pacrunner - libwebkit2gtk-4.0-37 - locales - lsb-base - lzma - mawk - mobile-broadband-provider-info #- mutter - net-tools - netbase - openssh-client - openssh-server #- pacrunner - plymouth - plymouth-themes - policykit-1 - pulseaudio - pulseaudio-module-bluetooth - pulseaudio-utils - sudo - systemd-sysv # - tcmmd - tracker - tracker-miner-fs - tumbler - tumbler-plugins-extra - udev - usb-modeswitch - vim-tiny - whiptail - wpasupplicant - xauth - xdg-user-dirs - xwayland - action: apt description: "Development packages" packages: - apparmor-utils - automake - autopoint - autotools-dev - bash - bison - build-essential - bustle-pcap - chrpath - cmake - cmake-data #- connman-tests - d-feet - debhelper - dosfstools - evolution-data-server-dbgsym - evolution-data-server-dev - fakeroot - flex - gawk - gcc - gdb - gdbserver - gir1.2-secret-1 - git - gperf - gstreamer1.0-tools - gtk-doc-tools - iputils-ping - less - libasound2-dev - libbluetooth-dev - libcurl4-nss-dev - libenchant-dev - libffi-dev - libgirepository1.0-dev - libglib2.0-0-dbgsym - libglib2.0-dev - libgstreamer-plugins-base1.0-dev - libgstreamer1.0-dev - libgtk2.0-dev - libgtk-3-0-dbgsym - libgudev-1.0-dev - libgupnp-1.0-dev - libhyphen-dev - libicu-dev - libjpeg-dev - libjsoncpp1 # - libmutter-dev #- libmx-2.0-0-dev - libnotify-dev - libpango1.0-dev - libpng-dev - libpoppler-glib-dev - libproxy-dev - libpulse-dev - libsecret-1-0 - libsecret-1-dev - libsecret-common - libsoup2.4-dev - libsqlite3-dev - libtool - libtracker-control-2.0-dev - libtracker-miner-2.0-dev - libtracker-sparql-2.0-dev - libwebkit2gtk-4.0-dev - libwebp-dev - libwnck-3-dev - libxslt1-dev - libxt-dev {{ if eq $architecture "armhf" }} - linux-headers-armmp {{ else }} - linux-headers-{{$architecture}} {{ end }} - lsb-release - ltrace - openssh-client - openssh-server - pavucontrol - pkg-config - python-pkg-resources - python-ply - ruby - slimit - strace - symlinks - syncevolution-dbgsym - valgrind - wget - xinput - action: apt description: "SDK packages" packages: - adduser - apertis-archive-keyring #- apertis-customizations - apertis-dev-tools #- apertis-docs - apparmor - apparmor-profiles - apparmor-utils - apt - apt-transport-https - apt-utils - auditd - automake - autopoint - autotools-dev - avahi-daemon - bash - bison - blueman - bluez - bluez-obexd - bmap-tools - btrfs-tools - build-essential - bustle - bustle-pcap - bzip2 - ca-certificates - ccache #- chaiwala-sdk-default-settings - chrpath - clang - cmake - cntlm - connman #- connman-tests - d-feet - dbus-user-session - debconf-i18n - debhelper - devhelp - devilspie - devscripts - dh-autoreconf - dh-exec - dosfstools - evince - evolution-data-server - evolution-data-server-dbgsym - evolution-data-server-dev - evolution-data-server-doc - fakeroot - file - firefox-esr - flex - g++-aarch64-linux-gnu - g++-arm-linux-gnueabihf - gawk - gcc - gcc-aarch64-linux-gnu - gcc-arm-linux-gnueabihf - gdb #- gdb-doc - gdb-multiarch - gdbserver - gettext-doc - gir1.2-secret-1 - git - glibc-doc - gnome-desktop-testing - gnome-devel-docs - gnome-icon-theme - gnupg - gperf - gstreamer1.0-doc - gstreamer1.0-plugins-good - gstreamer1.0-pulseaudio - gstreamer1.0-tools - gtk-doc-tools - hotdoc - hotdoc-c-extension - hotdoc-dbus-extension - ibus-doc - initramfs-tools - iproute2 - iptables - iputils-ping - kmod - lcov - less - libasound2-dev - libbluetooth-dev - libcairo2-doc - libcurl4-nss-dev - libelf-dev - libenchant-dev - libffi-dev - libgdata-doc - libgirepository1.0-dev - libglib2.0-dev - libgstreamer-plugins-base1.0-dev - libgstreamer1.0-dev - libgupnp-1.0-4 - libgupnp-1.0-dev - libgupnp-doc - libicu-dev - libjpeg-dev - libjson-glib-doc - liblockfile-bin # - libmutter-dev #- libmx-2.0-0-dev #- libmx-2.0-doc - libnss-myhostname - libpango1.0-dev - libpng-dev - libpoppler-glib-dev - libproxy-dev # - libproxy1-pacrunner - libpulse-dev - libsecret-1-0 - libsecret-1-dev - libsecret-common - libsoup2.4-dev - libsoup2.4-doc - libsqlite3-dev - libtool - libtracker-control-2.0-dev - libtracker-control-doc - libtracker-miner-2.0-dev - libtracker-miner-doc - libtracker-sparql-2.0-dev - libtracker-sparql-doc - libwebp-dev - libwnck-3-dev - libxml2-doc - libxml2-utils - libxslt1-dev - libxt-dev - lightdm #- linux-firmware - linux-perf - locales - lsb-base - lsb-release - ltrace - lzma - mawk - mousepad - murrine-themes # - mutter - net-tools - netbase - openssh-client - openssh-server - osc # - pacrunner - pavucontrol - pkg-config #- pkg-config-aarch64-linux-gnu #- pkg-config-arm-linux-gnueabihf #- pkg-config-x86-64-linux-gnu - plymouth - plymouth-themes - policykit-1 - pristine-tar - pulseaudio - pulseaudio-module-bluetooth - pulseaudio-utils - python-gobject - python3-debian - qemu-user-static - rtkit - ruby - screen - splint - splint-doc-html - strace - sudo - symlinks - syncevolution - syncevolution-dbgsym - sysprof - systemd-sysv - systemtap - systemtap-client - systemtap-server - tar #- tartan #- tcmmd - tracker - tracker-miner-fs - tumbler - tumbler-plugins-extra - udev - usb-modeswitch - usbutils - valgrind - vim-tiny - wget - whiptail - wpasupplicant - xauth - xdg-user-dirs - xfce4 - xfce4-terminal - xinput - xserver-xephyr - xserver-xorg - xserver-xorg-input-evdev - xserver-xorg-video-fbdev - xserver-xorg-video-intel - xserver-xorg-video-vesa # needed by the VirtualBox extensions for xrandr. (Apertis:T4485) - x11-xserver-utils - yelp - yelp-tools - action: overlay source: overlays/hostname - action: overlay source: overlays/default-hosts - action: overlay source: overlays/loopback-interface - action: overlay source: overlays/media-tmpfs - action: overlay source: overlays/create-homedir - action: overlay source: overlays/sudo-fqdn - action: overlay source: overlays/default-locale-c-utf8 - action: overlay source: overlays/supported-locales - action: overlay source: overlays/initramfs-modules-amd64 - action: overlay source: overlays/sdk-vboxvideo-workaround - action: overlay source: overlays/sdk-lightdm-autologin - action: overlay source: overlays/sdk-mount-opt-sysroot - action: overlay source: overlays/sdk-xfce-theme - action: overlay source: overlays/sdk-desktop-icon-devhelp/ - action: run chroot: true script: scripts/add-xdg-user-metadata.sh - action: run chroot: true script: scripts/create-mtab-symlink.hook.sh - action: run chroot: true script: scripts/setup_user.sh - action: run chroot: true description: "Force homedir creation so sample-applications can be cloned in" command: /usr/sbin/apertis-create-homedir-if-needed 1000 - action: run chroot: true description: "Creating mount point /Applications" command: install -d -m 0755 /Applications - action: run description: "Setting up sysroot storage" chroot: true command: install -d -m 0755 -o user -g user /home/sysroot - action: run description: "disable deprecated gnome-vfs-2.0 documentation" chroot: true script: scripts/disable-deprecated-gnome-vfs-2.0.sh - action: run chroot: true script: scripts/add_user_to_groups.sh - action: run chroot: true script: scripts/check_sudoers_for_admin.sh - action: run chroot: true script: scripts/generate_openssh_keys.sh - action: run chroot: true script: scripts/add-initramfs-modules.sh - action: run description: "Generate locales" chroot: true script: scripts/generate_locales.sh - action: run description: Switch the logind AppArmor profile to complain mode chroot: false script: scripts/apparmor-profile-switch-to-complain.sh ${ROOTDIR}/etc/apparmor.d/lib.systemd.systemd-logind # work around the Debos isssue in https://phabricator.apertis.org/T4308 - action: run chroot: false description: "Drop resolv.conf so the appropriate one gets created at runtime" command: rm "${ROOTDIR}/etc/resolv.conf" - action: run description: "Save installed package status" chroot: false command: gzip -c "${ROOTDIR}/var/lib/dpkg/status" > "${ARTIFACTDIR}/{{ $ospack }}.pkglist.gz" - action: run description: List files on {{ $ospack }} chroot: false script: scripts/list-files "$ROOTDIR" | gzip > "${ARTIFACTDIR}/{{ $ospack }}.filelist.gz" - action: pack compression: gz file: {{ $ospack }}.tar.gz