Commit Graph

49 Commits

Author SHA1 Message Date
Marek Marczykowski-Górecki
c7bbdbf51c Use full path for tools normally in /sbin
Do not rely on Fedora-specific setting - having /sbin in PATH also for
normal user. This allows to build templates on Debian.
2018-03-10 02:03:59 +01:00
Marek Marczykowski-Górecki
2d4975c091
Change partition layout
Put root filesystem as the last partition, to ease resizing.

Fixes QubesOS/qubes-issues#3173
2017-10-17 23:59:00 +02:00
Marek Marczykowski-Górecki
fe05ad6935
Use more generic variable for not keeping prepared image
Use this:
DISCARD_PREPARED_IMAGE=1
2017-09-26 02:48:35 +02:00
Marek Marczykowski-Górecki
bca3759c78
travis: do not keep prepared_image/*.img, to save space
There is limited disk space available on Travis-CI. Build product it
thrown away anyawy, so do not keep intermediate files (normally useful
to speedup next build).
2017-09-26 01:51:10 +02:00
Frederic Pierret (Epitre)
9a1032e2eb
Fix parameter expansion for appmenus directory 2017-09-06 18:59:42 +02:00
Marek Marczykowski-Górecki
9b2078d346
Add support for template with partition table on root.img
When TEMPLATE_ROOT_WITH_PARTITIONS is set, include (GPT) partition table
and install actual OS on the first one. This allows installing grub, or
other bootloader.

Fixes QubesOS/qubes-issues#2577
2017-06-24 01:28:37 +02:00
Marek Marczykowski-Górecki
d976ffd3a6
Make template builder working on Debian
1. Use bash explicitly where required
2. Don't use bash-isms where not.

QubesOS/qubes-issues#1907
2016-04-20 10:23:36 +02:00
Patrick Schleizer
ec69d65372
enable errtrace right after xtrace 2015-08-10 22:59:53 +02:00
Patrick Schleizer
995c98e512 example fix 'bug, not using errtrace when using VERBOSE'
#1088
2015-07-28 22:47:40 +02:00
Jason Mehring
fe6b1be0db
Allow appmenus to be located using APPMENUS_DIR ENV variable
Allows Whonix appmenus to located in its own package
2015-04-27 21:20:29 -04:00
Marek Marczykowski-Górecki
3092bb2d71 Add support for plugins, move all distribution-specific code there
While at it, also change name of local repo to pkgs-for-tmplate (was
yum_repo_qubes).
2015-03-10 23:57:13 +01:00
Marek Marczykowski-Górecki
f22a06d8ad Store root image named 'root.img' inside of tar archive
Prevent renaming at installation, this will make the process cleaner.
2015-03-10 23:57:12 +01:00
Marek Marczykowski-Górecki
c9809c7d6e Minimize data contained in the template package
1. Remove appmenus - regenerate them at installation time (start the
   template for that)
2. Remove volatile.img - regenerate it at installation time

This way, the only real data carried in template rpm is root.img.
2015-03-08 23:55:36 +01:00
Jason Mehring
00bf130052 Use cleanup function to trap errors 2015-02-14 12:32:33 -05:00
Jason Mehring
8de6493230 Remove UPDATE 2014-10-19 01:18:58 -04:00
Jason Mehring
c27d84cc80 Renamed umount_image to umount_kill as to better shuit its purpose 2014-10-14 17:04:42 -04:00
Jason Mehring
574668f7d9 Fixed issue with umounting when path ended with double slashes// and changed code that set INSTALLDIR to create proper full path without any trailing slashes 2014-10-14 16:30:12 -04:00
Jason Mehring
c1938374e2 Changed qubeize_image back to use set -e not set -x 2014-10-14 14:29:14 -04:00
Jason Mehring
9e91084ef2 Debian Wheezy template addition and refactoring to allow Whonix TEMPLATE_FLAVOR 2014-10-14 12:02:12 -04:00
Marek Marczykowski-Górecki
000b26c06e Force "C" locale during build
Do not depend on system-local settings.
2014-07-28 18:53:49 +02:00
Marek Marczykowski-Górecki
fa134bd512 Less naive method of template name construction 2014-07-26 04:30:31 +02:00
Davíð Steinn Geirsson
7f38babc0a Initial debian support 2014-07-22 21:06:44 +02:00
Marek Marczykowski-Górecki
32ed8052bf fedora: improve error handling
Make sure that all partitions got unmounted.
2014-05-21 18:58:58 +02:00
Marek Marczykowski-Górecki
a77a635016 template flavor support (#828)
Set TEMPLATE_FLAVOR variable to select template to build. That type will
be appended to template name.
Actual configuration can vary on template distribution, but generally
config files with suffix "_${TEMPLATE_FLAVOR}" will be used.
2014-05-13 04:40:09 +02:00
Marek Marczykowski-Górecki
26663e2a58 fedora: Improve error handling 2014-05-13 04:30:01 +02:00
Marek Marczykowski-Górecki
1e9b01d317 Minor fixes to archlinux build 2013-12-08 20:33:28 +01:00
Marek Marczykowski
c520d85c7a minor messages fixes 2013-02-16 22:51:01 +01:00
Marek Marczykowski
add64aa2e4 Support different versions of the same distribution
Split $DIST to distribution name and version (builder_setup script) and search
for scripts first $DIST-specific, but then for given distribution.

Also move out some Fedora-specific things to scripts_fc17.
2013-02-16 21:21:05 +01:00
Marek Marczykowski
746cb149c9 use tabs for indentation in shell scripts 2013-02-16 20:49:42 +01:00
Olivier Medoc
7e17847377 template_builder: made make scripts OS independent.
An important note is that each OS script need to setup itself its own chroot environment (like creating /proc...).
2013-02-06 02:53:30 +01:00
Marek Marczykowski
485e7d1e30 setup default console encoding to UTF-8 2012-11-20 19:52:21 +01:00
Marek Marczykowski
e25fed755a reduce verbosity based on $VERBOSE variable 2012-11-18 04:01:49 +01:00
Marek Marczykowski
1df5f9426a qubeize-image: unmount image even after failed build 2012-11-17 12:56:19 +01:00
Marek Marczykowski
fdea5277cd qubeize_image: use yum repo for Qubes-specific rpms instead of symlinks
This would simplify changes in package list and (more important) make
template-builder independent of layout of other repos (eg location of version
file).
2012-11-14 16:12:18 +01:00
Marek Marczykowski
360b2e60cf qubeize_image: remove duplicated 3rd party soft installation 2012-07-18 11:49:05 +02:00
Marek Marczykowski
72f6fd4d40 Merge remote-tracking branch 'joanna/master' 2012-07-18 11:45:48 +02:00
Marek Marczykowski
7d55c9b24f remove dispvm files - now part of qubes-core-vm package 2012-07-12 14:32:12 +02:00
Joanna Rutkowska
f61878cbf7 Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/marmarek/template-builder
Conflicts:
	qubeize_image
2012-06-25 16:28:04 +02:00
Marek Marczykowski
b3298c852d Use yum to install qubes-specific rpms
This will allow to automatically install its requires.
2012-06-25 13:15:15 +02:00
Marek Marczykowski
019c81e8ec appmenus: choose whitelists basing on distribution version 2012-06-22 21:12:57 +02:00
Joanna Rutkowska
bdea9a6e2b Revert "qubize_image: also copy qubes-specific-appmenus to VM's app template dir"
This reverts commit 3f6889c345.
This has been done in core instead, see this commit:

http://git.qubes-os.org/?p=joanna/core.git;a=commit;h=ffa3d8732c7d0acba3cda2e855e47910b7d7d221

... which is a correct way of doing this, as the Template's apps.template direcotry gets recreated after each yum update/install in the VM.
2012-06-22 15:31:34 +02:00
Joanna Rutkowska
3f6889c345 qubize_image: also copy qubes-specific-appmenus to VM's app template dir
E.g. Add/Remove Appmenus shortcut, etc.
2012-06-21 12:10:25 +02:00
Joanna Rutkowska
9850431b40 qubize_image: run 3rd party installer before appmenus extraction 2012-06-21 12:04:12 +02:00
Marek Marczykowski
7788bc3013 Exit with retcode!=0 on failure 2011-09-25 22:41:27 +02:00
Marek Marczykowski
7c5604fc7f Get rid of SELinux-related warnings - mount /proc
Without /proc, sed cannot see that SELinux is disabled
2011-09-25 20:47:42 +02:00
Marek Marczykowski
c03967798f Create template with plain root.img without partitions (#118)
Additionaly provide clean-volatile.img
2011-03-18 22:30:23 -04:00
Marek Marczykowski
dced8dafef Build universal (appvm,netvm,proxyvm), cow-based template 2011-03-16 09:52:21 +01:00
Joanna Rutkowska
bfb3acc6d4 qubes_image: split into *_appvm and *_netvm 2010-06-19 02:27:25 +02:00
Joanna Rutkowska
b5e395d385 Initial public commit.
(c) 2010 Invisible Things Lab

Authors:
=========
Joanna Rutkowska <joanna@invisiblethingslab.com>
Rafal Wojtczuk  <rafal@invisiblethingslab.com>
2010-04-06 00:25:37 +02:00