Skip to content

Instantly share code, notes, and snippets.

@jpalczewski
Created May 16, 2016 19:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jpalczewski/0682b7356fb531ddde29d53242ea324f to your computer and use it in GitHub Desktop.
Save jpalczewski/0682b7356fb531ddde29d53242ea324f to your computer and use it in GitHub Desktop.
build log & builder.conf
# =============================================================================
# CONFIGURATION FILE FOR QUBES-BUILDER
# =============================================================================
#
# THIS CONFIGURATION FILE IS INDENDED TO ONLY BE USED WITH THE `setup` SCRIPT.
# -----------------------------------------------------------------------------
#
# This configuration file (`templates.conf`) will be linked to by `setup` as
# `builder.conf`. (ln -s example-configs/templates.conf builder.conf)
#
# To use the `setup` script, just run `setup` in the qubes-builder root
# directory. A series of dialogs will be presented prompting various
# configuration available and then all build configuration files will
# automatically be generated based on the options selected.
#
# `setup` can be re-run again at any time to change configuration options.
# Previous options selected will be retained to allow quick switching of
# branches, templates to build, etc.
#
# Setup uses the following as markers to indicate where to place configuration
# values:
# [=setup section start=] - Start inserting on the next line
# [=setup section end=] - Stop insert mode
#
# Anything between these markers will be replaced, therefore:
# - do not place any user configurations within these markers, or those
# configurations will be replaced next time setup is run
# - do not remove or modify the markers or setup will be unable to function
#
# -----------------------------------------------------------------------------
# CONFIGURATION FILES INCLUDED WITH THIS CONFIGURATION
# -----------------------------------------------------------------------------
# Other configuration files are also included to offer maximum flexibility. To
# determine which configuration files are actually being included when using
# this configuration file as a base, use the `about` target:
# `make about`
#
# The other configuration files included (if they exist which some of them are
# automatically generated by `setup`) are as follows:
# - example-configs/qubes-os-r2.conf: If RELEASE == 2; Default Release 2
# configuration file
# - example-configs/qubes-os-master.conf: If RELEASE == 3; Default Release 3
# configuration file
# - override.conf: `setup` will also offer to include `override.conf` if one
# exists. More information on `overrides` below.
# - example-configs/extended-rules.conf: Contains extra targets mostly for
# building templates
#
# -----------------------------------------------------------------------------
# ADDITIONAL OVERRIDES
# -----------------------------------------------------------------------------
# Instead of directly modifying this or any other `default` configuration
# file, an override.conf file can be placed in the `qubes-builder` root
# directory. `setup` will offer to include this file if it exists.
#
# The `override.conf` file can contain overrides to most any configuration
# option such as BRANCH, DEBUG, VERBOSE, etc.
#
# If you create `overrides` that are specific to a release version or custom
# branch you are working on, `setup` will also be able to identify overrides
# specific to the release and or branch.
#
# To create release / branch specific `overrides`, create an override
# configuration file and place it in the `example-configs` directory named
# as follows:
# 1) example-configs/r2-feature_branch-override.conf
# example-configs/r3-master-override.conf
#
# 2) example-configs/r3-feature_branch-override.conf
# example-configs/r3-master-override.conf
#
# 3) example-configs/feature_branch-override.conf
# example-configs/master-override.conf
#
# 4) example-configs/override.conf
#
# 5) override.conf
#
# Option 1 above would offer to include the override configuration file if you
# selected to build for Release 2 and are currently in the `feature_branch`
# branch.
#
# Option 2 is the same as Option 1 except for Release 3.
#
# Option 3 would use the same configuration override for both Release 2 and 3
# if you are currently in the `feature_branch` branch.
#
# If there is no release / branch specific override configuration and
# override.conf exists as in options 4, that will be available to select.
#
# Finally, an override.conf file in the `qubes-builder` root directory
# overrides all the above examples.
#
#
# A few additional notes and caveats on overrides:
#
# - The dialog to choose an override configuration is only presented on the
# initial run of `setup`. Once a `builder.conf` file created, there will be
# no further prompts. As indicated above, `setup` initially soft links
# `examples-config/templates.conf` to `builder.conf`. To overcome
# this limitation, simply delete the `builder.conf` soft link and then the
# override prompt will become available again when you re-run `setup`.
#
# - The `setup` script soft links any override configuration within the
# examples-config directory to overrides.conf. It will allow any soft linked
# override to be replaced with a newly selected override option, but will not
# allow an existing `override.conf` regular file to be overwritten that is
# in the `qubes-builder` root directory.
#
# -----------------------------------------------------------------------------
# All lines which begins with "#" are treated as comments
# Assignments can be made with VAR_NAME="VALUE"
# [=setup info start=]
################################################################################
#
# Qubes Release: 3.1
# Source Prefix: QubesOS/qubes- (repo)
#
# Master Configuration File(s):
# qubes-os-r3.1.conf builder.conf Makefile
#
# builder.conf copied from:
# /home/user/iNBA/qubes-related/qubes-builder/example-configs/templates.conf
#
################################################################################
# [=setup info stop=]
RELEASE := 3.1
# SSH_ACCESS is used by `setup` to determine if ssh access mode was selected and
# will re-write the GIT_BASEURL and GIT_PREFIX variables to use ssh mode.
SSH_ACCESS := 0
GIT_BASEURL := https://github.com
GIT_PREFIX := QubesOS/qubes-
# A Qubes master configuration file will be included based on selected RELEASE
#
# A copy of BUILDER_PLUGINS will be made and restored since the BUILDER_PLUGIN
# variable gets over-written in qubes-os-master.conf.
_ORIGINAL_BUILDER_PLUGINS := $(BUILDER_PLUGINS)
ifeq ($(RELEASE), 2)
-include example-configs/qubes-os-r2.conf
else ifeq ($(RELEASE), 3)
-include example-configs/qubes-os-r3.0.conf
else ifeq ($(RELEASE), 3.1)
-include example-configs/qubes-os-r3.1.conf
else
-include example-configs/qubes-os-master.conf
endif
BUILDER_PLUGINS := $(_ORIGINAL_BUILDER_PLUGINS) $(BUILDER_PLUGINS)
# [=setup plugins start=]
# Enabled BUILDER_PLUGINS
BUILDER_PLUGINS :=
BUILDER_PLUGINS += builder-archlinux
# [=setup plugins stop=]
# Put all the enabled plugins into components to download them. But avoid
# duplicates
_temp_components := $(COMPONENTS)
COMPONENTS += $(filter-out $(_temp_components), $(BUILDER_PLUGINS))
DEBUG = 0
VERBOSE = 0
NO_SIGN = 1
DIST_DOM0 ?= fc20
# Only build templates (comment out or set to '0' to build all of Qubes).
TEMPLATE_ONLY ?= 1
################################################################################
# S A L T M A N A G E M E N T O P T I O N S
################################################################################
# MGMT_SALT_ONLY - Build only mgmt-salt COMPONENTS
# Only mgmt-salt components will bw built when issuing 'make qubes[-vm/dom0]
# which is useful for developing.
#
# Set 1 to enable building only salt-mgmt COMPONENTS or clear value to build
# all qubes components including mgmt-salt.
# Default: novalue
#MGMT_SALT_ONLY = 1
# MGMT_SALT_COMPONENTS_USER - Custom mgmt-salt user components
# Add any extra user based mgmt-salt formula components to include in build.
# Default: novalue
#MGMT_SALT_COMPONENTS_USER =
################################################################################
# L I S T O F D I S T V M ' S
################################################################################
# Available template flavors may be added the the template build by appending
# `+flavor_name`
# [=setup dists start=]
ifneq "$(SETUP_MODE)" "1"
# Enabled DISTS_VMs
DISTS_VM :=
DISTS_VM += archlinux
endif
# [=setup dists stop=]
# List of all build template variations that will be offered in the 'setup'
# DISTS_VM dialog to be able to choose from
ifeq "$(SETUP_MODE)" "1"
DISTS_VM :=
DISTS_VM += fc20
DISTS_VM += fc20+minimal
DISTS_VM += fc20+fullyloaded
DISTS_VM += fc21
DISTS_VM += fc21+minimal
DISTS_VM += fc21+fullyloaded
DISTS_VM += fc23
DISTS_VM += fc23+minimal
DISTS_VM += fc23+fullyloaded
DISTS_VM += wheezy
DISTS_VM += wheezy+minimal
DISTS_VM += wheezy+gnome
DISTS_VM += jessie
DISTS_VM += jessie+minimal
DISTS_VM += jessie+gnome
DISTS_VM += stretch
DISTS_VM += stretch+minimal
DISTS_VM += stretch+gnome
DISTS_VM += trusty
DISTS_VM += trusty+desktop
DISTS_VM += utopic
DISTS_VM += utopic+desktop
DISTS_VM += vivid
DISTS_VM += vivid+desktop
DISTS_VM += archlinux
endif
################################################################################
# T E M P L A T E A L I A S
################################################################################
# TEMPLATE_ALIAS can be used to choose a shorter name in DISTS_VM that
# include some other TEMPLATE_FLAVORs. A TEMPLATE_LABEL will automatically
# be created if one does not exist that will use the alias name as the
# tempalte name. Plus signs (+) will be converted to hyphens (-).
ifneq (,$(findstring wheezy, $(DISTS_VM))$(findstring jessie, $(DISTS_VM))$(findstring stretch, $(DISTS_VM)))
TEMPLATE_ALIAS += wheezy:wheezy+standard
TEMPLATE_ALIAS += wheezy+gnome:wheezy+gnome+standard
TEMPLATE_ALIAS += wheezy+minimal:wheezy+minimal+no-recommends
TEMPLATE_ALIAS += jessie:jessie+standard
TEMPLATE_ALIAS += jessie+gnome:jessie+gnome+standard
TEMPLATE_ALIAS += jessie+minimal:jessie+minimal+no-recommends
TEMPLATE_ALIAS += stretch:stretch+standard
TEMPLATE_ALIAS += stretch+gnome:stretch+gnome+standard
TEMPLATE_ALIAS += stretch+minimal:stretch+minimal+no-recommends
endif
################################################################################
# T E M P L A T E C O N F I G U R A T I O N
################################################################################
# TEMPLATE_LABEL allows control over the final template name. There is a limit
# of 31 characters for the final template name
#
# TEMPLATE_LABE += <DIST_VM name as listed above>:<desired final template name>
TEMPLATE_LABEL ?=
# Location of templates flavors that are not in default location.
# Example: wheezy+whonix-gateway would normally be in
# (Don't Place in {curly} brackets; ending curly gets cut off
# $$SCRIPTSDIR/wheezy+whonix-gateway
# -or- $$SCRIPTSDIR/wheezy
TEMPLATE_FLAVOR_DIR :=
TEMPLATE_FLAVOR_DIR += +gnome:$$SCRIPTSDIR/gnome
TEMPLATE_FLAVOR_DIR += +flash:$$SCRIPTSDIR/flash
TEMPLATE_FLAVOR_DIR += +desktop:$$SCRIPTSDIR/desktop
################################################################################
# T E M P L A T E C O M P O N E N T S
################################################################################
# Contains a list of components when only building templates. Note the build
# order is very important
TEMPLATE :=
TEMPLATE += vmm-xen
TEMPLATE += core-vchan-xen
ifneq ($(RELEASE), 2)
TEMPLATE += core-qubesdb
endif
TEMPLATE += linux-utils
TEMPLATE += core-agent-linux
TEMPLATE += gui-common
TEMPLATE += gui-agent-linux
TEMPLATE += app-linux-split-gpg
TEMPLATE += app-linux-tor
TEMPLATE += app-thunderbird
TEMPLATE += app-linux-pdf-converter
TEMPLATE += app-linux-img-converter
TEMPLATE += app-linux-input-proxy
TEMPLATE += $(MGMT_COMPONENTS)
TEMPLATE += linux-template-builder
################################################################################
# O V E R R I D E B R A N C H L O C A T I O N S
################################################################################
# Not yet available in 'QubesOS' repo
GIT_URL_template_whonix = $(GIT_BASEURL)/marmarek/qubes-template-whonix.git
GIT_URL_builder_archlinux = $(GIT_BASEURL)/marmarek/qubes-builder-archlinux.git
# Not yet available in 'marmarek' repo
GIT_URL_mgmt_salt = $(GIT_BASEURL)/QubesOS/qubes-mgmt-salt.git
GIT_URL_mgmt_salt_base = $(GIT_BASEURL)/QubesOS/qubes-mgmt-salt-base.git
GIT_URL_mgmt_salt_base_config = $(GIT_BASEURL)/QubesOS/qubes-mgmt-salt-base-config.git
GIT_URL_mgmt_salt_base_overrides = $(GIT_BASEURL)/QubesOS/qubes-mgmt-salt-base-overrides.git
GIT_URL_mgmt_salt_base_topd = $(GIT_BASEURL)/QubesOS/qubes-mgmt-salt-base-topd.git
GIT_URL_mgmt_salt_dom0_qvm = $(GIT_BASEURL)/QubesOS/qubes-mgmt-salt-dom0-qvm.git
GIT_URL_mgmt_salt_dom0_update = $(GIT_BASEURL)/QubesOS/qubes-mgmt-salt-dom0-update.git
GIT_URL_mgmt_salt_dom0_virtual_machines = $(GIT_BASEURL)/QubesOS/qubes-mgmt-salt-dom0-virtual-machines.git
################################################################################
# M I S C E L L A N E O U S
################################################################################
# Qubes-builder deps
DEPENDENCIES ?=
DEPENDENCIES += git rpmdevtools rpm-build createrepo
# Additional for debian template
DEPENDENCIES += debootstrap dpkg-dev
# for ./setup
DEPENDENCIES += python-sh dialog
# Uncomment the the following to enable override.conf include. Setup will
# automatically enable it only if an override is available and selected by
# user to enable.
#INCLUDE_OVERRIDE_CONF ?= true
ifdef INCLUDE_OVERRIDE_CONF
-include override.conf
endif
.PHONY: about release
about::
@echo "builder.conf"
release:
@echo "$(RELEASE)"
# vim: filetype=make
[user@development qubes-builder]$ grep "archlinux" builder.conf
BUILDER_PLUGINS += builder-archlinux
DISTS_VM += archlinux
DISTS_VM += archlinux
GIT_URL_builder_archlinux = $(GIT_BASEURL)/marmarek/qubes-builder-archlinux.git
[user@development qubes-builder]$ make install-deps && make get-sources && make qubes-vm
Yum command has been deprecated, redirecting to '/usr/bin/dnf install -y git rpmdevtools rpm-build createrepo debootstrap dpkg-dev python-sh dialog'.
See 'man dnf' and 'man yum2dnf' for more information.
To transfer transaction metadata from yum to DNF, run:
'dnf install python-dnf-plugins-extras-migrate && dnf-2 migrate'
Last metadata expiration check: 2:35:47 ago on Mon May 16 19:07:09 2016.
Package git-2.5.5-1.fc23.x86_64 is already installed, skipping.
Package rpmdevtools-8.6-2.fc23.noarch is already installed, skipping.
Package rpm-build-4.13.0-0.rc1.13.fc23.x86_64 is already installed, skipping.
Package createrepo-0.10.3-3.fc21.noarch is already installed, skipping.
Package debootstrap-1.0.80-1.fc23.noarch is already installed, skipping.
Package dpkg-dev-1.17.25-6.fc23.noarch is already installed, skipping.
Package python-sh-1.11-1.fc23.noarch is already installed, skipping.
Package dialog-1.2-16.20150528.fc23.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Sending application list and icons to dom0
Complete!
-> Updating sources for vmm-xen...
--> Fetching from https://github.com/QubesOS/qubes-vmm-xen.git xen-4.6...
--> Verifying tags...
--> Merging...
-> Updating sources for core-vchan-xen...
--> Fetching from https://github.com/QubesOS/qubes-core-vchan-xen.git release3.1...
--> Verifying tags...
--> Merging...
-> Updating sources for core-qubesdb...
--> Fetching from https://github.com/QubesOS/qubes-core-qubesdb.git release3.1...
--> Verifying tags...
--> Merging...
-> Updating sources for linux-utils...
--> Fetching from https://github.com/QubesOS/qubes-linux-utils.git release3.1...
--> Verifying tags...
--> Merging...
-> Updating sources for core-agent-linux...
--> Fetching from https://github.com/QubesOS/qubes-core-agent-linux.git release3.1...
--> Verifying tags...
--> Merging...
-> Updating sources for gui-common...
--> Fetching from https://github.com/QubesOS/qubes-gui-common.git release3.1...
--> Verifying tags...
--> Merging...
-> Updating sources for gui-agent-linux...
--> Fetching from https://github.com/QubesOS/qubes-gui-agent-linux.git release3.1...
--> Verifying tags...
--> Merging...
-> Updating sources for app-linux-split-gpg...
--> Fetching from https://github.com/QubesOS/qubes-app-linux-split-gpg.git master...
--> Verifying tags...
--> Merging...
-> Updating sources for app-linux-tor...
--> Fetching from https://github.com/QubesOS/qubes-app-linux-tor.git master...
--> Verifying tags...
--> Merging...
-> Updating sources for app-thunderbird...
--> Fetching from https://github.com/QubesOS/qubes-app-thunderbird.git master...
--> Verifying tags...
--> Merging...
-> Updating sources for app-linux-pdf-converter...
--> Fetching from https://github.com/QubesOS/qubes-app-linux-pdf-converter.git master...
--> Verifying tags...
--> Merging...
-> Updating sources for app-linux-img-converter...
--> Fetching from https://github.com/QubesOS/qubes-app-linux-img-converter.git master...
--> Verifying tags...
--> Merging...
-> Updating sources for app-linux-input-proxy...
--> Fetching from https://github.com/QubesOS/qubes-app-linux-input-proxy.git master...
--> Verifying tags...
--> Merging...
-> Updating sources for mgmt-salt...
--> Fetching from https://github.com/QubesOS/qubes-mgmt-salt.git master...
--> Verifying tags...
--> Merging...
-> Updating sources for mgmt-salt-base...
--> Fetching from https://github.com/QubesOS/qubes-mgmt-salt-base.git release3.1...
--> Verifying tags...
--> Merging...
-> Updating sources for mgmt-salt-base-topd...
--> Fetching from https://github.com/QubesOS/qubes-mgmt-salt-base-topd.git release3.1...
--> Verifying tags...
--> Merging...
-> Updating sources for mgmt-salt-base-config...
--> Fetching from https://github.com/QubesOS/qubes-mgmt-salt-base-config.git release3.1...
--> Verifying tags...
--> Merging...
-> Updating sources for mgmt-salt-base-overrides...
--> Fetching from https://github.com/QubesOS/qubes-mgmt-salt-base-overrides.git release3.1...
--> Verifying tags...
--> Merging...
-> Updating sources for mgmt-salt-dom0-qvm...
--> Fetching from https://github.com/QubesOS/qubes-mgmt-salt-dom0-qvm.git release3.1...
--> Verifying tags...
--> Merging...
-> Updating sources for mgmt-salt-dom0-virtual-machines...
--> Fetching from https://github.com/QubesOS/qubes-mgmt-salt-dom0-virtual-machines.git release3.1...
--> Verifying tags...
--> Merging...
-> Updating sources for mgmt-salt-dom0-update...
--> Fetching from https://github.com/QubesOS/qubes-mgmt-salt-dom0-update.git release3.1...
--> Verifying tags...
--> Merging...
-> Updating sources for linux-template-builder...
--> Fetching from https://github.com/QubesOS/qubes-linux-template-builder.git master...
--> Verifying tags...
--> Merging...
--> Downloading additional sources for vmm-xen...
--> Verifying the sources...
Currently installed dependencies:
git-2.5.5-1.fc23.x86_64
rpmdevtools-8.6-2.fc23.noarch
rpm-build-4.13.0-0.rc1.13.fc23.x86_64
createrepo-0.10.3-3.fc21.noarch
debootstrap-1.0.80-1.fc23.noarch
dpkg-dev-1.17.25-6.fc23.noarch
python-sh-1.11-1.fc23.noarch
dialog-1.2-16.20150528.fc23.x86_64
Makefile.generic:20: *** Building packages for archlinux not supported by any of configured plugins. Stop.
Makefile:208: recipe for target 'vmm-xen-vm' failed
make: *** [vmm-xen-vm] Error 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment