diff options
270 files changed, 0 insertions, 25493 deletions
diff --git a/build_tools/l7/build_all b/build_tools/l7/build_all deleted file mode 100755 index 19e2b18..0000000 --- a/build_tools/l7/build_all +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -#./larch-archin -p larch0/profiles/l7 install && ./larch-larchify -p larch0/profiles/l7 && ./larch-live_iso -p larch0/profiles/l7 -#./larch-archin -p larch0/profiles/mini install && ./larch-larchify -p larch0/profiles/mini && ./larch-live_iso -p larch0/profiles/mini -PROFILE=l7 -./larch-archin -f -p larch0/profiles/$PROFILE install && ./larch-larchify -p larch0/profiles/$PROFILE && ./larch-live_iso -p larch0/profiles/$PROFILE - -# ./larch-larchify -p larch0/profiles/$PROFILE -#./larch-live_iso -p larch0/profiles/$PROFILE - - -if [ -e linhes.iso ] -then - echo "moving linhes.iso to /tmp/test2.iso" - mv linhes.iso /tmp/test2.iso - ls -lah /tmp/test2.iso -fi diff --git a/build_tools/l7/cachepacs b/build_tools/l7/cachepacs deleted file mode 100755 index 3e4a1fb..0000000 --- a/build_tools/l7/cachepacs +++ /dev/null @@ -1,140 +0,0 @@ -#! /bin/bash -# -# cachepacs - install pkgs to cache dir, but don't isntall -# -# Author: James Meyer (based on inpacs) - - -# Working directory: -TMPDIR=/tmp/inpacs$$ -# File containing (filtered) list of base packages + added packages -basepacks=${TMPDIR}/basepacks - -APP="$( basename $0 )" - -exitfunc () { - # Remove temporary files - rm -rf ${TMPDIR} - exit $1 -} - -# Default pacman db path (this is a statement, not a configuration, so -# do not change it!) -DBPATH="/var/lib/pacman" - -# Default package cache, on the target -TARGETCACHE="${CACHE}" -# A host or remote package cache: -HOSTCACHE="" -# Absolute /path/to/file containing list of packages for 2nd install phase: -ADDEDPACKS="" -# Source file for base package list: -BASEPACKSFILE="" -# Source file for list of vetoed base packages: -VETOFILE="" -# Source directory for pacman database directories: -DBDIR="" -# pacman executable: -PACMANX="pacman -f" -# pacman configuration file -PACMANK="/etc/pacman.conf" - -checkfile () -{ - f=$( readlink -m $1 ) - if ! [ -f "${f}" ]; then - echo "ERROR: File doesn't exist: ${f}" - exitfunc - fi -} - -checkdir () -{ - f=$( readlink -m $1 ) - if ! [ -d "${f}" ]; then - echo "ERROR: Directory doesn't exist: ${f}" - exitfunc - fi -} - - -while getopts ":k:a:c:b:x:y:P:" Option -do - case ${Option} in - k ) checkfile ${OPTARG} - PACMANK=${f} ;; - a ) checkfile ${OPTARG} - CACHEPACKSFILE=${f} ;; - y ) checkdir ${OPTARG} - DBDIR=${f} ;; - P ) checkfile ${OPTARG} - PACMANX=${f} ;; - #* ) usage ;; - esac -done -shift $((${OPTIND} - 1)) -INSTLDIR="$1" - - -# grep the cachedir out of the installed pacman.conf -PCCACHE=`grep CacheDir $INSTLDIR/etc/pacman.conf|cut -d= -f2|cut -d\/ -f2-` -CACHEDIR=${INSTLDIR}/$PCCACHE - -echo "INSTLDIR=${INSTLDIR}" -echo "PACMANK=${PACMANK}" -echo "CACHEDIR=${CACHEDIR}" -echo "DBDIR=${DBDIR}" -echo "PACMANX=${PACMANX}" -echo - - -# test if the script is started by root user. If not, exit -if [ $UID -ne 0 ]; then - echo "Only root can run ${APP}"; exitfunc 1 -fi - -echo "//" -echo "// downloading packages to ${CACHEDIR}" - -PACMAN="${PACMANX} --config ${PACMANK} --noconfirm" - -rm -rf ${TMPDIR} -mkdir -p ${TMPDIR} - -# Helper function for installing a list of packages -doInstall() { - mkdir -p ${INSTLDIR}/sys - mkdir -p ${INSTLDIR}/proc - mount --bind /sys ${INSTLDIR}/sys - mount --bind /proc ${INSTLDIR}/proc - ${PACMAN} -r ${INSTLDIR} -Sw $1 - RET=$? - echo $RET - umount ${INSTLDIR}/proc - umount ${INSTLDIR}/sys - if [ ${RET} -ne 0 ]; then - echo "//" - echo "// cachepacks package $1 FAILED." - echo "//" - return 1 - fi -} - - -PACMAN="${PACMAN} --cachedir $CACHEDIR" - -########## GET LIST OF CACHE PACKAGES -echo "//" -echo "// ** Getting cache package list ..." -if [ -n "${CACHEPACKSFILE}" ]; then - echo "// from: ${CACHEPACKSFILE}" - CACHEPKGS=$( cat ${CACHEPACKSFILE} | grep -v "#" ) -else - echo " no cache package file found" - exit 0 -fi - - -doInstall "${CACHEPKGS}" -if [ $? -ne 0 ]; then exitfunc 1; fi -exitfunc diff --git a/build_tools/l7/larch b/build_tools/l7/larch deleted file mode 120000 index 04fc309..0000000 --- a/build_tools/l7/larch +++ /dev/null @@ -1 +0,0 @@ -larch0/gui/larch.py
\ No newline at end of file diff --git a/build_tools/l7/larch-7.2.18-1-any.pkg.tar.gz b/build_tools/l7/larch-7.2.18-1-any.pkg.tar.gz Binary files differdeleted file mode 100644 index 2409e53..0000000 --- a/build_tools/l7/larch-7.2.18-1-any.pkg.tar.gz +++ /dev/null diff --git a/build_tools/l7/larch-archin b/build_tools/l7/larch-archin deleted file mode 120000 index 4308781..0000000 --- a/build_tools/l7/larch-archin +++ /dev/null @@ -1 +0,0 @@ -larch0/cli/archin.py
\ No newline at end of file diff --git a/build_tools/l7/larch-archin.orig b/build_tools/l7/larch-archin.orig deleted file mode 100755 index 206e499..0000000 --- a/build_tools/l7/larch-archin.orig +++ /dev/null @@ -1,378 +0,0 @@ -#!/usr/bin/env python -# -# archin.py -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.19 - -# This is a command line script to perform an Arch Linux installation -# based on a list of packages. All needed parameters are passed as options. - -import os -from glob import glob -from config import * -from backend import * - -class Installation: - def __init__(self, options): - self.options = options - self.installation_dir = get_installation_dir() - if self.installation_dir == '/': - errout(_("Operations on '/' are not supported ...")) - - self.profile_dir = get_profile() - self.pacman_cmd = self.make_pacman_command() - self.make_pacman_conf() - - - def make_pacman_command(self): - """Construct pacman command. Return the command, including options. - This includes options for installation path, cache directory and - for suppressing the progress bar. It assumes a temporary location - for pacman.conf, which must also be set up. - If there is no pacman executable in the system PATH, check that - it is available in the larch directory. - """ - pacman = runcmd('bash -c "which pacman || echo _FAIL_"')[1][-1].strip() - if pacman == '_FAIL_': - # If the host is not Arch, there will probably be no pacman - # (if there is some other program called 'pacman' that's - # a real spanner in the works). - # The alternative is to provide it in the larch directory. - pacman = base_dir + '/pacman' - if not os.path.isfile(pacman): - errout(_("No pacman executable found")) - - pacman += (' -r %s --config %s --noconfirm' - % (self.installation_dir, PACMAN_CONF)) - if self.options.noprogress: - pacman += ' --noprogressbar' - if self.options.cache: - pacman += ' --cachedir ' + self.options.cache - return pacman - - - def make_pacman_conf(self, final=False): - """Construct the pacman.conf file used by larch. - To make it a little easier to manage upstream changes to the default - pacman.conf, a separate file (pacman.conf.repos) is used to specify - the repositories to use. The contents of this file are used to modify - the basic pacman.conf file, which may be the default version or one - provided in the profile. - The 'final' parameter determines whether the version for the resulting - live system (True) or for the installation process (False) is - generated. If generating the installation version, it is possible - to specify alternative repositories, via the 'repofile' option, - which allows the pacman.conf used for the installation to be - different from the version in the resulting live system. - The return value is a list of the names of the repositories which - are included. - It is also possible to specify just a customized mirrorlist for the - installation by placing it in the working directory. - """ - # Allow use of '*platform*' in pacman.conf.repos - platform = os.uname()[4] - if platform != 'x86_64': - platform = 'i686' - - # Get pacman.conf header part - pc0 = self.profile_dir + '/pacman.conf.options' - if not os.path.isfile(pc0): - pc0 = base_dir + '/data/pacman.conf' - pacmanconf = self.pacmanoptions(readfile(pc0)) - - # Get file with repository entries - pc1 = self.profile_dir + '/pacman.conf.repos' - if not os.path.isfile(pc1): - pc1 = base_dir + '/data/pacman.conf.repos' - if self.options.repofile and not final: - pc1 = os.path.realpath(self.options.repofile) - - # Get repository path - if final: - default = 'Include = /etc/pacman.d/mirrorlist' - else: - mlist = cwd + '/mirrorlist' - if not os.path.isfile(mlist): - mlist = '/etc/pacman.d/mirrorlist' - if not os.path.isfile(mlist): - mlist = base_dir + '/data/mirrorlist' - default = 'Include = ' + mlist - - # Read repository entries - repos = [] - for line in readfile(pc1).splitlines(): - line = line.strip() - if (not line) or (line[0] == '#'): - continue - r, s = [t.strip() for t in line.split(':', 1)] - repos.append(r) - s = s.replace('*default*', default) - pacmanconf += ('\n[%s]\n%s\n' - % (r, s.replace('*platform*', platform))) - - - writefile(pacmanconf, self.installation_dir + '/etc/pacman.conf' - if final else PACMAN_CONF) - return repos - - - def install(self): - """Clear the chosen installation directory and install the base - set of packages, together with any additional ones listed in the - file 'addedpacks' (in the profile), removing the packages in - 'vetopacks' from the list. - """ - if not query_yn(_("Install Arch to '%s'?") % self.installation_dir): - return False - # Can't delete the whole directory because it might be a mount point - if os.path.isdir(self.installation_dir): - if script('cleardir %s' % self.installation_dir): - return False - - # Ensure installation directory exists and check that device nodes - # can be created (creating /dev/null is also a workaround for an - # Arch bug - which may have been fixed, but this does no harm) - if not (runcmd('bash -c "mkdir -p %s/{dev,proc,sys}"' - % self.installation_dir)[0] - and runcmd('mknod -m 666 %s/dev/null c 1 3' - % self.installation_dir)[0]): - errout(_("Couldn't write to the installation path (%s)") - % self.installation_dir) - if not runcmd('bash -c "echo test >%s/dev/null"' - % self.installation_dir)[0]: - errout(_("The installation path (%s) is mounted 'nodev'.") - % self.installation_dir) - - # I should also check that it is possible to run stuff in the - # installation directory. - runcmd('bash -c "cp $( which echo ) %s"' % self.installation_dir) - if not runcmd('%s/echo "yes"' % self.installation_dir)[0]: - errout(_("The installation path (%s) is mounted 'noexec'.") - % self.installation_dir) - runcmd('rm %s/echo' % self.installation_dir) - - # Fetch package database - runcmd('mkdir -p %s/var/lib/pacman' % self.installation_dir) - self.refresh() - - # Get list of vetoed packages. - self.packages = [] - self.veto_packages = [] - self.add_packsfile(self.profile_dir, 'vetopacks', must=False) - self.veto_packages = self.packages - - # Include 'required' packages (these can still be vetoed, but - # in some cases that will mean a larch system cannot be built) - self.packages = [] - self.add_packsfile(base_dir + '/data', 'requiredpacks') - - # Add additional packages and groups, from 'addedpacks' file. - self.add_packsfile(self.profile_dir, 'addedpacks') - - # Now do the actual installation. - ok = self.pacmancall('-S', ' '.join(self.packages)) - if not ok: - errout(_("Package installation failed")) - - # Some chroot scripts might need /etc/mtab - runcmd('bash -c ":> %s/etc/mtab"' % self.installation_dir) - - # Build the final version of pacman.conf - self.make_pacman_conf(True) - comment(" *** %s ***" % _("Arch installation completed")) - return True - - - def add_packsfile(self, dir, packs_file, must=True): - path = dir + '/' + packs_file - if must and not os.path.isfile(path): - errout(_("No '%s' file") % path) - fh = open(path) - for line in fh: - line = line.strip() - if line and (line[0] != '#'): - if line[0] == '*': - self.add_group(line[1:].split()[0]) - elif line[0] == '+': - # Include directive - line = line[1:].split()[0] - if line[0] != '/': - line = dir + '/' + line - d, pf = line.rsplit('/', 1) - if not d: - errout(_("Invalid package file include: %s")) - self.add_packsfile(d, pf) - elif line.startswith('!!!'): - # Ignore everything (!) entered previously. - # Allows requiredpacks to be overridden in addedpacks. - self.packages = [] - else: - line = line.split()[0] - if ((line not in self.packages) - and (line not in self.veto_packages)): - self.packages.append(line) - fh.close() - - - def add_group(self, gname): - """Add the packages belonging to a group to the installaion list, - removing any in the veto list. - """ - # In the next line the call could be done as a normal user. - for line in runcmd('%s -Sg %s' % (self.pacman_cmd, gname))[1]: - l = line.split() - if l and (l[0] == gname) and (l[1] not in self.veto_packages): - self.packages.append(l[1]) - - - def refresh(self): - """This updates or creates the pacman-db in the installation. - This is done using using 'pacman ... -Sy' together with the - customized pacman.conf file. - """ - if not runcmd(self.pacman_cmd + ' -Sy', - filter=pacman_filter_gen())[0]: - errout(_("Couldn't synchronize pacman database (pacman -Sy)")) - return True - - - def pacmancall(self, op, arg): - """Mount-bind the sys and proc directories before calling the - pacman command built by make_pacman_command to perform operation - 'op' (e.g. '-S') with argument(s) 'arg' (a string). - Then unmount sys and proc and return True if the command succeeded. - """ - # (a) Prepare the destination environment (bind mounts) - mount("/sys", "%s/sys" % self.installation_dir, "--bind") - mount("/proc", "%s/proc" % self.installation_dir, "--bind") - - # (b) Call pacman - ok = runcmd("%s %s %s" % (self.pacman_cmd, op, arg), - filter=pacman_filter_gen())[0] - - # (c) Remove bound mounts - unmount(("%s/sys" % self.installation_dir, - "%s/proc" % self.installation_dir)) - return ok - - - def pacmanoptions(self, text): - """A filter for pacman.conf to remove the repository info. - """ - texto = "" - block = "" - for line in text.splitlines(): - block += line + "\n" - if line.startswith("#["): - break - if line.startswith("[") and not line.startswith("[options]"): - break - if not line.strip(): - texto += block - block = "" - return texto - - - def sync(self, *packs): - return self.pacmancall('-S', ' '.join(packs)) - - - def update(self, *files): - return self.pacmancall('-U', ' '.join(files)) - - - def remove(self, *packs): - return self.pacmancall('-Rs', ' '.join(packs)) - - - -if __name__ == "__main__": - start_translator() - cwd = os.getcwd() - - operations = 'install|sync|update|remove|refresh' - from optparse import OptionParser, OptionGroup - parser = OptionParser(usage=(_("usage: %%prog [options] %s [packages]") - % operations)) - - parser.add_option("-p", "--profile", action="store", type="string", - default="", dest="profile", - help=_("Profile: 'user:profile-name' or path to profile directory")) - parser.add_option("-i", "--installation-dir", action="store", type="string", - default="", dest="idir", - help=_("Path to directory to be larchified (default %s)") - % INSTALLATION) - parser.add_option("-s", "--slave", action="store_true", dest="slave", - default=False, help=_("Run as a slave from a controlling program" - " (e.g. from a gui)")) - parser.add_option("-q", "--quiet", action="store_true", dest="quiet", - default=False, help=_("Suppress output messages, except errors" - " (no effect if -s specified)")) - - - parser.add_option("-f", "--force", action="store_true", dest="force", - default=False, help=_("Don't ask for confirmation")) - - parser.add_option("-r", "--repofile", action="store", type="string", - default="", dest="repofile", - help=_("Supply a substitute repository list (pacman.conf.repos)" - " for the installation only")) - parser.add_option("-c", "--cache-dir", action="store", type="string", - default="", dest="cache", - help=_("pacman cache directory (default /var/cache/pacman/pkg)")) - parser.add_option("-n", "--noprogress", action="store_true", - dest="noprogress", - default=False, help=_("Don't show pacman's progress bar")) -## I think pacman is going to get support for something like '$arch', at -## which stage I could again consider architecture switching support in larch. -# parser.add_option("-a", "--arch", action="store", type="string", -# default="", dest="arch", -# help=_("processor architecture (x86_64|i686) - defaults to" -# " that of the host." -# " This is an untested feature, which is probably only partially" -# " implemented and may well not work.")) - - (options, args) = parser.parse_args() - if not args: - print _("You must specify which operation to perform:\n") - parser.print_help() - sys.exit(1) - - if os.getuid() != 0: - print _("This application must be run as root") - sys.exit(1) - - init('archin', options) - op = args[0] - if op not in operations.split('|'): - print (_("Invalid operation: '%s'\n") % op) - parser.print_help() - sys.exit(1) - - installation = Installation(options) - method = getattr(installation, op) - - if method(*args[1:]): - sys.exit(0) - else: - sys.exit(1) - diff --git a/build_tools/l7/larch-boot_iso b/build_tools/l7/larch-boot_iso deleted file mode 120000 index f4a39c7..0000000 --- a/build_tools/l7/larch-boot_iso +++ /dev/null @@ -1 +0,0 @@ -larch0/cli/boot_iso.py
\ No newline at end of file diff --git a/build_tools/l7/larch-larchify b/build_tools/l7/larch-larchify deleted file mode 120000 index 1b890f1..0000000 --- a/build_tools/l7/larch-larchify +++ /dev/null @@ -1 +0,0 @@ -larch0/cli/larchify.py
\ No newline at end of file diff --git a/build_tools/l7/larch-larchify.orig b/build_tools/l7/larch-larchify.orig deleted file mode 100755 index 15a4d6a..0000000 --- a/build_tools/l7/larch-larchify.orig +++ /dev/null @@ -1,588 +0,0 @@ -#!/usr/bin/env python -# -# larchify.py -# -# (c) Copyright 2009-2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.13 - -# This is a command line script to prepare a larch live system from an -# Arch Linux installation. All needed parameters are passed as options. - -import os, sys -from config import * -from backend import * -from userinfo import Userinfo -from glob import glob -import random, crypt -from subprocess import Popen, PIPE, STDOUT - - -class Builder: - """This class manages 'larchifying' an Arch Linux installation. - """ - def __init__(self, options): - self.installation_dir = get_installation_dir() - self.installation0 = (self.installation_dir - if self.installation_dir != "/" else "") - testfile = self.installation0 + '/etc/pacman.conf' - if not os.path.isfile(testfile): - errout(_("File '%s' doesn't exist:\n" - " '%s' not an Arch installation?") - % (testfile, self.installation_dir)) - - self.profile_dir = get_profile() - - - def build(self, options): - if not (self.installation0 or query_yn(_( - "Building a larch live medium from the running system is" - "\nan error prone process. Changes to the running system" - "\nmade while running this function may be only partially" - "\nincorporated into the compressed system images." - "\n\nDo you wish to continue?")), True): - return False - - # Define the working area - it must be inside the installation - # because of the use of chroot for some functions - self.larchify_dir = self.installation0 + CHROOT_DIR_LARCHIFY - # Location for the live medium image - self.medium_dir = self.installation0 + CHROOT_DIR_MEDIUM - # And potentially a saved system.sqf - self.system_sqf = self.installation0 + CHROOT_SYSTEMSQF - # Needed for a potentially saved locales directory - self.locales_base = self.installation0 + CHROOT_DIR_BUILD - # For building the (mods.sqf) overlay - self.overlay = self.installation0 + CHROOT_DIR_OVERLAY - comment("Initializing larchify process") - - if options.oldsqf: - if os.path.isfile(self.medium_dir + "/larch/system.sqf"): - runcmd("mv %s/larch/system.sqf %s" % - (self.medium_dir, self.system_sqf)) - else: - runcmd("rm -f %s" % self.system_sqf) - - # Clean out larchify area and create overlay directory - runcmd('rm -rf %s' % self.larchify_dir) - runcmd('mkdir -p %s' % self.overlay) - - if not self.find_kernel(): - return False - - if not self.system_check(): - return False - - comment("Beginning to build larch medium files") - # Clear out the directory - runcmd('rm -rf %s' % self.medium_dir) - # The base medium boot directory, bootloader independent. - runcmd('mkdir -p %s/boot' % self.medium_dir) - # The main larch direcory - runcmd('mkdir -p %s/larch' % self.medium_dir) - - # kernel - runcmd("cp -f %s/boot/%s %s/boot/larch.kernel" % - (self.installation0, self.kname, self.medium_dir)) - # Remember file name (to ease update handling) - runcmd('bash -c "echo \'%s\' > %s/larch/kernelname"' - % (self.kname, self.medium_dir)) - - # if no saved system.sqf, squash the Arch installation at self.installation_dir - if not os.path.isfile(self.system_sqf): - comment("Generating system.sqf") - # root directories which are not included in the squashed system.sqf - ignoredirs = "boot dev mnt media proc sys tmp .livesys " - ignoredirs += CHROOT_DIR_BUILD.lstrip("/") - # /var stuff - ignoredirs += " var/log var/tmp var/lock" - # others - ignoredirs += " usr/lib/locale" - - # Additional directories to ignore can also be specified in the - # profile. This is a nasty option. It was requested, and might - # be useful under certain special circumstances, but I recommend - # not using it unless you are really sure what you are doing. - veto_file = self.profile_dir + '/vetodirs' - if os.path.isfile(veto_file): - fh = open(veto_file) - for line in fh: - line = line.strip() - if line and (line[0] != '#'): - ignoredirs += ' ' + line.lstrip('/') - fh.close() - - if not chroot(self.installation0, - "/sbin/mksquashfs '/' '%s' -e %s" - % (CHROOT_SYSTEMSQF, ignoredirs), - filter=mksquashfs_filter_gen()): - errout(_("Squashing system.sqf failed")) - # remove execute attrib - runcmd("chmod oga-x %s" % self.system_sqf) - - # move system.sqf to medium directory - runcmd("mv %s %s/larch" % (self.system_sqf, self.medium_dir)) - - # prepare overlay - comment("Generating larch overlay") - # Copy over the overlay from the selected profile - if os.path.isdir("%s/rootoverlay" % self.profile_dir): - runcmd('bash -c "cp -rf %s/rootoverlay/* %s"' - % (self.profile_dir, self.overlay)) - # Ensure there is an /etc directory in the overlay - runcmd("mkdir -p %s/etc" % self.overlay) - # fix sudoers if any - if os.path.isfile("%s/etc/sudoers" % self.overlay): - runcmd("chmod 0440 %s/etc/sudoers" % self.overlay) - runcmd("chown root:root %s/etc/sudoers" % self.overlay) - - # Prepare inittab - inittab = self.overlay + "/etc/inittab" - itsave = inittab + ".larchsave" - it0 = self.installation0 + "/etc/inittab" - itl = self.overlay + "/etc/inittab.larch" - if not os.path.isfile(itl): - itl = self.installation0 + "/etc/inittab.larch" - if not os.path.isfile(itl): - itl = None - # Save the original inittab if there is an inittab.larch file, - # ... if there isn't already a saved one - if itl: - if ((not os.path.isfile(it0 + ".larchsave")) - and (not os.path.isfile(itsave))): - runcmd("cp %s %s" % (it0, itsave)) - # Use the .larch version in the live system - runcmd("cp -f %s %s" % (itl, inittab)) - - comment("Generating larch initcpio") - if not self.gen_initramfs(): - return False - - lpath = self.locales_base + '/locale' - if self.installation0: - if options.oldlocales and os.path.isdir(lpath): - comment("Copying saved glibc locales") - runcmd('rm -rf %s/usr/lib/locale' % self.overlay) - runcmd('mkdir -p %s/usr/lib' % self.overlay) - runcmd('cp -a %s %s/usr/lib' % (lpath, self.overlay)) - else: - comment("Generating glibc locales") - runcmd('rm -rf %s' % lpath) - script('larch-locales "%s" "%s"' % (self.installation0, - self.overlay)) - # Save the generated locales for possible reuse - runcmd('cp -a %s/usr/lib/locale %s' % (self.overlay, - self.locales_base)) - - if (os.path.isfile(self.installation0 + '/usr/bin/ssh-keygen') - and not os.path.isfile(self.profile_dir + '/nosshkeys')): - # ssh initialisation - done here so that it doesn't need to - # be done when the live system boots - comment("Generating ssh keys to overlay") - sshdir = CHROOT_DIR_OVERLAY + "/etc/ssh" - runcmd("mkdir -p %s" % (self.installation0 + sshdir)) - for k, f in [("rsa1", "ssh_host_key"), ("rsa", "ssh_host_rsa_key"), - ("dsa", "ssh_host_dsa_key")]: - chroot(self.installation0, - "ssh-keygen -t %s -N '' -f %s/%s" - % (k, sshdir, f), ["dev"]) - - # Ensure the hostname is in /etc/hosts - script("larch-hosts %s %s" % (self.installation0, self.overlay)) - - # Handle /mnt - runcmd("mkdir -p %s/mnt" % self.overlay) - for d in os.listdir("%s/mnt" % self.installation0): - if os.path.isdir("%s/mnt/%s" % (self.installation0, d)): - runcmd("mkdir %s/mnt/%s" % (self.overlay, d)) - - # Ensure there is a /boot directory - runcmd("mkdir -p %s/boot" % self.overlay) - - # Run customization script - tweak = self.profile_dir + '/build-tweak' - if os.path.isfile(tweak): - comment("(WARNING): Running user's build customization script") - if runcmd(tweak + ' %s %s' % (self.installation0, - self.overlay))[0]: - comment("Customization script completed") - else: - errout(_("Build customization script failed")) - - # Get root password - rootpwf = self.profile_dir + '/rootpw' - if os.path.isfile(rootpwf): - rootpw = readfile(rootpwf).strip() - if rootpw == '!': - # Lock the password - rootcmd = 'usermod -L' - else: - rootcmd = "usermod -p '%s'" % encryptPW(rootpw) - else: - rootcmd = None - - # Add users and set root password - if self.installation0 and not self.add_users(rootcmd): - return False - - comment("Squashing mods.sqf") - if not chroot(self.installation0, - "/sbin/mksquashfs '%s' '%s/larch/mods.sqf'" - % (CHROOT_DIR_OVERLAY, CHROOT_DIR_MEDIUM), - filter=mksquashfs_filter_gen()): - errout(_("Squashing mods.sqf failed")) - # remove execute attrib - runcmd("chmod oga-x %s/larch/mods.sqf" % self.medium_dir) - - runcmd("rm -rf %s" % self.overlay) - - comment(" *** %s ***" % _("larchify-process completed")) - return True - - - def add_users(self, rootcmd): - userinfo = Userinfo(self.profile_dir) - userlist = [] - for user in userinfo.allusers(): - # Only include if the user does not yet exist - if runcmd('bash -c "grep \"^%s\" %s/etc/passwd || echo -"' - % (user, self.installation_dir))[1][0] != '-': - comment("(WARNING): User '%s' exists already" % user) - else: - userlist.append(user) - - # Only continue if there are new users in the list - if rootcmd: - clist = [('root', rootcmd + ' %s')] - else: - if userlist == []: - return True - clist = [] - - # Save system files and replace them by the overlay versions - savedir = self.larchify_dir + '/save_etc' - runcmd('rm -rf %s' % savedir) - runcmd('mkdir -p %s/default' % savedir) - savelist = 'group,gshadow,passwd,shadow,login.defs,skel' - runcmd('bash -c "cp -a %s/etc/{%s} %s"' - % (self.installation0, savelist, savedir)) - runcmd('cp -a %s/etc/default/useradd %s/default' - % (self.installation0, savedir)) - for f in ('group', 'gshadow', 'passwd', 'shadow', 'login.defs'): - if os.path.isfile(self.overlay + '/etc/%s'): - runcmd('cp %s/etc/%s %s/etc' - % (self.overlay, f, self.installation0)) - if os.path.isfile(self.overlay + '/etc/default/useradd'): - runcmd('cp %s/etc/default/useradd %s/etc/default' - % (self.overlay, self.installation0)) - if os.path.isdir(self.overlay + '/etc/skel'): - runcmd('cp -r %s/etc/skel %s/etc' - % (self.overlay, self.installation0)) - - # Build the useradd command - userdir0 = '/users' - userdir = self.larchify_dir + userdir0 - userdirs = [] - runcmd('mkdir -p %s/home' % self.overlay) - for u in userlist: - cline = 'useradd -m' - pgroup = userinfo.get(u, 'maingroup') - if pgroup: - cline += ' -g ' + pgroup - uid = userinfo.get(u, 'uid') - if uid: - cline += ' -u ' + uid - pw = userinfo.get(u, 'pw') - if (pw == ''): - # Passwordless login - pwcrypt = '' - else: - # Normal MD5 password - pwcrypt = encryptPW(pw) - cline += " -p '%s'" % pwcrypt - skeldir = userinfo.get(u, 'skel') - if skeldir: - # Custom home initialization directories in the profile - # always start with 'skel_' - skel = 'skel_' + skeldir - if skel not in userdirs: - userdirs.append(skel) - cline += ' -k %s/%s' % (CHROOT_DIR_LARCHIFY + userdir0, - skel) - # Allow for expert tweaking - cline += ' ' + userinfo.get(u, 'expert') - # The user and the command to be run - clist.append((u, cline + ' %s')) - xgroups = userinfo.get(u, 'xgroups') - if xgroups: - xgl = [] - for g in xgroups.split(','): - clist.append((u, 'usermod -a -G %s %%s' % g)) - - if userdirs: - # Copy custom 'skel' directories to build space - runcmd('rm -rf %s' % userdir) - runcmd('mkdir -p %s' % userdir) - for ud in userdirs: - runcmd('cp -r %s/%s %s/%s' % - (self.profile_dir, ud, userdir, ud)) - - nfail = 0 - ok = True - for u, cmd in clist: - if not chroot(self.installation0, cmd % u): - nfail += 1 - # Errors adding users to groups are not fatal: - if not cmd.startswith('usermod -a -G'): - ok = False - if os.path.isdir('%s/home/%s' % (self.installation0, u)): - runcmd('mv %s/home/%s %s/home' - % (self.installation0, u, self.overlay)) - - if nfail > 0: - errout(_("%d user account operation(s) failed") % nfail, 0) - # Move changed /etc/{group,gshadow,passwd,shadow} to overlay - runcmd('bash -c "mv %s/etc/{group,gshadow,passwd,shadow} %s/etc"' - % (self.installation0, self.overlay)) - # Restore system files in base installation - runcmd('rm -rf %s/etc/skel' % self.installation0) - runcmd('bash -c "cp -a %s/* %s/etc"' - % (savedir, self.installation0)) - return ok - - - def system_check(self): - comment("Testing for necessary packages and kernel modules") - fail = "" - warn = "" - nplist = ["larch-live"] - - mdep = (self.installation0 + - "/lib/modules/%s/modules.dep" % self.kversion) - if Popen(["grep", "/squashfs.ko", mdep], stdout=PIPE, - stderr=STDOUT).wait() != 0: - fail += _("No squashfs module found\n") - - if Popen(["grep", "/aufs.ko", mdep], stdout=PIPE, - stderr=STDOUT).wait() == 0: - self.ufs='_aufs' - nplist.append("aufs2-util") - - elif Popen(["grep", "/unionfs.ko", mdep], stdout=PIPE, - stderr=STDOUT).wait() == 0: - self.ufs='_unionfs' - - else: - fail += _("No aufs or unionfs module found\n") - - for p in nplist: - if not self.haspack(p): - fail += _("Package '%s' is needed by larch systems\n") % p - - if not self.haspack("syslinux"): - warn += _("Without package 'syslinux' you will not be able\n" - "to create syslinux or isolinux booting media\n") - - if (not self.haspack("cdrkit")) and (not self.haspack("cdrtools")): - warn += _("Without package 'cdrkit' (or 'cdrtools') you will\n" - "not be able to create CD/DVD media\n") - - if not self.haspack("eject"): - warn += _("Without package 'eject' you will have problems\n" - "using CD/DVD media\n") - - if warn: - cont = query_yn(_("WARNING:\n%s" - "\n Continue building?") % warn) - else: - cont = True - - if fail: - errout(_("ERROR:\n%s") % fail) - - return cont - - - def haspack(self, package): - """Check whether the given package is installed. - """ - for p in os.listdir(self.installation0 + '/var/lib/pacman/local'): - if p.rsplit("-", 2)[0] == package: - return True - return False - - - def find_kernel(self): - # The uncomfortable length of this function is deceptive, - # most of it is for dealing with errors. - comment("Seeking kernel information") - kscript = "%s/kernel" % self.profile_dir - if os.path.isfile(kscript): - p = Popen([kscript], stdout=PIPE, stderr=STDOUT) - r = p.communicate()[0] - if p.returncode == 0: - self.kname, self.kversion = r.split() - - else: - errout(_("Problem running %s:\n %s") % (kscript, r)) - else: - kernels = glob(self.installation0 + '/boot/vmlinuz*') - if len(kernels) > 1: - errout(_("More than one kernel found:\n %s") % - "\n ".join(kernels)) - elif not kernels: - errout(_("No kernel found")) - self.kname = os.path.basename(kernels[0]) - - self.kversion = None - for kv in os.listdir(self.installation0 + '/lib/modules'): - if os.path.isfile(self.installation0 - + ('/lib/modules/%s/modules.dep' % kv)): - if self.kversion: - errout(_("More than one set of kernel modules in %s") - % (self.installation0 + '/lib/modules')) - self.kversion = kv - else: - kmpath = self.installation0 + ('/lib/modules/%s' % kv) - comment("Unexpected kernel files at %s" % kmpath) - # Try to find packages concerned - p = Popen(["find", ".", "-name", "*.ko"], cwd=kmpath, - stdout=PIPE, stderr=STDOUT) - r = p.communicate()[0] - if p.returncode == 0: - packs = [] - for km in r.split(): - a = chroot(self.installation0, - 'pacman -Qoq /lib/modules/%s/%s' - % (kv, km)) - - if a: - pack = "-".join(a[0].split()) - if pack not in packs: - packs.append(pack) - comment(" Package: %s" % pack) - - else: - comment("Couldn't determine guilty packages") - - if not query_yn(_("WARNING:" - "\n You seem to have installed a package containing modules" - "\nwhich aren't compatible with your kernel (see log)." - "\nPlease check that this won't cause problems." - "\nMaybe you need the corresponding package for your kernel?" - "\n\n Continue building?")): - return False - - if not self.kversion: - errout(_("Couldn't find kernel modules")) - - comment("Kernel: %s - version: %s" % (self.kname, self.kversion)) - chroot(self.installation0, "depmod %s" % self.kversion) - return True - - - def gen_initramfs(self): - # Fix up larch mkinitcpio.conf for unionfs/aufs - conf = self.overlay + "/etc/mkinitcpio.conf.larch" - if os.path.isfile(conf + "0"): - conf0 = conf + "0" - else: - conf0 = self.installation0 + "/etc/mkinitcpio.conf.larch0" - runcmd('bash -c "sed \'s|___aufs___|%s|g\' <%s >%s"' % (self.ufs, conf0, conf)) - - presets = [os.path.basename(f) for f in glob( - self.installation0 + "/etc/mkinitcpio.d/kernel26*.preset")] - if len(presets) != 1: - errout(_("Couldn't find usable mkinitcpio preset: %s") % - self.installation0 + "/etc/mkinitcpio.d/kernel26*.preset") - - # Save original preset file (unless a '*.larchsave' is already present) - idir = self.installation0 + "/etc/mkinitcpio.d" - oldir = self.overlay + "/etc/mkinitcpio.d" - if not os.path.isfile("%s/%s.larchsave" % (idir, presets[0])): - runcmd("mkdir -p %s" % oldir) - runcmd("cp %s/%s %s/%s.larchsave" % - (idir, presets[0], oldir, presets[0])) - - # Adjust larch.preset file for custom kernels - runcmd('bash -c "sed \'s|___|%s|\' <%s/larch.preset0 >%s/larch.preset"' - % (presets[0].rsplit(".", 1)[0], idir, oldir)) - - # Replace 'normal' preset in overlay - runcmd("cp %s/larch.preset %s/%s" % (oldir, oldir, presets[0])) - - # Generate initramfs - return chroot(self.installation0, - "mkinitcpio -k %s -c %s -g %s" % - (self.kversion, - CHROOT_DIR_OVERLAY + "/etc/mkinitcpio.conf.larch", - CHROOT_DIR_MEDIUM + "/boot/larch.img")) - - -def encryptPW(pw): - """Encrypt a password - needed for user account generation. - """ - salt = '$1$' - for i in range(8): - salt += random.choice("./0123456789abcdefghijklmnopqrstuvwxyz" - "ABCDEFGHIJKLMNOPQRSTUVWXYZ") - return crypt.crypt(pw, salt) - - - -if __name__ == "__main__": - start_translator() - - from optparse import OptionParser, OptionGroup - parser = OptionParser(usage=_("usage: %prog [options]")) - - parser.add_option("-p", "--profile", action="store", type="string", - default="", dest="profile", - help=_("Profile: 'user:profile-name' or path to profile directory")) - parser.add_option("-i", "--installation-dir", action="store", type="string", - default="", dest="idir", - help=_("Path to directory to be larchified (default %s)") - % INSTALLATION) - parser.add_option("-s", "--slave", action="store_true", dest="slave", - default=False, help=_("Run as a slave from a controlling program" - " (e.g. from a gui)")) - parser.add_option("-q", "--quiet", action="store_true", dest="quiet", - default=False, help=_("Suppress output messages, except errors" - " (no effect if -s specified)")) - parser.add_option("-o", "--oldsqf", action="store_true", dest="oldsqf", - default=False, help=_("Reuse previously generated system.sqf")) - parser.add_option("-l", "--oldlocales", action="store_true", - dest="oldlocales", default=False, - help=_("Reuse previously generated locales")) - parser.add_option("-f", "--force", action="store_true", dest="force", - default=False, help=_("Don't ask for confirmation")) - - (options, args) = parser.parse_args() -# Should there be arguments? - - if os.getuid() != 0: - print _("This application must be run as root") - sys.exit(1) - init('larchify', options) - builder = Builder(options) - if builder.build(options): - sys.exit(0) - else: - sys.exit(1) diff --git a/build_tools/l7/larch-live_iso b/build_tools/l7/larch-live_iso deleted file mode 120000 index 138431d..0000000 --- a/build_tools/l7/larch-live_iso +++ /dev/null @@ -1 +0,0 @@ -larch0/cli/live_iso.py
\ No newline at end of file diff --git a/build_tools/l7/larch-live_part b/build_tools/l7/larch-live_part deleted file mode 120000 index 51a3813..0000000 --- a/build_tools/l7/larch-live_part +++ /dev/null @@ -1 +0,0 @@ -larch0/cli/live_part.py
\ No newline at end of file diff --git a/build_tools/l7/larch-profiles-7.2.0-1-any.pkg.tar.gz b/build_tools/l7/larch-profiles-7.2.0-1-any.pkg.tar.gz Binary files differdeleted file mode 100644 index aeaa92f..0000000 --- a/build_tools/l7/larch-profiles-7.2.0-1-any.pkg.tar.gz +++ /dev/null diff --git a/build_tools/l7/larch-setup b/build_tools/l7/larch-setup deleted file mode 100644 index 5b440a7..0000000 --- a/build_tools/l7/larch-setup +++ /dev/null @@ -1,127 +0,0 @@ -#! /bin/bash -# -# larch-setup -# -# Author: Michael Towers <gradgrind[at]online[dot]de> -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.04.11 - -REPO="ftp://ftp.berlios.de/pub/larch/larch7.2/i686" -#REPO=file://$( readlink -f larchrepo ) - -if [ "$1" = "-h" ]; then - echo "larch-setup -h" - echo " # Display this information." - echo "larch-setup" - echo " # Set up a larch build environment in the current directory." - echo - echo "This script unpacks larch, so that it" - echo "can be run from this directory, without installing." - echo "It also generates appropriate symlinks." - echo - echo "TODO:" - echo "If there is no pacman in the PATH, a package containing a" - echo "pacman binary and the libraries and configuration files it needs" - echo "will be downloaded from the larch site and unpacked in the" - - echo" larch/run directory." - echo "Also repo-add is extracted there and a pacman.conf is generated in" - echo "the current directory, presenting a dialog for choosing the package" - echo "server." - echo "You can use an existing pacman.conf by placing this in the current" - echo "directory." - echo - exit -fi - -# Get path to this directory, via the location of this script -fullpath="$( readlink -f $0 )" -scriptdir="$( dirname ${fullpath} )" - -# Just in case ... -cd ${scriptdir} - -if [ -d larch0 ]; then - echo "ERROR: larch0 directory exists already" - exit 1 -fi - -fetch () -{ - if [ -n "$( echo ${REPO} | grep "file://" )" ]; then - base="$( echo ${REPO} | sed "s|file://||" )" - cp ${base}/$1 . - else - wget ${REPO}/$1 - fi -} - -rm -f *.pkg.tar.gz -rm -rf db -mkdir db -cd db -fetch larch.db.tar.gz -tar -xzf larch.db.tar.gz -cd ${scriptdir} -d=$( ls db | grep "^larch-7" ) -larchpak=$( grep -A 1 -e "%FILENAME%" db/${d}/desc | grep -v "%" ) -fetch ${larchpak} -#d=$( ls db | grep "^uipi-" ) -#larchpak=$( grep -A 1 -e "%FILENAME%" db/${d}/desc | grep -v "%" ) -#fetch ${larchpak} - -rm -rf tmp -mkdir tmp -tar -xzf larch-7*.pkg.tar.gz -C tmp - -if [ "$1" != "-p" ]; then - d=$( ls db | grep "^larch-profiles-" ) - larchpak=$( grep -A 1 -e "%FILENAME%" db/${d}/desc | grep -v "%" ) - fetch ${larchpak} - tar -xzf larch-profiles-*.pkg.tar.gz -C tmp -fi - -rm -rf db -mv tmp/opt/apps/larch larch0 -#tar -xzf uipi-*.pkg.tar.gz -C tmp -#mv tmp/usr/bin/quip larch0 -#mv tmp/usr/lib/python*/site-packages/uipi.py larch0/modules - -for s in $( ls tmp/usr/bin ); do - p=$( readlink tmp/usr/bin/${s} ) - d=$( dirname ${p} ) - ln -s larch0/$( basename ${d} )/$( basename ${p}) ${s} -done -rm -rf tmp - -# Check that pacman is available. -if ! which pacman &>/dev/null; then - # Fetch the pacman package from the larch site - fetch pacman-allin.tar.gz - if ! [ -f pacman-allin.tar.gz ]; then - echo "ERROR: couldn't fetch pacman package" - exit 1 - fi - # Extract the package - tar -xzf pacman-allin.tar.gz - cp -a pacman-allin/* larch0 - rm -rf pacman-allin -fi - diff --git a/build_tools/l7/larch0/buildscripts/cleardir b/build_tools/l7/larch0/buildscripts/cleardir deleted file mode 100755 index a90f0f7..0000000 --- a/build_tools/l7/larch0/buildscripts/cleardir +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -if cat /proc/mounts | grep " $1/sys" &>/dev/null; then - umount -l "$1/sys" -fi -if cat /proc/mounts | grep " $1/proc" &>/dev/null; then - umount -l "$1/proc" -fi - -if ls "$1" &>/dev/null; then - rm -rf "$1/*" -fi -for x in $( ls -A "$1" ); do - rm -rf "$1/$x" -done diff --git a/build_tools/l7/larch0/buildscripts/larch-hosts b/build_tools/l7/larch0/buildscripts/larch-hosts deleted file mode 100755 index 5c57ca1..0000000 --- a/build_tools/l7/larch0/buildscripts/larch-hosts +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -# -# larch-hosts - Add hostname to /etc/hosts file (in overlay) -# -#2009.08.26 - - -# $1: path to system to be larchified ("" if running system) -# $2: path to temporary overlay directory (where the overlay is being built) - -INSTLDIR="$1" -OVERLAYDIR="$2" - -hosts="${OVERLAYDIR}/etc/hosts" -if ! [ -f ${hosts} ]; then - # If not provided in the profile rootoverlay, get it from the installation - cp ${INSTLDIR}/etc/hosts ${OVERLAYDIR}/etc -fi - -HOSTNAME="UNKNOWN" -if [ -f ${OVERLAYDIR}/etc/rc.conf ]; then - . ${OVERLAYDIR}/etc/rc.conf -else - . ${INSTLDIR}/etc/rc.conf -fi - -lh="127.0.0.1 localhost.localdomain localhost " -sed -i "s|^127\.0\.0\.1.*|${lh}${HOSTNAME}|" ${hosts} diff --git a/build_tools/l7/larch0/buildscripts/larch-locales b/build_tools/l7/larch0/buildscripts/larch-locales deleted file mode 100755 index 254e037..0000000 --- a/build_tools/l7/larch0/buildscripts/larch-locales +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash -# -# larch-locales - Generate glibc locales to an overlay (a slightly tricky business) -# -#2009.08.26 - -# If there is a 'locale.gen' file in the profile (rootoverlay/etc/locale.gen) -# it will be used for the generation, otherwise the existing '/etc/locale.gen' -# (in the system to be larchified!) will be used, which is empty by default. - -# $1: path to system to be larchified ("" if running system) -# $2: path to temporary overlay directory (where the overlay is being built) - -INSTLDIR="$1" -OVERLAYDIR="$2" - -mkdir -p ${OVERLAYDIR}/usr/lib -echo -echo "********** Generating locales to an overlay **********" -echo -rm -f ${INSTLDIR}/etc/locale.gen_new -rm -rf ${INSTLDIR}/usr/lib/locale.save -if [ -f ${OVERLAYDIR}/etc/locale.gen ]; then - mv -f ${INSTLDIR}/etc/locale.gen ${INSTLDIR}/etc/locale.gen_old - cp ${OVERLAYDIR}/etc/locale.gen ${INSTLDIR}/etc - cp -a ${INSTLDIR}/usr/lib/locale ${INSTLDIR}/usr/lib/locale.save -fi - -if [ -n "${INSTLDIR}" ]; then - chroot ${INSTLDIR} /usr/sbin/locale-gen -else - /usr/sbin/locale-gen -fi - -rm -rf ${OVERLAYDIR}/usr/lib/locale -cp -a ${INSTLDIR}/usr/lib/locale ${OVERLAYDIR}/usr/lib -# /usr/lib/locale will be excluded from system.sqf - -# Restore old locale files -if [ -f ${INSTLDIR}/etc/locale.gen_old ]; then - mv -f ${INSTLDIR}/etc/locale.gen_old ${INSTLDIR}/etc/locale.gen - rm -rf ${INSTLDIR}/usr/lib/locale - mv ${INSTLDIR}/usr/lib/locale.save ${INSTLDIR}/usr/lib/locale -fi - diff --git a/build_tools/l7/larch0/buildscripts/larch-mbr-grub b/build_tools/l7/larch0/buildscripts/larch-mbr-grub deleted file mode 100755 index 7197ef2..0000000 --- a/build_tools/l7/larch0/buildscripts/larch-mbr-grub +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/bash -# -# larch-mbr-grub - Set up a grub boot -# -#2009.08.12 - - -# $1: path to system to be larchified ("/" if running system) -# $2: larch partition - -INSTLDIR="$1" -if [ "${INSTLDIR}" = "/" ]; then - INSTLDIR="" -fi -DEVICE="$2" - -dev=${DEVICE:0:8} -part=${DEVICE:8} - -# Convert the device and partion to grub syntax -grubdevice () -{ - ## The contents of DEVICE.map look something like this: - #(fd0) /dev/fd0 - #(hd0) /dev/hda - #(hd1) /dev/sda - gdev="$( cat ${INSTLDIR}${dmap} | grep "${dev}" | cut -f1 | tr -d "()" )" - gpart=$(( ${part} - 1 )) - echo "#Installing GRUB to (${gdev}), root (${gdev},${gpart})" -} - -dmap=/tmp/DEVICE.map -rm -f ${INSTLDIR}${dmap} -if [ -n "${INSTLDIR}" ]; then - # First try to get a device mapping - mount --bind /dev ${INSTLDIR}/dev - echo "quit" | chroot ${INSTLDIR} grub --no-floppy --device-map=${dmap} --batch - grubdevice - # Now actually install grub - # As far as I can tell, the extra options to grub are not needed here - chroot ${INSTLDIR} grub --batch <<EOT -root (${gdev},${gpart}) -setup (${gdev}) -quit -EOT - umount ${INSTLDIR}/dev -else - # First try to get a device mapping - echo "quit" | grub --no-floppy --device-map=${dmap} --batch - grubdevice - # Now actually install grub - # As far as I can tell, the extra options to grub are not needed here - grub --batch <<EOT -root (${gdev},${gpart}) -setup (${gdev}) -quit -EOT -fi -rm -f ${INSTLDIR}${dmap} - - - - diff --git a/build_tools/l7/larch0/cd-root/boot0/memtest b/build_tools/l7/larch0/cd-root/boot0/memtest Binary files differdeleted file mode 100644 index b602352..0000000 --- a/build_tools/l7/larch0/cd-root/boot0/memtest +++ /dev/null diff --git a/build_tools/l7/larch0/cd-root/grub0/colors.lst b/build_tools/l7/larch0/cd-root/grub0/colors.lst deleted file mode 100644 index 3f544ce..0000000 --- a/build_tools/l7/larch0/cd-root/grub0/colors.lst +++ /dev/null @@ -1,36 +0,0 @@ -#color schemes - ganked from SGD ( http://freshmeat.net/projects/supergrub/?branch_id=62132&release_id=236631 ) -# TODO change these and make some more... specifically an "arch" theme -timeout 300 -default 0 -color light-blue/blue black/light-grey -splashimage=/boot/grub/splash.xpm.gz - -title << Back to Main Menu -configfile /boot/grub/menu.lst - -title Barlond -color white/cyan yellow/blue - -title Barlond2 -color white/blue yellow/cyan - -title Simple Black -color light-gray/black yellow/blue - -title Matrix -color green/black light-green/green - -title Dalton Bros. -color red/green green/red - -title Debian -color cyan/blue white/blue - -title BW -color light-gray/black black/light-gray - -title BW Inverse -color black/light-gray - -title SGD Non Default -color black/cyan yellow/black diff --git a/build_tools/l7/larch0/cd-root/grub0/help.lst b/build_tools/l7/larch0/cd-root/grub0/help.lst deleted file mode 100644 index 6e74187..0000000 --- a/build_tools/l7/larch0/cd-root/grub0/help.lst +++ /dev/null @@ -1,16 +0,0 @@ -# Help files must be exactly 23 lines long. -timeout 300 -default 0 -color light-blue/blue black/light-grey -splashimage=/boot/grub/splash.xpm.gz - -title << Back to main menu -configfile /boot/grub/menu.lst - -title HOW-TO: Boot an existing system -cat /boot/grub/help/bootexisting.txt -pause Press enter to continue... - -title HOW-TO: Contribute to this help -cat /boot/grub/help/contrib.txt -pause Press enter to continue... diff --git a/build_tools/l7/larch0/cd-root/grub0/help/bootexisting.txt b/build_tools/l7/larch0/cd-root/grub0/help/bootexisting.txt deleted file mode 100644 index 881f3e8..0000000 --- a/build_tools/l7/larch0/cd-root/grub0/help/bootexisting.txt +++ /dev/null @@ -1,23 +0,0 @@ -HOWTO: Boot an existing install - -Select "More Options" from the main menu. -Move the cursor to "[EDIT ME] Boot an existing linux install" -Press "e" - -At this point you will see the following: - root (hd0,0) - kernel /vmlinuz26 root=/dev/hda3 ro - initrd /kernel26.img - -This needs to be changed to accomodate your hardware. - -The first line should be changed to indicate where your boot medium resides. - "(hd0,0)" is the first partition on the first hard drive (hda1) - change these - numbers to indicate the partition containing your /boot directory. - -The second line should be changed to point to your kernel. If the line above -points to a partition _only_ containing /boot, then /vmlinuz26 is fine. -Otherwise, change this to /boot/vmlinuz. root= should be changed to match the -partition for your root filesystem. Other kernel parameters can be added here. - - diff --git a/build_tools/l7/larch0/cd-root/grub0/help/contrib.txt b/build_tools/l7/larch0/cd-root/grub0/help/contrib.txt deleted file mode 100644 index 5c79176..0000000 --- a/build_tools/l7/larch0/cd-root/grub0/help/contrib.txt +++ /dev/null @@ -1,23 +0,0 @@ -HOWTO: Contribute to these help files - -This help is rather simplistic. -In order to provide help files or translations you simply need to make a text -file. Formatting is important (due to grub limitations). The files MUST be 80 -characters wide, and 23 lines long. Any more, and your formatting will be -corrupted when viewing the help. Please note that if your help is short, it is -worthwhile to pad with empty lines, up to 23 lines. - - - - - - - - - - - - - - - diff --git a/build_tools/l7/larch0/cd-root/grub0/keyboards.lst b/build_tools/l7/larch0/cd-root/grub0/keyboards.lst deleted file mode 100644 index 5237c1a..0000000 --- a/build_tools/l7/larch0/cd-root/grub0/keyboards.lst +++ /dev/null @@ -1,111 +0,0 @@ -#keyboard layouts - ganked from SGD ( http://freshmeat.net/projects/supergrub/?branch_id=62132&release_id=236631 ) -# TODO add other languages -timeout 300 -default 0 -color light-blue/blue black/light-grey -splashimage=/boot/grub/splash.xpm.gz - -title << Back to Main Menu -configfile /boot/grub/menu.lst - -title Default layout -setkey - -title German layout -setkey y z -setkey z y -setkey Y Z -setkey Z Y -setkey equal parenright -setkey parenright parenleft -setkey parenleft asterisk -setkey doublequote at -setkey plus bracketright -setkey minus slash -setkey slash ampersand -setkey ampersand percent -setkey percent caret -setkey underscore question -setkey question underscore -setkey semicolon less -setkey less numbersign -setkey numbersign backslash -setkey colon greater -setkey greater bar -setkey asterisk braceright - - -title Spanish layout -setkey -setkey slash ampersand -setkey ampersand caret -setkey caret braceleft -setkey asterisk braceright -setkey parenleft asterisk -setkey parenright parenleft -setkey minus slash -setkey equal parenright -setkey quote minus -setkey underscore question -setkey question underscore -setkey braceleft quote -setkey braceright backslash -setkey colon greater -setkey greater bar -setkey doublequote at -setkey backslash backquote -setkey less backslash -setkey semicolon less -setkey plus colon -setkey at semicolon - -title French layout -setkey -setkey less backquote -setkey greater tilde -setkey ampersand 1 -setkey 1 exclam -setkey tilde 2 -setkey 2 at -setkey doublequote 3 -setkey 3 numbersign -setkey quote 4 -setkey 4 dollar -setkey parenleft 5 -setkey 5 percent -setkey minus 6 -setkey 6 caret -setkey backquote 7 -setkey 7 ampersand -setkey underscore 8 -setkey 8 asterisk -setkey backslash 9 -setkey 9 parenleft -setkey at 0 -setkey 0 parenright -setkey parenright minus -setkey numbersign underscore -setkey a q -setkey A Q -setkey z w -setkey Z W -setkey caret bracketleft -setkey dollar bracketright -setkey q a -setkey Q A -setkey m semicolon -setkey M colon -setkey bracketleft quote -setkey percent doublequote -setkey asterisk backslash -setkey bracketright bar -setkey w z -setkey W Z -setkey comma m -setkey question M -setkey semicolon comma -setkey period less -setkey colon period -setkey slash greater -setkey exclam slash -setkey bar question diff --git a/build_tools/l7/larch0/cd-root/grub0/menu.lst b/build_tools/l7/larch0/cd-root/grub0/menu.lst deleted file mode 100644 index 378d46e..0000000 --- a/build_tools/l7/larch0/cd-root/grub0/menu.lst +++ /dev/null @@ -1,25 +0,0 @@ -timeout 5 -default 0 -color light-blue/blue black/light-grey -splashimage=/boot/grub/splash.xpm.gz - -###LARCH - -title Tools... -configfile /boot/grub/tools.lst - -title Grub Settings... -configfile /boot/grub/settings.lst - -title View Help... -configfile /boot/grub/help.lst - -title More Options... -configfile /boot/grub/more.lst - -title Shutdown the Computer -halt - -title Reboot the Computer -reboot - diff --git a/build_tools/l7/larch0/cd-root/grub0/more.lst b/build_tools/l7/larch0/cd-root/grub0/more.lst deleted file mode 100644 index 8fd5f7e..0000000 --- a/build_tools/l7/larch0/cd-root/grub0/more.lst +++ /dev/null @@ -1,30 +0,0 @@ -timeout 300 -default 0 -color light-blue/blue black/light-grey -splashimage=/boot/grub/splash.xpm.gz - -title << Back to Main Menu -configfile /boot/grub/menu.lst - -title [EXPERIMENTAL] Attempt existing Linux detection -configfile /boot/grub/tryboot.lst - -title [EDIT ME] Diskless Boot (PXE / BOOTP) -#TODO wtf? -root (nd) -kernel /vmlinuz26 ip=dhcp root=/dev/nfs nfsroot=192.168.1.2:/boot/dir - -title [EDIT ME] NFS Root Boot -root (cd) -kernel /vmlinuz26 ip=dhcp root=/dev/nfs nfsroot=192.168.1.2:/boot/dir - -title [EDIT ME] Boot Existing Linux Install -root (hd0,0) -kernel /vmlinuz26 root=/dev/hda3 ro -initrd /kernel26.img - -title [EDIT ME] Boot Existing Windows Install -rootnoverify (hd0,0) -makeactive -chainloader +1 - diff --git a/build_tools/l7/larch0/cd-root/grub0/settings.lst b/build_tools/l7/larch0/cd-root/grub0/settings.lst deleted file mode 100644 index f8f8c95..0000000 --- a/build_tools/l7/larch0/cd-root/grub0/settings.lst +++ /dev/null @@ -1,13 +0,0 @@ -timeout 300 -default 0 -color light-blue/blue black/light-grey -splashimage=/boot/grub/splash.xpm.gz - -title << Back to Main Menu -configfile /boot/grub/menu.lst - -title Keyboard settings -configfile /boot/grub/keyboards.lst - -title Color settings -configfile /boot/grub/colors.lst diff --git a/build_tools/l7/larch0/cd-root/grub0/tools.lst b/build_tools/l7/larch0/cd-root/grub0/tools.lst deleted file mode 100644 index d226992..0000000 --- a/build_tools/l7/larch0/cd-root/grub0/tools.lst +++ /dev/null @@ -1,14 +0,0 @@ -timeout 300 -default 0 -color light-blue/blue black/light-grey -splashimage=/boot/grub/splash.xpm.gz - -title << Back to Main Menu -configfile /boot/grub/menu.lst - -title Run memtest (Memory Testing) -kernel /boot/memtest - -title Install GRUB to hd0 MBR -root (hd0,0) -setup (hd0) diff --git a/build_tools/l7/larch0/cd-root/isolinux0/bkgd.jpg b/build_tools/l7/larch0/cd-root/isolinux0/bkgd.jpg Binary files differdeleted file mode 100644 index b45b71f..0000000 --- a/build_tools/l7/larch0/cd-root/isolinux0/bkgd.jpg +++ /dev/null diff --git a/build_tools/l7/larch0/cd-root/isolinux0/isolinux.cfg b/build_tools/l7/larch0/cd-root/isolinux0/isolinux.cfg deleted file mode 100644 index a868f72..0000000 --- a/build_tools/l7/larch0/cd-root/isolinux0/isolinux.cfg +++ /dev/null @@ -1,13 +0,0 @@ -default vesamenu.c32 -prompt 0 -timeout 50 - -MENU BACKGROUND bkgd.jpg - -MENU TITLE larch live CD - -###LARCH - the larch boot lines will be inserted here - -label memtest -MENU LABEL Memory tester -kernel /boot/memtest diff --git a/build_tools/l7/larch0/cli/archin.py b/build_tools/l7/larch0/cli/archin.py deleted file mode 100755 index 832d883..0000000 --- a/build_tools/l7/larch0/cli/archin.py +++ /dev/null @@ -1,441 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# -# archin.py -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.19 - -# This is a command line script to perform an Arch Linux installation -# based on a list of packages. All needed parameters are passed as options. - -import os -from glob import glob -from config import * -from backend import * - -class Installation: - def __init__(self, options): - self.options = options - self.installation_dir = get_installation_dir() - if self.installation_dir == '/': - errout(_("Operations on '/' are not supported ...")) - - self.profile_dir = get_profile() - self.pacman_cmd = self.make_pacman_command() - self.make_pacman_conf() - - - def make_pacman_command(self): - """Construct pacman command. Return the command, including options. - This includes options for installation path, cache directory and - for suppressing the progress bar. It assumes a temporary location - for pacman.conf, which must also be set up. - If there is no pacman executable in the system PATH, check that - it is available in the larch directory. - """ - pacman = runcmd('bash -c "which pacman || echo _FAIL_"')[1][-1].strip() - if pacman == '_FAIL_': - # If the host is not Arch, there will probably be no pacman - # (if there is some other program called 'pacman' that's - # a real spanner in the works). - # The alternative is to provide it in the larch directory. - pacman = base_dir + '/pacman' - if not os.path.isfile(pacman): - errout(_("No pacman executable found")) - - pacman += (' -r %s --config %s --noconfirm' - % (self.installation_dir, PACMAN_CONF)) - if self.options.noprogress: - pacman += ' --noprogressbar' - if self.options.cache: - pacman += ' --cachedir ' + self.options.cache - return pacman - - - def make_pacman_conf(self, final=False): - """Construct the pacman.conf file used by larch. - To make it a little easier to manage upstream changes to the default - pacman.conf, a separate file (pacman.conf.repos) is used to specify - the repositories to use. The contents of this file are used to modify - the basic pacman.conf file, which may be the default version or one - provided in the profile. - The 'final' parameter determines whether the version for the resulting - live system (True) or for the installation process (False) is - generated. If generating the installation version, it is possible - to specify alternative repositories, via the 'repofile' option, - which allows the pacman.conf used for the installation to be - different from the version in the resulting live system. - The return value is a list of the names of the repositories which - are included. - It is also possible to specify just a customized mirrorlist for the - installation by placing it in the working directory. - """ - # Allow use of '*platform*' in pacman.conf.repos - platform = os.uname()[4] - if platform != 'x86_64': - platform = 'i686' - - # Get pacman.conf header part - pc0 = self.profile_dir + '/pacman.conf.options' - if not os.path.isfile(pc0): - pc0 = base_dir + '/data/pacman.conf' - pacmanconf = self.pacmanoptions(readfile(pc0)) - - # Get file with repository entries - pc1 = self.profile_dir + '/pacman.conf.repos' - if not os.path.isfile(pc1): - pc1 = base_dir + '/data/pacman.conf.repos' - if self.options.repofile and not final: - pc1 = os.path.realpath(self.options.repofile) - - # Get repository path - if final: - default = 'Include = /etc/pacman.d/mirrorlist' - else: - mlist = cwd + '/mirrorlist' - if not os.path.isfile(mlist): - mlist = '/etc/pacman.d/mirrorlist' - if not os.path.isfile(mlist): - mlist = base_dir + '/data/mirrorlist' - default = 'Include = ' + mlist - - # Read repository entries - repos = [] - for line in readfile(pc1).splitlines(): - line = line.strip() - if (not line) or (line[0] == '#'): - continue - r, s = [t.strip() for t in line.split(':', 1)] - repos.append(r) - s = s.replace('*default*', default) - pacmanconf += ('\n[%s]\n%s\n' - % (r, s.replace('*platform*', platform))) - - - writefile(pacmanconf, self.installation_dir + '/etc/pacman.conf' - if final else PACMAN_CONF) - return repos - - - def install(self): - """Clear the chosen installation directory and install the base - set of packages, together with any additional ones listed in the - file 'addedpacks' (in the profile), removing the packages in - 'vetopacks' from the list. - """ - if not query_yn(_("Install Arch to '%s'?") % self.installation_dir): - return False - # Can't delete the whole directory because it might be a mount point - if os.path.isdir(self.installation_dir): - if script('cleardir %s' % self.installation_dir): - return False - - # Ensure installation directory exists and check that device nodes - # can be created (creating /dev/null is also a workaround for an - # Arch bug - which may have been fixed, but this does no harm) - if not (runcmd('bash -c "mkdir -p %s/{dev,proc,sys}"' - % self.installation_dir)[0] - and runcmd('mknod -m 666 %s/dev/null c 1 3' - % self.installation_dir)[0]): - errout(_("Couldn't write to the installation path (%s)") - % self.installation_dir) - if not runcmd('bash -c "echo test >%s/dev/null"' - % self.installation_dir)[0]: - errout(_("The installation path (%s) is mounted 'nodev'.") - % self.installation_dir) - - # I should also check that it is possible to run stuff in the - # installation directory. - runcmd('bash -c "cp $( which echo ) %s"' % self.installation_dir) - if not runcmd('%s/echo "yes"' % self.installation_dir)[0]: - errout(_("The installation path (%s) is mounted 'noexec'.") - % self.installation_dir) - runcmd('rm %s/echo' % self.installation_dir) - - # Fetch package database - runcmd('mkdir -p %s/var/lib/pacman' % self.installation_dir) - self.refresh() - - # Get list of vetoed packages. - self.packages = [] - self.veto_packages = [] - self.add_packsfile(self.profile_dir, 'vetopacks', must=False) - self.veto_packages = self.packages - - # Include 'required' packages (these can still be vetoed, but - # in some cases that will mean a larch system cannot be built) - self.packages = [] - self.add_packsfile(base_dir + '/data', 'requiredpacks') - - # Add additional packages and groups, from 'addedpacks' file. - self.add_packsfile(self.profile_dir, 'addedpacks') - - # Now do the actual installation. - ok = self.pacmancall('-Sf', ' '.join(self.packages)) - if not ok: - errout(_("Package installation failed")) - - #cachepacks goes here - self.cache_packages=[] - cache_packs = self.add_cache_packsfile(self.profile_dir, 'cachepacks') - cachedir = "%s/var/cache/pacman/pkg/" % self.installation_dir - print cachedir - comment(" *** %s ***" % _("Installing Cache Packages")) - ok = self.pacmancall('-Sw --cachedir='+cachedir , ' '.join(self.cache_packages)) - if not ok: - errout(_("Package installation failed")) - - # Some chroot scripts might need /etc/mtab - runcmd('bash -c ":> %s/etc/mtab"' % self.installation_dir) - - # Build the final version of pacman.conf - self.make_pacman_conf(True) - - #post_process goes here - comment(" *** %s ***" % _("Start of post processing")) - post_process_file="%s/post-process.sh" %self.profile_dir - #try: - if os.path.isfile(post_process_file): - cmd = "%s %s %s" %(post_process_file,self.installation_dir,self.profile_dir) - print "this is my cmd: %s" %cmd - runcmd(cmd) - else: - #except: - comment(" *** %s ***" % _("Post processing file not found")) - # pass - ##run script to post-process the new installation - #if [ -f ${PROFILE}/post-process.sh ] - #then - # ${PROFILE}/post-process.sh ${INSTLDIR} ${PROFILE} - # echo ${PROFILE}/post-process.sh ${INSTLDIR} ${PROFILE} - #fi - # - - comment(" *** %s ***" % _("Arch installation completed")) - return True - - - def add_packsfile(self, dir, packs_file, must=True): - path = dir + '/' + packs_file - if must and not os.path.isfile(path): - errout(_("No '%s' file") % path) - fh = open(path) - for line in fh: - line = line.strip() - if line and (line[0] != '#'): - if line[0] == '*': - self.add_group(line[1:].split()[0]) - elif line[0] == '+': - # Include directive - line = line[1:].split()[0] - if line[0] != '/': - line = dir + '/' + line - d, pf = line.rsplit('/', 1) - if not d: - errout(_("Invalid package file include: %s")) - self.add_packsfile(d, pf) - elif line.startswith('!!!'): - # Ignore everything (!) entered previously. - # Allows requiredpacks to be overridden in addedpacks. - self.packages = [] - else: - line = line.split()[0] - if ((line not in self.packages) - and (line not in self.veto_packages)): - self.packages.append(line) - fh.close() - - def add_cache_packsfile(self, dir, packs_file, must=True): - path = dir + '/' + packs_file - if must and not os.path.isfile(path): - errout(_("No '%s' file") % path) - fh = open(path) - for line in fh: - line = line.strip() - if line and (line[0] != '#'): - if line[0] == '*': - self.add_group(line[1:].split()[0]) - elif line[0] == '+': - # Include directive - line = line[1:].split()[0] - if line[0] != '/': - line = dir + '/' + line - d, pf = line.rsplit('/', 1) - if not d: - errout(_("Invalid package file include: %s")) - print "calling myself with %s %s" %(d,pf) - self.add_cache_packsfile(d, pf) - - elif line.startswith('!!!'): - # Ignore everything (!) entered previously. - # Allows requiredpacks to be overridden in addedpacks. - self.cache_packages = [] - else: - line = line.split()[0] - if ((line not in self.cache_packages) and (line not in self.veto_packages)): - self.cache_packages.append(line) - fh.close() - - - def add_group(self, gname): - """Add the packages belonging to a group to the installaion list, - removing any in the veto list. - """ - # In the next line the call could be done as a normal user. - for line in runcmd('%s -Sg %s' % (self.pacman_cmd, gname))[1]: - l = line.split() - if l and (l[0] == gname) and (l[1] not in self.veto_packages): - self.packages.append(l[1]) - - - def refresh(self): - """This updates or creates the pacman-db in the installation. - This is done using using 'pacman ... -Sy' together with the - customized pacman.conf file. - """ - if not runcmd(self.pacman_cmd + ' -Sy', - filter=pacman_filter_gen())[0]: - errout(_("Couldn't synchronize pacman database (pacman -Sy)")) - return True - - - def pacmancall(self, op, arg): - """Mount-bind the sys and proc directories before calling the - pacman command built by make_pacman_command to perform operation - 'op' (e.g. '-S') with argument(s) 'arg' (a string). - Then unmount sys and proc and return True if the command succeeded. - """ - # (a) Prepare the destination environment (bind mounts) - mount("/sys", "%s/sys" % self.installation_dir, "--bind") - mount("/proc", "%s/proc" % self.installation_dir, "--bind") - - # (b) Call pacman - ok = runcmd("%s %s %s" % (self.pacman_cmd, op, arg), - filter=pacman_filter_gen())[0] - - # (c) Remove bound mounts - unmount(("%s/sys" % self.installation_dir, - "%s/proc" % self.installation_dir)) - return ok - - - def pacmanoptions(self, text): - """A filter for pacman.conf to remove the repository info. - """ - texto = "" - block = "" - for line in text.splitlines(): - block += line + "\n" - if line.startswith("#["): - break - if line.startswith("[") and not line.startswith("[options]"): - break - if not line.strip(): - texto += block - block = "" - return texto - - - def sync(self, *packs): - return self.pacmancall('-S', ' '.join(packs)) - - - def update(self, *files): - return self.pacmancall('-U', ' '.join(files)) - - - def remove(self, *packs): - return self.pacmancall('-Rs', ' '.join(packs)) - - - -if __name__ == "__main__": - start_translator() - cwd = os.getcwd() - - operations = 'install|sync|update|remove|refresh' - from optparse import OptionParser, OptionGroup - parser = OptionParser(usage=(_("usage: %%prog [options] %s [packages]") - % operations)) - - parser.add_option("-p", "--profile", action="store", type="string", - default="", dest="profile", - help=_("Profile: 'user:profile-name' or path to profile directory")) - parser.add_option("-i", "--installation-dir", action="store", type="string", - default="", dest="idir", - help=_("Path to directory to be larchified (default %s)") - % INSTALLATION) - parser.add_option("-s", "--slave", action="store_true", dest="slave", - default=False, help=_("Run as a slave from a controlling program" - " (e.g. from a gui)")) - parser.add_option("-q", "--quiet", action="store_true", dest="quiet", - default=False, help=_("Suppress output messages, except errors" - " (no effect if -s specified)")) - - - parser.add_option("-f", "--force", action="store_true", dest="force", - default=False, help=_("Don't ask for confirmation")) - - parser.add_option("-r", "--repofile", action="store", type="string", - default="", dest="repofile", - help=_("Supply a substitute repository list (pacman.conf.repos)" - " for the installation only")) - parser.add_option("-c", "--cache-dir", action="store", type="string", - default="", dest="cache", - help=_("pacman cache directory (default /var/cache/pacman/pkg)")) - parser.add_option("-n", "--noprogress", action="store_true", - dest="noprogress", - default=False, help=_("Don't show pacman's progress bar")) -## I think pacman is going to get support for something like '$arch', at -## which stage I could again consider architecture switching support in larch. -# parser.add_option("-a", "--arch", action="store", type="string", -# default="", dest="arch", -# help=_("processor architecture (x86_64|i686) - defaults to" -# " that of the host." -# " This is an untested feature, which is probably only partially" -# " implemented and may well not work.")) - - (options, args) = parser.parse_args() - if not args: - print _("You must specify which operation to perform:\n") - parser.print_help() - sys.exit(1) - - if os.getuid() != 0: - print _("This application must be run as root") - sys.exit(1) - - init('archin', options) - op = args[0] - if op not in operations.split('|'): - print (_("Invalid operation: '%s'\n") % op) - parser.print_help() - sys.exit(1) - - installation = Installation(options) - method = getattr(installation, op) - - if method(*args[1:]): - sys.exit(0) - else: - sys.exit(1) - diff --git a/build_tools/l7/larch0/cli/archin.py.orig b/build_tools/l7/larch0/cli/archin.py.orig deleted file mode 100755 index 7e00831..0000000 --- a/build_tools/l7/larch0/cli/archin.py.orig +++ /dev/null @@ -1,378 +0,0 @@ -#!/usr/bin/env python -# -# archin.py -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.19 - -# This is a command line script to perform an Arch Linux installation -# based on a list of packages. All needed parameters are passed as options. - -import os -from glob import glob -from config import * -from backend import * - -class Installation: - def __init__(self, options): - self.options = options - self.installation_dir = get_installation_dir() - if self.installation_dir == '/': - errout(_("Operations on '/' are not supported ...")) - - self.profile_dir = get_profile() - self.pacman_cmd = self.make_pacman_command() - self.make_pacman_conf() - - - def make_pacman_command(self): - """Construct pacman command. Return the command, including options. - This includes options for installation path, cache directory and - for suppressing the progress bar. It assumes a temporary location - for pacman.conf, which must also be set up. - If there is no pacman executable in the system PATH, check that - it is available in the larch directory. - """ - pacman = runcmd('bash -c "which pacman || echo _FAIL_"')[1][-1].strip() - if pacman == '_FAIL_': - # If the host is not Arch, there will probably be no pacman - # (if there is some other program called 'pacman' that's - # a real spanner in the works). - # The alternative is to provide it in the larch directory. - pacman = base_dir + '/pacman' - if not os.path.isfile(pacman): - errout(_("No pacman executable found")) - - pacman += (' -r %s --config %s --noconfirm' - % (self.installation_dir, PACMAN_CONF)) - if self.options.noprogress: - pacman += ' --noprogressbar' - if self.options.cache: - pacman += ' --cachedir ' + self.options.cache - return pacman - - - def make_pacman_conf(self, final=False): - """Construct the pacman.conf file used by larch. - To make it a little easier to manage upstream changes to the default - pacman.conf, a separate file (pacman.conf.repos) is used to specify - the repositories to use. The contents of this file are used to modify - the basic pacman.conf file, which may be the default version or one - provided in the profile. - The 'final' parameter determines whether the version for the resulting - live system (True) or for the installation process (False) is - generated. If generating the installation version, it is possible - to specify alternative repositories, via the 'repofile' option, - which allows the pacman.conf used for the installation to be - different from the version in the resulting live system. - The return value is a list of the names of the repositories which - are included. - It is also possible to specify just a customized mirrorlist for the - installation by placing it in the working directory. - """ - # Allow use of '*platform*' in pacman.conf.repos - platform = os.uname()[4] - if platform != 'x86_64': - platform = 'i686' - - # Get pacman.conf header part - pc0 = self.profile_dir + '/pacman.conf.options' - if not os.path.isfile(pc0): - pc0 = base_dir + '/data/pacman.conf' - pacmanconf = self.pacmanoptions(readfile(pc0)) - - # Get file with repository entries - pc1 = self.profile_dir + '/pacman.conf.repos' - if not os.path.isfile(pc1): - pc1 = base_dir + '/data/pacman.conf.repos' - if self.options.repofile and not final: - pc1 = os.path.realpath(self.options.repofile) - - # Get repository path - if final: - default = 'Include = /etc/pacman.d/mirrorlist' - else: - mlist = cwd + '/mirrorlist' - if not os.path.isfile(mlist): - mlist = '/etc/pacman.d/mirrorlist' - if not os.path.isfile(mlist): - mlist = base_dir + '/data/mirrorlist' - default = 'Include = ' + mlist - - # Read repository entries - repos = [] - for line in readfile(pc1).splitlines(): - line = line.strip() - if (not line) or (line[0] == '#'): - continue - r, s = [t.strip() for t in line.split(':', 1)] - repos.append(r) - s = s.replace('*default*', default) - pacmanconf += ('\n[%s]\n%s\n' - % (r, s.replace('*platform*', platform))) - - - writefile(pacmanconf, self.installation_dir + '/etc/pacman.conf' - if final else PACMAN_CONF) - return repos - - - def install(self): - """Clear the chosen installation directory and install the base - set of packages, together with any additional ones listed in the - file 'addedpacks' (in the profile), removing the packages in - 'vetopacks' from the list. - """ - if not query_yn(_("Install Arch to '%s'?") % self.installation_dir): - return False - # Can't delete the whole directory because it might be a mount point - if os.path.isdir(self.installation_dir): - if script('cleardir %s' % self.installation_dir): - return False - - # Ensure installation directory exists and check that device nodes - # can be created (creating /dev/null is also a workaround for an - # Arch bug - which may have been fixed, but this does no harm) - if not (runcmd('bash -c "mkdir -p %s/{dev,proc,sys}"' - % self.installation_dir)[0] - and runcmd('mknod -m 666 %s/dev/null c 1 3' - % self.installation_dir)[0]): - errout(_("Couldn't write to the installation path (%s)") - % self.installation_dir) - if not runcmd('bash -c "echo test >%s/dev/null"' - % self.installation_dir)[0]: - errout(_("The installation path (%s) is mounted 'nodev'.") - % self.installation_dir) - - # I should also check that it is possible to run stuff in the - # installation directory. - runcmd('bash -c "cp $( which echo ) %s"' % self.installation_dir) - if not runcmd('%s/echo "yes"' % self.installation_dir)[0]: - errout(_("The installation path (%s) is mounted 'noexec'.") - % self.installation_dir) - runcmd('rm %s/echo' % self.installation_dir) - - # Fetch package database - runcmd('mkdir -p %s/var/lib/pacman' % self.installation_dir) - self.refresh() - - # Get list of vetoed packages. - self.packages = [] - self.veto_packages = [] - self.add_packsfile(self.profile_dir, 'vetopacks', must=False) - self.veto_packages = self.packages - - # Include 'required' packages (these can still be vetoed, but - # in some cases that will mean a larch system cannot be built) - self.packages = [] - self.add_packsfile(base_dir + '/data', 'requiredpacks') - - # Add additional packages and groups, from 'addedpacks' file. - self.add_packsfile(self.profile_dir, 'addedpacks') - - # Now do the actual installation. - ok = self.pacmancall('-Sf', ' '.join(self.packages)) - if not ok: - errout(_("Package installation failed")) - - # Some chroot scripts might need /etc/mtab - runcmd('bash -c ":> %s/etc/mtab"' % self.installation_dir) - - # Build the final version of pacman.conf - self.make_pacman_conf(True) - comment(" *** %s ***" % _("Arch installation completed")) - return True - - - def add_packsfile(self, dir, packs_file, must=True): - path = dir + '/' + packs_file - if must and not os.path.isfile(path): - errout(_("No '%s' file") % path) - fh = open(path) - for line in fh: - line = line.strip() - if line and (line[0] != '#'): - if line[0] == '*': - self.add_group(line[1:].split()[0]) - elif line[0] == '+': - # Include directive - line = line[1:].split()[0] - if line[0] != '/': - line = dir + '/' + line - d, pf = line.rsplit('/', 1) - if not d: - errout(_("Invalid package file include: %s")) - self.add_packsfile(d, pf) - elif line.startswith('!!!'): - # Ignore everything (!) entered previously. - # Allows requiredpacks to be overridden in addedpacks. - self.packages = [] - else: - line = line.split()[0] - if ((line not in self.packages) - and (line not in self.veto_packages)): - self.packages.append(line) - fh.close() - - - def add_group(self, gname): - """Add the packages belonging to a group to the installaion list, - removing any in the veto list. - """ - # In the next line the call could be done as a normal user. - for line in runcmd('%s -Sg %s' % (self.pacman_cmd, gname))[1]: - l = line.split() - if l and (l[0] == gname) and (l[1] not in self.veto_packages): - self.packages.append(l[1]) - - - def refresh(self): - """This updates or creates the pacman-db in the installation. - This is done using using 'pacman ... -Sy' together with the - customized pacman.conf file. - """ - if not runcmd(self.pacman_cmd + ' -Sy', - filter=pacman_filter_gen())[0]: - errout(_("Couldn't synchronize pacman database (pacman -Sy)")) - return True - - - def pacmancall(self, op, arg): - """Mount-bind the sys and proc directories before calling the - pacman command built by make_pacman_command to perform operation - 'op' (e.g. '-S') with argument(s) 'arg' (a string). - Then unmount sys and proc and return True if the command succeeded. - """ - # (a) Prepare the destination environment (bind mounts) - mount("/sys", "%s/sys" % self.installation_dir, "--bind") - mount("/proc", "%s/proc" % self.installation_dir, "--bind") - - # (b) Call pacman - ok = runcmd("%s %s %s" % (self.pacman_cmd, op, arg), - filter=pacman_filter_gen())[0] - - # (c) Remove bound mounts - unmount(("%s/sys" % self.installation_dir, - "%s/proc" % self.installation_dir)) - return ok - - - def pacmanoptions(self, text): - """A filter for pacman.conf to remove the repository info. - """ - texto = "" - block = "" - for line in text.splitlines(): - block += line + "\n" - if line.startswith("#["): - break - if line.startswith("[") and not line.startswith("[options]"): - break - if not line.strip(): - texto += block - block = "" - return texto - - - def sync(self, *packs): - return self.pacmancall('-S', ' '.join(packs)) - - - def update(self, *files): - return self.pacmancall('-U', ' '.join(files)) - - - def remove(self, *packs): - return self.pacmancall('-Rs', ' '.join(packs)) - - - -if __name__ == "__main__": - start_translator() - cwd = os.getcwd() - - operations = 'install|sync|update|remove|refresh' - from optparse import OptionParser, OptionGroup - parser = OptionParser(usage=(_("usage: %%prog [options] %s [packages]") - % operations)) - - parser.add_option("-p", "--profile", action="store", type="string", - default="", dest="profile", - help=_("Profile: 'user:profile-name' or path to profile directory")) - parser.add_option("-i", "--installation-dir", action="store", type="string", - default="", dest="idir", - help=_("Path to directory to be larchified (default %s)") - % INSTALLATION) - parser.add_option("-s", "--slave", action="store_true", dest="slave", - default=False, help=_("Run as a slave from a controlling program" - " (e.g. from a gui)")) - parser.add_option("-q", "--quiet", action="store_true", dest="quiet", - default=False, help=_("Suppress output messages, except errors" - " (no effect if -s specified)")) - - - parser.add_option("-f", "--force", action="store_true", dest="force", - default=False, help=_("Don't ask for confirmation")) - - parser.add_option("-r", "--repofile", action="store", type="string", - default="", dest="repofile", - help=_("Supply a substitute repository list (pacman.conf.repos)" - " for the installation only")) - parser.add_option("-c", "--cache-dir", action="store", type="string", - default="", dest="cache", - help=_("pacman cache directory (default /var/cache/pacman/pkg)")) - parser.add_option("-n", "--noprogress", action="store_true", - dest="noprogress", - default=False, help=_("Don't show pacman's progress bar")) -## I think pacman is going to get support for something like '$arch', at -## which stage I could again consider architecture switching support in larch. -# parser.add_option("-a", "--arch", action="store", type="string", -# default="", dest="arch", -# help=_("processor architecture (x86_64|i686) - defaults to" -# " that of the host." -# " This is an untested feature, which is probably only partially" -# " implemented and may well not work.")) - - (options, args) = parser.parse_args() - if not args: - print _("You must specify which operation to perform:\n") - parser.print_help() - sys.exit(1) - - if os.getuid() != 0: - print _("This application must be run as root") - sys.exit(1) - - init('archin', options) - op = args[0] - if op not in operations.split('|'): - print (_("Invalid operation: '%s'\n") % op) - parser.print_help() - sys.exit(1) - - installation = Installation(options) - method = getattr(installation, op) - - if method(*args[1:]): - sys.exit(0) - else: - sys.exit(1) - diff --git a/build_tools/l7/larch0/cli/backend.py b/build_tools/l7/larch0/cli/backend.py deleted file mode 100644 index 95b01bd..0000000 --- a/build_tools/l7/larch0/cli/backend.py +++ /dev/null @@ -1,444 +0,0 @@ -# backend.py - for the cli modules: handles processes and io -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.14 - -# There was also the vague idea of a web interface, using a sort of state- -# based approach. Connecting to a running larch process would then require -# the ability to get the logging history, but presumably not the whole -# history on every ui update, which would need to be incremental. -# The logging function would need to be modified to accommodate this. - -import os, sys, signal, atexit, __builtin__ -import traceback, pwd -from subprocess import Popen, PIPE, STDOUT -import pexpect -try: - import json as serialize -except: - import simplejson as serialize -from config import * - -def init(app, options, app_quit=None): - global _options, _quit_function, _log, _controlled, _dontask, _quiet - _options = options - _quit_function = app_quit - _controlled = options.slave - _dontask = options.force - _log = None - _quiet = False if _controlled else options.quiet - - atexit.register(sys_quit) - - - def sigint(num, frame): - """A handler for SIGINT. Tidy up properly and quit. - """ - errout("INTERRUPTED - killing subprocesses", 0) - if _sub_process and _sub_process.pid: - Popen(["pkill", "-g", str(_sub_process.pid)], - stdout=PIPE).communicate() - errout("QUITTING", 2) - signal.signal(signal.SIGINT, sigint) - - - # Check no other instance of the script is running - if os.path.isfile(LOCKFILE): - app0 = readfile(LOCKFILE) - if not query_yn(_( - "larch (%s) seems to be running already." - "\nIf you are absolutely sure this is not the case," - "\nyou may continue. Otherwise you should cancel." - "\n\nShall I continue?") % app0): - sys.exit(102) - writefile(app, LOCKFILE) - _log = open(LOGFILE + app, 'w') - - # For systems without /sbin and /usr/sbin in the normal PATH - p = os.environ['PATH'] - ps = p.split(':') - for px in ('/sbin', '/usr/sbin'): - if px not in ps: - p = px + ':' + p - os.environ['PATH'] = p - - -def _out(text, force=False): - """Send the string to standard output. - How it is output depends on the '-s' command line option (whether the - script is being run on the console or as a subprocess of another script). - In the latter case the text will be slightly encoded - to avoid newline - characters - and sent as a single unit. - Otherwise output the lines as they are, but all lines except - the first get a '--' prefix. - """ - lines = text.encode('utf-8').splitlines() - if _log: - _log.write(lines[0] + '\n') - for l in lines[1:]: - _log.write('--' + l + '\n') - - if force or not _quiet: - if _controlled: - sys.stdout.write(serialize.dumps(text) + '\n') - else: - prefix = '' - for line in lines: - sys.stdout.write(prefix + line + '\n') - prefix = '--' - sys.stdout.flush() - - -def sys_quit(): - unmount() - if _quit_function: - _quit_function() - if _errorcount: - _out('!! ' + (_("The backend reported %d failed calls," - " you may want to investigate") % _errorcount)) - if _log: - _log.close() - os.remove(LOCKFILE) - - -def comment(text): - _out('##' + text) - - -def query_yn(message, default=False): - _out('?>' + message) - result = default - if _dontask: - result = True - elif not _quiet: - if _controlled: - result = (raw_input().strip() == '??YES') - - else: - # The character after '_' is the response key - # The default will be capitalized automatically - prompt = _("_yes|_no").split('|') - promptkey = [word[word.index('_') + 1] for word in prompt] - if default: - py = prompt[0].upper() - pn = prompt[1] - else: - py = prompt[0] - pn = prompt[1].upper() - resp = raw_input(" [ %s / %s ]: " % (py, pn)).strip() - if resp: - testkey = promptkey[1] if default else promptkey[0] - resp == resp.lower() - if resp == prompt[0]: - result = True - elif resp == prompt[1]: - result = False - elif testkey in resp: - result = not default - - _out('#>%s' % ('Yes' if result else 'No')) - return result - - -def errout(message="ERROR", quit=1): - _out('!>' + message, True) - if quit: - sys_quit() - os._exit(quit) - - -def error0(message): - errout(message, 0) -__builtin__.error0 = error0 - - -# Catch all unhandled errors. -def errortrap(type, value, tb): - etext = "".join(traceback.format_exception(type, value, tb)) - errout(_("Something went wrong:\n") + etext, 100) -sys.excepthook = errortrap - - -_sub_process = None -_errorcount = 0 -def runcmd(cmd, filter=None): - global _sub_process, _errorcount - _out('>>' + cmd) - _sub_process = pexpect.spawn(cmd) - result = [] - line0 = '' - # A normal end-of-line is '\r\n', so split on '\r' but don't - # process a line until the next character is available. - while True: - try: - line0 += _sub_process.read_nonblocking(size=256, timeout=None) - except: - break - - while True: - lines = line0.split('\r', 1) - if (len(lines) > 1) and lines[1]: - line = lines[0] - line0 = lines[1] - nl = (line0[0] == '\n') - if nl: - # Strip the '\n' - line0 = line0[1:] - if filter: - line = filter(line, nl) - if line == '/*/': - continue - if nl: - line = line.rstrip() - _out('>_' + line) - result.append(line) - else: - # Probably a progress line - if _controlled: - _out('>-' + line) - else: - sys.stdout.write(line + '\r') - sys.stdout.flush() - - else: - break - - _sub_process.close() - rc = _sub_process.exitstatus - ok = (rc == 0) - if not ok: - _errorcount += 1 - _out(('>?%s' % repr(rc)) + ('' if ok else (' $$$ %s $$$' % cmd))) - return (ok, result) - - -def script(cmd): - s = runcmd("%s/%s" % (script_dir, cmd)) - if s[0]: - return "" - else: - return "SCRIPT ERROR: (%s)\n" % cmd + "".join(s[1]) - - -def chroot(ip, cmd, mnts=[], filter=None): - if ip: - for m in mnts: - mount("/" + m, "%s/%s" % (ip, m), "--bind") - cmd = "chroot %s %s" % (ip, cmd) - - s = runcmd(cmd, filter) - - if ip: - unmount(["%s/%s" % (ip, m) for m in mnts]) - - if s[0]: - if s[1]: - return s[1] - else: - return True - return False - - -_mounts = [] -def mount(src, dst, opts=""): - if runcmd("mount %s %s %s" % (opts, src, dst))[0]: - _mounts.append(dst) - return True - return False - - -def unmount(dst=None): - if dst == None: - mnts = list(_mounts) - elif type(dst) in (list, tuple): - mnts = list(dst) - else: - mnts = [dst] - - r = True - for m in mnts: - if runcmd("umount %s" % m)[0]: - _mounts.remove(m) - else: - r = False - return r - - -def get_installation_dir(): - return os.path.realpath(_options.idir if _options.idir - else INSTALLATION) - - -def get_profile(): - """Get the absolute path to the profile folder given its path in any - acceptable form, including 'user:profile-name' - """ - pd = (_options.profile if _options.profile - else base_dir + '/profiles/default') - p = pd.split(':') - if len(p) == 1: - pd = os.path.realpath(pd) - else: - try: - pd = (pwd.getpwnam(p[0])[5] + PROFILE_DIR - + '/' + p[1]) - except: - errout(_("Invalid profile: %s") % pd, quit=0) - raise - if not os.path.isfile(pd + '/addedpacks'): - errout(_("Invalid profile folder: %s") % pd) - return pd - - - -#+++++++++++++++++++++++++++++++++++++++++ -#Regular expression search strings for progress reports -import re -#lit: give []() a \-prefix -#grp: surround string in () -#opt: surround string in [] - -def _lit(s): - for c in r'[()]': - s = s.replace(c, '\\' + c) - return s - -def _grp(s, x=''): - return '(' + s + ')' + x - -def _grp0(s, x=''): - return '(?:' + s + ')' + x - -def _opt(s, x=''): - return '[' + s + ']' + x - - -_re_pacman = re.compile( _grp0(_lit('(') + - _grp(_opt('^/', '+') + '/' + _opt('^)', '+')) + - _lit(')'), '?') + - _grp('.*?') + - _lit('[') + _grp(_opt('-#', '+')) + _lit(r']\s+') + - _grp(_opt('0-9', '+')) + - '%' - ) - -_re_mksquashfs = re.compile(_lit('[.*]') + - _grp('.* ' + - _grp(_opt('0-9', '+')) + - '%') - ) - -_re_mkisofs = re.compile(_opt(' 1') + _opt(' \d') + '\d\.\d\d%') - -#----------------------------------------- -class pacman_filter_gen: - """Return a function to detect and process the progress output of - pacman. - """ - def __init__(self): - self.progress = '' - - def __call__(self, line, nl): - ms = _re_pacman.match(line) - if ms: - p = ms.group(3) - if (self.progress != p) or nl: - self.progress = p - if _controlled: - xfromy = ms.group(1) - if not xfromy: - xfromy = '' - return 'pacman:%s|%s|%s' % (xfromy, ms.group(2), - ms.group(4)) - if nl: - sys.stdout.write(' '*80 + '\r') - return line.rsplit(None, 1)[0] - else: - return '/*/' - return line - - -class mksquashfs_filter_gen: - """Return a function to detect and process the progress output of - mksquashfs. - """ - def __init__(self): - self.progress = '' - - def __call__(self, line, nl): - ms = _re_mksquashfs.match(line) - if ms: - percent = ms.group(2) - if (self.progress != percent) or nl: - self.progress = percent - if _controlled: - return 'mksquashfs:' + ms.group(1) - return re.sub(r'=[-\\/|]', '= ', line) - else: - return '/*/' - return line - - -class mkisofs_filter_gen: - """Return a function to detect and process the progress output of - mkisofs. - """ - def __call__(self, line, nl): - ms = _re_mkisofs.match(line) - if ms: - if _controlled: - return 'mkisofs:' + line - sys.stdout.write(line + '\r') - sys.stdout.flush() - return '/*/' - return line - - -def readdata(filename): - return readfile(base_dir + '/data/' + filename) - - -def readfile(fpath): - try: - fh = open(fpath) - text = fh.read() - fh.close() - except: - errout(_("Couldn't read file: %s") % fpath) - return None - return text - - -def writefile(text, path): - try: - pd = os.path.dirname(path) - if not os.path.isdir(pd): - os.makedirs(pd) - fh = None - fh = open(path, 'w') - fh.write(text) - return True - except: - return False - finally: - if fh: - fh.close() - diff --git a/build_tools/l7/larch0/cli/boot_iso.py b/build_tools/l7/larch0/cli/boot_iso.py deleted file mode 100755 index 19c3510..0000000 --- a/build_tools/l7/larch0/cli/boot_iso.py +++ /dev/null @@ -1,154 +0,0 @@ -#!/usr/bin/env python -# -# live_part.py -# -# (c) Copyright 2009 - 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.12 - -"""This is a command line script to prepare a boot 'iso' for a USB larch -device, to make this bootable via CD on systems which cannot boot from USB -devices. -Parameters are passed as options and arguments. -""" - -import os -from config import * -from backend import * -from media_common import * - -def build_bootiso(options, devicename): - """Create a boot iso for the specified medium. - 'devicename' is the name (e.g. 'sdb1', without '/dev/') of the - source partition. - """ - # Check device - device = '/dev/' + devicename - if not os.path.exists(device): - errout(_("Invalid device: %s") % device) - options.source = device - medium = Medium(options) - ipath = medium.chrootpath - build = medium.build - - # Need to get the label - label = medium.get_device_label(device) - - # Write bootloader configuration file - bootconfig(build, options.syslinux, label, device, options.detection) - - # Select bootloader - if options.syslinux: - # Get fresh isolinux.bin - runcmd('cp %s/boot/isolinux/isolinux.bin0 %s/boot/isolinux/isolinux.bin' - % (build, build)) - parms = '-b boot/isolinux/isolinux.bin -c boot/isolinux/isolinux.boot' - # Select bootloader - else: - parms = '-b boot/grub/stage2_eltorito' - - # Need to adjust paths to cater for chroot! - source0 = medium.chroot_medium_dir() - isopath0 = medium.iso_path() - - # Actually the volume label can be 32 bytes, but 16 is compatible - # with ext2 (though a little longer than vfat) - label = check_label(options.label, 16) - # Build iso - if not chroot(ipath, ('mkisofs -R -l %s -no-emul-boot -boot-load-size 4' - ' -boot-info-table -input-charset=UTF-8' - ' -V "%s"' - ' -o "%s"' - ' "%s"') % (parms, label, isopath0, BUILD0), - filter=mkisofs_filter_gen()): - - errout(_("iso build failed")) - - medium.unmount() - runcmd('rm -rf %s' % build) - - comment(" *** %s ***" % (_("%s was successfully created") - % (options.isofile))) - - - -if __name__ == '__main__': - start_translator() - - from optparse import OptionParser, OptionGroup - parser = OptionParser(usage=_("usage: %prog [options] partition" - " (e.g. sdb1)")) - - parser.add_option("-o", "--isofile", action="store", type="string", - default=BOOTISO, dest="isofile", - help=_("Specify the output file (default '%s'). It will be" - " generated to the current directory.") % BOOTISO) - parser.add_option("-D", "--setdir", action="store", type="string", - dest='setdir', default='', - help=_("Set current directory," - " so that the 'iso' can be placed there")) - parser.add_option("-d", "--detect", action="store", type="string", - default="label", dest="detection", - help=(_("Method for boot partition detection: %s (default: label)") - % detection_methods)) - parser.add_option("-b", "--syslinux", action="store_true", dest="syslinux", - default=False, help=_("Use the syslinux bootloader" - " (the default is GRUB)")) - - parser.add_option("-i", "--installation-dir", action="store", type="string", - default="", dest="idir", - help=_("Path to larchified directory (default %s)") % INSTALLATION) - parser.add_option("-s", "--slave", action="store_true", dest="slave", - default=False, help=_("Run as a slave from a controlling program" - " (e.g. from a gui)")) - parser.add_option("-q", "--quiet", action="store_true", dest="quiet", - default=False, help=_("Suppress output messages, except errors" - " (no effect if -s specified)")) - - parser.add_option("-f", "--force", action="store_true", dest="force", - default=False, help=_("Don't ask for confirmation")) - - parser.add_option("-l", "--label", action="store", type="string", - default=ISOLABEL, dest="label", - help=_("Volume label for boot iso (default %s)") - % ISOLABEL) - parser.add_option("-C", "--chroot", action="store_true", - dest="chroot", default=False, - help=_("Use chroot for build")) - - - (options, args) = parser.parse_args() - if not args: - print _("You must specify the source partition\n") - parser.print_help() - sys.exit(1) - - if os.getuid() != 0: - print _("This application must be run as root") - sys.exit(1) - - init('live_part', options) - - # To avoid error messages - options.profile = None - options.nochroot = None - options.testmedium = False - - build_bootiso(options, devicename=args[0]) diff --git a/build_tools/l7/larch0/cli/config.py b/build_tools/l7/larch0/cli/config.py deleted file mode 100644 index 14f3329..0000000 --- a/build_tools/l7/larch0/cli/config.py +++ /dev/null @@ -1,92 +0,0 @@ -# config.py -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.13 - -# Basic (default) configuration information for larch -# Some of these can be changed ...???? - -# Default volume label -LABEL = 'LARCH-7.2' -# Default iso file -ISOFILE = 'linhes.iso' -# Default volume label for boot iso -ISOLABEL = 'LARCH-7-BOOT' -# Default boot iso file -BOOTISO = 'larch7boot.iso' -# Used as a mount point -MP = '/tmp/larch_mnt' -# Mount point (within chroot) for bind-mounting iso build directory -ISOBUILDMNT = '/tmp/isodir_mnt' -# Mount point for medium sources -SOURCEMOUNT = '/tmp/larch_mntsrc' -# Temporary directory for building medium boot directory -BUILD0 = '/tmp/larch_build' - -SYSLINUXDIR = '/usr/lib/syslinux' -GRUBDIR = '/usr/lib/grub/i386-pc' - -# A customized pacman.conf file is used for the installation, generated -# dynamically according to the options and the profile. -PACMAN_CONF = '/tmp/larch_pacman.conf' - -# Medium detection alternatives -detection_methods = 'label|uuid|device|search' - -# Some basic paths -import os, sys -module_dir = os.path.dirname(os.path.realpath(__file__)) -base_dir = os.path.dirname(module_dir) -script_dir = base_dir + '/buildscripts' - -# File to prevent two instances of larch from running -LOCKFILE = '/tmp/larch_lock' -# File (stem) for log -LOGFILE = '/tmp/larch_log_' -# The path to the Arch installation which is to be larchified -INSTALLATION = '/home/larchbuild' - -# These paths are intended for use in 'chroot installation_dir', etc. -# The base directory of the larchified stuff -CHROOT_DIR_BUILD = '/.larch' -# This is the base of all stuff to be cleared on a rerun of larchify -CHROOT_DIR_LARCHIFY = CHROOT_DIR_BUILD + '/larchify' -# The base directory of the medium building area -CHROOT_DIR_MEDIUM = CHROOT_DIR_LARCHIFY + '/medium' -# Area for building the (mods.sqf) overlay -CHROOT_DIR_OVERLAY = CHROOT_DIR_LARCHIFY + '/overlay' -# Location for saving the system.sqf (outside of the larchify area) -CHROOT_SYSTEMSQF = CHROOT_DIR_BUILD + '/system.sqf' - -def debug(text): - sys.stderr.write("DEBUG: " + text.strip() + "\n") - sys.stderr.flush() - -def start_translator(switchC=True): - import gettext, __builtin__ - gettext.install('larch', base_dir+'/i18n', unicode=1) - __builtin__.lang = (os.environ.get("LANGUAGE") or os.environ.get("LC_ALL") - or os.environ.get("LC_MESSAGES") or os.environ.get("LANG")) - if switchC: - # If subprocesses must be run without i18n because the text - # output is parsed. - os.environ["LANGUAGE"] = "C" - diff --git a/build_tools/l7/larch0/cli/larchify.py b/build_tools/l7/larch0/cli/larchify.py deleted file mode 100755 index 5f3e472..0000000 --- a/build_tools/l7/larch0/cli/larchify.py +++ /dev/null @@ -1,589 +0,0 @@ -#!/usr/bin/env python -# -# larchify.py -# -# (c) Copyright 2009-2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.13 - -# This is a command line script to prepare a larch live system from an -# Arch Linux installation. All needed parameters are passed as options. - -import os, sys -from config import * -from backend import * -from userinfo import Userinfo -from glob import glob -import random, crypt -from subprocess import Popen, PIPE, STDOUT - - -class Builder: - """This class manages 'larchifying' an Arch Linux installation. - """ - def __init__(self, options): - self.installation_dir = get_installation_dir() - self.installation0 = (self.installation_dir - if self.installation_dir != "/" else "") - testfile = self.installation0 + '/etc/pacman.conf' - if not os.path.isfile(testfile): - errout(_("File '%s' doesn't exist:\n" - " '%s' not an Arch installation?") - % (testfile, self.installation_dir)) - - self.profile_dir = get_profile() - - - def build(self, options): - if not (self.installation0 or query_yn(_( - "Building a larch live medium from the running system is" - "\nan error prone process. Changes to the running system" - "\nmade while running this function may be only partially" - "\nincorporated into the compressed system images." - "\n\nDo you wish to continue?")), True): - return False - - # Define the working area - it must be inside the installation - # because of the use of chroot for some functions - self.larchify_dir = self.installation0 + CHROOT_DIR_LARCHIFY - # Location for the live medium image - self.medium_dir = self.installation0 + CHROOT_DIR_MEDIUM - # And potentially a saved system.sqf - self.system_sqf = self.installation0 + CHROOT_SYSTEMSQF - # Needed for a potentially saved locales directory - self.locales_base = self.installation0 + CHROOT_DIR_BUILD - # For building the (mods.sqf) overlay - self.overlay = self.installation0 + CHROOT_DIR_OVERLAY - comment("Initializing larchify process") - - if options.oldsqf: - if os.path.isfile(self.medium_dir + "/larch/system.sqf"): - runcmd("mv %s/larch/system.sqf %s" % - (self.medium_dir, self.system_sqf)) - else: - runcmd("rm -f %s" % self.system_sqf) - - # Clean out larchify area and create overlay directory - runcmd('rm -rf %s' % self.larchify_dir) - runcmd('mkdir -p %s' % self.overlay) - - if not self.find_kernel(): - return False - - if not self.system_check(): - return False - - comment("Beginning to build larch medium files") - # Clear out the directory - runcmd('rm -rf %s' % self.medium_dir) - # The base medium boot directory, bootloader independent. - runcmd('mkdir -p %s/boot' % self.medium_dir) - # The main larch direcory - runcmd('mkdir -p %s/larch' % self.medium_dir) - - # kernel - runcmd("cp -f %s/boot/%s %s/boot/larch.kernel" % - (self.installation0, self.kname, self.medium_dir)) - # Remember file name (to ease update handling) - runcmd('bash -c "echo \'%s\' > %s/larch/kernelname"' - % (self.kname, self.medium_dir)) - - # if no saved system.sqf, squash the Arch installation at self.installation_dir - if not os.path.isfile(self.system_sqf): - comment("Generating system.sqf") - # root directories which are not included in the squashed system.sqf - #ignoredirs = "boot dev mnt media proc sys tmp .livesys " - ignoredirs = "dev mnt media proc sys tmp .livesys " - ignoredirs += CHROOT_DIR_BUILD.lstrip("/") - # /var stuff - ignoredirs += " var/log var/tmp var/lock" - # others - ignoredirs += " usr/lib/locale" - - # Additional directories to ignore can also be specified in the - # profile. This is a nasty option. It was requested, and might - # be useful under certain special circumstances, but I recommend - # not using it unless you are really sure what you are doing. - veto_file = self.profile_dir + '/vetodirs' - if os.path.isfile(veto_file): - fh = open(veto_file) - for line in fh: - line = line.strip() - if line and (line[0] != '#'): - ignoredirs += ' ' + line.lstrip('/') - fh.close() - - if not chroot(self.installation0, - "/sbin/mksquashfs '/' '%s' -e %s" - % (CHROOT_SYSTEMSQF, ignoredirs), - filter=mksquashfs_filter_gen()): - errout(_("Squashing system.sqf failed")) - # remove execute attrib - runcmd("chmod oga-x %s" % self.system_sqf) - - # move system.sqf to medium directory - runcmd("mv %s %s/larch" % (self.system_sqf, self.medium_dir)) - - # prepare overlay - comment("Generating larch overlay") - # Copy over the overlay from the selected profile - if os.path.isdir("%s/rootoverlay" % self.profile_dir): - runcmd('bash -c "cp -rf %s/rootoverlay/* %s"' - % (self.profile_dir, self.overlay)) - # Ensure there is an /etc directory in the overlay - runcmd("mkdir -p %s/etc" % self.overlay) - # fix sudoers if any - if os.path.isfile("%s/etc/sudoers" % self.overlay): - runcmd("chmod 0440 %s/etc/sudoers" % self.overlay) - runcmd("chown root:root %s/etc/sudoers" % self.overlay) - - # Prepare inittab - inittab = self.overlay + "/etc/inittab" - itsave = inittab + ".larchsave" - it0 = self.installation0 + "/etc/inittab" - itl = self.overlay + "/etc/inittab.larch" - if not os.path.isfile(itl): - itl = self.installation0 + "/etc/inittab.larch" - if not os.path.isfile(itl): - itl = None - # Save the original inittab if there is an inittab.larch file, - # ... if there isn't already a saved one - if itl: - if ((not os.path.isfile(it0 + ".larchsave")) - and (not os.path.isfile(itsave))): - runcmd("cp %s %s" % (it0, itsave)) - # Use the .larch version in the live system - runcmd("cp -f %s %s" % (itl, inittab)) - - comment("Generating larch initcpio") - if not self.gen_initramfs(): - return False - - lpath = self.locales_base + '/locale' - if self.installation0: - if options.oldlocales and os.path.isdir(lpath): - comment("Copying saved glibc locales") - runcmd('rm -rf %s/usr/lib/locale' % self.overlay) - runcmd('mkdir -p %s/usr/lib' % self.overlay) - runcmd('cp -a %s %s/usr/lib' % (lpath, self.overlay)) - else: - comment("Generating glibc locales") - runcmd('rm -rf %s' % lpath) - script('larch-locales "%s" "%s"' % (self.installation0, - self.overlay)) - # Save the generated locales for possible reuse - runcmd('cp -a %s/usr/lib/locale %s' % (self.overlay, - self.locales_base)) - - if (os.path.isfile(self.installation0 + '/usr/bin/ssh-keygen') - and not os.path.isfile(self.profile_dir + '/nosshkeys')): - # ssh initialisation - done here so that it doesn't need to - # be done when the live system boots - comment("Generating ssh keys to overlay") - sshdir = CHROOT_DIR_OVERLAY + "/etc/ssh" - runcmd("mkdir -p %s" % (self.installation0 + sshdir)) - for k, f in [("rsa1", "ssh_host_key"), ("rsa", "ssh_host_rsa_key"), - ("dsa", "ssh_host_dsa_key")]: - chroot(self.installation0, - "ssh-keygen -t %s -N '' -f %s/%s" - % (k, sshdir, f), ["dev"]) - - # Ensure the hostname is in /etc/hosts - script("larch-hosts %s %s" % (self.installation0, self.overlay)) - - # Handle /mnt - runcmd("mkdir -p %s/mnt" % self.overlay) - for d in os.listdir("%s/mnt" % self.installation0): - if os.path.isdir("%s/mnt/%s" % (self.installation0, d)): - runcmd("mkdir %s/mnt/%s" % (self.overlay, d)) - - # Ensure there is a /boot directory - runcmd("mkdir -p %s/boot" % self.overlay) - - # Run customization script - tweak = self.profile_dir + '/build-tweak' - if os.path.isfile(tweak): - comment("(WARNING): Running user's build customization script") - if runcmd(tweak + ' %s %s' % (self.installation0, - self.overlay))[0]: - comment("Customization script completed") - else: - errout(_("Build customization script failed")) - - # Get root password - rootpwf = self.profile_dir + '/rootpw' - if os.path.isfile(rootpwf): - rootpw = readfile(rootpwf).strip() - if rootpw == '!': - # Lock the password - rootcmd = 'usermod -L' - else: - rootcmd = "usermod -p '%s'" % encryptPW(rootpw) - else: - rootcmd = None - - # Add users and set root password - if self.installation0 and not self.add_users(rootcmd): - return False - - comment("Squashing mods.sqf") - if not chroot(self.installation0, - "/sbin/mksquashfs '%s' '%s/larch/mods.sqf'" - % (CHROOT_DIR_OVERLAY, CHROOT_DIR_MEDIUM), - filter=mksquashfs_filter_gen()): - errout(_("Squashing mods.sqf failed")) - # remove execute attrib - runcmd("chmod oga-x %s/larch/mods.sqf" % self.medium_dir) - - runcmd("rm -rf %s" % self.overlay) - - comment(" *** %s ***" % _("larchify-process completed")) - return True - - - def add_users(self, rootcmd): - userinfo = Userinfo(self.profile_dir) - userlist = [] - for user in userinfo.allusers(): - # Only include if the user does not yet exist - if runcmd('bash -c "grep \"^%s\" %s/etc/passwd || echo -"' - % (user, self.installation_dir))[1][0] != '-': - comment("(WARNING): User '%s' exists already" % user) - else: - userlist.append(user) - - # Only continue if there are new users in the list - if rootcmd: - clist = [('root', rootcmd + ' %s')] - else: - if userlist == []: - return True - clist = [] - - # Save system files and replace them by the overlay versions - savedir = self.larchify_dir + '/save_etc' - runcmd('rm -rf %s' % savedir) - runcmd('mkdir -p %s/default' % savedir) - savelist = 'group,gshadow,passwd,shadow,login.defs,skel' - runcmd('bash -c "cp -a %s/etc/{%s} %s"' - % (self.installation0, savelist, savedir)) - runcmd('cp -a %s/etc/default/useradd %s/default' - % (self.installation0, savedir)) - for f in ('group', 'gshadow', 'passwd', 'shadow', 'login.defs'): - if os.path.isfile(self.overlay + '/etc/%s'): - runcmd('cp %s/etc/%s %s/etc' - % (self.overlay, f, self.installation0)) - if os.path.isfile(self.overlay + '/etc/default/useradd'): - runcmd('cp %s/etc/default/useradd %s/etc/default' - % (self.overlay, self.installation0)) - if os.path.isdir(self.overlay + '/etc/skel'): - runcmd('cp -r %s/etc/skel %s/etc' - % (self.overlay, self.installation0)) - - # Build the useradd command - userdir0 = '/users' - userdir = self.larchify_dir + userdir0 - userdirs = [] - runcmd('mkdir -p %s/home' % self.overlay) - for u in userlist: - cline = 'useradd -m' - pgroup = userinfo.get(u, 'maingroup') - if pgroup: - cline += ' -g ' + pgroup - uid = userinfo.get(u, 'uid') - if uid: - cline += ' -u ' + uid - pw = userinfo.get(u, 'pw') - if (pw == ''): - # Passwordless login - pwcrypt = '' - else: - # Normal MD5 password - pwcrypt = encryptPW(pw) - cline += " -p '%s'" % pwcrypt - skeldir = userinfo.get(u, 'skel') - if skeldir: - # Custom home initialization directories in the profile - # always start with 'skel_' - skel = 'skel_' + skeldir - if skel not in userdirs: - userdirs.append(skel) - cline += ' -k %s/%s' % (CHROOT_DIR_LARCHIFY + userdir0, - skel) - # Allow for expert tweaking - cline += ' ' + userinfo.get(u, 'expert') - # The user and the command to be run - clist.append((u, cline + ' %s')) - xgroups = userinfo.get(u, 'xgroups') - if xgroups: - xgl = [] - for g in xgroups.split(','): - clist.append((u, 'usermod -a -G %s %%s' % g)) - - if userdirs: - # Copy custom 'skel' directories to build space - runcmd('rm -rf %s' % userdir) - runcmd('mkdir -p %s' % userdir) - for ud in userdirs: - runcmd('cp -r %s/%s %s/%s' % - (self.profile_dir, ud, userdir, ud)) - - nfail = 0 - ok = True - for u, cmd in clist: - if not chroot(self.installation0, cmd % u): - nfail += 1 - # Errors adding users to groups are not fatal: - if not cmd.startswith('usermod -a -G'): - ok = False - if os.path.isdir('%s/home/%s' % (self.installation0, u)): - runcmd('mv %s/home/%s %s/home' - % (self.installation0, u, self.overlay)) - - if nfail > 0: - errout(_("%d user account operation(s) failed") % nfail, 0) - # Move changed /etc/{group,gshadow,passwd,shadow} to overlay - runcmd('bash -c "mv %s/etc/{group,gshadow,passwd,shadow} %s/etc"' - % (self.installation0, self.overlay)) - # Restore system files in base installation - runcmd('rm -rf %s/etc/skel' % self.installation0) - runcmd('bash -c "cp -a %s/* %s/etc"' - % (savedir, self.installation0)) - return ok - - - def system_check(self): - comment("Testing for necessary packages and kernel modules") - fail = "" - warn = "" - nplist = ["larch-live"] - - mdep = (self.installation0 + - "/lib/modules/%s/modules.dep" % self.kversion) - if Popen(["grep", "/squashfs.ko", mdep], stdout=PIPE, - stderr=STDOUT).wait() != 0: - fail += _("No squashfs module found\n") - - if Popen(["grep", "/aufs.ko", mdep], stdout=PIPE, - stderr=STDOUT).wait() == 0: - self.ufs='_aufs' - nplist.append("aufs2-util") - - elif Popen(["grep", "/unionfs.ko", mdep], stdout=PIPE, - stderr=STDOUT).wait() == 0: - self.ufs='_unionfs' - - else: - fail += _("No aufs or unionfs module found\n") - - for p in nplist: - if not self.haspack(p): - fail += _("Package '%s' is needed by larch systems\n") % p - - if not self.haspack("syslinux"): - warn += _("Without package 'syslinux' you will not be able\n" - "to create syslinux or isolinux booting media\n") - - if (not self.haspack("cdrkit")) and (not self.haspack("cdrtools")): - warn += _("Without package 'cdrkit' (or 'cdrtools') you will\n" - "not be able to create CD/DVD media\n") - - if not self.haspack("eject"): - warn += _("Without package 'eject' you will have problems\n" - "using CD/DVD media\n") - - if warn: - cont = query_yn(_("WARNING:\n%s" - "\n Continue building?") % warn) - else: - cont = True - - if fail: - errout(_("ERROR:\n%s") % fail) - - return cont - - - def haspack(self, package): - """Check whether the given package is installed. - """ - for p in os.listdir(self.installation0 + '/var/lib/pacman/local'): - if p.rsplit("-", 2)[0] == package: - return True - return False - - - def find_kernel(self): - # The uncomfortable length of this function is deceptive, - # most of it is for dealing with errors. - comment("Seeking kernel information") - kscript = "%s/kernel" % self.profile_dir - if os.path.isfile(kscript): - p = Popen([kscript], stdout=PIPE, stderr=STDOUT) - r = p.communicate()[0] - if p.returncode == 0: - self.kname, self.kversion = r.split() - - else: - errout(_("Problem running %s:\n %s") % (kscript, r)) - else: - kernels = glob(self.installation0 + '/boot/vmlinuz*') - if len(kernels) > 1: - errout(_("More than one kernel found:\n %s") % - "\n ".join(kernels)) - elif not kernels: - errout(_("No kernel found")) - self.kname = os.path.basename(kernels[0]) - - self.kversion = None - for kv in os.listdir(self.installation0 + '/lib/modules'): - if os.path.isfile(self.installation0 - + ('/lib/modules/%s/modules.dep' % kv)): - if self.kversion: - errout(_("More than one set of kernel modules in %s") - % (self.installation0 + '/lib/modules')) - self.kversion = kv - else: - kmpath = self.installation0 + ('/lib/modules/%s' % kv) - comment("Unexpected kernel files at %s" % kmpath) - # Try to find packages concerned - p = Popen(["find", ".", "-name", "*.ko"], cwd=kmpath, - stdout=PIPE, stderr=STDOUT) - r = p.communicate()[0] - if p.returncode == 0: - packs = [] - for km in r.split(): - a = chroot(self.installation0, - 'pacman -Qoq /lib/modules/%s/%s' - % (kv, km)) - - if a: - pack = "-".join(a[0].split()) - if pack not in packs: - packs.append(pack) - comment(" Package: %s" % pack) - - else: - comment("Couldn't determine guilty packages") - - if not query_yn(_("WARNING:" - "\n You seem to have installed a package containing modules" - "\nwhich aren't compatible with your kernel (see log)." - "\nPlease check that this won't cause problems." - "\nMaybe you need the corresponding package for your kernel?" - "\n\n Continue building?")): - return False - - if not self.kversion: - errout(_("Couldn't find kernel modules")) - - comment("Kernel: %s - version: %s" % (self.kname, self.kversion)) - chroot(self.installation0, "depmod %s" % self.kversion) - return True - - - def gen_initramfs(self): - # Fix up larch mkinitcpio.conf for unionfs/aufs - conf = self.overlay + "/etc/mkinitcpio.conf.larch" - if os.path.isfile(conf + "0"): - conf0 = conf + "0" - else: - conf0 = self.installation0 + "/etc/mkinitcpio.conf.larch0" - runcmd('bash -c "sed \'s|___aufs___|%s|g\' <%s >%s"' % (self.ufs, conf0, conf)) - - presets = [os.path.basename(f) for f in glob( - self.installation0 + "/etc/mkinitcpio.d/kernel26*.preset")] - if len(presets) != 1: - errout(_("Couldn't find usable mkinitcpio preset: %s") % - self.installation0 + "/etc/mkinitcpio.d/kernel26*.preset") - - # Save original preset file (unless a '*.larchsave' is already present) - idir = self.installation0 + "/etc/mkinitcpio.d" - oldir = self.overlay + "/etc/mkinitcpio.d" - if not os.path.isfile("%s/%s.larchsave" % (idir, presets[0])): - runcmd("mkdir -p %s" % oldir) - runcmd("cp %s/%s %s/%s.larchsave" % - (idir, presets[0], oldir, presets[0])) - - # Adjust larch.preset file for custom kernels - runcmd('bash -c "sed \'s|___|%s|\' <%s/larch.preset0 >%s/larch.preset"' - % (presets[0].rsplit(".", 1)[0], idir, oldir)) - - # Replace 'normal' preset in overlay - runcmd("cp %s/larch.preset %s/%s" % (oldir, oldir, presets[0])) - - # Generate initramfs - return chroot(self.installation0, - "mkinitcpio -k %s -c %s -g %s" % - (self.kversion, - CHROOT_DIR_OVERLAY + "/etc/mkinitcpio.conf.larch", - CHROOT_DIR_MEDIUM + "/boot/larch.img")) - - -def encryptPW(pw): - """Encrypt a password - needed for user account generation. - """ - salt = '$1$' - for i in range(8): - salt += random.choice("./0123456789abcdefghijklmnopqrstuvwxyz" - "ABCDEFGHIJKLMNOPQRSTUVWXYZ") - return crypt.crypt(pw, salt) - - - -if __name__ == "__main__": - start_translator() - - from optparse import OptionParser, OptionGroup - parser = OptionParser(usage=_("usage: %prog [options]")) - - parser.add_option("-p", "--profile", action="store", type="string", - default="", dest="profile", - help=_("Profile: 'user:profile-name' or path to profile directory")) - parser.add_option("-i", "--installation-dir", action="store", type="string", - default="", dest="idir", - help=_("Path to directory to be larchified (default %s)") - % INSTALLATION) - parser.add_option("-s", "--slave", action="store_true", dest="slave", - default=False, help=_("Run as a slave from a controlling program" - " (e.g. from a gui)")) - parser.add_option("-q", "--quiet", action="store_true", dest="quiet", - default=False, help=_("Suppress output messages, except errors" - " (no effect if -s specified)")) - parser.add_option("-o", "--oldsqf", action="store_true", dest="oldsqf", - default=False, help=_("Reuse previously generated system.sqf")) - parser.add_option("-l", "--oldlocales", action="store_true", - dest="oldlocales", default=False, - help=_("Reuse previously generated locales")) - parser.add_option("-f", "--force", action="store_true", dest="force", - default=False, help=_("Don't ask for confirmation")) - - (options, args) = parser.parse_args() -# Should there be arguments? - - if os.getuid() != 0: - print _("This application must be run as root") - sys.exit(1) - init('larchify', options) - builder = Builder(options) - if builder.build(options): - sys.exit(0) - else: - sys.exit(1) diff --git a/build_tools/l7/larch0/cli/live_iso.py b/build_tools/l7/larch0/cli/live_iso.py deleted file mode 100755 index e6899c9..0000000 --- a/build_tools/l7/larch0/cli/live_iso.py +++ /dev/null @@ -1,154 +0,0 @@ -#!/usr/bin/env python -# -# live_iso.py -# -# (c) Copyright 2009 - 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.12 - -# This is a command line script to prepare an 'iso' file from an -# already larchified Arch Linux installation. Alternatively, another -# larch medium can be used as source (with the '-S' option). -# All needed parameters are passed as options. - -import os -from config import * -from backend import * -from media_common import * - - -def build_iso(options): - """Create a bootable iso from the source larch image. If a chroot - build is used (default unless -S is specified) the resulting iso file - will be relative to the larch build area (CHROOT_DIR_BUILD) in the - chroot directory, otherwise as specified to the -o option. - """ - medium = Medium(options) - ipath = medium.chrootpath - build = medium.build - - # Write bootloader configuration file - bootconfig(build, options.syslinux) - - if not os.path.isfile(medium.medium_dir + '/larch/larchboot'): - add_larchboot(build) - - # Need to adjust paths to cater for chroot! - source0 = medium.chroot_medium_dir() - isopath0 = medium.iso_path() - - # Select bootloader - if options.syslinux: - # Get fresh isolinux.bin - runcmd('cp %s/boot/isolinux/isolinux.bin0 %s/boot/isolinux/isolinux.bin' - % (build, build)) - parms = '-b boot/isolinux/isolinux.bin -c boot/isolinux/isolinux.boot' - # Select bootloader - else: - parms = '-b boot/grub/stage2_eltorito' - - # Actually the volume label can be 32 bytes, but 16 is compatible - # with ext2 (though a little longer than vfat) - label = check_label(options.label, 16) - # Build iso - if not chroot(ipath, ('mkisofs -R -l %s -no-emul-boot -boot-load-size 4' - ' -boot-info-table -input-charset=UTF-8' - ' -V "%s"' - ' -o "%s"' - ' -x "%s/boot"' - ' -x "%s/larch/save"' - ' "%s" "%s"') % (parms, label, isopath0, - source0, source0, source0, BUILD0), - filter=mkisofs_filter_gen()): - - errout(_("iso build failed")) - - # Process iso so that it can be 'dd'ed to a USB-stick - if options.syslinux and not chroot(ipath, ('isohybrid %s' % isopath0)): - errout(_("Couldn't perform 'isohybrid' operation on larch 'iso'" - " (Not Critical!)"), 0) - medium.unmount() - runcmd('rm -rf %s' % build) - - comment(" *** %s ***" % (_("%s was successfully created") - % (options.isofile))) - - - -if __name__ == "__main__": - start_translator() - - from optparse import OptionParser, OptionGroup - parser = OptionParser(usage=_("usage: %prog [options]")) - - parser.add_option("-p", "--profile", action="store", type="string", - default="", dest="profile", - help=_("Profile: 'user:profile-name' or path to profile directory" - " (conflicts with -S)")) - parser.add_option("-S", "--source", action="store", type="string", - default="", dest="source", - help=_("Source: path to larch medium image (conflicts with -p)." - " It can also be a device ('/dev/...') or an 'iso' file.")) - parser.add_option("-i", "--installation-dir", action="store", type="string", - default="", dest="idir", - help=_("Path to larchified directory (default %s)") % INSTALLATION) - parser.add_option("-s", "--slave", action="store_true", dest="slave", - default=False, help=_("Run as a slave from a controlling program" - " (e.g. from a gui)")) - parser.add_option("-q", "--quiet", action="store_true", dest="quiet", - default=False, help=_("Suppress output messages, except errors" - " (no effect if -s specified)")) - - parser.add_option("-f", "--force", action="store_true", dest="force", - default=False, help=_("Don't ask for confirmation")) - - parser.add_option("-b", "--isolinux", action="store_true", dest="syslinux", - default=False, help=_("Use the isolinux bootloader" - " (the default is GRUB)")) - parser.add_option("-l", "--label", action="store", type="string", - default=LABEL, dest="label", - help=_("Volume label for iso (default '%s')") % LABEL) - parser.add_option("-o", "--isofile", action="store", type="string", - default=ISOFILE, dest="isofile", - help=_("Specify the output file (default '%s'). It will be" - " generated to the current directory.") % ISOFILE) - parser.add_option("-D", "--setdir", action="store", type="string", - dest='setdir', default='', - help=_("Set current directory," - " so that the 'iso' can be placed there")) - parser.add_option("-C", "--chroot", action="store_true", - dest="chroot", default=False, - help=_("Use chroot for build (default when -S not specified)")) - parser.add_option("-c", "--nochroot", action="store_true", - dest="nochroot", default=False, - help=_("Don't use chroot for build (default when -S specified)")) - - parser.add_option('-T', '--testmedium', action='store_true', - dest='testmedium', default=False, - help=_("Test source medium only (used by gui)")) - - (options, args) = parser.parse_args() - - if os.getuid() != 0: - print _("This application must be run as root") - sys.exit(1) - - init('live_iso', options) - build_iso(options) diff --git a/build_tools/l7/larch0/cli/live_part.py b/build_tools/l7/larch0/cli/live_part.py deleted file mode 100755 index 22af5d3..0000000 --- a/build_tools/l7/larch0/cli/live_part.py +++ /dev/null @@ -1,221 +0,0 @@ -#!/usr/bin/env python -# -# live_part.py -# -# (c) Copyright 2009 - 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.18 - -# This is a command line script to prepare a larch live medium from an -# already larchified Arch Linux installation, or another larch medium. -# Parameters are passed as options and arguments. - -import os -from config import * -from backend import * -from media_common import * - - -def build_partition(options, devicename): - """Install the larchified system to the partition specified by the - options. - 'devicename' is the name (e.g. 'sdb1', without '/dev/') of the - partition to receive the larch image - """ - medium = Medium(options) - ipath = medium.chrootpath - build = medium.build - - # Check and format device - device = '/dev/' + devicename - if not os.path.exists(device): - errout(_("Invalid device: %s") % device) - if options.format: - # label - if options.syslinux: - labellength = 11 - opt = 'n' - else: - labellength = 16 - opt = 'L' - l = ('-%s "%s"' % (opt, check_label(options.label, labellength)) - if options.label else '') - # set partition type, reload partition table, and format - if not (chroot(ipath, 'bash -c "echo -e \',,%s,*\\n\' |' - ' sfdisk --no-reread %s -N%s"' % - ('0c' if options.syslinux else 'L', - device[:8], device[8:]), ['dev']) - and chroot(ipath, 'partprobe %s' % device[:8], ['dev']) - and chroot(ipath, 'mkfs.%s %s %s' % - ('vfat' if options.syslinux else 'ext2', l, device), - ['dev'])): - - errout(_("Couldn't format %s") % device) - - # Need to get the label - if not formatting (an option for experts) - # it is probably not a good idea to change the volume label, so - # use the old one. - label = medium.get_device_label(device) - - # Check device format - ok, lines = runcmd('blkid -c /dev/null -o value -s TYPE %s' % device) - if not ok: - errout(_("Couldn't get format information for %s") % device) - fstype = lines[0] - if options.syslinux: - if fstype != 'vfat': - errout(_("syslinux is only supported on vfat")) - elif not fstype.startswith('ext'): - errout(_("GRUB is at present only supported on extN")) - - # Rename the syslinux boot directory if necessary - if os.path.isdir(build + '/boot/isolinux'): - runcmd('mv %s/boot/isolinux %s/boot/syslinux' % (build, build)) - # Write bootloader configuration file - bootconfig(build, options.syslinux, label, device, options.detection) - - # Mount partition and remove larch and boot dirs - runcmd('rm -rf %s' % MP) - runcmd('mkdir -p %s' % MP) - if not mount(device, MP): - errout(_("Couldn't mount larch partition, %s") % device) - runcmd('rm -rf %s/larch' % MP) - runcmd('rm -rf %s/boot' % MP) - - # Copy files to device - runcmd('cp -r %s/larch %s' % (medium.medium_dir, MP)) - runcmd('cp -r %s/boot %s' % (build, MP)) - medium.unmount() - - # To boot in 'search' mode the file larch/larchboot must be present - # (though at present this is only relevant for partitions, CDs will - # be booted even without this file). - # To enable session saving the file larch/save must be present - # (only relevant if not building an iso). - runcmd('bash -c "rm -f %s/larch/{larchboot,save}"' % MP) - if options.larchboot: - add_larchboot(MP) - - if options.nosave: - if options.save: - errout(_("Option '-a' conflicts with option '-A'")) - ssave = False - else: - ssave = not os.path.isfile(MP + '/larch/nosave') - - if options.save or ssave: - writefile("The presence of the file 'larch/save'" - " enables session saving.\n", MP + '/larch/save') - - # Unmount partition - unmount(MP) - - # Now set up bootloader in MBR - if options.mbr: - if options.syslinux: - runcmd('dd if=%s/boot/syslinux/mbr.bin of=%s' - % (build, device[:8])) - chroot(ipath, 'syslinux %s' % device, ('dev', 'proc')) - else: - script('larch-mbr-grub %s %s' % (ipath if ipath else '/', device)) - runcmd('rm -rf %s' % build) - comment(" *** %s ***" % (_("%s was successfully written") % device)) - - - -if __name__ == '__main__': - start_translator() - - from optparse import OptionParser, OptionGroup - parser = OptionParser(usage=_("usage: %prog [options] partition" - " (e.g. sdb1)")) - - parser.add_option("-p", "--profile", action="store", type="string", - default="", dest="profile", - help=_("Profile: 'user:profile-name' or path to profile directory" - " (conflicts with -S)")) - parser.add_option("-S", "--source", action="store", type="string", - default="", dest="source", - help=_("Source: path to larch medium image (conflicts with -p)." - " It can also be a device ('/dev/...') or an 'iso' file.")) - parser.add_option("-i", "--installation-dir", action="store", type="string", - default="", dest="idir", - help=_("Path to larchified directory (default %s)") % INSTALLATION) - parser.add_option("-s", "--slave", action="store_true", dest="slave", - default=False, help=_("Run as a slave from a controlling program" - " (e.g. from a gui)")) - parser.add_option("-q", "--quiet", action="store_true", dest="quiet", - default=False, help=_("Suppress output messages, except errors" - " (no effect if -s specified)")) - - parser.add_option("-f", "--force", action="store_true", dest="force", - default=False, help=_("Don't ask for confirmation")) - - parser.add_option("-d", "--detect", action="store", type="string", - default="label", dest="detection", - help=(_("Method for boot partition detection: %s (default: label)") - % detection_methods)) - parser.add_option("-b", "--syslinux", action="store_true", dest="syslinux", - default=False, help=_("Use the syslinux bootloader" - " (the default is GRUB)")) - parser.add_option("-l", "--label", action="store", type="string", - default=LABEL, dest="label", - help=_("Volume label for boot partition (default %s)") - % LABEL) - parser.add_option("-n", "--nosearchboot", action="store_false", - dest="larchboot", default=True, - help=_("Don't generate 'larch/larchboot' file")) - parser.add_option("-a", "--save", action="store_true", - dest="save", default=False, - help=_("Override profile larch/nosave" - " (force enable session saving) - conflicts with '-A'")) - parser.add_option("-A", "--nosave", action="store_true", - dest="nosave", default=False, - help=_("Force disabling of session saving - conflicts with '-a'")) - parser.add_option("-x", "--noformat", action="store_false", - dest="format", default=True, - help=_("Don't format partition (only for experts!)")) - parser.add_option("-m", "--noboot", action="store_false", - dest="mbr", default=True, - help=_("Don't install the bootloader (to the MBR)")) - parser.add_option("-C", "--chroot", action="store_true", - dest="chroot", default=False, - help=_("Use chroot for build (default when -S not specified)")) - parser.add_option("-c", "--nochroot", action="store_true", - dest="nochroot", default=False, - help=_("Don't use chroot for build (default when -S specified)")) - - (options, args) = parser.parse_args() - - # To avoid error messages - options.testmedium = False - options.setdir = '' - - if not args: - print _("You must specify the partition to receive larch\n") - parser.print_help() - sys.exit(1) - - if os.getuid() != 0: - print _("This application must be run as root") - sys.exit(1) - - init('live_part', options) - build_partition(options, devicename=args[0]) diff --git a/build_tools/l7/larch0/cli/media_common.py b/build_tools/l7/larch0/cli/media_common.py deleted file mode 100644 index b39e67d..0000000 --- a/build_tools/l7/larch0/cli/media_common.py +++ /dev/null @@ -1,450 +0,0 @@ -#!/usr/bin/env python -# -# media_common.py -# -# (c) Copyright 2009 - 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.14 - -"""This code is used by both iso generator and partition creator modules. -The larch medium creation stage first uses the Medium class to prepare the -bootloader directories. build_iso and build_partition can also be used to -rebuild media starting from existing larch media, e.g. for conversions from -CD to usb-stick and vice-versa. Even a switch of bootloader is possible as -the bootloader configs for both GRUB and syslinux/isolinux are normally -included on the medium. -If not using a larch installation directory, the bootloader and/or mkisofs -must be supported by the host (according to medium and bootloader). -""" - -import os -from config import * -from backend import * - -class Medium: - """This class represents a boot medium image. - It checks the options for conflicts. - If necessary (no -S option provided on the command line) it - converts a larchified system to a boot medium image, by preparing - the bootloader directories and adding customization stuff - from the profile, but it does not write to any medium. - """ - def __init__(self, options): - self.options = options - if options.setdir: - try: - wd = os.path.realpath(options.setdir) - os.chdir(wd) - except: - errout(_("Couldn't switch directory to '%s'") % wd) - self.iso = False - self.installation_dir = get_installation_dir() - self.installation0 = (self.installation_dir - if self.installation_dir != '/' else '') - - # Check options - if options.chroot and options.nochroot: - errout(_("Option -C conflicts with -c")) - - if options.source: - # Using a specified source image - if options.profile: - errout(_("Option -S conflicts with -p")) - - # Use chroot? - self.chrootpath = self.installation0 if options.chroot else '' - - else: - # Using the larch build system - - # Use chroot? - self.chrootpath = '' if options.nochroot else self.installation0 - - # Mount point for source, if necessary - self.mps = self.chrootpath + SOURCEMOUNT - runcmd('rm -rf %s' % self.mps) - runcmd('mkdir -p %s' % self.mps) - - # Create a temporary work area - self.build = self.chrootpath + BUILD0 - runcmd('rm -rf %s' % self.build) - runcmd('mkdir -p %s' % self.build) - - if options.source: - # Location of medium - self.medium_dir = self._get_source(options.source, - options.syslinux, self.chrootpath, test=options.testmedium) - - else: - # Location for the live medium image - self.medium_dir = self.installation0 + CHROOT_DIR_MEDIUM - self._check_larchimage(self.medium_dir) - self.profile_dir = get_profile() - - self._bootdir(options.syslinux) - self._customizelarchdir() - - # The boot directory needs to be outside of the medium directory - # for some of the next steps - runcmd('cp -a %s/boot %s' % (self.medium_dir, self.build)) - - - def unmount(self): - if self.medium_dir == self.mps: - unmount(self.mps) - - if self.iso: - if self.chrootpath: - unmount(self.chrootpath + ISOBUILDMNT) - # Change owner of iso to match current directory - cwdstat = os.stat(os.getcwd()) - os.lchown(self.iso, cwdstat.st_uid, cwdstat.st_gid) - - - def get_device_label(self, device): - l = runcmd('blkid -c /dev/null -o value -s LABEL %s' - % device)[1][0] - if self.options.detection not in detection_methods.split('|'): - errout(_("Invalid detection method (-d option)")) - return l - - - def chroot_medium_dir(self): - """Get the medium path relative within the (possible) chroot. - """ - return self.medium_dir[len(self.chrootpath):] - - - def iso_path(self): - """If building an iso within a chroot the build directory must - be bind-mounted into the accessible area. - """ - self.iso = self.options.isofile.replace('/', '_') - basedir = os.getcwd() - if self.chrootpath: - runcmd('mkdir -p %s' % (self.chrootpath + ISOBUILDMNT)) - if not mount(basedir, self.chrootpath + ISOBUILDMNT, '--bind'): - errout(_("Couldn't bind-mount current directory")) - basedir = ISOBUILDMNT - return os.path.join(basedir, self.iso) - - - def _check_larchimage(self, mediumdir): - testfile = mediumdir + '/larch/system.sqf' - if not os.path.isfile(testfile): - errout(_("File '%s' doesn't exist, '%s' is not a larch medium") - % (testfile, mediumdir)) - - - def _get_source(self, source, syslinux, ipath='', test=False): - source = os.path.realpath(source) - testcode = 64 if test else 0 # For various tests, below - - # Is source an iso? - if os.path.isfile(source): - # Mount it - if mount(source, self.mps, '-o loop'): - source = self.mps - else: - errout(_("Couldn't mount '%s'. Not an iso?") % source) - - # Is source a device? - elif source.startswith('/dev/'): - mp = _get_mountpoint(source) - if mp: - source = mp - elif mount(source, self.mps): - source = self.mps - else: - errout(_("Couldn't mount '%s'") % source) - - # Simple check that it is really a larch image - self._check_larchimage(source) - - # Check bootloader support - if not (os.path.isdir(source + '/boot/isolinux') - or os.path.isdir(source + '/boot/syslinux')): - if test or syslinux: - errout(_("Source doesn't support syslinux"), 0) - testcode += 8 - if not os.path.isdir(source + '/boot/grub'): - if test or not syslinux: - errout(_("Source doesn't support GRUB"), 0) - testcode += 16 - - if testcode: - if os.path.isfile(source + 'larch/nosave'): - testcode += 2 - - unmount() - sys.exit(testcode) - return None - - # Is source within the chroot directory? - if ipath and not source.startswith(ipath + '/'): - if mount(source, self.mps, '--bind'): - source = self.mps - else: - errout(_("Couldn't bind-mount '%s'") % source) - - # Copy boot files - runcmd('cp -a %s/boot %s' % (source, self.build)) - - # Remove old config files - runcmd('rm -f %s/boot/syslinux/syslinux.cfg' % self.build) - runcmd('rm -f %s/boot/isolinux/isolinux.cfg' % self.build) - runcmd('rm -f %s/boot/grub/menu.lst' % self.build) - runcmd('rm -f %s/boot/isolinux/isolinux.bin' % self.build) - runcmd('rm -f %s/boot/isolinux/isolinux.boot' % self.build) - - # Rename the syslinux boot directory if necessary - if os.path.isdir(self.build + '/boot/syslinux'): - runcmd('mv %s/boot/syslinux %s/boot/isolinux' - % (self.build, self.build)) - - return source - - - def _bootdir(self, syslinux): - """Prepare boot directories for the various bootloaders. The - bootloader configuration files are not generated yet, as these - depend on the medium. - """ - comment("Fetch kernel and initramfs") - if not runcmd('cp -r %s/boot %s' % (self.medium_dir, self.build))[0]: - errout(_("No kernel and/or initramfs")) - - comment("Preparing bootloader directories") - # Only include the directories if the corresponding bootloader - # package ('grub' and/or 'syslinux') is installed - grub = os.path.isfile(self.installation0 + GRUBDIR - + '/stage2_eltorito') - isolinux = os.path.isfile(self.installation0 + SYSLINUXDIR - + '/isolinux.bin') - # Check bootloader support - if syslinux: - if not isolinux: - errout(_("Installation doesn't support syslinux")) - elif not grub: - errout(_("Installation doesn't support GRUB")) - - # Bootloader independent files are provided in larch at - # cd-root/boot0. The contents of this directory are placed in the - # medium's 'boot' directory. - # Individual files can be added or substituted by - # supplying them in the profile at cd-root/boot. - # It is also possible to completely replace the basic boot directory - # by having cd-root/boot0 in the profile - then the default - # larch version will not be used. - source0 = '%s/cd-root/boot0' % self.profile_dir - if not os.path.isdir(source0): - source0 = '%s/cd-root/boot0' % base_dir - runcmd('bash -c "cp -r %s/* %s/boot"' % (source0, self.build)) - # Copy any additional profile stuff - psource = '%s/cd-root/boot' % self.profile_dir - if os.path.isdir(psource): - runcmd('cp -rf %s/* %s' % (psource, self.build)) - # Get the boot options file - bootlines = self.profile_dir + '/bootlines' - if not os.path.isfile(bootlines): - bootlines = base_dir + '/data/bootlines' - runcmd('cp -f %s %s/boot' % (bootlines, self.build)) - - # The idea is that a basic boot directory for each boot-loader is - # provided in larch at cd-root/{grub0,isolinux0}. These are copied - # to the medium as 'boot/grub' and 'boot/isolinux'. Individual files - # can be added or substituted by supplying them in the profile at - # cd-root/{grub,isolinux}. - # It is also possible to completely replace the basic boot directory - # by having cd-root/{grub0,isolinux0} in the profile - then the default - # larch versions will not be used. - for ok, boot_dir in ((grub, 'grub'), (isolinux, 'isolinux')): - if ok: - # Copy bootloader specific stuff - source0 = '%s/cd-root/%s0' % (self.profile_dir, boot_dir) - if not os.path.isdir(source0): - source0 = '%s/cd-root/%s0' % (base_dir, boot_dir) - runcmd('cp -rf %s %s/boot/%s' - % (source0, self.build, boot_dir)) - - # Copy any additional profile stuff - psource = '%s/cd-root/%s' % (self.profile_dir, boot_dir) - if os.path.isdir(psource): - runcmd('cp -rf %s %s/boot' - % (psource, self.build)) - - # Copy the grub boot files to the medium's grub directory - # and rename base config file - if grub: - runcmd('bash -c "cp %s/* %s/boot/grub"' % - (self.installation0 + GRUBDIR, self.build)) - runcmd('mv %s/boot/grub/menu.lst %s/boot/grub/menu.lst_0' - % (self.build, self.build)) - - # Copy mbr.bin, vesamenu.c32 and isolinux.bin (renamed) - # to the boot directory and rename base config file - if isolinux: - runcmd('cp %s/mbr.bin %s/boot/isolinux' % - (self.installation0 + SYSLINUXDIR, self.build)) - runcmd('cp %s/vesamenu.c32 %s/boot/isolinux' % - (self.installation0 + SYSLINUXDIR, self.build)) - runcmd('cp %s/isolinux.bin %s/boot/isolinux/isolinux.bin0' % - (self.installation0 + SYSLINUXDIR, self.build)) - runcmd(('mv %s/boot/isolinux/isolinux.cfg' - ' %s/boot/isolinux/isolinux.cfg_0') - % (self.build, self.build)) - - - def _customizelarchdir(self): - # Replace any existing larch/copy directory - runcmd('rm -rf %s/larch/copy' % self.medium_dir) - if os.path.isdir(self.profile_dir + '/cd-root/larch/copy'): - runcmd('cp -r %s/cd-root/larch/copy %s/larch' % - (self.profile_dir, self.medium_dir)) - - # Replace any existing larch/extra directory - runcmd('rm -rf %s/larch/extra' % self.medium_dir) - if os.path.isdir(self.profile_dir + '/cd-root/larch/extra'): - runcmd('cp -r %s/cd-root/larch/extra %s/larch' % - (self.profile_dir, self.medium_dir)) - - # Handle existence of larch/nosave - runcmd('rm -f %s/larch/nosave' % self.medium_dir) - if os.path.isfile(self.profile_dir + '/nosave'): - runcmd('cp %s/nosave %s/larch' % - (self.profile_dir, self.medium_dir)) - - - -def _get_mountpoint(path): - ok, lines = runcmd('cat /etc/mtab') - for l in lines: - ll = l.split() - if (len(ll) > 4) and (ll[1] == path): - return ll[0] - return '' - - -def check_label(l, n): - if isinstance(l, unicode): - l = l.encode('utf8') - if len(l) > n: - if query_yn(_("The volume label is too long. Use the default (%s)?") - % LABEL): - return LABEL - else: - errout(_("Cancelled")) - return l - - -def add_larchboot(idir): - writefile("The presence of the file 'larch/larchboot' enables\n" - "booting the device in 'search' mode.\n", idir + '/larch/larchboot') - - -def bootconfig(medium, syslinux, label='', device='', detection=''): - """Convert and complete the bootlines file. - """ - # - add boot partition to options - if detection == 'uuid': - bootp = ('uuid=' + - runcmd('blkid -c /dev/null -o value -s UUID %s' - % device)[1][0].strip()) - elif detection == 'label': - if not label: - errout(_("Can't boot to label - device has no label")) - bootp = 'label=' + label - elif detection == 'partition': - bootp = 'root=' + device - else: - bootp = '' - - # - convert bootfiles to the correct format, - # inserting necessary info - bootconf = medium + '/boot/bootlines' - if not os.path.isfile(bootconf): - errout(_("Boot configuration file '%s' not found") % bootconf) - fhi = open(bootconf) - insert = '' - i = 0 - block = '' - title = '' - opts = '' - for line in fhi: - line = line.strip() - if not line: - if title: - i += 1 - # A block is ready - - if syslinux: - # isolinux/syslinux - block += 'label %02d\n' % i - block += 'MENU LABEL %s\n' % title - block += 'kernel /boot/larch.kernel\n' - block += ('append initrd=/boot/larch.img %s %s\n' - % (bootp, opts)) - - else: - # GRUB - block += 'title %s\n' % title - block += ('kernel /boot/larch.kernel %s %s\n' - % (bootp, opts)) - block += 'initrd /boot/larch.img\n' - - if i > 1: - insert += '\n' - insert += block - block = '' - title = '' - opts = '' - - elif line.startswith('comment:'): - block += '#%s\n' % (line.split(':', 1)[1]) - - elif line.startswith('title:'): - title = line.split(':', 1)[1].lstrip() - - elif line.startswith('options:'): - opts = line.split(':', 1)[1].lstrip() - fhi.close() - - # - insert the resulting string into the bootloader config file - if syslinux: - boot_dir = ('isolinux' if os.path.isdir(medium + '/boot/isolinux') - else 'syslinux') - configfile0 = 'isolinux.cfg_0' - configfile = boot_dir + '.cfg' - else: - boot_dir = 'grub' - configfile0 = 'menu.lst_0' - configfile = 'menu.lst' - configpath = '%s/boot/%s/%s' % (medium, boot_dir, configfile0) - if not os.path.isfile(configpath): - errout(_("Base configuration file (%s) not found") % configpath) - fhi = open(configpath) - fho = open('%s/boot/%s/%s' % (medium, boot_dir, configfile), 'w') - for line in fhi: - if line.startswith("###LARCH"): - fho.write(insert) - else: - fho.write(line) - fhi.close() - fho.close() diff --git a/build_tools/l7/larch0/cli/test.py b/build_tools/l7/larch0/cli/test.py deleted file mode 100755 index 18e8067..0000000 --- a/build_tools/l7/larch0/cli/test.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python -# -# This is a little script for testing the dispatcher and termination of -# subprocesses. It spawns several levels of itself, each instance just -# outputs an incrementing count until it is terminated. - -import sys, os, time, signal - -try: - import json as serialize -except: - import simplejson as serialize - -def out(text): - sys.stdout.write(serialize.dumps(text) + '\n') - sys.stdout.flush() - -def sigint(num, frame): - """A handler for SIGINT. Tidy up properly and quit. - """ - out("!>INTERRUPTED %d" % level) - exit(1) -signal.signal(signal.SIGINT, sigint) - -level = 3 -while level > 0: - if os.fork(): - break - time.sleep(1) - level -= 1 - -sys.stderr.write('%d: pid=%d ppid=%d pgrp=%d\n' % (level, - os.getpid(), os.getppid(), os.getpgrp())) -sys.stderr.flush() -time.sleep(5) - -n = 0 -while True: - n += 1 - out('--%d: %04d' % (level, n)) - time.sleep(4) - diff --git a/build_tools/l7/larch0/cli/userinfo.py b/build_tools/l7/larch0/cli/userinfo.py deleted file mode 100644 index f2045aa..0000000 --- a/build_tools/l7/larch0/cli/userinfo.py +++ /dev/null @@ -1,93 +0,0 @@ -# userinfo.py -# -# (c) Copyright 2009-2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.11 - -import os -from ConfigParser import SafeConfigParser - -# Default list of 'additional' groups for a new user -BASEGROUPS = 'video,audio,optical,storage,scanner,power,camera' - -class Userinfo: - def __init__(self, profile): - self.profile_dir = profile - - def getusers(self): - """Read user information by means of a SafeConfigParser instance. - This is then available as self.userconf. - """ - self.userconf = SafeConfigParser({'pw':'', 'maingroup':'', 'uid':'', - 'skel':'', 'xgroups':BASEGROUPS, 'expert':''}) - users = self.profile_dir + '/users' - if os.path.isfile(users): - try: - self.userconf.read(users) - except: - error0(_("Invalid 'users' file")) - - def allusers(self): - self.getusers() - return self.userconf.sections() - - def get(self, user, field): - return self.userconf.get(user, field) - - def userinfo(self, user, fields): - """Get an ordered list of the given field data for the given user. - """ - return [self.userconf.get(user, f) for f in fields] - - def userset(self, uname, field, text): - self.userconf.set(uname, field, text) - - def newuser(self, user): - try: - self.userconf.add_section(user) - return self.saveusers() - except: - error0(_("Couldn't add user '%s'") % user) - return False - - def deluser(self, user): - try: - self.userconf.remove_section(user) - return self.saveusers() - except: - error0(_("Couldn't remove user '%s'") % user) - return False - - def saveusers(self): - """Save the user configuration data (in 'INI' format) - """ - try: - fh = None - fh = open(self.profile_dir + '/users', 'w') - self.userconf.write(fh) - fh.close() - return True - except: - if fh: - fh.close() - error0(_("Couldn't save 'users' file")) - self.getusers() - return False - diff --git a/build_tools/l7/larch0/data/bootlines b/build_tools/l7/larch0/data/bootlines deleted file mode 100644 index 2191858..0000000 --- a/build_tools/l7/larch0/data/bootlines +++ /dev/null @@ -1,20 +0,0 @@ -# The information here will be adapted for the bootloader and inserted into its configuration -# file at the place marked '###LARCH' -# This header will be removed. -# Each block must have an empty line before and after it. -# There may be no empty lines within a block. - -comment: -title: Default: no swap, no copy-to-ram -options: - -comment: I probably don't want this bootline -comment: ... because copy-to-ram is mostly not so useful. -title: larch copy-to-ram (also activates swap) -options: c2r - -comment: -title: larch with swap -options: swap - -# END OF FILE diff --git a/build_tools/l7/larch0/data/locales b/build_tools/l7/larch0/data/locales deleted file mode 100644 index 750f5f3..0000000 --- a/build_tools/l7/larch0/data/locales +++ /dev/null @@ -1,7 +0,0 @@ -# locales for larch (/etc/locale.gen) -### THIS IS JUST AN EXAMPLE - YOU WILL PROBABLY WANT TO PLACE -### YOUR OWN VERSION IN THE PROFILE - -en_US.UTF-8 UTF-8 -en_GB.UTF-8 UTF-8 -de_DE.UTF-8 UTF-8 diff --git a/build_tools/l7/larch0/data/pacman.conf b/build_tools/l7/larch0/data/pacman.conf deleted file mode 100644 index ea236ab..0000000 --- a/build_tools/l7/larch0/data/pacman.conf +++ /dev/null @@ -1,84 +0,0 @@ -# -# /etc/pacman.conf -# -# See the pacman.conf(5) manpage for option and repository directives - -# -# GENERAL OPTIONS -# -[options] -# The following paths are commented out with their default values listed. -# If you wish to use different paths, uncomment and update the paths. -#RootDir = / -#DBPath = /var/lib/pacman/ -#CacheDir = /var/cache/pacman/pkg/ -#LogFile = /var/log/pacman.log -HoldPkg = pacman glibc -# If upgrades are available for these packages they will be asked for first -SyncFirst = pacman -#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u -#XferCommand = /usr/bin/curl -C - %u > %o -#CleanMethod = KeepInstalled -#Architecture = auto - -# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup -#IgnorePkg = -#IgnoreGroup = - -#NoUpgrade = -#NoExtract = - -# Misc options (all disabled by default) -#UseSyslog -#ShowSize -#UseDelta -#TotalDownload - -# -# REPOSITORIES -# - can be defined here or included from another file -# - pacman will search repositories in the order defined here -# - local/custom mirrors can be added here or in separate files -# - repositories listed first will take precedence when packages -# have identical names, regardless of version number -# - URLs will have $repo replaced by the name of the current repo -# - URLs will have $arch replaced by the name of the architecture -# -# Repository entries are of the format: -# [repo-name] -# Server = ServerName -# Include = IncludePath -# -# The header [repo-name] is crucial - it must be present and -# uncommented to enable the repo. -# - -# The testing repositories are disabled by default. To enable, uncomment the -# repo name header and Include lines. You can add preferred servers immediately -# after the header, and they will be used before the default mirrors. - -#[testing] -## Add your preferred servers here, they will be used first -#Include = /etc/pacman.d/mirrorlist - -[core] -# Add your preferred servers here, they will be used first -Include = /etc/pacman.d/mirrorlist - -[extra] -# Add your preferred servers here, they will be used first -Include = /etc/pacman.d/mirrorlist - -#[community-testing] -## Add your preferred servers here, they will be used first -#Include = /etc/pacman.d/mirrorlist - -[community] -# Add your preferred servers here, they will be used first -Include = /etc/pacman.d/mirrorlist - -# An example of a custom package repository. See the pacman manpage for -# tips on creating your own repositories. -#[custom] -#Server = file:///home/custompkgs - diff --git a/build_tools/l7/larch0/data/pacman.conf.repos b/build_tools/l7/larch0/data/pacman.conf.repos deleted file mode 100644 index 16628e2..0000000 --- a/build_tools/l7/larch0/data/pacman.conf.repos +++ /dev/null @@ -1,14 +0,0 @@ -# Package repository entries for pacman.conf -# '*platform*' will be replaced by 'i686' or 'x86_64' as appropriate. -# '*default*' will normally be replaced by 'Include = /etc/pacman.d/mirrorlist' -# (but for the installation: a 'mirrorlist' file in the working directory will -# be preferred, or - if neither exists - then 'data/mirrorlist') - - -# You can add your own custom repositories (anywhere). - -larch: Server = ftp://ftp.berlios.de/pub/larch/larch7.2/*platform* -#testing: *default* -core: *default* -extra: *default* -community: *default* diff --git a/build_tools/l7/larch0/data/requiredpacks b/build_tools/l7/larch0/data/requiredpacks deleted file mode 100644 index 0ca0a37..0000000 --- a/build_tools/l7/larch0/data/requiredpacks +++ /dev/null @@ -1,32 +0,0 @@ -## The packages (and groups) in this file will always be -## included in the larch installation. -## Packages (including those in groups marked with '*') entered -## here can still be vetoed in the profile's vetopacks file - -## Without the base group it won't be much of a system! -*base - -## Either aufs or unionfs must be included (but unionfs probably -## won't work as it hasn't been tested for so long). -aufs2 -aufs2-util - -## larch-live provides essential components of the larch system -larch-live - -## To make a system with the syslinux/isolinux bootloader -syslinux -mtools - -## To build an iso, cdrkit or cdrtools must be included -cdrkit -## To eject a cd -eject - -## For disk partitioning, formatting and labelling -dosfstools -parted - -## For the documentation and the possibility of making more larch media -larch - diff --git a/build_tools/l7/larch0/docs/BUGS_TODO b/build_tools/l7/larch0/docs/BUGS_TODO deleted file mode 100644 index f4f3502..0000000 --- a/build_tools/l7/larch0/docs/BUGS_TODO +++ /dev/null @@ -1,52 +0,0 @@ -* larchin - only basic features exist, with no documentation. - - -Changes 7.1 - 7.2 - -* Completely reworked the command-line interface (and consequently all - the other code, too). Threading replaced to a large extent by separate - processes. The GUI is now just a front end to the command-line tools. - -*! Changed handling of pacman.conf. Now there is pacman.conf.repos - instead of pacman.conf.larch, I hope it will be a bit easier to - understand what happens when using a special version for installation. - -* 'include' facility in package files: '+' + relative or absolute path - -* Required/suggested packages included by default (data/requiredpacks) - - they can be excluded by putting them in the veto file. The whole - file can be overridden in addedpacks by starting it with '!!!'. - -* Include directive ('+' + absolute or relative path to file) in - package files. - -* Boot loader configs for GRUB and syslinux included in the image, plus - bootlines file, to ease transfer of built image to alternative medium. - vesamenu.c32 is no longer supplied with larch, it is fetched from the - Arch installation (syslinux). - -* A command line option to live_part.py is available to override the - profile's 'nosave' file, but this is always copied to the medium - ('larch/nosave') - if it is present - to indicate the profile's - 'intention'. - -* A file 'nosshkeys' in the profile suppresses generation of the host - sshkeys (if openssh is installed - if not they wouldn't have been - generated anyway). Previously this was only selectable as a direct - build option (not stored anywhere). - -* The root password can be supplied in the profile, in the file 'rootpw'. - Previously this was not easily settable. - -* Changed some options to mkisofs, generally to make it more similar to - the partition builder (no -publisher, use -V instead of -A so - that the name gets shown in file managers, -R instead of -r). - -* When building an isolinux image, the 'isohybrid' script is called, so - that the resulting 'iso' can be 'dd'ed to a USB-stick (see the isolinux - documentation). This does not make the USB-stick session-save capable - as the file-system it creates is not suitable, but it might be a - useful distribution feature. - -* Added ability to save and reuse generated locales, in a way similar - to the saving of system.sqf. diff --git a/build_tools/l7/larch0/docs/COPYING b/build_tools/l7/larch0/docs/COPYING deleted file mode 100644 index d511905..0000000 --- a/build_tools/l7/larch0/docs/COPYING +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/build_tools/l7/larch0/docs/LICENCE b/build_tools/l7/larch0/docs/LICENCE deleted file mode 100644 index 9cd1e0c..0000000 --- a/build_tools/l7/larch0/docs/LICENCE +++ /dev/null @@ -1,16 +0,0 @@ - - Licence: - - This software is released under the GNU GENERAL PUBLIC LICENSE. - See COPYING. - - Warranty: - - This software is distributed with NO WARRANTY, use it at your own risk. - - Author: - - This software was written by - - Michael Towers (larch42 at googlemail dot com) -
\ No newline at end of file diff --git a/build_tools/l7/larch0/docs/README b/build_tools/l7/larch0/docs/README deleted file mode 100644 index a942df0..0000000 --- a/build_tools/l7/larch0/docs/README +++ /dev/null @@ -1,23 +0,0 @@ -larch -===== - -Author: Michael Towers (larch42 at googlemail dot com) -Licence: GPL (see COPYING, LICENCE) - -larch is essentially a collection of python scripts for building live -Arch Linux media, there is also a gui which uses the scripts as a backend. - -The command-line scripts are in the 'cli' directory, the gui code is in the -'gui' directory. - -There is quite extensive documentation in the docs directory, please read it. -docs/html/larch_quick.html gives basic set-up instructions. - -You need at least python (tested with 2.6), with the pexpect module, -and pyqt (tested with 4.7) for the gui. - -Logos are derived from the Arch Linux logos, and are released under a -Creative Commons Licence, see 'http://www.archlinux.org/art'. - -The larch project uses Arch Linux as its basis, but is not an official -Arch Linux ('http://www.archlinux.org') project. diff --git a/build_tools/l7/larch0/docs/html/archin.html b/build_tools/l7/larch0/docs/html/archin.html deleted file mode 100644 index 7673270..0000000 --- a/build_tools/l7/larch0/docs/html/archin.html +++ /dev/null @@ -1,241 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>Installation of the base Arch system</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="larchify.html"><h6>Next:</h6> - <div class="indent1">Building the live system</div></a></li> - <li><a href="larch_quick.html"><h6>Previous:</h6> - <div class="indent1">Quick Start</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="1">Installation of the base <em>Arch</em> system</h2> - -<p>The <em>larch live</em> system will normally be built from a fresh -(unmodified, unconfigured) <em>Arch</em> installation. The Installation stage, -based on the 'larch-archin' command, handles the creation of this installation -by downloading all the desired packages (if they are not already in the host's -package cache) and installing them to an empty directory (by default -'/home/larchbuild'). -</p> - -<p>Other approaches are possible, such as using an already existing system -or building a fresh installation in some other way. In that case you can skip -this page. -</p> - -<p>By default the package cache on the build host will be used, so that only -packages which have not already been downloaded will be fetched from the -chosen mirror. But it is possible to select another cache location, which -can also be on a remote machine, mounted using <em>sshfs</em> or <em>NFS</em>. -</p> - -<p>This raw installation will not normally be modified by <em>larch</em>, -so it can be reused, or even carefully experimented with. However, note -that any changes you make to this installation manually will not be -reflected in the profile, so it might be difficult to reproduce what you -have done at a later time, or to revert the changes. -If you want to configure your system, then the raw installation is probably -not the best place for it, consider rather using the 'rootoverlay' directory -in the profile. All files in this directory will 'overwrite' (well, 'overlay', -actually) corresponding files in the base installation, by placing them -in a higher layer in the <em>aufs</em> mount in the <em>live</em> system. -This makes it very easy to collect your own customizations in a way that -can be applied quickly to a future build. -</p> - -<p>See <a href="gui_installation.html">GUI Tab: Installation</a> for -details of the GUI for this process. -</p> - -<h3><a name="pacman_conf"></a>'pacman.conf' and 'mirrorlist'</h3> - -<p>To make it a little easier to manage upstream changes to the default -'pacman.conf', a separate file ('pacman.conf.repos') is used to specify -the repositories to use (the bit in 'pacman.conf' after the options). -There is a default version of this file in the <em>larch</em> package -at 'data/pacman.conf.repos', and for most simple installations this is -probably adequate, but if you need to change it you can place your own -version in the profile. -</p> -<p>Note that this file does not use the standard format, but -packs repository name and "server line" together on one line, separated -by ':'. There is no way to supply more than one "server line". There -are a couple of special 'codes', which <em>archin</em> will convert: - <ul> - <li>'*platform*' will be converted to 'i686' or 'x86_64' as - appropriate (according to the host).</li> - <li>'*default*' will be converted to the standard 'Include' entry. - This is normally 'Include = /etc/pacman.d/mirrorlist', but for - installation (only) this will be overridden if there is a 'mirrorlist' - file in the working directory - if neither exists, the fallback is - 'data/mirrorlist' within the <em>larch</em> base directory. - This latter file is not supplied in the 'larch' package, - as it is not intended for use on <em>Arch</em> - systems. When the 'larch-setup' script detects that no 'pacman' - command is available, it downloads the 'pacman-allin' package - and among the things that gets extracted from it is this - 'mirrorlist' file. - </li> - </ul> -Here is an example of a 'pacman.conf.repos' file: -</p> -<pre> -# Package repository entries for pacman.conf -# '*platform*' will be replaced by 'i686' or 'x86_64' as appropriate. -# '*default*' will be replaced by 'Include = /etc/pacman.d/mirrorlist' -# (but for the installation: a 'mirrorlist' file in the working directory will -# be preferred, or - if neither exists - then 'data/mirrorlist') - -# You can add your own custom repositories (anywhere). - -larch: Server = ftp://ftp.berlios.de/pub/larch/larch7.2/*platform* -#testing: *default* -core: *default* -extra: *default* -community: *default* -</pre> - -<p>The top part of the complete 'pacman.conf' (the options) is taken from -a normal default 'pacman.conf' supplied in the 'larch' package at -'data/pacman.conf'. -You can override this by placing your own version in the profile, as -'pacman.conf.options' (note that any repositories you might specify in -this file will be ignored). A further option is to specify a version of -the file 'pacman.conf.repos' to be used only for the installation (not -for the resulting <em>live</em> system. This is especially useful if -you have a local package repository/mirror. -</p> -<p>The complete 'pacman.conf' file is generated by combining the header -part and the repository part and is saved to a temporary location for -the installation. After the installation is complete a final version of -this file (that for the <em>live</em> system) is placed at -the standard location within the installation, '/etc/pacman.conf'. Note -that it is not placed in the overlay, but - as an exception to the rule - -directly within the installation. -</p> - -<h4>Usage example: The 'dummy' mirror</h4> -<p>During testing I found it useful to work with stable repositories. -I did this without creating a proper local mirror, but by creating a sort -of 'dummy' mirror containing only the ****.db.tar.gz files, relying on -the cache to supply the actual package files. -(The script 'repos.sh' supplied with <em>larch</em> in the -'scripts' directory can build these 'db' files from the current state of -the pacman sync database on the host.) -</p> - -<p>If you are running the commands on the console you can pass the path -to a customized repository list file with the '-r' option. Remeber this -file must be constructed as detailed above. -</p> - -<h3><a name="Custom_packages"></a>Custom packages</h3> - -<p>It is possible to include your own 'custom' packages in the installation. -Maybe ones you have compiled yourself, e.g. from the AUR, or modified versions -(fixes or customizations) of standard packages. To do this you need to put -your packages in a directory and run <strong>gen-repo</strong>, supplied with -<em>larch</em> in the 'scripts' directory, on this directory (run it without -arguments to get usage instructions). Then place an entry for this new -repository in your 'pacman.conf.repos'. -If your packages replace some in the existing repositories, your custom -repository needs to come before those repositories in 'pacman.conf.repos'. -Any packages you want installed now just need to be -listed in <strong>addedpacks</strong>. -</p> - - -<h3><a name="package_selection"></a>Selection of packages to be installed</h3> - -<p>The (compulsory) profile file 'addedpacks' contains a -list of packages -(just the package names, as supplied to 'pacman -S') to be installed, -one package name per line (empty lines and lines starting -with '#' are ignored). Also names of package groups may be included in this -file, to request installation of the whole group. If a group name is preceded -by '*', individual packages belonging to the group can be excluded via the -'vetopacks' file (see below) - without the '*' this exclusion -is not possible. It is also possible to -'include' other files by means of lines starting with '+' - this may be -followed by the absolute or relative path to the file to be included. -Package dependencies are handled by <em>pacman</em> automatically. -</p> -<p>The (optional) profile file 'vetopacks' allows packages to -be excluded from the installation list. This can be useful if individual -packages from a group should be excluded. However, note that inclusion of a -package in this file does not guarantee that it will not be installed - the -package is only removed from the installation list. If it is required by -another package it will be installed anyway. It is also possible to -'include' other files in the veto list using '+' lines. -</p> -<p>Certain 'required' and 'suggested' packages are included by -default, these are in the file 'data/requiredpacks' in the 'larch' package. -This file should generally not be edited, because an update of the 'larch' -package will overwrite any changes. Packages listed in this file can be -excluded by listing them in the profile 'vetopacks' file. -The whole file can be overridden in 'addedpacks' by -starting that with '!!!'. But only do that if you really know what you -are doing. -</p> - -</div> - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/css/larchdocs.css b/build_tools/l7/larch0/docs/html/css/larchdocs.css deleted file mode 100644 index cc8e6b7..0000000 --- a/build_tools/l7/larch0/docs/html/css/larchdocs.css +++ /dev/null @@ -1,13 +0,0 @@ -@charset "UTF-8";
-
-/* import core styles | Basis-Stylesheets einbinden */
-@import url(yaml/core/base.css);
-@import url(yaml/screen/content_default.css);
-
-/* import screen layout | Screen-Layout einbinden */
-@import url(screen/nav_vlist.css);
-@import url(screen/basemod.css);
-
-/* import print layout | Druck-Layout einbinden */
-@import url(yaml/print/print_100_draft.css);
-
diff --git a/build_tools/l7/larch0/docs/html/css/screen/bark.jpg b/build_tools/l7/larch0/docs/html/css/screen/bark.jpg Binary files differdeleted file mode 100644 index 5d5cc5b..0000000 --- a/build_tools/l7/larch0/docs/html/css/screen/bark.jpg +++ /dev/null diff --git a/build_tools/l7/larch0/docs/html/css/screen/basemod.css b/build_tools/l7/larch0/docs/html/css/screen/basemod.css deleted file mode 100644 index 84d49d5..0000000 --- a/build_tools/l7/larch0/docs/html/css/screen/basemod.css +++ /dev/null @@ -1,162 +0,0 @@ -@charset "UTF-8";
-/* This uses YAML's basic containers, but in a highly customized way */
-
-@media screen, projection
-{
- /**
- * (en) Forcing vertical scrollbars in IE8, Firefox, Webkit & Opera
- * (de) Erzwingen vertikaler Scrollbalken in IE8, Firefox, Webkit & Opera
- *
- * @workaround
- * @affected IE8, FF, Webkit, Opera
- * @css-for all
- * @valid CSS3
- */
-
- body { overflow-y: scroll; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Formatting YAML's basic layout elements
- * (de) Gestaltung des YAML Basis-Layouts
- */
-
- /* (en) Marginal areas & page background */
- /* (de) Randbereiche & Seitenhintergrund */
- body {background: #c55500 url(bark.jpg) repeat fixed;}
-
- /* (en) Centering layout in old IE-versions */
- /* (de) Zentrierung des Layouts in alten IE-versionen */
- body { text-align: center; }
- .page_margins { text-align:left; margin: 20px auto; }
-
- /* (en) Layout: width, background, borders */
- /* (de) Layout: Breite, Hintergrund, Rahmen */
- .page_margins {
- min-width: 640px; max-width: 70em;
- }
- .page {
- font-size: 125%;
- margin: 0 20px;
- background: url(top-left.png) no-repeat left top;
- }
-
- #top {
- height: 20px;
- margin-left: 200px;
- background: url(top-right.png) top right no-repeat;
- }
- #tm { height: 100%; margin-right: 20px; background: #abf39c; }
-
- #bottom {
- height: 20px;
- background: url(bottom-right.png) bottom right no-repeat;
- }
- #bl { height: 100%; background: url(bottom-left.png) bottom left no-repeat; }
- #bm { height: 100%; margin-left: 200px; margin-right: 20px; background: #abf39c; }
-
-
- /* (en) Designing main layout elements */
- /* (de) Gestaltung der Hauptelemente des Layouts */
-
- #header {
- padding: 0 2em 1em 50px;
- border-bottom: 1px #45f202 solid;
- margin-bottom: 20px;
- }
- #header h1 {
- font-size:2.5em;
- letter-spacing:-1px;
- line-height:65%;
- color:#c55500;
- }
-
- #footer { padding: 10px 20px 0 20px; }
- #footer-content {
- color:#886;
- padding: 10px 20px;
- border: 1px #c55500 solid;
- line-height: 1.5em;
- }
- #footer a { color: #888; font-weight: bold; }
- #footer a:focus { color: #D087C7; text-decoration: underline; }
- #footer a:hover,
- #footer a:active { color: #4D87C7; text-decoration: underline; }
-
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Formatting content containers
- * (de) Formatierung der Inhalts-Container
- */
-
- /* main column | Hauptspalte */
- #col1 {
- float: none;
- width: 100%;
- background: #abf39c url(green-gradient200.jpg) repeat-y;
- }
- #col1_content { padding: 0 20px; min-height: 400px; }
-
- #col3 { width: 100%; margin: 0; }
- .vlist h6, .vlist .indent1 { display: inline; }
- .indent2 { float: right ; }
- .vlist { margin-top: 10px; width: 360px; }
- li h6 { font-weight: bold; }
- .indent1 { margin-left: 10px; }
- .level1 { font-size: 120%; }
- .level2 { font-size: 110%; }
- .rlink { font-size: 150%; color: #b04000; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Styling of layout specific elements
- * (de) Gestaltung layoutabhängiger Elemente
- */
-
- li { margin-bottom: 3px; }
- h4 { font-weight: bold; }
- table { border-top: 2px solid #c55500; border-bottom: 2px solid #c55500; margin: 15px; }
- tbody td, tbody th { border: 1px solid #c55500; }
- .empty td { padding: 1px; }
-
- .topref { padding: 20px 40px; }
- .topref a {
- font-weight: bold;
- padding: 10px;
- border-top: 3px solid #45f202;
- border-bottom: 3px solid #45f202;
- }
- .topref a:focus { background: #45f202; text-decoration: none; }
- .topref a:hover,
- .topref a:active { background: #e08000; text-decoration: none; }
-
- pre { overflow: auto; background: #a0f090; }
- a, a:visited { color: #c55500 }
- a:hover, a:active { color: #003366 }
-
-/**
- * ------------------------------------------------------------------------------------------------- #
- *
- * Skiplinks
- *
- * (en) Visual styling for skiplink navigation
- * (de) Visuelle Gestaltung der Skiplink-Navigation
- *
- * @section content-skiplinks
- */
-
- #skiplinks a.skip:focus,
- #skiplinks a.skip:active {
- color: #fff;
- background: #333;
- border-bottom: 1px #000 solid;
- padding: 10px 0;
- text-decoration:none;
- }
- -}
-
diff --git a/build_tools/l7/larch0/docs/html/css/screen/bottom-left.png b/build_tools/l7/larch0/docs/html/css/screen/bottom-left.png Binary files differdeleted file mode 100644 index aad30da..0000000 --- a/build_tools/l7/larch0/docs/html/css/screen/bottom-left.png +++ /dev/null diff --git a/build_tools/l7/larch0/docs/html/css/screen/bottom-right.png b/build_tools/l7/larch0/docs/html/css/screen/bottom-right.png Binary files differdeleted file mode 100644 index 2fb2fce..0000000 --- a/build_tools/l7/larch0/docs/html/css/screen/bottom-right.png +++ /dev/null diff --git a/build_tools/l7/larch0/docs/html/css/screen/green-gradient200.jpg b/build_tools/l7/larch0/docs/html/css/screen/green-gradient200.jpg Binary files differdeleted file mode 100644 index 5a5bacf..0000000 --- a/build_tools/l7/larch0/docs/html/css/screen/green-gradient200.jpg +++ /dev/null diff --git a/build_tools/l7/larch0/docs/html/css/screen/larch150x.png b/build_tools/l7/larch0/docs/html/css/screen/larch150x.png Binary files differdeleted file mode 100644 index 3c33343..0000000 --- a/build_tools/l7/larch0/docs/html/css/screen/larch150x.png +++ /dev/null diff --git a/build_tools/l7/larch0/docs/html/css/screen/nav_vlist.css b/build_tools/l7/larch0/docs/html/css/screen/nav_vlist.css deleted file mode 100644 index d40631f..0000000 --- a/build_tools/l7/larch0/docs/html/css/screen/nav_vlist.css +++ /dev/null @@ -1,74 +0,0 @@ -@charset "UTF-8";
-/**
- * Slightly modified from:
- *
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Vertical list navigation "vlist"
- * (de) Vertikale Navigationsliste "vlist"
- *
- * @copyright Copyright 2005-2009, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.2
- * @revision $Revision:392 $
- * @lastmodified $Date:2009-07-05 12:18:40 +0200 (So, 05. Jul 2009) $
- */
-
-@media all
-{
- .vlist { - overflow:hidden;
- margin:0 0 1.5em 0;
- border-top:4px #45f202 solid;
- border-bottom:2px #45f202 solid;
- }
-
- .vlist ul {
- margin:0;
- padding:0;
- }
-
- .vlist li {
- float:left; /* LTR */
- width:100%;
- margin:0;
- padding:0;
- }
-
- .vlist a,
- .vlist strong,
- .vlist span {
- display:block;
- padding:3px 0px 3px 10%;
- text-decoration:none;
- border-bottom:2px #45f202 solid;
- }
-
- .vlist a,
- .vlist a:visited {
- color:#444;
- }
-
- .vlist li span {
- display:block;
- font-weight:bold;
- border-bottom:2px #45f202 solid;
- }
-
- /* active list element */
- .vlist li.active {
- color:#fff;
- background-color:#800;
- font-weight:bold;
- }
-
- /* Level 1 */
- .vlist li a { padding-left: 15px; }
- .vlist li a:focus { background-color:#45f202; }
- .vlist li a:hover,
- .vlist li a:active { background-color:#e08000; color:#fff; }
-
-}
diff --git a/build_tools/l7/larch0/docs/html/css/screen/top-left.png b/build_tools/l7/larch0/docs/html/css/screen/top-left.png Binary files differdeleted file mode 100644 index 2a66a57..0000000 --- a/build_tools/l7/larch0/docs/html/css/screen/top-left.png +++ /dev/null diff --git a/build_tools/l7/larch0/docs/html/css/screen/top-right.png b/build_tools/l7/larch0/docs/html/css/screen/top-right.png Binary files differdeleted file mode 100644 index c61ad6e..0000000 --- a/build_tools/l7/larch0/docs/html/css/screen/top-right.png +++ /dev/null diff --git a/build_tools/l7/larch0/docs/html/css/yaml/core/base.css b/build_tools/l7/larch0/docs/html/css/yaml/core/base.css deleted file mode 100644 index 3619374..0000000 --- a/build_tools/l7/larch0/docs/html/css/yaml/core/base.css +++ /dev/null @@ -1,277 +0,0 @@ -@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) YAML core stylesheet
- * (de) YAML Basis-Stylesheet
- *
- * Don't make any changes in this file!
- * Your changes should be placed in any css-file in your own stylesheet folder.
- *
- * @copyright Copyright 2005-2009, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.2
- * @revision $Revision:426 $
- * @lastmodified $Date:2009-10-21 21:12:11 +0200 (Mi, 21. Okt 2009) $
- */
-
-@media all
-{
- /**
- * @section browser reset
- * @see http://www.yaml.de/en/documentation/css-components/base-stylesheet.html
- */
-
- /* (en) Global reset of paddings and margins for all HTML elements */
- /* (de) Globales Zurücksetzen der Innen- und Außenabstände für alle HTML-Elemente */
- * { margin:0; padding:0; }
-
- /* (en) Correction:margin/padding reset caused too small select boxes. */
- /* (de) Korrektur:Das Zurücksetzen der Abstände verursacht zu kleine Selectboxen. */
- option { padding-left:0.4em; } /* LTR */
- select { padding:1px; }
-
- /**
- * (en) Global fix of the Italics bugs in IE 5.x and IE 6
- * (de) Globale Korrektur des Italics Bugs des IE 5.x und IE 6
- *
- * @bugfix
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid yes
- */
- * html body * { overflow:visible; }
- * html iframe, * html frame { overflow:auto; }
- * html frameset { overflow:hidden; }
-
- body {
- /* (en) Fix for rounding errors when scaling font sizes in older versions of Opera browser */
- /* (de) Beseitigung von Rundungsfehler beim Skalieren von Schriftgrößen in älteren Opera Versionen */
- font-size:100.01%;
-
- /* (en) Standard values for colors and text alignment */
- /* (de) Vorgabe der Standardfarben und Textausrichtung */
- background:#fff;
- color:#000;
- text-align:left; /* LTR */
- }
-
- /* (en) avoid visible outlines on DIV containers in Webkit browsers */
- /* (de) Vermeidung sichtbarer Outline-Rahmen in Webkit-Browsern */
- div { outline:0 none; }
-
- /* (en) Clear borders for <fieldset> and <img> elements */
- /* (de) Rahmen für <fieldset> und <img> Elemente löschen */
- fieldset, img { border:0 solid; }
-
- /* (en) new standard values for lists, blockquote and cite */
- /* (de) Neue Standardwerte für Listen & Zitate */
- ul, ol, dl { margin:0 0 1em 1em; } /* LTR */
- li {
- line-height:1.5em;
- margin-left:0.8em; /* LTR */
- }
-
- dt { font-weight:bold; }
- dd { margin:0 0 1em 0.8em; } /* LTR */
-
- blockquote { margin:0 0 1em 0.8em; } /* LTR */
-
- blockquote:before, blockquote:after,
- q:before, q:after { content:""; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * @section clearing methods
- * @see http://yaml.de/en/documentation/basics/general.html
- */
-
- /* (en) clearfix method for clearing floats */
- /* (de) Clearfix-Methode zum Clearen der Float-Umgebungen */
- .clearfix:after {
- clear:both;
- content:".";
- display:block;
- font-size:0;
- height:0;
- visibility:hidden;
- }
-
- /* (en) essential for Safari browser !! */
- /* (de) Diese Angabe benötigt der Safari-Browser zwingend !! */
- .clearfix { display:block; }
-
- /* (en) overflow method for clearing floats */
- /* (de) Overflow-Methode zum Clearen der Float-Umgebungen */
- .floatbox { overflow:hidden; }
-
- /* (en) IE-Clearing:Only used in Internet Explorer, switched on in iehacks.css */
- /* (de) IE-Clearing:Benötigt nur der Internet Explorer und über iehacks.css zugeschaltet */
- #ie_clearing { display:none; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * @section hidden elements | Versteckte Elemente
- * @see http://www.yaml.de/en/documentation/basics/skip-links.html
- *
- * (en) skip links and hidden content
- * (de) Skip-Links und versteckte Inhalte
- */
-
- /* (en) classes for invisible elements in the base layout */
- /* (de) Klassen für unsichtbare Elemente im Basislayout */
- .skip, .hideme, .print {
- position:absolute;
- top:-32768px;
- left:-32768px; /* LTR */
- }
-
- /* (en) make skip links visible when using tab navigation */
- /* (de) Skip-Links für Tab-Navigation sichtbar schalten */
- .skip:focus, .skip:active {
- position:static;
- top:0;
- left:0;
- }
-
- /* skiplinks:technical setup */
- #skiplinks {
- position:absolute;
- top:0px;
- left:-32768px;
- z-index:1000;
- width:100%;
- margin:0;
- padding:0;
- list-style-type:none;
- }
-
- #skiplinks a.skip:focus,
- #skiplinks a.skip:active {
- left:32768px;
- outline:0 none;
- position:absolute;
- width:100%;
- }
-}
-
-@media screen, projection
-{
-
- /**
- * @section base layout | Basis Layout
- * @see http://www.yaml.de/en/documentation/css-components/base-stylesheet.html
- *
- * |-------------------------------|
- * | #header |
- * |-------------------------------|
- * | #col1 | #col3 | #col2 |
- * | 200 px | flexible | 200px |
- * |-------------------------------|
- * | #footer |
- * |-------------------------------|
- */
-
- #header { position:relative; }
-
- /* (en) Text Alignment for #topnav content */
- /* (de) Textausrichtung für #topnav Inhalte */
- #topnav { text-align:right; } /* LTR */
-
- /* (en) Absolute positioning only within #header */
- /* (de) Absolute Positionierung erfolgt nur innerhalb von #header */
- #header #topnav {
- position:absolute;
- top:10px;
- right:10px; /* LTR */
- }
-
- /* (en) Backup for correct positioning */
- /* (de) Absicherung korrekte Positionierung */
- #header, #nav, #main, #footer { clear:both; }
-
- #col1 { float:left; width:200px; }
- #col2 { float:right; width:200px; }
- #col3 { width:auto; margin:0 200px; }
-
- /* (en) Preparation for absolute positioning within content columns */
- /* (de) Vorbereitung für absolute Positionierungen innerhalb der Inhaltsspalten */
- #col1_content, #col2_content, #col3_content { position:relative; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * @section subtemplates
- * @see http://www.yaml.de/en/documentation/practice/subtemplates.html
- */
- .subcolumns { width:100%; overflow:hidden; }
-
- /* (en) alternative class for optional support of old Mozilla/Netscape browers */
- /* (de) Alternative Klasse zur optionalen Unterstützung alter Mozilla/Netscape-Brower */
- .subcolumns_oldgecko { width:100%; float:left; }
-
- .c20l, .c25l, .c33l, .c40l, .c38l, .c50l, .c60l, .c62l, .c66l, .c75l, .c80l {float:left; }
- .c20r, .c25r, .c33r, .c40r, .c38r, .c50r, .c60r, .c66r, .c62r, .c75r, .c80r {float:right; margin-left:-5px; }
-
- .c20l, .c20r { width:20%; }
- .c40l, .c40r { width:40%; }
- .c60l, .c60r { width:60%; }
- .c80l, .c80r { width:80%; }
- .c25l, .c25r { width:25%; }
- .c33l, .c33r { width:33.333%; }
- .c50l, .c50r { width:50%; }
- .c66l, .c66r { width:66.666%; }
- .c75l, .c75r { width:75%; }
- .c38l, .c38r { width:38.2%; }
- .c62l, .c62r { width:61.8%; }
-
- .subc { padding:0 0.5em; }
- .subcl { padding:0 1em 0 0; }
- .subcr { padding:0 0 0 1em; }
-
- .equalize, .equalize .subcolumns { overflow:visible; display:table; table-layout:fixed; }
-
- .equalize > div {
- display:table-cell;
- float:none;
- margin:0;
- overflow:hidden;
- vertical-align:top;
- }
-}
-
-@media print
-{
- /**
- * (en) float clearing for .floatbox and subtemplates. Uses display:table to avoid bugs in FF & IE
- * (de) Float Clearing für .floatbox und die Subtemplates. Verwendet display:table, um Darstellungsprobleme im FF & IE zu vermeiden
- *
- * @bugfix
- * @since 3.0
- * @affected FF2.0, FF3.0, IE7
- * @css-for all browsers
- * @valid yes
- */
-
- .subcolumns > div,
- .floatbox {
- display:table;
- overflow:visible;
- }
-
- /* (en) make .print class visible */
- /* (de) .print-Klasse sichtbar schalten */
- .print {
- position:static;
- left:0;
- }
-
- /* (en) generic class to hide elements for print */
- /* (de) Allgemeine CSS Klasse, um beliebige Elemente in der Druckausgabe auszublenden */
- .noprint { display:none !important; }
-}
diff --git a/build_tools/l7/larch0/docs/html/css/yaml/core/iehacks.css b/build_tools/l7/larch0/docs/html/css/yaml/core/iehacks.css deleted file mode 100644 index e56d2b7..0000000 --- a/build_tools/l7/larch0/docs/html/css/yaml/core/iehacks.css +++ /dev/null @@ -1,355 +0,0 @@ -@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) YAML core stylesheet - structure-independent bugfixes of IE/Win CSS-bugs
- * (de) YAML Basis-Stylesheet - Strukturunabhängige Bugfixes von CSS-Bugs des IE/Win
- *
- * Don't make any changes in this file!
- * Your changes should be added to a separate patch-file.
- *
- * @copyright Copyright 2005-2009, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.2
- * @revision $Revision:426 $
- * @lastmodified $Date:2009-10-21 21:12:11 +0200 (Mi, 21. Okt 2009) $
- * @appdef yaml
- */
-
-@media all
-{
- /**
- * (en) Debugging:When you see a green background, IE is getting this stylesheet
- * (de) Fehlersuche:Hintergrund leuchtet grün, wenn das Stylesheet korrekt geladen wurde
- *
- * @debug
- * @app-yaml-default disabled
- */
-
- /* body { background:#0f0; background-image:none; } */
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) No need to force scrollbars in older IE's - it even makes problems in IE6 when set
- * (de) Scrollbar-Fix wird in alten IE's nicht benötigt, zudem verursacht der Fix Probleme im IE6
- *
- * @workaround
- * @affected IE6, IE7
- * @css-for IE6, IE7
- * @valid no
- */
-
- body { o\verflow:visible; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Fixes IE5.x and IE6 overflow behavior of textarea and input elements elements
- * (de) Korrigiert das fehlerhafte overflow-Verhalten von textarea und input-Elementen
- *
- * @workaround
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid no
- */
-
- * html textarea { overflow:scroll; overflow-x:hidden; }
- * html input { overflow:hidden; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Stability fixes with 'position:relative'
- * (de) Stabilitätsverbesserungen durch 'position:relative'
- *
- * Essential for correct scaling in IE7 (body). IE5 must get static positioned body instead.
- * Helpful to fix several possible problems in older IE versions (#main).
- *
- * @bugfix
- * @affected IE 5.x/Win, IE6, IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid yes
- */
-
- body,
- #main { position:relative; }
- * html body { position:static; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Clearfix Method for containing floats in IE
- * (de) Clearfix-Anpassung für diverse IE-Versionen
- *
- * @workaround
- * @see http://www.456bereastreet.com/archive/200603/new_clearing_method_needed_for_ie7/#comment28
- * @affected IE 5.x/Win, IE6, IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid yes
- */
-
- .clearfix { display:inline-block; } /* ... especial for IE7 */
- .clearfix { display:block; } /* ... für IE5,IE6,IE7 */
- * html .clearfix { height:1%; } /* ... für IE5 + IE6/Win | hasLayout aktivieren */
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Adjustment of .floatbox class for IE
- * (de) Anpassung der .floatbox-Klasse für IE
- *
- * @workaround
- * @affected IE 5.x/Win, IE6, IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid yes
- */
-
- .floatbox { width:100%; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Special class for oversized content element
- * (de) Spezielle Klasse für übergroße Inhaltselemente
- *
- * @workaround
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid yes
- */
-
- .slidebox {
- position:relative;
- margin-right:-1000px;
- height:1%;
- }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en):Bugfix for partially displayed column separators
- * (de):Bugfix für unvollständige Darstellung der Spalteninhalte / Spaltentrenner
- *
- * @bugfix
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid yes
- */
-
- * html #col1,
- * html #col2,
- * html #col3 { position:relative; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Preventing several css bugs by forcing "hasLayout"
- * (de) Vermeidung verschiedenster Bugs durch Erzwingen von "hasLayout"
- *
- * @workaround
- * @affected IE 5.x/Win, IE6, IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid no
- */
-
- body { height:1%; }
- .page_margins, .page, #header, #nav, #main, #footer { zoom:1; } /* IE6 & IE7 */
- * html .page_margins, * html .page { height:1%; hei\ght:auto; } /* IE 5.x & IE6 | IE6 only */
- * html #header, * html #nav, * html #main, * html #footer { width:100%; wid\th:auto; } /* IE 5.x & IE6 | IE6 only */
-
- /* trigger hasLayout to force containing content */
- .subc, .subcl, .subcr { height:1%; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * Disappearing List-Background Bug
- * @see http://www.positioniseverything.net/explorer/ie-listbug.html
- *
- * @bugfix
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid yes
- */
-
- * html ul, * html ol, * html dl { position:relative; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * List-Numbering Bug
- *
- * @bugfix
- * @affected IE 5.x/Win, IE6, IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid yes
- */
-
- body ol li { display:list-item; }
-
- /**
- * Form related bugfixes
- *
- * @bugfix
- * @affected IE 5.x/Win, IE6, IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid no
- */
- fieldset, legend { position:relative; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * (en) Workaround for 'collapsing margin at #col3' when using CSS-property clear
- * Left margin of #col3 collapses when using clear:both in 1-3-2 (or 2-3-1) layout and right column is the
- * longest and left column is the shortest one. For IE6 and IE7 a special workaround was developed
- * in YAML.
- *
- * (de) Workaround für 'kollabierenden Margin an #col3' bei Verwendung der CSS-Eigenschaft clear
- * Der linke Margin von #col3 kollabiert bei der Verwendung von clear:both im 1-3-2 (oder 2-3-1) Layout
- * wenn gleichzeitig die linke Spalte die kürzeste und die rechte die längste ist. Im IE6 und IE7 lässt
- * sich der Bug durch eine speziell für YAML entwickelten Workaround umgehen.
- *
- * @workaround
- * @affected IE 5.x/Win, IE6, IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid no
- */
-
- html #ie_clearing {
- /* (en) Only a small help for debugging */
- /* (de) Nur eine kleine Hilfe zur Fehlersuche */
- position:static;
-
- /* (en) Make container visible in IE */
- /* (de) Container sichtbar machen im IE */
- display:block;
-
- /* (en) No fix possible in IE5.x, normal clearing used instead */
- /* (de) Kein Fix im IE5.x möglich, daher normales Clearing */
- \clear:both;
-
- /* (en) forcing clearing-like behavior with a simple oversized container in IE6 & IE7*/
- /* (de) IE-Clearing mit 100%-DIV für IE6 bzw. übergroßem Container im IE7 */
- width:100%;
- font-size:0px;
- margin:-2px 0 -1em 1px;
- }
-
- * html #ie_clearing { margin:-2px 0 -1em 0; }
- #col3_content { margin-bottom:-2px; }
-
- /* (en) avoid horizontal scrollbars in IE7 in borderless layouts because of negative margins */
- /* (de) Vermeidung horizontaler Scrollbalken bei randabfallenden Layouts im IE7 */
- html { margin-right:1px; }
- * html { margin-right:0; }
-
- /* (en) Bugfix:Essential for IE7 */
- /* (de) Bugfix:Notwendig im IE7 */
- #col3 { position:relative; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * IE/Win Guillotine Bug
- * @see http://www.positioniseverything.net/explorer/guillotine.html
- *
- * @workaround
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid yes
- */
-
- * html body a, * html body a:hover { background-color:transparent; }
-
-}
-
-@media screen, projection
-{
- /**
- * (en) IE-Adjustments for content columns and subtemplates
- * (de) IE-Anpassung für Spaltencontainer und Subtemplates
- *
- * Doubled Float-Margin Bug
- * @see http://positioniseverything.net/explorer/doubled-margin.html
- *
- * @bugfix
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid yes
- */
- #col1, #col2 { display:inline; }
-
- .c20l, .c25l, .c33l, .c38l, .c40l, .c50l, .c60l, .c62l, .c66l, .c75l, .c80l,
- .c20r, .c25r, .c33r, .c38r, .c40r, .c50r, .c60r, .c66r, .c62r, .c75r, .c80r { display:inline; }
-
- /* Fix for:"Linking to anchors in elements within the containing block" Problem in IE5.x & IE 6.0 */
- * html .equalize, * html .equalize .subcolumns { overflow:visible; display:block; }
- .equalize, .equalize .subcolumns { overflow:hidden; display:block; }
-
- /* transform CSS tables back into floats */
- .equalize .c20l,.equalize .c40l,.equalize .c60l,.equalize .c80l,
- .equalize .c25l,.equalize .c33l,.equalize .c38l,.equalize .c50l,
- .equalize .c62l,.equalize .c66l,.equalize .c75l {
- float:left; display:inline;
- padding-bottom:32767px;
- margin-bottom:-32767px;
- }
- .equalize .c20r,.equalize .c40r,.equalize .c60r,.equalize .c80r,
- .equalize .c25r,.equalize .c33r,.equalize .c38r,.equalize .c50r,
- .equalize .c62r,.equalize .c66r,.equalize .c75r {
- float:right; margin-left:-5px; display:inline;
- padding-bottom:32767px;
- margin-bottom:-32767px;
- }
-
- .no-ie-padding .c20l,.no-ie-padding .c40l,.no-ie-padding .c60l,.no-ie-padding .c80l,
- .no-ie-padding .c20r,.no-ie-padding .c40r,.no-ie-padding .c60r,.no-ie-padding .c80r,
- .no-ie-padding .c25l,.no-ie-padding .c33l,.no-ie-padding .c38l,.no-ie-padding .c50l,
- .no-ie-padding .c62l,.no-ie-padding .c66l,.no-ie-padding .c75l,
- .no-ie-padding .c25r,.no-ie-padding .c33r,.no-ie-padding .c38r,.no-ie-padding .c50r,
- .no-ie-padding .c62r,.no-ie-padding .c66r,.no-ie-padding .c75r {
- padding-bottom:0;
- margin-bottom:0;
- }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * Internet Explorer and the Expanding Box Problem
- * @see http://www.positioniseverything.net/explorer/expandingboxbug.html
- *
- * @workaround
- * @affected IE 5.x/Win, IE6
- * @css-for IE 5.x/Win, IE6
- * @valid yes
- */
-
- * html #col1_content,
- * html #col2_content,
- * html #col3_content { word-wrap:break-word; }
-
- /* avoid growing widths */
- * html .subc,
- * html .subcl,
- * html .subcr { word-wrap:break-word; o\verflow:hidden; }
-}
-
-@media print
-{
- /**
- * (en) Avoid unneeded page breaks of #col3 content in print layout.
- * (de) Vermeiden von unnötigen Seitenumbrüchen beim Ausdruck der Spalte #col3.
- *
- * @bugfix
- * @affected IE7
- * @css-for IE 5.x/Win, IE6, IE7
- * @valid yes
- */
-
- #col3 { height:1%; }
-}
diff --git a/build_tools/l7/larch0/docs/html/css/yaml/core/js/webkit-focusfix.js b/build_tools/l7/larch0/docs/html/css/yaml/core/js/webkit-focusfix.js deleted file mode 100644 index 29e70d4..0000000 --- a/build_tools/l7/larch0/docs/html/css/yaml/core/js/webkit-focusfix.js +++ /dev/null @@ -1,40 +0,0 @@ -/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Workaround for Webkit browser to fix focus problems when using skiplinks
- * (de) Workaround für Webkit-Browser, um den Focus zu korrigieren, bei Verwendung von Skiplinks
- *
- * @note inspired by Paul Ratcliffe's article
- * http://www.communis.co.uk/blog/2009-06-02-skip-links-chrome-safari-and-added-wai-aria
- *
- * @copyright Copyright 2005-2009, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.2
- * @revision $Revision: 430 $
- * @lastmodified $Date: 2009-10-27 21:15:57 +0100 (Di, 27. Okt 2009) $
- */
-
-var is_webkit = navigator.userAgent.toLowerCase().indexOf('webkit') > -1;
-
-if(is_webkit)
-{
- var i;
- var skiplinks = []
-
- if ( document.getElementsByClassName !== undefined) {
- skiplinks = document.getElementsByClassName('skip');
-
- for (i=0; i<skiplinks.length; i++) {
- var target = skiplinks[i].href.substr(skiplinks[i].href.indexOf('#')+1);
- var targetElement = document.getElementById(target);
-
- targetElement.href = '#'+target;
- targetElement.setAttribute("tabindex", "0");
-
- skiplinks[i].setAttribute("onclick", "document.getElementById('"+target+"').focus();");
- }
- }
-}
\ No newline at end of file diff --git a/build_tools/l7/larch0/docs/html/css/yaml/core/slim_base.css b/build_tools/l7/larch0/docs/html/css/yaml/core/slim_base.css deleted file mode 100644 index a2013e8..0000000 --- a/build_tools/l7/larch0/docs/html/css/yaml/core/slim_base.css +++ /dev/null @@ -1,6 +0,0 @@ -@charset "UTF-8";
-/* "Yet Another Multicolumn Layout" v 3.2 (c) by Dirk Jesse (http://www.yaml.de)
-* $Revision: 430 $ $Date: 2009-10-27 21:15:57 +0100 (Di, 27. Okt 2009) $ */
-@media all{*{margin:0;padding:0}option{padding-left:0.4em}select{padding:1px}* html body *{overflow:visible}* html iframe,* html frame{overflow:auto}* html frameset{overflow:hidden}body{font-size:100.01%;background:#fff;color:#000;text-align:left}div{outline:0 none}fieldset,img{border:0 solid}ul,ol,dl{margin:0 0 1em 1em}li{line-height:1.5em;margin-left:0.8em}dt{font-weight:bold}dd{margin:0 0 1em 0.8em}blockquote{margin:0 0 1em 0.8em}blockquote:before,blockquote:after,q:before,q:after{content:""}.clearfix:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.clearfix{display:block}.floatbox{overflow:hidden}#ie_clearing{display:none}.skip,.hideme,.print{position:absolute;top:-32768px;left:-32768px}.skip:focus,.skip:active{position:static;top:0;left:0}#skiplinks{position:absolute;top:0px;left:-32768px;z-index:1000;width:100%;margin:0;padding:0;list-style-type:none}#skiplinks a.skip:focus,#skiplinks a.skip:active{left:32768px;outline:0 none;position:absolute;width:100%}}
-@media screen,projection{#header{position:relative}#topnav{text-align:right}#header #topnav{position:absolute;top:10px;right:10px}#header,#nav,#main,#footer{clear:both}#col1{float:left;width:200px}#col2{float:right;width:200px}#col3{width:auto;margin:0 200px}#col1_content,#col2_content,#col3_content{position:relative}.subcolumns{width:100%;overflow:hidden}.subcolumns_oldgecko{width:100%;float:left}.c20l,.c25l,.c33l,.c40l,.c38l,.c50l,.c60l,.c62l,.c66l,.c75l,.c80l{float:left}.c20r,.c25r,.c33r,.c40r,.c38r,.c50r,.c60r,.c66r,.c62r,.c75r,.c80r{float:right;margin-left:-5px}.c20l,.c20r{width:20%}.c40l,.c40r{width:40%}.c60l,.c60r{width:60%}.c80l,.c80r{width:80%}.c25l,.c25r{width:25%}.c33l,.c33r{width:33.333%}.c50l,.c50r{width:50%}.c66l,.c66r{width:66.666%}.c75l,.c75r{width:75%}.c38l,.c38r{width:38.2%}.c62l,.c62r{width:61.8%}.subc{padding:0 0.5em}.subcl{padding:0 1em 0 0}.subcr{padding:0 0 0 1em}.equalize,.equalize .subcolumns{overflow:visible;display:table;table-layout:fixed}.equalize >div{display:table-cell;float:none;margin:0;overflow:hidden;vertical-align:top}}
-@media print{.subcolumns >div,.floatbox{display:table;overflow:visible}.print{position:static;left:0}.noprint{display:none !important}}
\ No newline at end of file diff --git a/build_tools/l7/larch0/docs/html/css/yaml/core/slim_iehacks.css b/build_tools/l7/larch0/docs/html/css/yaml/core/slim_iehacks.css deleted file mode 100644 index 9b480f3..0000000 --- a/build_tools/l7/larch0/docs/html/css/yaml/core/slim_iehacks.css +++ /dev/null @@ -1,6 +0,0 @@ -@charset "UTF-8";
-/* "Yet Another Multicolumn Layout" v3.2 (c) by Dirk Jesse (http://www.yaml.de)
-* $Revision: 430 $ $Date: 2009-10-27 21:15:57 +0100 (Di, 27. Okt 2009) $ */
-@media all{body{o\verflow:visible}* html textarea{overflow:scroll;overflow-x:hidden}* html input{overflow:hidden}body,#main{position:relative}* html body{position:static}.clearfix{display:inline-block}.clearfix{display:block}* html .clearfix{height:1%}.floatbox{width:100%}.slidebox{position:relative;margin-right:-1000px;height:1%}* html #col1,* html #col2,* html #col3{position:relative}body{height:1%}.page_margins,.page,#header,#nav,#main,#footer{zoom:1}* html .page_margins,* html .page{height:1%;hei\ght:auto}* html #header,* html #nav,* html #main,* html #footer{width:100%;wid\th:auto}.subc,.subcl,.subcr{height:1%}* html ul,* html ol,* html dl{position:relative}body ol li{display:list-item}fieldset,legend{position:relative}html #ie_clearing{position:static;display:block;\clear:both;width:100%;font-size:0px;margin:-2px 0 -1em 1px}* html #ie_clearing{margin:-2px 0 -1em 0}#col3_content{margin-bottom:-2px}html{margin-right:1px}* html{margin-right:0}#col3{position:relative}* html body a,* html body a:hover{background-color:transparent}}
-@media screen,projection{#col1,#col2{display:inline}.c20l,.c25l,.c33l,.c38l,.c40l,.c50l,.c60l,.c62l,.c66l,.c75l,.c80l,.c20r,.c25r,.c33r,.c38r,.c40r,.c50r,.c60r,.c66r,.c62r,.c75r,.c80r{display:inline}* html .equalize,* html .equalize .subcolumns{overflow:visible;display:block}.equalize,.equalize .subcolumns{overflow:hidden;display:block}.equalize .c20l,.equalize .c40l,.equalize .c60l,.equalize .c80l,.equalize .c25l,.equalize .c33l,.equalize .c38l,.equalize .c50l,.equalize .c62l,.equalize .c66l,.equalize .c75l{float:left;display:inline;padding-bottom:32767px;margin-bottom:-32767px}.equalize .c20r,.equalize .c40r,.equalize .c60r,.equalize .c80r,.equalize .c25r,.equalize .c33r,.equalize .c38r,.equalize .c50r,.equalize .c62r,.equalize .c66r,.equalize .c75r{float:right;margin-left:-5px;display:inline;padding-bottom:32767px;margin-bottom:-32767px}.no-ie-padding .c20l,.no-ie-padding .c40l,.no-ie-padding .c60l,.no-ie-padding .c80l,.no-ie-padding .c20r,.no-ie-padding .c40r,.no-ie-padding .c60r,.no-ie-padding .c80r,.no-ie-padding .c25l,.no-ie-padding .c33l,.no-ie-padding .c38l,.no-ie-padding .c50l,.no-ie-padding .c62l,.no-ie-padding .c66l,.no-ie-padding .c75l,.no-ie-padding .c25r,.no-ie-padding .c33r,.no-ie-padding .c38r,.no-ie-padding .c50r,.no-ie-padding .c62r,.no-ie-padding .c66r,.no-ie-padding .c75r{padding-bottom:0;margin-bottom:0}* html #col1_content,* html #col2_content,* html #col3_content{word-wrap:break-word}* html .subc,* html .subcl,* html .subcr{word-wrap:break-word;o\verflow:hidden}}
-@media print{#col3{height:1%}}
\ No newline at end of file diff --git a/build_tools/l7/larch0/docs/html/css/yaml/print/print_100_draft.css b/build_tools/l7/larch0/docs/html/css/yaml/print/print_100_draft.css deleted file mode 100644 index 09b6867..0000000 --- a/build_tools/l7/larch0/docs/html/css/yaml/print/print_100_draft.css +++ /dev/null @@ -1,75 +0,0 @@ -@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) print stylesheet
- * (de) Druck-Stylesheet
- *
- * @copyright Copyright 2005-2009, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.2
- * @revision $Revision:392 $
- * @lastmodified $Date:2009-07-05 12:18:40 +0200 (So, 05. Jul 2009) $
- */
-
-@media print
-{
- /**
- * @section basic layout preparation
- * @see http://www.yaml.de/en/documentation/css-components/layout-for-print-media.html
- */
-
- /* (en) change font size unit to [pt] - avoiding problems with [px] unit in Gecko based browsers */
- /* (de) Wechsel der der Schriftgrößen-Maßheinheit zu [pt] - Probleme mit Maßeinheit [px] in Gecko-basierten Browsern vermeiden */
- body { font-size:10pt; }
-
- /* (en) Hide unneeded container of the screenlayout in print layout */
- /* (de) Für den Druck nicht benötigte Container des Layouts abschalten */
- #topnav, #nav, #search { display:none; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /* (en) Avoid page breaks right after headings */
- /* (de) Vermeidung von Seitenumbrüchen direkt nach einer Überschrift */
- h1,h2,h3,h4,h5,h6 { page-break-after:avoid; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /**
- * @section column selection
- * (en) individually switch on/off any content column for printing
- * (de) (De)aktivierung der Contentspalten für den Ausdruck
- *
- * @see http://www.yaml.de/en/documentation/css-components/layout-for-print-media.html
- */
-
- #col1, #col1_content { float:none; width:100%; margin:0; padding:0; border:0; }
- #col2 { display:none; }
- #col3 { display:none; }
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /* (en) optional output of acronyms and abbreviations*/
- /* (de) optionale Ausgabe von Auszeichnung von Abkürzungen */
-
- /*
- abbr[title]:after,
- acronym[title]:after { content:'(' attr(title) ')'; }
- */
-
- /*------------------------------------------------------------------------------------------------------*/
-
- /* (en) optional URL output of hyperlinks in print layout */
- /* (de) optionale Ausgabe der URLs von Hyperlinks */
- /*
- a[href]:after {
- content:" <URL:"attr(href)">";
- color:#444;
- background:inherit;
- font-style:italic;
- }
- */
-}
diff --git a/build_tools/l7/larch0/docs/html/css/yaml/screen/content_default.css b/build_tools/l7/larch0/docs/html/css/yaml/screen/content_default.css deleted file mode 100644 index f52c0e3..0000000 --- a/build_tools/l7/larch0/docs/html/css/yaml/screen/content_default.css +++ /dev/null @@ -1,221 +0,0 @@ -@charset "UTF-8";
-/**
- * "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
- *
- * (en) Uniform design of standard content elements
- * (de) Einheitliche Standardformatierungen für die wichtigten Inhalts-Elemente
- *
- * @copyright Copyright 2005-2009, Dirk Jesse
- * @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
- * YAML-C (http://www.yaml.de/en/license/license-conditions.html)
- * @link http://www.yaml.de
- * @package yaml
- * @version 3.2
- * @revision $Revision:392 $
- * @lastmodified $Date:2009-07-05 12:18:40 +0200 (So, 05. Jul 2009) $
- * @appdef yaml
- */
-
-@media all
-{
- /**
- * Fonts
- *
- * (en) global settings of font-families and font-sizes
- * (de) Globale Einstellungen für Zeichensatz und Schriftgrößen
- *
- * @section content-global-settings
- */
-
- /* (en) reset font size for all elements to standard (16 Pixel) */
- /* (de) Alle Schriftgrößen auf Standardgröße (16 Pixel) zurücksetzen */
- html * { font-size:100.01%; }
-
- /**
- * (en) reset monospaced elements to font size 16px in all browsers
- * (de) Schriftgröße von monospaced Elemente in allen Browsern auf 16 Pixel setzen
- *
- * @see: http://webkit.org/blog/67/strange-medium/
- */
-
- textarea, pre, code, kbd, samp, var, tt {
- font-family:Consolas, "Lucida Console", "Andale Mono", "Bitstream Vera Sans Mono", "Courier New", Courier;
- }
-
- /* (en) base layout gets standard font size 12px */
- /* (de) Basis-Layout erhält Standardschriftgröße von 12 Pixeln */
- body {
- font-family:Arial, Helvetica, sans-serif;
- font-size:75.00%;
- color:#444;
- }
-
- /*--- Headings | Überschriften ------------------------------------------------------------------------*/
-
- h1,h2,h3,h4,h5,h6 {
- font-family:"Times New Roman", Times, serif;
- font-weight:normal;
- color:#222;
- margin:0 0 0.25em 0;
- }
-
- h1 { font-size:250%; } /* 30px */
- h2 { font-size:200%; } /* 24px */
- h3 { font-size:150%; } /* 18px */
- h4 { font-size:133.33%; } /* 16px */
- h5 { font-size:116.67%; } /* 14px */
- h6 { font-size:116.67%; } /* 14px */
-
- /* --- Lists | Listen -------------------------------------------------------------------------------- */
-
- ul, ol, dl { line-height:1.5em; margin:0 0 1em 1em; }
- ul { list-style-type:disc; }
- ul ul { list-style-type:circle; margin-bottom:0; }
-
- ol { list-style-type:decimal; }
- ol ol { list-style-type:lower-latin; margin-bottom:0; }
-
- li { margin-left:0.8em; line-height:1.5em; }
-
- dt { font-weight:bold; }
- dd { margin:0 0 1em 0.8em; }
-
- /* --- general text formatting | Allgemeine Textauszeichnung ------------------------------------------ */
-
- p { line-height:1.5em; margin:0 0 1em 0; }
-
- blockquote, cite, q {
- font-family:Georgia, "Times New Roman", Times, serif;
- font-style:italic;
- }
- blockquote { margin:0 0 1em 1.6em; color:#666; }
-
- strong,b { font-weight:bold; }
- em,i { font-style:italic; }
-
- big { font-size:116.667%; }
- small { font-size:91.667%; }
-
- pre { line-height:1.5em; margin:0 0 1em 0; }
- pre, code, kbd, tt, samp, var { font-size:100%; }
- pre, code { color:#800; }
- kbd, samp, var, tt { color:#666; font-weight:bold; }
- var, dfn { font-style:italic; }
-
- acronym, abbr {
- border-bottom:1px #aaa dotted;
- font-variant:small-caps;
- letter-spacing:.07em;
- cursor:help;
- }
-
- sub, sup { font-size:91.6667%; line-height:0; }
-
- hr {
- color:#fff;
- background:transparent;
- margin:0 0 0.5em 0;
- padding:0 0 0.5em 0;
- border:0;
- border-bottom:1px #eee solid;
- }
-
- /*--- Links ----------------------------------------------------------------------------------------- */
-
- a { color:#4D87C7; background:transparent; text-decoration:none; }
- a:visited { color:#036; }
-
- a:focus,
- a:hover,
- a:active { color:#182E7A; text-decoration:underline; }
-
- /* --- images (with optional captions) | Bilder (mit optionaler Bildunterschrift) ------------------ */
-
- p.icaption_left { float:left; display:inline; margin:0 1em 0.15em 0; }
- p.icaption_right { float:right; display:inline; margin:0 0 0.15em 1em; }
-
- p.icaption_left img,
- p.icaption_right img { padding:0; border:1px #888 solid; }
-
- p.icaption_left strong,
- p.icaption_right strong { display:block; overflow:hidden; margin-top:2px; padding:0.3em 0.5em; background:#eee; font-weight:normal; font-size:91.667%; }
-
- /**
- * ------------------------------------------------------------------------------------------------- #
- *
- * Generic Content Classes
- *
- * (en) standard classes for positioning and highlighting
- * (de) Standardklassen zur Positionierung und Hervorhebung
- *
- * @section content-generic-classes
- */
-
- .highlight { color:#c30; }
- .dimmed { color:#888; }
-
- .info { background:#f8f8f8; color:#666; padding:10px; margin-bottom:0.5em; font-size:91.7%; }
-
- .note { background:#efe; color:#040; border:2px #484 solid; padding:10px; margin-bottom:1em; }
- .important { background:#ffe; color:#440; border:2px #884 solid; padding:10px; margin-bottom:1em; }
- .warning { background:#fee; color:#400; border:2px #844 solid; padding:10px; margin-bottom:1em; }
-
- .float_left { float:left; display:inline; margin-right:1em; margin-bottom:0.15em; }
- .float_right { float:right; display:inline; margin-left:1em; margin-bottom:0.15em; }
- .center { display:block; text-align:center; margin:0.5em auto; }
-
- /**
- * ------------------------------------------------------------------------------------------------- #
- *
- * Tables | Tabellen
- *
- * (en) Generic classes for table-width and design definition
- * (de) Generische Klassen für die Tabellenbreite und Gestaltungsvorschriften für Tabellen
- *
- * @section content-tables
- */
-
- table { width:auto; border-collapse:collapse; margin-bottom:0.5em; border-top:2px #888 solid; border-bottom:2px #888 solid; }
- table caption { font-variant:small-caps; }
- table.full { width:100%; }
- table.fixed { table-layout:fixed; }
-
- th,td { padding:0.5em; }
- thead th { color:#000; border-bottom:2px #800 solid; }
- tbody th { background:#e0e0e0; color:#333; }
- tbody th[scope="row"], tbody th.sub { background:#f0f0f0; }
-
- tbody th { border-bottom:1px solid #fff; text-align:left; }
- tbody td { border-bottom:1px solid #eee; }
-
- tbody tr:hover th[scope="row"],
- tbody tr:hover tbody th.sub { background:#f0e8e8; }
- tbody tr:hover td { background:#fff8f8; }
-
- /**
- * ------------------------------------------------------------------------------------------------- #
- *
- * Miscellaneous | Sonstiges
- *
- * @section content-misc
- */
-
- /**
- * (en) Emphasizing external Hyperlinks via CSS
- * (de) Hervorhebung externer Hyperlinks mit CSS
- *
- * @section content-external-links
- * @app-yaml-default disabled
- */
-
- /*
- #main a[href^="http://www.my-domain.com"],
- #main a[href^="https://www.my-domain.com"]
- {
- padding-left:12px;
- background-image:url('your_image.gif');
- background-repeat:no-repeat;
- background-position:0 0.45em;
- }
- */
-}
diff --git a/build_tools/l7/larch0/docs/html/gui_installation.html b/build_tools/l7/larch0/docs/html/gui_installation.html deleted file mode 100644 index b689435..0000000 --- a/build_tools/l7/larch0/docs/html/gui_installation.html +++ /dev/null @@ -1,162 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>GUI Tab: Installation</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="gui_larchify.html"><h6>Next:</h6> - <div class="indent1">GUI Tab: Larchify</div></a></li> - <li><a href="gui_project_settings.html"><h6>Previous:</h6> - <div class="indent1">GUI Tab: Project Settings</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> - -<h2 id="pagetitle" level="2">GUI Tab: Installation</h2> - -<p>This tab mixes profile options and project options. Which packages -to install is a feature of the profile, as is the basic design of the -'pacman.conf' file. The exact location of the packages (repository -and cache paths) are more related to the build environment. -</p> - -<h3>Package selection</h3> - -<p>See <a href="archin.html#package_selection">here</a> for details of how -the list of packages to be installed is built up. The gui offers -convenient editing of the 'addedpacks' and 'vetopacks' files. -</p> - -<p><em>pacman</em> configuration is handled in separate parts. -'pacman.conf' is effectively split into two, the options part and the -repositories part can be edited separately, though the default options -should be alright for most purposes. This split might ease management -of updates to the structure of the file 'pacman.conf' with new pacman -releases. Default versions of both parts (for the options part a complete -pacman.conf can be used, the repositories will be stripped automatically) -are supplied in the 'data' directory of the 'larch' package. -A simplified format is used for the repository file, details can be -found <a href="archin.html#pacman_conf">here</a>. -</p> - -<p>Note that the <em>larch</em> repository must be available for building -the <em>live</em> system, i.e. it must be included in the 'pacman.conf' -used for the installation process. It is not strictly necessary for the -resulting <em>live</em> system to include this repository. See below for -further details. -</p> - -<h3>'mirrorlist'</h3> - -<p>It is possible to customize the 'mirrorlist' file used for installation. -This can be very convenient, because when building a <em>live</em> system -the build environment can be very different from the run-time environment. -For example, you might use local package repositories for building which -cannot possibly be available when the <em>live</em> system is used. -</p> - -<p>Customized versions of the 'mirrorlist' file are not regarded as -belonging to the profile, because they are build environment specific, so -they are stored in the project directory, which is made current when the -larch backend scripts are run. -</p> - -<h3>Special installation repositories and cache</h3> - -<p>Adjustments to the installation repository file and cache location are -treated as 'advanced' options, because in many cases the defaults will be -perfectly adequate. -</p> - -<h4>Using different mirrors/repositories for the installation</h4> - -<p>The second part of the 'pacman.conf' file, the repository list, can be -specified separately for the installation, via the frame -'Use project repository list'. For certain build environments this can be -very useful. -</p> - -<p>A further way of getting a distinct 'pacman.conf' in the resulting -<em>live</em> system is to put it in the profile's 'rootoverlay' directory -(in the '/etc' subdirectory, as usual). -</p> - -<h4>Package cache</h4> - -<p>Normally the host's standard package cache will be used for the -installation, but it is possible to use a non-standard location. I guess, -however, that this will not normally be necessary. -</p> - -<h3>GUI Tab: Installation Tweaks</h3> - -<p>At present the only thing offered here is a bit of assistance in -managing packages within the installation. The database can be -resynchronized, packages can be added or removed. During testing it can -be helpful to be able to make quick changes like this, but it is probably -not a good idea to use these facilities too freely. The installation will -differ from the specification in the profile (unless you immediately edit -the profile too), which may be no problem for one-offs, but if you ever -want to reuse the profile you may well lose track of what changes you have -made. -</p> - -</div> - - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/gui_larchify.html b/build_tools/l7/larch0/docs/html/gui_larchify.html deleted file mode 100644 index 9e2e318..0000000 --- a/build_tools/l7/larch0/docs/html/gui_larchify.html +++ /dev/null @@ -1,187 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>GUI Tab: Larchify</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="gui_medium.html"><h6>Next:</h6> - <div class="indent1">GUI Tab: Preparing the Medium</div></a></li> - <li><a href="gui_installation.html"><h6>Previous:</h6> - <div class="indent1">GUI Tab: Installation</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> - -<h2 id="pagetitle" level="2">GUI Tab: Larchify</h2> - -<p>You can repeat the 'larchify' command as often as you like, -to test various configurations or to build differently configured -<em>live</em> systems with the same underlying packages. This works -because the 'larchify' process itself does not change anything within the -installation - all the files it generates are placed in the 'overlay', -which (thanks to <em>aufs</em>) will just cover up any old versions of -the added files in the underlying installation. At present <em>larch</em> -does not support the 'deletion' of installation files, they can only be -overlayed by replacements. -</p> - -<h3>User accounts</h3> -<p>You can enter or edit user accounts to be added during the creation of -the <em>live</em> system. Any of the columns except the first (the login -name) may be empty. -</p> -<p>A password can be set for the new user by entering this (plain text - -I'm guessing this is alright in this situation ...). An empty password -field will allow passwordless logins (at least on the console). -</p> -<p>The primary group of a new user can be set in the 'Group' column. -When this is empty, it takes the <em>useradd</em> default, which is -defined by settings in '/etc/login.defs' and '/etc/default/useradd'. Note -that the default in <em>Arch Linux</em> is a group with the same name as -the user, this is set by 'USERGROUPS_ENAB yes' in 'etc/login.defs'. You can -override this by adding an 'expert' option, or by placing a modified version -of this file in the profile's 'rootoverlay' directory. -</p> -<p>By default the UID number will be chosen automatically, but a specific -number may be entered here. In <em>Arch Linux</em> the UIDs normally start -at 1000. -</p> -<p>The 'skel'-directory column determines how the user's home -directory will be initialized. The default (empty cell) is to copy the -contents from '/etc/skel'. The editor popup shows a list of the available -alternatives (folders within the profile beginning with 'skel_'). -</p> -<p>The additional groups to which this user should belong can also be -specified. Entries in this column are initialized to some default value -which should be adequate for normal use, but may well need tweaking. -This is a comma separated list <strong>without spaces</strong>. -</p> -<p>The final column allows you to pass further options to the system -'useradd' command used to add the new user. Do not use double-quotes in this -option string. Read 'man useradd' for more information about the available -options. -</p> - -<h4>Editing the table</h4> -<p>Click on a cell in the selected row to cause an editor popup to appear. -Clicking on an unselected row selects that row. -</p> - -<h3>The overlay</h3> -<p>Apart from the few customization options offered by the GUI directly, it -is possible to include any files in the <em>live</em> system by adding them -at the appropriate path within the overlay directory ('rootoverlay') of -the profile. This button opens a file browser on the 'rootoverlay' directory -of the current profile. -</p> - -<h3>Locales</h3> -<p>You can select the (glibc) locales supported by the <em>live</em> -system by editing the /etc/locale.gen file in the overlay. If there is -no such file initially it will be copied from the new installation's -(not the host's!) version. See (for example) the <em>Arch Wiki</em> for -more information about locales. Note that <em>larch</em> tries to leave -the locale files in the installation itself unchanged, new files are -placed in the overlay. -</p> - -<h3><em>Arch</em> configuration: /etc/rc.conf</h3> -<p>This is the central configuration file for an <em>Arch Linux</em> -system. You can edit it here (see for example the <em>Arch Wiki</em> for -more information about this file). -</p> - -<h3>Reuse existing system.sqf</h3> - -<p>After 'larchify' has been run, the base installation will have been -'squashed' into a compressed archive. Setting this option will prevent -the repetition of this compression (which is quite a lengthy process) on -the next run of 'larchify'. This should only be enabled if no changes -have been made to the base installation (otherwise these changes will -not be picked up). -</p> - -<h3>Advanced options - the defaults are normally fine</h3> - -<h4>mkinitcpio.conf</h4> -<p>Here you can edit the mkinitcpio.conf used for building the -<em>initramfs</em> for the <em>live</em> system. N.B. The details of -<em>mkinitcpio</em> handling in <em>larch</em> are a bit complicated, -so if you change something here please be careful - you are not editing -'/etc/mkinitcpio.conf', but rather 'etc/mkinitcpio.conf.larch0' in the -'rootoverlay' directory of the profile (see -<a href="larchify.html#mkinitcpio">here</a> for further details). -Also, don't change the <em>larch</em> hooks. -</p> - -<h4>ssh-keys</h4> -<p>See <a href="larch_ssh.html#ssh_hostkeys">ssh host keys</a>. The default -is to generate these keys (if the <em>openssh</em> package is installed). -</p> - -<h4>Reuse existing locales</h4> - -<p>For people generating a lot of locales this can save a bit of time on -a rerun, so long as nothing significant (like <em>glibc</em>, or -/etc/locale.gen) has changed in the installation. -</p> - -</div> - - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/gui_medium.html b/build_tools/l7/larch0/docs/html/gui_medium.html deleted file mode 100644 index 2c1b010..0000000 --- a/build_tools/l7/larch0/docs/html/gui_medium.html +++ /dev/null @@ -1,220 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>GUI Tab: Preparing the Medium</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="gui_mediumprofile.html"><h6>Next:</h6> - <div class="indent1">GUI Tab: Medium Profile Settings</div></a></li> - <li><a href="gui_larchify.html"><h6>Previous:</h6> - <div class="indent1">GUI Tab: Larchify</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> - -<h2 id="pagetitle" level="2">GUI Tab: Preparing the Medium</h2> - -<p>This tab presents the various possibilities for installing the -<em>live</em> system that was built on the 'larchify' tab onto a bootable -device, which can be in <em>iso9660</em> form (to burn to a CD/DVD), or -a partition on a hard disk or flash storage device. A suitable bootloader -can also be installed. -</p> - -<h3>Bootloader</h3> -<p>The choice between <em>GRUB</em> ('legacy') and -<em>syslinux/isolinux</em> is provided. Editing their configuration -files is covered on the <a href="gui_mediumprofile.html">'Medium Profile'</a> -tab. Whenever a 'larch source' is selected, the validity of this source is -tested, along with bootloader availability, so it could turn out -(according to the nature of the source), that one - or even both - of the -bootloaders is not available. To support a particular bootloader the -corresponding package must be installed in the <em>larchified</em> system. -</p> - -<h3>Selecting the source</h3> - -<p>In the 'normal' case this will be the first (default) option, the -<em>larchified</em> system. The other choices enable copying of an -already existing <em>larch live</em> medium (or building a boot CD -for a USB medium). If no <em>larchified</em> system has been built yet, -a warning will pop up and the build buttons will be disabled. -</p> - -<h4>Copying an existing <em>larch live</em> medium</h4> -<p>The other source options allow the system to be taken from one that -has already been built. This could be useful for copying from CD to -USB stick, or vice versa, or for copies which involve changes to an -option or two. The 'Device' source requires an unmounted partition -(if you're using some sort of automounting, you'll have to sort that -out yourself). The 'iso file' source allows you to select an 'iso' -image (ending '.iso') anywhere in the file-system. The 'Path' source -allows you to select a directory within the filesystem. If you want -to use a CD/DVD as source, mount it and use this option to -navigate to the mount point. -</p> - -<p>Note that whenever a new source is selected a check is run on it, -to check whether it could be valid and to determine one or two -attributes (e.g. available bootloaders). -</p> - -<h3>Build an <em>iso</em>, for CD or DVD</h3> -<p>Only limited customization possibilities are offered here, you can -set the volume label ('-V' option to <em>mkisofs</em>) and select from -the available bootloaders. The only option for medium detection is -'Search (for larchboot)', described below. -</p> - -<h3>Install to partitition</h3> - -<p>Here one must select the partition to install to - which must be -plugged in and not mounted (again, good luck to automounters), and -also select how the <em>live initramfs</em> is to find the correct -partition. The available options are: - -<ul> - <li>Partition: The device will be sought on the basis of its (current) - device name - such as /dev/sdb1. This is only suitable if you can be - sure the device will always get the same name (which - especially with - pluggable devices - is unlikely).</li> - <li>UUID: Each device normally has a unique UUID, so this is a pretty - reliable method. It's just that the UUIDs themselves are rather ungainly - and unmemorable.</li> - <li>LABEL: Booting on the basis of the device label can be quite reliable - and quite readable, so it might be a good compromise.</li> - <li>Search (for larchboot): The <em>live initramfs</em> tests all - visible devices until it finds one containing the file larch/larchboot. - </li> -</ul> -</p> - -<p>The choice of bootloader will determine the file-system with which the -partition is formatted - for <em>syslinux</em> 'vfat' is used, for -<em>GRUB</em> 'ext2'. No other file-system types are supported at present. -There is also an option to install the <em>live</em> system without first -formatting the partition. This might be useful in certain very special -cases but it is generally <strong>not</strong> recommended. Another -option for experts only is to suppress the installation of the -bootloader. The bootloader is always installed to the Master Boot Record -of the <em>live</em> medium, which might not always be desirable, so -an installation without this step is also supported. -</p> - -<p>With the button 'Enable session-saving', you can determine whether the -medium gets a file 'larch/save', which is needed to enable the session -saving feature (this option overrides the profile's <em>nosave</em> -suggestion). -</p> - -<p>The option 'Not bootable via search' suppresses the generation of the -'larch/larchboot' file, so that the method of medium detection which -searches for this file will not work on the generated medium (this of -course makes no sense if the 'Search (for larchboot)' medium detection -method is selected for this medium). -</p> - -<h3>Volume label</h3> -<p>The maximum length of the label should be 16 characters, which is ok -for 'iso' (CD/DVD) and for 'ext2' (GRUB on partition), but 'vfat' (syslinux -on partition) only accepts 11. -</p> - -<h3>Write the larch medium</h3> -When enough information is available, this button will be enabled and -the generation can be started. If an 'iso' file is to be generated, a -pop-up file-save dialog appears so that the destination can be specified. - -<h3>Create boot iso</h3> -<p>If a 'device' (partition) is selected as 'larch source', there is the -possibility of generating a boot CD for this <em>live</em> medium. This -is to cover cases where a machine cannot boot from USB devices, but can -boot from a CD. Just the kernel, <em>initramfs</em> and bootloader are put -in the boot <em>iso</em>. The <em>live</em> system's <em>initramfs</em> -will (hopefully) then be able to find the actual <em>live</em> medium. -The detection method can be selected, and it need not be the same as -that which the <em>live</em> medium itself uses. -Note that the USB device for which the CD is to be generated must be -plugged in (not mounted) and selected in the device chooser. -</p> - -<p>A pop-up file-save dialog appears so that the destination can be -specified. Note that the boot iso does not get the volume label shown -in the gui (that is for complete <em>larch</em> media), the default -generated by the back-end script 'boot_iso.py' is used. -</p> - -<h3>Use chroot</h3> - -<p>To increase portability and reduce demands on the build system, most -of the fancy processing can be done using the system which was installed -for <em>larchification</em>, via <em>chroot</em>. For normal installation -and building of a <em>larch</em> system this is the default, but when -using one of the other sources (for copying etc.) this approach is not -used by default - for the simple reason that there may well not be -a suitable <em>chroot</em> system available. The gui offers the -possibility of overriding this, so that if you do indeed have a -suitable <em>chroot</em> system, then you can use it if you want. -It is also possible to disable <em>chrooting</em> for the normal case, -but I'm not sure how useful this option is. -</p> - -</div> - - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/gui_mediumprofile.html b/build_tools/l7/larch0/docs/html/gui_mediumprofile.html deleted file mode 100644 index eb823c7..0000000 --- a/build_tools/l7/larch0/docs/html/gui_mediumprofile.html +++ /dev/null @@ -1,117 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>GUI Tab: Medium Profile Settings</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="gui_medium.html"><h6>Previous:</h6> - <div class="indent1">GUI Tab: Preparing the Medium</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> - -<h2 id="pagetitle" level="2">GUI Tab: Medium Profile Settings</h2> - -<p>The profile offers a few medium-specific configuration options: -</p> - -<h3><a name="bootlines"></a>Boot entries/options</h3> - -<p>The bootloader offers a selection of 'boot lines', so that -different systems, or various kernels in combination with various -boot options can be started. The file 'bootlines' in the profile -contains this information for the <em>larch live</em> system in a -form which can be converted automatically into bootloader specific -formats. This allows the boot menu entries to be supplied in the -profile in a way which is independent of the actual bootloader -which is used in the end. The format should be pretty clear from -the default version. -</p> - -<p>The 'bootlines' file covers only the menu entries for the -<em>larch live</em> system. All other entries must be supplied in -a bootloader specific 'template' file. Buttons are supplied to edit -these, too. Note the '###LARCH' line, which specifies where the -information from the 'bootlines' file is to be included. -</p> - -<h3>The 'cd-root' directory</h3> -<p>The handling of this directory is described -<a href="profiles.html#cd-root">here</a>. It is a bit complicated, -because it tries to be flexible, but the default settings might be -adequate for many purposes. -There is a button to open a file browser on this directory -(within the current profile). -</p> - -<h3>Disable session saving</h3> - -<p>Checking this option will only cause the profile file 'nosave' to -exist. Whether session saving is then available on the <em>live</em> -medium depends firstly on whether the medium is writable (an 'iso' -file is not writable) and secondly on whether this option is -overridden at the actual build stage. This may make this option -appear a bit useless, but bear in mind that it is supplied in the -profile, and can thus act as a signal as to whether the profile -was designed with session saving in mind. -</p> - -</div> - - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/gui_project_settings.html b/build_tools/l7/larch0/docs/html/gui_project_settings.html deleted file mode 100644 index 0cd4630..0000000 --- a/build_tools/l7/larch0/docs/html/gui_project_settings.html +++ /dev/null @@ -1,168 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>GUI Tab: Project Settings</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="gui_installation.html"><h6>Next:</h6> - <div class="indent1">GUI Tab: Installation</div></a></li> - <li><a href="larch_gui.html"><h6>Previous:</h6> - <div class="indent1">Using the GUI</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="2">GUI Tab: Project Settings</h2> - -<h3>Projects</h3> - -<p>The <em>larch-7</em> GUI uses 'projects' to gather together a few -configuration options concerning the build environment. -Examples are the location of the <em>Arch</em> installation to be -'larchified' (converted to a <em>live</em> system), pacman options such -as package repository locations, which 'profile' (see below) to build with, -which boot loader to use, and so on. These are all options which don't -directly affect the design of the live system to be built. Most of the -remaining configuration options do concern the design and are specified -in the 'profile', for example the details of which packages to -install, and how to configure the installed system. -</p> - -<p>All project information is kept in a directory within '~/.config/larch' -whose name is derived from the project name by prefixing it with 'p_'. -The currently selected project is specified in the file -'~/.config/larch/app.conf' (the application configuration file), the -default entry being 'project = larch-0'. -</p> - -<p>A new named project can be created in the advanced options on the -Project-Settings tab of the GUI. For many purposes this will be unnecessary -and one can use the default project, 'larch-0' (this is why it is among the -advanced options). It is also possible to delete projects which are no longer -needed, and to set the path of the installation to be larchified. Note -that the GUI uses a different default installation path than the command -line scripts, '~/larch_build' (i.e. within the user's home directory). -Changing the installation path to an empty one ('') will return to the -default one. -</p> - -<h4>Installation Path</h4> - -<p>The installation that <em>larch</em> turns into a <em>live</em> system -need not be on a separate partition, it can be placed anywhere convenient. -The default installation directory ('~/larch_build') should normally be -acceptable, so long as there is enough free space on that partition. -Note that lots of space is necessary, nearly 4GB for a 700MB CD, for example. -The <em>live</em> system is built in the '.larch' sub-directory of the -installation directory; it must be within the installation to be converted -because some of the construction work is done using <em>chroot</em>. -</p> - -<p>The installation of the <em>Arch Linux</em> system to be larchified is -handled on the <a href="gui_installation.html">'Installation'</a> tab of -the GUI, but an already existing <em>Arch Linux</em> installation can also -be larchified: see <a href="larchify.html#existingSystem"> -Making a live CD from an existing Arch installation</a> -</p> - -<p>As the actual building work is done with admintrator permissions, the -installation path can actually be anywhere in the file-system - exercise -caution in entering the path, you could do some real damage to your system -if you make a mistake. Entering an empty string will cause the default -path to be chosen, to larchify the running system (not at all recommended!) -enter '/'. -</p> - -<h3>Profiles</h3> - -<p>A profile contains the information needed to build a particular flavour -of <em>(live) Arch Linux</em> - which packages to install, which locales, -system configuration in '/etc/rc.conf', boot entries, and so on. Apart -from a few basic configuration details (mainly those concerned specifically -with the special needs of a <em>live</em> system) for which <em>larch</em> -provides a special mechanism, all desired changes from the freshly -installed state should be placed in the directory 'rootoverlay' within -the profile directory. This allows easy rebuilding of a particularly -configured system, and it also allows various (differently configured) -<em>live</em> systems to be built from the same underlying installation, -without touching the installation itself. -</p> - -<p>All profile information is kept in the correspondingly named directory -within the directory '~/.config/larch/myprofiles'. -</p> - -<p>The profiles are shared by all projects, so if you change one that is -in use by another project, it will also be changed for that project. -Deletion or renaming of a profile that is in use by another project is -not permitted, but it is possible to copy a profile within the 'myprofiles' -directory, by giving it another name, and thus creating a new, 'unattached' -version. -A new profile can be also be fetched from anywhere in the file-system, -using the browse button, but in this case it is not possible to supply a -new name for the profile directory (this can be done subsequently with -the rename button). -</p> - -<p>When renaming or browsing for profiles it is possible to overwrite -existing profiles, but you will be prompted for confirmation. -</p> - -</div> - - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/index.html b/build_tools/l7/larch0/docs/html/index.html deleted file mode 100644 index 2a6cad0..0000000 --- a/build_tools/l7/larch0/docs/html/index.html +++ /dev/null @@ -1,151 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>Table of Contents</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - </div> - </div> - <!-- end: #col3 --> - - <h2>Table of Contents</h2> - <p>This documentation covers <em>larch</em> version 7.2.</p> - -<p>WARNING: larch-7.2 is still quite new and probably buggy, but it is -the recommended version, especially for command-line users - please -report bugs! -</p> -<p>Although relatively few changes have been made to the structure of the -profiles, it is not completely compatible with larch-7.1, so don't mix -the two. -</p> - - - - <ul class="toc"> - <li class="level1"><a href="larch_intro.html">Introduction</a></li> - <ul> - <li class="level2"><a href="larch_intro.html#live_system">What is a live system?</a></li> - <li class="level2"><a href="larch_intro.html#requirements">Build system requirements</a></li> - <li class="level2"><a href="larch_intro.html#cli_gui">Command line vs. GUI</a></li> - <li class="level2"><a href="larch_intro.html#overview">Overview</a></li> - <li class="level2"><a href="larch_intro.html#larch_installation">Installation of the larch build system</a></li> - <li class="level2"><a href="larch_intro.html#larch_profiles">Profiles</a></li> - <li class="level2"><a href="larch_intro.html#stages">The stages of the build process</a></li> - </ul> - <li class="level1"><a href="larch_features.html">Features</a></li> - <li class="level1"><a href="larch_quick-console.html">Quick Start - Console</a></li> - <li class="level1"><a href="larch_quick.html">Quick Start</a></li> - <li class="level1"><a href="archin.html">Installation of the base Arch system</a></li> - <ul> - <li class="level2"><a href="archin.html#pacman_conf">'pacman.conf' and 'mirrorlist'</a></li> - <li class="level2"><a href="archin.html#Custom_packages">Custom packages</a></li> - <li class="level2"><a href="archin.html#package_selection">Selection of packages to be installed</a></li> - </ul> - <li class="level1"><a href="larchify.html">Building the live system</a></li> - <ul> - <li class="level2"><a href="larchify.html#mkinitcpio">mkinitcpio and the initramfs</a></li> - <li class="level2"><a href="larchify.html#reuseSystem">Rebuilding using an existing 'system.sqf'</a></li> - <li class="level2"><a href="larchify.html#existingSystem">Making a live system from an existing Arch installation</a></li> - </ul> - <li class="level1"><a href="medium.html">Preparing the larch live medium</a></li> - <ul> - <li class="level2"><a href="medium.html#usb2bootiso">Building a boot CD for a USB-stick</a></li> - </ul> - <li class="level1"><a href="profiles.html">Profiles</a></li> - <ul> - <li class="level2"><a href="profiles.html#overlay">The overlay directory</a></li> - <li class="level2"><a href="profiles.html#cd-root">The cd-root directory</a></li> - <li class="level2"><a href="profiles.html#other-files">Other important files within a profile</a></li> - <li class="level2"><a href="profiles.html#users">Adding user accounts</a></li> - </ul> - <li class="level1"><a href="larch_live_system.html">Structure of a larch live system</a></li> - <ul> - <li class="level2"><a href="larch_live_system.html#Squashfs_and_Unionfs">squashfs and aufs</a></li> - <li class="level2"><a href="larch_live_system.html#initramfs">initramfs and mkinitcpio</a></li> - <li class="level2"><a href="larch_live_system.html#rc_files">/etc/rc.sysinit and /etc/rc.shutdown</a></li> - <li class="level2"><a href="larch_live_system.html#fstab">/etc/fstab</a></li> - <li class="level2"><a href="larch_live_system.html#aufs">[unionfs as an alternative to aufs]</a></li> - </ul> - <li class="level1"><a href="larch_sessionsave.html">Saving a session back to the boot device (or even somewhere else)</a></li> - <ul> - <li class="level2"><a href="larch_sessionsave.html#overlays">Overlay archives</a></li> - <li class="level2"><a href="larch_sessionsave.html#var_files">Special places in /var</a></li> - <li class="level2"><a href="larch_sessionsave.html#upd_packages">Updating packages</a></li> - <li class="level2"><a href="larch_sessionsave.html#de-Act">Activating and deactivating the session-saving feature</a></li> - <li class="level2"><a href="larch_sessionsave.html#custom">Customizing the behaviour using scripts</a></li> - </ul> - <li class="level1"><a href="larch_ssh.html">ssh access</a></li> - <ul> - <li class="level2"><a href="larch_ssh.html#ssh_hostkeys">ssh host keys</a></li> - <li class="level2"><a href="larch_ssh.html#ssh_x11">ssh and X11</a></li> - </ul> - <li class="level1"><a href="larch_running.html">Running a larch live system</a></li> - <ul> - <li class="level2"><a href="larch_running.html#bootparm">Boot parameters</a></li> - <li class="level2"><a href="larch_running.html#config">Configuration</a></li> - <li class="level2"><a href="larch_running.html#install">Installation to hard disk</a></li> - <li class="level2"><a href="larch_running.html#install-live">'Live' installation to hard disk</a></li> - <li class="level2"><a href="larch_running.html#change-medium">Copying the live system to other media</a></li> - </ul> - <li class="level1"><a href="larch_rebuild.html">Recompressing the whole system</a></li> - <li class="level1"><a href="larch_gui.html">Using the GUI</a></li> - <ul> - <li class="level2"><a href="gui_project_settings.html">GUI Tab: Project Settings</a></li> - <li class="level2"><a href="gui_installation.html">GUI Tab: Installation</a></li> - <li class="level2"><a href="gui_larchify.html">GUI Tab: Larchify</a></li> - <li class="level2"><a href="gui_medium.html">GUI Tab: Preparing the Medium</a></li> - <li class="level2"><a href="gui_mediumprofile.html">GUI Tab: Medium Profile Settings</a></li> - <ul> - <li class="level3"><a href="gui_mediumprofile.html#bootlines">Boot entries/options</a></li> - </ul> - </ul> - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/larch_features.html b/build_tools/l7/larch0/docs/html/larch_features.html deleted file mode 100644 index a6cf96d..0000000 --- a/build_tools/l7/larch0/docs/html/larch_features.html +++ /dev/null @@ -1,180 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>Features</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="larch_quick-console.html"><h6>Next:</h6> - <div class="indent1">Quick Start - Console</div></a></li> - <li><a href="larch_intro.html"><h6>Previous:</h6> - <div class="indent1">Introduction</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="1">Features</h2> - -<ul> - - <li> - <p>Built from standard <em>Arch Linux</em> packages</p> - </li> - - <li> - <p>Only minimal changes made to enable functioning as a <em>live</em> - system - it is essentially pure <em>Arch Linux</em></p> - </li> - - <li> - <p>Can build <em>live</em> iso images (for CD or DVD), USB-sticks, - hard disk partitions (sometimes called 'frugal' installation), etc.</p> - </li> - - <li> - <p>Can also build from existing <em>Arch</em> installation</p> - </li> - - <li> - <p>Can use standard <em>Arch</em> kernel ('kernel26'), no kernel build is - necessary</p> - </li> - - <li> - <p>Fully customizable package selection</p> - </li> - - <li> - <p>Can use isolinux/syslinux or GRUB bootloader</p> - </li> - - <li> - <p>Automatic generation of /etc/fstab based on device detection; - can also detect LVM volumes (when configured to do so)</p> - </li> - - <li> - <p>Does not require an <em>Arch Linux</em> system to build it, any modern - <em>GNU/Linux</em> system should suffice</p> - </li> - - <li> - <p>Can be used to install an already configured <em>Arch Linux</em> to hard disk - -you can test, configure and reconfigure, and even update, before you install</p> - </li> - - <li> - <p>Uses latest udev-based hardware detection</p> - </li> - - <li> - <p>Based on squashfs, aufs, initramfs (using standard <em>Arch</em> - mkinitcpio)</p> - </li> - - <li> - <p>Changes made during a session can be saved back to the boot medium - (assuming it is writeable - USB-stick, hard-disk, etc.)</p> - </li> - - <li> - <p>Full graphical system possible, e.g. with KDE, OpenOffice, GIMP, ...</p> - </li> - - <li> - <p>Using ssh it's possible to run this CD/USB-stick on a system without - monitor/keyboard - remote installation and rescue is also possible</p> - </li> - - <li> - <p>Copy to RAM possible, using boot parameter ('c2r')</p> - </li> - - <li> - <p>Optional use of existing swap partition ('swap' boot parameter)</p> - </li> - - <li> - <p>Simple text configuration files</p> - </li> - - <li> - <p>Extensive documentation</p> - </li> - - <li> - <p><em>larch</em> can itself be run from a <em>live</em> medium, allowing easy - 'larchification' of existing installations</p> - </li> - - <li> - <p>New in version 7: easier use, <em>larch</em> now has a gui</p> - </li> - - <li> - <p>New in version 7: even kernel updates are supported via the normal - pacman update process</p> - </li> - - <li> - <p>New in version 7: i18n-ready (using <em>gettext</em>)</p> - </li> - -</ul> - -</div> - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/larch_gui.html b/build_tools/l7/larch0/docs/html/larch_gui.html deleted file mode 100644 index 814e949..0000000 --- a/build_tools/l7/larch0/docs/html/larch_gui.html +++ /dev/null @@ -1,82 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>Using the GUI</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="gui_project_settings.html"><h6>Next:</h6> - <div class="indent1">GUI Tab: Project Settings</div></a></li> - <li><a href="larch_rebuild.html"><h6>Previous:</h6> - <div class="indent1">Recompressing the whole system</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="1">Using the GUI</h2> - -<p><em>larch-7</em> can be run from a graphical user interface. This presents -most of the main options in a clear way, avoiding cryptic command-line -mumbo-jumbo. -</p> - -<p>The <em>larch</em> documentation is available in the GUI, and there are -documentation pages for each of the tabs in the <em>larch</em> window. -</p> - -</div> - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/larch_intro.html b/build_tools/l7/larch0/docs/html/larch_intro.html deleted file mode 100644 index dfed676..0000000 --- a/build_tools/l7/larch0/docs/html/larch_intro.html +++ /dev/null @@ -1,316 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>Introduction</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="larch_features.html"><h6>Next:</h6> - <div class="indent1">Features</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="1">Introduction</h2> - -<blockquote> -<h3>Warning</h3> - -<p><em>Before we get started I should point out that most of the -<em>larch</em> scripts must be run as root in order to do their work, -and that much of this work consists of deleting and overwriting files -and even complete directories. If just one of these is wrong it might make -quite a mess of your system. That is quite normal for an installer, -but you will be using it on a system that -is already configured and this is somewhat risky - if you set up your -configuration wrong (or if you or I made some other mistake ...), you -might find you have destroyed some important data and/or your system -doesn't work any more. But that's life - <strong>Share and -Enjoy!</strong></em> -</p> -</blockquote> - -<p>Below is the general introductory blurb, but for those who want to jump -straight in and try it out I would suggest the following pages as possible -starting points: -<ul> - <li><a href="larch_quick.html" >Quick Start with the GUI</a> - </li> - <li><a href="larch_quick-console.html" >Quick Start on the command line</a> - </li> -</ul> -</p> - -<h3><a name="live_system"></a>What is a <em>live</em> system?</h3> - -<p><em>larch</em> is a collection of scripts designed around the creation and -use of custom <em>live</em> CD/DVD/USB-stick versions of <em>Arch Linux</em>. -A <em>live</em> operating system is one which can reside on a removable medium -and boot on (ideally) any computer (of compatible architecture) into which -it is inserted. This can be useful in quite a variety of situations, for -example for testing purposes, for rescue purposes on machines whose -installed operating system is broken, or as an installation medium (many -linux distributions use <em>live</em> systems as installers). But there -are also situations where a permanently installed <em>live</em> system -can offer advantages over a normal installation, perhaps because of the -compression or because a <em>live</em> system is quite robust - it is -in essence read-only, and can be quite insensitive to hardware changes. -</p> - -<p>The main features of the <em>larch</em> system are listed on the -<a href="larch_features.html">Features</a> page, among the most -significant might be the use of <a href="profiles.html">'profiles'</a> -to define the characteristics of the system to be built, the ability -to write to various media with a choice of bootloaders and the -<a href="larch_sessionsave.html">session saving</a> possibilities, -allowing changes made during a <em>live</em> 'session' to be saved -back to the boot device (as long as it is writable!). -</p> - -<h3><a name="requirements"></a>Build system requirements</h3> - -<p><em>larch</em> has been designed to work without extensive demands on -the build system. Although it has been developed under <em>Arch Linux</em>, -<em>larch</em> should run on other <em>GNU/Linux</em> systems. By means -of a sort of bootstrapping, the required software has been kept to a -minimum - many of the build functions are carried out on the newly -installed <em>Arch</em> system using <em>chroot</em>. -For example, you do not need support for <em>squashfs</em> or <em>aufs</em> -on the build system. But basic utilities which are normally available on any -<em>GNU/Linux</em> system, such as <em>bash</em>, <em>mkfs.vfat</em>, -<em>mkfs.ext2</em>, <em>blkid</em> and <em>sfdisk</em> - and of course -<em>chroot</em> - are assumed to be present (on <em>Arch</em> that is packages -'bash', 'dosfstools', 'e2fsprogs', 'util-linux-ng' and 'coreutils'). -</p> - -<p> The <em>larch</em> scripts are written mainly in python, but snippets -of bash crop up here and there. -In addition to python you must also have the pexpect module available -(in <em>Arch</em> the 'python-pexpect' package). The (optional) GUI -requires pyqt. I'm not sure what the oldest supported versions are, -development was done using python-2.6 and pyqt-4.7. -I think python-2.5 should be alright, and I have heard that -pyqt-4.4 probably doesn't work. -</p> - -<h3><a name="cli_gui"></a>Command line vs. GUI</h3> - -<p> -The basic functionality of <em>larch</em> is provided by command-line scripts, -but a graphical user interface is available, to make it easier to see what -options are available and to avoid the need to remember and not mistype -obscure command line parameters. In addition to providing a front-end to the -main scripts the GUI also provides help with organising the configuration -files. -</p> - -<h3><a name="overview"></a>Overview</h3> - -<p>One design aim was easy customization, so that even relatively inexperienced -users could build personalized <em>live</em> CDs (etc.), containing whatever -packages they wanted and with their own personal configurations. The resulting -medium should also be usable for installation purposes, so that one has a -customized <em>Arch Linux</em> installation/rescue medium. As the content can -be chosen freely, a comfortable working environment is possible - in contrast -to the rather Spartan standard <em>Arch</em> installation CD. However, note -that it is also possible, using the officially supported <em>archiso</em>, to -produce a customized <em>Arch Linux</em> installation/rescue medium (see the -corresponding <em>Arch wiki</em> page). The approach taken by the two projects -is somewhat different so do have a look at both. Note that at the latest since -version 7, <em>larch</em> makes no pretence of a 'KISS' approach. The code is, -I'm afraid, rather complicated. The resulting <em>live</em> system should, -however, be very close to a normal non-<em>live Arch Linux</em> system (as -far as the <em>squashfs + aufs</em> basis allows). -</p> - -<p><em>larch</em> offers a flexible approach to building your -<em>live</em> media. You can use 'profiles' to determine what gets installed, -and how it is configured. The advantage of this method is that all your -specifications are kept together in a folder which can be used to rebuild the -same or a similar system at a later date. Alternatively you can do a normal -<em>Arch Linux</em> installation (if there is such a thing!) and then make a -<em>live</em> medium from this. You can even 'livify' your existing -installation (though it might be worth tidying it up a bit first ...). -</p> - -<p>The use of <em>squashfs</em> in the resulting system means that the space -occupied will be significantly less than in the 'raw' state, normally about a -third of the original. As a result of this design, it is not possible to write -directly to the system - which would seem to be quite a drawback, though in -some situations it can even be an advantage. The use of <em>aufs</em> (a -'unification' file-system, originally based on <em>unionfs</em>) allows the -resulting system to appear writable in spite of its actual read-only nature, -by using a writable 'overlay' in <em>tmpfs</em> (a memory-based file-system). -</p> - -<p>Normally any changes made to the system while running would be lost on -shutdown, but by saving the overlay to the boot medium (which is of course -only possible on devices which are actually writable, such as USB sticks), -data persistence can be achieved even though the basic system is actually -not writable. In spite of the different file-system structure of the -<em>live</em> system, it should behave almost identically to a normal Arch -installation in most respects. You can, for example, perform package -management as usual, but the changes are saved in the overlay, rather than -in the underlying system. Of course as the number of changes grows, so -does the size of the overlay, and at some point this will become -problematical. How <em>larch</em> manages this is explained in the -<a href="larch_sessionsave.html">session saving</a> section. -</p> - -<p>Hardware detection is provided by the same <em>udev</em> approach as is -used in a standard <em>Arch Linux</em> system. -</p> - -<p>The <em>larch</em> project comprises several components. The scripts for -building a <em>larch live</em> medium are in the <em>larch</em> package, which -need not itself be installed in the <em>live</em> system, though it may be -useful (and is indeed installed by default). Scripts and data for the -<em>live</em> environment are provided in the -<em>larch-live</em> package, which must be installed in the <em>live</em> -system. There is also an optional installer (<em>larchin</em>) which can -install the <em>live</em> system to hard disk, providing a convenient way -to install a ready-configured <em>Arch Linux</em> system. -</p> - -<p>As with <em>Arch Linux</em> in general <em>larch</em> is not really -designed for beginners - you should know your way around a -<em>GNU/Linux</em> system (preferably <em>Arch</em>!), and be aware of the -dangers of running such programs, such as corrupting your whole system. -In any case, I hope that the -documentation will be clear enough to help anyone who wants to exploit -<em>larch</em> to the full (feedback is welcome!).</p> - -<p><b>Space Requirements:</b> -You need quite a lot of space to create a <em>live Arch Linux</em> system. -Bear in mind that a complete <em>Arch Linux</em> system is installed, then, -additionally, a compressed ('squashed') version is made, and then perhaps -even a CD image (<em>iso</em>). -Building for a USB-stick requires slightly less space, as the iso-image is -not built. If building a <em>live</em> version of the currently running -<em>Arch Linux</em> system, much less space is required as no new -system must be installed - but there are additional problems with this -approach which make it generally not the best way (see -<a href="larchify.html#existingSystem">the section dealing -with this</a>). -</p> - -<h3><a name="larch_installation"></a>Installation of the <em>larch</em> build -system</h3> - -<p>The recommended way of installing <em>larch</em> is by means of the setup -script, see <a href="larch_quick-console.html">here</a> for details. -This installs all the necessary packages to a working directory, and it -should also work on non-<em>Arch</em> linux systems. -</p> - -<p>The <em>larch</em> package may, however, be installed in the normal -<em>Arch Linux</em> way using <em>pacman</em>. This method will only work on -an <em>Arch</em> system, of course. The <em>larch</em> repository is at -<a href="ftp://ftp.berlios.de/pub/larch/larch7.2/i686/"> -<strong>berlios</strong></a>. -</p> - -<p>The <em>larch</em> command line scripts need to be started as root, and -each has a usage message (run with the '-h' option). The gui should be -started as a normal user (it uses <em>sudo</em> to get administrator -permissions when needed). -</p> - -<h3><a name="larch_profiles"></a>Profiles</h3> - -<p>A <em>larch</em> 'profile' is a directory containing the information -needed to build a particular 'flavour' of <em>Arch Linux</em> as a -<em>live</em> system - which packages to install, and how it should be -set up. For details see <a href="profiles.html">Profiles</a>. -</p> - -<h3><a name="stages"></a>The stages of the build process</h3> - -<p>The starting point is an <em>Arch Linux</em> installation. This can -be an already existing one from which you want to make a <em>live</em> -version, or - the recommended approach - you can use the -'Installation' stage of the <em>larch</em> system -(using the <strong>larch-archin</strong> script) to prepare this. -This script downloads all the desired packages (if they are not already -in the host's package cache) and installs them to a directory on the host -(the default is '/home/larchbuild'). See <a href="archin.html">this page</a> -for details. -</p> - -<p>Once we have the <em>Arch Linux</em> installation this can be -processed to build the basis components for the <em>live</em> medium. The -installation is compressed into a <em>squashfs</em> archive, and a second -<em>squashfs</em> archive is built, which will function as a sort of -'patch' file for the basic installation, containing a few necessary -adjustments for running as a <em>live</em> system and also the -customizations specified in the <em>profile</em>. The other important -component is the <em>initramfs</em>, which also needs to be adapted -to boot the <em>live</em> system. This processing is performed by the -<strong>larch-larchify</strong> script, see -<a href="larchify.html">this page</a> for details. -</p> - -<p>When the 'larchification' has been completed, the components can -be packed together onto a boot medium together with a bootloader. The -<strong>larch-live_iso</strong> script creates an <em>iso</em> file, which -can then be written to a CD or DVD, the <strong>larch-live_part</strong> -script sets up a bootable partition on a disk(-like) device, such as a -USB stick. See <a href="medium.html">this page</a> for details. -</p> - -</div> - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/larch_live_system.html b/build_tools/l7/larch0/docs/html/larch_live_system.html deleted file mode 100644 index 1f7bbeb..0000000 --- a/build_tools/l7/larch0/docs/html/larch_live_system.html +++ /dev/null @@ -1,220 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>Structure of a larch live system</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="larch_sessionsave.html"><h6>Next:</h6> - <div class="indent1">Saving a session back to the boot device (or even somewhere else)</div></a></li> - <li><a href="profiles.html"><h6>Previous:</h6> - <div class="indent1">Profiles</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="1">Structure of a <em>larch live</em> system</h2> - -<p>The vast majority of the code that runs in a <em>live</em> CD/USB system -is exactly the same as in a normal system running from hard disk. -The main differences arise through the <em>live</em> system being based on -a read-only root file-system, so various adjustments are necessary to -make the areas that must be writeable appear to be so. I say 'appear to be' -because in general any changes will be lost when the system shuts down, -the actual changes being made only in a RAM-based filesystem (but see -<a href="larch_sessionsave.html">"Session saving"</a>). -</p> - -<h3><a name="Squashfs_and_Unionfs"></a>squashfs and aufs</h3> - -<p>In <em>larch</em>, as in many other <em>live</em> systems, the -ability to (apparently) write to a read-only file-system is provided by -<em>aufs</em> (originally derived from <em>unionfs</em>). -The file-system is also compressed, using <em>squashfs</em>, so as to fit -more data onto the storage device. A custom <em>Arch Linux</em> installation -(you can choose which packages are installed) is compressed into a -<em>squashfs</em> file-system in the file <strong>system.sqf</strong>, -which is placed in the 'larch' directory of the boot device. -</p> - -<p>For use in a <em>live</em> system a few changes must be made to some files -in the installation. In <em>larch</em> this is usually not done directly, -the installed system is left in a 'clean' state. Instead of that, an additional -<em>union</em> layer is created, in the archive <strong>mods.sqf</strong>, -containing all the modified files. The user is free to include (pretty well) -any customizations (s)he wants in this overlay file, which is also placed -in the 'larch' directory of the boot device. -</p> - -<p>Using <em>larch</em>'s merge-overlay feature it is possible to -rebuild the 'mods.sqf' archive to incorporate subsequent changes to the -system. When this is done an additional <em>union</em> layer -(<strong>filter.sqf</strong>) will be created. For further details see the -<a href="larch_sessionsave.html">session saving page</a>. -</p> - -<p>These system archives are combined when the <em>live</em> system -boots. They are mounted as branches of a <em>union</em> (<em>aufs</em>) -file-system with the overlay above the 'standard' system, so that files in -the overlay have priority over the original ones. A further, <em>tmpfs</em>, -layer is placed on top of these, which effectively makes the whole system -writeable. When <a href="larch_sessionsave.html">session saving</a> is being -used this top layer is initialized during the boot sequence, by copying the -contents of a compressed archive (<strong>overlay.tar.lzo</strong>) into it. -<em>lzo</em> compression is used here because of its speed ('lzop' is a -dependency of the 'larch-live' package). -</p> - -<h3><a name="initramfs"></a><em>initramfs</em> and <em>mkinitcpio</em></h3> - -<p>It is, in general, not possible to boot directly into a <em>live</em> -system. -Some form of 'initrd' or 'initramfs' is required, in order to find the boot -device, prepare the <em>union</em> file-system and prepare it for running. -Many modern <em>GNU/Linux</em> systems use initrd/initramfs (the former -being now deprecated) as a matter of course, for loading the necessary kernel -modules, and <em>Arch Linux</em> is no exception, a modular initramfs system -(<em>mkinitcpio</em>) being the standard way to boot <em>Arch Linux</em>, -and <em>larch</em> also takes advantage of it, although some additions need -to be made to boot <em>live</em> systems. -</p> - -<p><em>larch</em> adds several 'hooks' (code plug-ins) to the -<em>Arch Linux mkinitcpio</em> system (they are in the 'larch-live' package). -The first, 'larch1', is concerned with finding the boot device. -It can select a device on the basis -of UUID, partition label, partition name ('/dev/sdb1', etc.) or else it can -search all available devices for the file '/larch/larchboot'. A simple -validity check is made by testing the existence of the '/larch/system.sqf' -archive. -</p> - -<p>The second hook comes in two flavours - one for <em>aufs</em> and one -for <em>unionfs</em> - it just sets some variables according to which -unioning file-system is being used (at the moment only <em>aufs</em> -is properly supported). -</p> - -<p>The third hook, 'larch3', performs the actual preparation of the -<em>larch</em> root file-system, combining the system and overlay archives -with a <em>tmpfs</em> upper layer in a <em>union</em> and carrying out -various other initializations. -</p> - -<p>In order to generate the special <em>initramfs</em> a customized -'/etc/mkinitcpio.conf' is used, prepared during the build process from the -template '/etc/mkinitcpio.conf.larch0' and saved as -'/etc/mkinitcpio.conf.larch'. If you want to customize this, you need to -edit '/etc/mkinitcpio.conf.larch0' in 'rootoverlay' in the profile (the -gui has a button for this). -</p> - -<p>There is also a customized <em>mkinitcpio</em> preset in '/etc/mkinitcpio.d', -also working with a template - 'larch.preset0' is used to produce 'larch.preset' -during the build operation. In addition this preset replaces the standard -preset belonging to the kernel, so that subsequent kernel updates (etc.) -will regenerate a correct <em>initramfs</em> for the <em>larch</em> system. -If you want to revert to the normal <em>Arch Linux mkinitcpio</em> behaviour -(for example, if you are installing the system) you will need to replace -the preset by the original, which gets saved with '.larchsave' appended. -</p> - - -<h3><a name="rc_files"></a>/etc/rc.sysinit and /etc/rc.shutdown</h3> - -<p>The initial boot script and the shutdown script must be customized for use -in a <em>larch live</em> environment. This is achieved by using hooks in the -standard /etc/rc.sysinit and /etc/rc.shutdown scripts. The file -'etc/rc.d/functions.d/larch-hooks', in the 'larch-live' package, defines these. -During startup the main tweaks are to the content of /etc/mtab and /etc/fstab. -During shutdown we probably want to disable writing to the hardware clock, but -the main addition is the session saving code. If booting from CD/DVD we will -want to eject this just before shutting down. -</p> - -<h3><a name="fstab"></a>/etc/fstab</h3> - -<p>If the file '/etc/fstab.larch' exists this will be used as a persistent -'/etc/fstab', being copied there during the boot process (in the 'larch3' -hook in the initramfs system). Otherwise a very minimal '/etc/fstab' will -be generated at each boot. It includes entries for any existing swap -partitions, but these are commented out unless the 'swap' boot parameter -is specified (the default <em>larch</em> behaviour is to mount nothing -automatically). -</p> - -<p>The 'x10d_fstab' script in the 'larch-live' package allows the very basic -/etc/fstab generated by the initramfs system ('larch3' hook) to be extended -automatically, but '/etc/fstab' will only be changed if '/etc/fstab.larch' -doesn't exist. -This script adds entries for the partitions it detects, and also mount points -in '/mnt' for them. The entries are such that the partitions are not mounted -automatically. -</p> - -<h3><a name="aufs"></a>[<em>unionfs as an alternative to aufs</em>]</h3> - -<p>In principle, <em>unionfs</em> can be used instead of <em>aufs</em>, -but as <em>aufs</em> is supported by current <em>Arch Linux</em> kernels -it is obviously the first choice. Indeed the current <em>larch</em> code -probably won't work with <em>unionfs</em>, as it hasn't been tested - but -the framework to support it is in place. -</p> - - -</div> - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/larch_quick-console.html b/build_tools/l7/larch0/docs/html/larch_quick-console.html deleted file mode 100644 index bb50e70..0000000 --- a/build_tools/l7/larch0/docs/html/larch_quick-console.html +++ /dev/null @@ -1,136 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>Quick Start - Console</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="larch_quick.html"><h6>Next:</h6> - <div class="indent1">Quick Start</div></a></li> - <li><a href="larch_features.html"><h6>Previous:</h6> - <div class="indent1">Features</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="1">Quick Start - Console</h2> - -<p>This is a quick run through of the steps needed to download <em>larch</em> -and use it to build a <em>live</em> system from one of the example profiles -provided in the 'larch-profiles' package. You can use this as an introduction -to <em>larch</em>, and as a basis for your own customized system if you like. -</p> - -<ul> - <li>Make sure you have 'python' and 'python-pexpect' packages installed. - </li> - <li>Download the latest - <a href="ftp://ftp.berlios.de/pub/larch/larch7.2/i686/larch-setup"> - <strong>larch-setup</strong></a> script - to an empty working directory. Then run it (it is a shell script). - It will download and prepare the 'larch' and 'larch-profiles' packages - so that they can be used within this directory. - </li> - <li>Several links will appear in the working directory. These point at the - individual <em>larch</em> scripts. Each has a usage message which you - can read by running the script with the '-h' option (e.g. - './larch-archin -h') - </li> - <li>For this example run I will use the 'xmini' profile (which builds a - simple XFCE based system). The following steps must be carried out as root. - </li> - <li>Install the base <em>Arch</em> system to the default location - ('/home/larchbuild'): - <ul> - <li>If you are running <em>Arch</em> the default package mirror is taken - from /etc/pacman.d/mirrorlist. On a non-<em>Arch</em> system this file - (probably) won't exist, in which case the first uncommented server in - larch0/data/mirrorlist is used (this file comes from the 'pacman-allin' - package, which should be downloaded automatically in this case). The - default server might be alright, but if not you should edit this file. - </li> - <li><pre>./larch-archin -p larch0/profiles/xmini install</pre> - </li> - </ul> - </li> - <li>Prepare the <em>live</em> system. This script compresses the - installation using squashfs and also builds a squashed overlay containing - all the customizations necessary for the <em>live</em> system, plus those - specified in the profile: - <pre>./larch-larchify -p larch0/profiles/xmini</pre> - </li> - <li>Create a bootable 'iso' containing the <em>live</em> system: - <pre>./larch-live_iso -p larch0/profiles/xmini</pre> - </li> - <li>As an alternative to the last step, make a bootable USB-stick: - Insert the stick and double-check the name of the partition to install to. - I will assume /dev/sdb1 here: - <pre>./larch-live_part -p larch0/profiles/xmini sdb1</pre> - </li> - <li>If all that worked, you can test the resulting 'iso' in (for example) - <em>virtualbox</em> (select the 'vesa' option from the boot menu, otherwise - <em>xorg</em> probably won't start), or try to boot from the USB-stick. - </li> - <li>If you want to try your hand at designing your own system, the main - place to look for details of the customization process is the - section <a href="profiles.html">Profiles</a>. - </li> - <li> Share and Enjoy!</li> -</ul> - -</div> - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/larch_quick.html b/build_tools/l7/larch0/docs/html/larch_quick.html deleted file mode 100644 index eeb035b..0000000 --- a/build_tools/l7/larch0/docs/html/larch_quick.html +++ /dev/null @@ -1,148 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>Quick Start</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="archin.html"><h6>Next:</h6> - <div class="indent1">Installation of the base Arch system</div></a></li> - <li><a href="larch_quick-console.html"><h6>Previous:</h6> - <div class="indent1">Quick Start - Console</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="1">Quick Start</h2> - -<p>The gui should make exploration of the possibilities offered by <em>larch</em> -quite straightforward. The documentation should provide enough information to -understand how a <em>larch live</em> system works, so that further customizations -can be performed beyond those directly supported. -</p> -<p>The general sequence of events starts with creating a 'project', which will -determine certain aspects of the build environment (such as where to place the -installation files), and select a profile. The profile describes the system to be -installed (primarily which packages, but also various other aspects). All this -configuration information is stored in the user's home directory (~/.config/larch), -so that it is retained from one <em>larch</em> run to the next. -</p> - -<ul> - <li>At present I only maintain a repository for 'i686', as I don't run a 64-bit - <em>Arch</em> machine, but as all the current <em>larch</em> packages - have architecture 'any', both architectures should be supported. - </li> - <li>Make sure you have 'pyqt' and 'python-pexpect' packages installed. - </li> - <li>Download the latest - <a href="ftp://ftp.berlios.de/pub/larch/larch7.2/i686/larch-setup"> - <strong>larch-setup</strong></a> script - to an empty working directory. Then run it (it is a shell script). - It will download and prepare the 'larch' and 'larch-profiles' packages so that - <em>larch</em> can be run from this directory. - </li> - <li>Run './larch' in the working directory. - As it is a gui program, you must of course be running xorg (see - <a href="larch_quick-console.html">Command-Line Interface</a> - for use from the command line). In general you should start <em>larch</em> - as a normal, unprivileged user, so that the access to the configuration - files is as the correct user. It will ask for the <em>sudo</em> - password when it needs it. - </li> - <li>To build a <em>larch live</em> system you basically just have to go through - the tabs one after the other. - </li> - <li>The first tab allows you to create a project and select a profile. The 'mini' - (no <em>xorg</em>) and 'xmini' (a fairly minimal <em>xfce</em> desktop) examples - (from the supplied 'profiles' folder) might be good places to start. - The default installation path should be alright for most purposes, - but you might need to move it if you don't have enough space on that partition. - Be careful! If you put a silly path in here you might overwrite your system. - </li> - <li>The 'Installation' tab performs the installation of the system to be squashed, - by downloading and installing all the requested packages to the installation path - set for the project. You can adjust a few aspects of this process, for example - to use a local package mirror, or to add repositories to pacman.conf. The default - is to use the mirror set on the host system and also to use the host's package - cache, so that repeated builds don't need to download the packages all over - again. - </li> - <li>The 'Larchify' tab compresses the installation using squashfs, also building - a squashed overlay containing all the customizations necessary for the - <em>live</em> system and those specified in the profile. - </li> - <li>A few customizations of the medium are accessible on the 'Medium Profile' tab, - for example the bootloader configurations. - </li> - <li>Finally the 'Medium' tab writes the prepared <em>larch</em> files to an - <em>iso</em> file (for CD or DVD), or to the partition of your choice (be careful!), - so that you end up with a bootable <em>larch</em> system. - </li> - <li>Particular things that you might want to customize even in a first test run might - be the supported <strong>locales</strong> and <strong>rc.conf</strong> (both on the - 'Larchify' tab). - </li> - <li>Further details of the customization process are in the section - <a href="profiles.html">Profiles</a> and in the documentation to the individual - gui tabs. - </li> - <li> Share and Enjoy!</li> -</ul> - -</div> - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/larch_rebuild.html b/build_tools/l7/larch0/docs/html/larch_rebuild.html deleted file mode 100644 index 0433349..0000000 --- a/build_tools/l7/larch0/docs/html/larch_rebuild.html +++ /dev/null @@ -1,100 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>Recompressing the whole system</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="larch_gui.html"><h6>Next:</h6> - <div class="indent1">Using the GUI</div></a></li> - <li><a href="larch_running.html"><h6>Previous:</h6> - <div class="indent1">Running a larch live system</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="1">Recompressing the whole system</h2> - -<p>The <em>larch-live</em> package provides the 'larch-rebuild' script, which -regenerates the system archives 'system.sqf' and 'mods.sqf' from the state of the -system at the last session save (i.e. from the files on the boot medium). All the -changes which have been gathered in the overlay archive are merged into the new -'system.sqf', thus (potentially) reducing the space requirements considerably. The -directory for the storage of these new archives must be passed as argument to the -script. -</p> - -<p>No further handling of these new archives is provided with <em>larch</em> -at present, for the simple reason that it is difficult to find a general solution to the -question of what to do with them. They cannot just replace the archives on the -boot medium because these are required to keep the <em>live</em> system running. -So some temporary storage is needed for them, and it is quite conceivable that there -is not enough space on the medium (as that might well be the reason for wanting -to recompress the system in the first place). -</p> - -<p>Thus some details of how to implement this rebuild feature are currently left to -the creativity of the user. I would, however suggest that the medium file 'larch/boot-init' -(see <a href="larch_sessionsave.html#boot-init">boot-init</a>) might be a useful place -to perform the replacement of the archives. You would just have to write a script -using 'larch-rebuild' to save the new archives somewhere, and write this 'boot-init' -script to replace the old ones with the new ones, remembering to also delete any -sqf files ending in '_' and '~' and the 'overlay.tar.lzo' archive. -</p> - -</div> - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/larch_running.html b/build_tools/l7/larch0/docs/html/larch_running.html deleted file mode 100644 index 2275139..0000000 --- a/build_tools/l7/larch0/docs/html/larch_running.html +++ /dev/null @@ -1,216 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>Running a larch live system</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="larch_rebuild.html"><h6>Next:</h6> - <div class="indent1">Recompressing the whole system</div></a></li> - <li><a href="larch_ssh.html"><h6>Previous:</h6> - <div class="indent1">ssh access</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="1">Running a <em>larch live</em> system</h2> - -<p>Of course the details depend on what you have installed and how you have -configured it. For example, the 'mini2' example profile builds a console-only system, -the 'xmaxi' profile boots to <em>xfce</em>. -</p> - -<p>One thing worth noting is that these supplied profiles automatically login -to the root account, which - potentially - allows all sorts of 'dangerous' actions, -like reformatting your disks or making a mess of your file-systems in other ways. -This is because one of the main <em>raisons d'être</em> for <em>larch</em> is its use -as an <em>Arch</em>-installation-and-rescue medium. For this, you need root access. -However, if you want to use the system in other ways, e.g. for text or image editing, -or for internet browsing or e-mail writing, it might be safer to do this as an -unprivileged user. Such a user is easily created with the 'adduser' command, or -with some other utility (e.g. the graphical 'luser.py' script in the <em>larch</em> -'<em>luser</em>' package). If you have a writeable boot medium, such changes can be -'remembered' by saving the session when you shut the system down (the possibility -will normally be offered automatically). -</p> - -<h3><a name="bootparm"></a>Boot parameters</h3> - -<p>As the <em>larch</em> build system is highly configurable, the available -boot parameters can also vary, but by default 'swap' and 'c2r' are provided. -'swap' indicates that an existing swap partition should be used (the default -is not to use it). 'c2r' means 'copy to RAM', i.e. the system data is copied -to main memory before the system is initialized. This allow the system to run -very fast and frees up the boot device (e.g. the boot CD can be ejected and the -drive used for another CD), but it does require a lot of memory (significantly -more than the size of the boot medium), and the boot process is rather slow -because so much data must be copied. Because of the high memory usage, I have -arranged it so that 'c2r' also implies 'swap'. With A USB-stick as boot medium, -the 'c2r' parameter should generally not really be needed, performance is normally -pretty good and it doesn't occupy the CD-drive (if an extra boot CD is needed, on -a machine that can't boot directly from USB, that can be removed after -booting even without 'c2r'). -</p> -<p>There are also boot options connected with the boot device. The 'nocd' boot -option, if present, prevents booting from CD. This might be useful if you use a -boot CD but want to boot a <em>larch</em> system on another device (normally -a CD will be detected before other devices). This only works if the kernel is -compatible of course. -</p> -<p>The 'root=' option allows explicit specification of the device containing the -<em>larch</em> system. It is also possible to choose the boot device on the basis -of UUID ('uuid=') or label ('label='). The default maximum waiting time (to -allow USB devices to be recognized) is 12 seconds (if a device is recognized -earlier the pause will automatically be shorter), which should be adequate, but -if you want to change this you can do it using the 'usbdelay=' option. -</p> - -<h3><a name="config"></a>Configuration</h3> - -<p>The supplied profiles are not intended to be complete, though I hope they -work reasonably well. They should be seen as examples, perhaps as starting points -for your own configurations. -If you are running a profile with X11, you may find that you -need to configure it before it will run, though nowadays much hardware will work -to at least some extent without any tweaking (even without an 'xorg.conf'). -Minimal starting-point 'xorg.conf' files are offered in the <em>xfce</em> examples. -</p> - -<p>The 'xmini' and 'xmaxi' profiles use a slightly more elaborate login approach on -the first terminal, with a simple menu as well as automatic login. There is also -a logout gui for <em>xfce</em>, which together with the login script can -trigger session saving directly, bypassing the console prompt. -</p> - -<p>If you are stuck with the console, there is still hope. It's not as pretty or -newbie friendly as an X11 desktop, but still quite capable. I always like to have -<em>mc</em> available, it's a real godsend for non-geeks (you should also install -<em>lynx</em> so that HTML files can be displayed on the console - at a -pinch you can also surf with it, but it is painful). -</p> - -<p>If your console keyboard map is -wrong, try running <i>km</i> (I stole this from the -standard <em>Arch</em> install CD and modified it a bit to work in <em>larch</em>). -It also modifies '/etc/rc.conf', so the change can be retained for subsequent -runs by performing a 'session-save'. -</p> - -<p>If you have a DHCP server on your network, you might well find that -the network interface is configured automatically (assuming your <em>rc.conf</em> -is configured appropriately). Otherwise you can use any method to set up -the network available in <em>Arch Linux</em> - see the appropriate -<em>Arch Linux</em> documentation (primarily the wiki, I guess) for details. -</p> - -<p>Of course the exact details of what you can do depends on what -software you installed, so I won't rabbit on endlessly about it here. -Nearly all configuration details should be just the same as in a normal, -hard-disk based installation. -</p> - -<h3><a name="install"></a>Installation to hard disk</h3> - -<p>The <em>larch</em> hard-disk installer <em>larchin</em> may be used to install -<em>Arch Linux</em> to hard disk (or similar). ***+ Or, at least it will be -possible to use it when I have updated (rewritten?) it for <em>larch</em>-7. -*** -<em>larchin</em> deals with partitioning and formatting of hard drives, placing -<em>Arch Linux</em> (primarily a copy of the live system on which it is running) -on the newly formatted partitions, and installation of the GRUB bootloader. -</p> - -<p>As mentioned above the main approach to <em>Arch</em> installation covered by -<em>larchin</em> is to copy the contents of the live system to a hard drive. Those -(few) bits peculiar to the needs of a live system are removed and the result is a -completely normal <em>Arch Linux</em> installation. I should perhaps mention -the file 'delarch' in the '/.livesys' directory (copied there from the 'larch/copy' -directory on the boot medium). This script (if it exists) is run at the end -of the installation -and allows custom installation actions to be performed (the -main reason for its existence is to allow features of the <em>live</em> system -to be removed, because they would be out of place in a normal installation). -</p> - -<h3><a name="install-live"></a>'Live' installation to hard disk</h3> -<p>This is sometimes called a 'frugal' install and means that the system -as it is (compressed, running in a <em>union</em> file system) on the -USB-stick or CD is installed as a <em>live</em> system to a hard-drive -partition. This might be useful if you want to run from a flash device, -for example, as it minimizes write operations to the device (normal access -is read only). -</p> -<p>The <strong>larch2hdd</strong> script (in the <em>larch-live</em> package) -performs such an installation. The partition for the installation should exist -before calling this script, which will format it as <em>ext2</em>. The script -will also install GRUB, either to the same partition or else to the MBR. -</p> - -<h3><a name="change-medium"></a>Copying the <em>live</em> system to other -media</h3> -<p>The bootloader configuration files for both isolinux(/syslinux) and grub -are copied to the medium when it is being built, regardless of which -bootloader has actually been selected. This will, however, only happen -if the support packages for the corresponding bootloader is installed in -the <em>live</em> system. This behaviour allows the <em>larch</em> scripts -to copy an already built system from one medium to another, retaining the -boot commands, and even switching the bootloader. See the -<a href="medium.html">documentation</a> for -the 'larch-live_iso' and 'larch-live_part' scripts. -</p> - -</div> - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/larch_sessionsave.html b/build_tools/l7/larch0/docs/html/larch_sessionsave.html deleted file mode 100644 index 2f2ca95..0000000 --- a/build_tools/l7/larch0/docs/html/larch_sessionsave.html +++ /dev/null @@ -1,191 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>Saving a session back to the boot device (or even somewhere else)</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="larch_ssh.html"><h6>Next:</h6> - <div class="indent1">ssh access</div></a></li> - <li><a href="larch_live_system.html"><h6>Previous:</h6> - <div class="indent1">Structure of a larch live system</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="1">Saving a session back to the boot device (or even somewhere else)</h2> - -<p>An easy way to create a customized <em>live</em> system is to start from an -existing one, make whatever changes you like, and then save the result back to -the boot device. Of course, for this you need a writeable boot device, e.g. -a USB-stick. -</p> - -<h3><a name="overlays"></a>Overlay archives</h3> - -<p>In <em>larch</em> the uppermost layer in the union file-system is in -<em>tmpfs</em> and can (optionally) be saved at shutdown to the boot medium. -It is <em>compressed</em> using <em>tar</em> and <em>lzop</em> to the file -'overlay.tar.lzo'. When the system next boots this file will then be -unpacked into the initially empty top layer. -</p> - -<p>This is handled primarily by the 'shutdown2' script, supplied in the -'larch-live' package. It is called from a hook function in 'etc/rc.shutdown'. -If the medium is writeable and contains a file 'larch/save', the user is -offered the possibility of saving this overlay archive, thus saving the -current state. -</p> - -<p>When this archive grows too large it will reduce the amount of available -memory, perhaps to an unacceptable extent. -It will also lengthen boot and shutdown times. -To counter this, it is possible to merge the -overlay archive with the middle (<em>squashfs</em>) <em>union</em> layer, -<strong>mods.sqf</strong> (which is normally not copied to memory), -thus restoring the rapid load and save times for <strong>overlay.tar.lzo</strong>, -and maximizing the available memory. I call this process -'overlay merging', and it is offered as a shutdown option. The script -'merge_overlay' (in the 'larch-live' package) provides this facility. -It takes longer to execute than a normal session save, so it should probably -not be used for every session saving operation, but just when the top overlay -gets too big. Note that use of the overlay merging feature creates an -additional layer in the <em>union</em>, 'filter.sqf'. This contains only -'whiteout' files to cover up overwritten data in the underlying 'system.sqf'. -Unlike in previous <em>larch</em> versions the 'mods.sqf' archive contains -no 'whiteouts'. It is hoped that this new structure will cure the -problems experienced in these earlier versions. -</p> - -<h3><a name="var_files"></a>Special places in /var</h3> - -<p>It was considered undesirable to include some things in the '/var' directory -in the session saves, primarily because of the space they occupy. Firstly, -the standard <em>pacman</em> package cache, '/var/cache/pacman/pkg' - if you -do want to save your cache, you should either handle this manually or set -up another location using 'CacheDir' in /etc/pacman.conf'. Also the log files -(in '/var/log') and '/var/tmp' (temporary files, like '/tmp') are not saved. -</p> - -<h3><a name="upd_packages"></a>Updating packages</h3> - -<p>It is possible to perform package addition and removal in the <em>live</em> -system, but one should be aware that packages in the base system are not actually -replaced, just (effectively) hidden, so that the space usage might become a -consideration. Also the handling of kernel updates must be handled in a special -way, because it is stored outside the root file-system, on the boot medium -and needs a separate mechanism to save it at shutdown. It should be fairly -transparent to the user, but under certain circumstances it might be necessary -to bear this in mind. -</p> - -<p>At some point, after extensive updating, it might be desirable to completely -<a href="larch_rebuild.html">rebuild the system</a>, so that also -'system.sqf' is recreated. This will require quite a bit of space, -but should otherwise pose no great problems. -</p> - -<h3><a name="de-Act"></a>Activating and deactivating the session-saving feature</h3> - -<p>As mentioned above, for this feature to be available, there must be a -file with the name 'save' in the boot medium's 'larch' directory. This -will be generated automatically if installing to a partition (i.e. if not -building an <em>iso</em>) and if there is no 'nosave' file in the profile. -The gui provides a button to create and delete this 'nosave' file, -thus disabling or enabling session saving on the created medium. -</p> - -<h3><a name="custom"></a>Customizing the behaviour using scripts</h3> - -<p>Some aspects of the session saving can be customized by writing scripts to -override the default behaviour. These scripts are (in general) kept on the boot -medium, in the 'larch' directory. As these are shell scripts and their use requires -some knowledge of the inner workings of the <em>larch live </em>system, it will -almost certainly be necessary to read the existing <em>larch</em> scripts where the -custom scripts are 'sourced' if you want to -write your own scripts to change the behaviour of the <em>live</em> system in -this respect. All these scripts are found in the 'larch-live' package. -</p> -<ul> - <li><strong>session-save0</strong> - <p>Used in <strong>session-save/shutdown2</strong> (in function 'checkse'). - This script can be used to customize the creation of the new overlay - archive, e.g. by specifying a new location. The default is - 'overlay.tar.lzo' on the boot medium. - </p> - </li> - <li><strong>save-menu</strong> - <p>Used in <strong>session-save/shutdown2</strong> (in function - 'session-save'). This script can be used to further customize the creation - of the new overlay archive, e.g. by providing an alternative session save - menu. Note that if the <strong>session-save0</strong> script specified - an alternative device path for saving the overlay, this script will be - sought in the 'larch' directory on that path. - </p> - </li> - <li><a name="boot-init"></a><strong>boot-init</strong> - <p>In initramfs hook <strong>larch3</strong>. This script allows adjustment of - the overlay handling during the boot process, e.g. getting them from another - path. - Note that the shell environment here is that of the initramfs and thus - very limited. - </p> - </li> -</ul> - -</div> - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/larch_ssh.html b/build_tools/l7/larch0/docs/html/larch_ssh.html deleted file mode 100644 index 85bc9e2..0000000 --- a/build_tools/l7/larch0/docs/html/larch_ssh.html +++ /dev/null @@ -1,212 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>ssh access</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="larch_running.html"><h6>Next:</h6> - <div class="indent1">Running a larch live system</div></a></li> - <li><a href="larch_sessionsave.html"><h6>Previous:</h6> - <div class="indent1">Saving a session back to the boot device (or even somewhere else)</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="1">ssh access</h2> - -<p>One feature I wanted in my live system was the ability to -access and control it remotely via <em>ssh</em>. <em>ssh</em> is -generally very useful, but in the case of a <em>live</em> CD (etc.) it -allows operations to be carried out on a remote computer, even one -without keyboard or monitor. Insert the CD, boot up -the computer (assuming it is configured to boot from CD), and log in -via the network using another computer. Isn't <em>Linux</em> great! -</p> - -<p>Well, it doesn't quite work out of the box, though it could be -tweaked so that - in the right environment - it would. Firstly, there -must be a network connection which gets set up automatically - -the easiest is probably <em>DHCP</em> (so long as -you can then find the address of the live system), -but by tweaking <strong>rc.conf</strong> in the <em>profile</em> (or by -using the session saving feature) a static address is also easy to set up. -Secondly you must provide the live system with your public key, so -that you are allowed access (using public key authentication), or else -set a password for the <em>larch</em> root user (probably easiest using the -session saving feature). -</p> - -<h4>id_rsa.pub and authorized_keys</h4> - -<p><strong>id_rsa.pub</strong> -is a public key, and it can be used to allow the user (on the remote machine) -whose key this is to <em>ssh</em> into the live system. -If you leave passwordless logins disabled (the -default), then so long as no root password is set, -the only way in (to the root account) is via public key authentication. -Of course, if you change the root password, anyone (who knows the -password) can log in via <em>ssh</em> -(if the <em>sshd</em> daemon is running). -</p> - -<p>To generate this key for your user (assuming you don't already -have one, in <strong>~/.ssh</strong>) do something like: -</p> - -<pre style="margin-left: 80px;">ssh-keygen -t rsa</pre> - -<p>Use the default destination file and empty passphrase -(normally you wouldn't do that, -but I think it is appropriate in this case). See the <em>ssh</em> man-page -for more information. -</p> - -<p>In order to enable <em>ssh</em> to the root account on the live -system, the contents of this file (a single text line) must be placed in -the <em>larch</em> system's <strong>/root/.ssh/authorized_keys</strong> file. -This file will probably not yet -exist, so the 'id_rsa.pub' can be simply copied to it. -If doing this before building the <em>live</em> system, copy the file to this -position in the 'rootoverlay' directory in the <em>profile</em>, being -careful to get the permissions (644) correct. -To do this in a running <em>larch</em> system, copy the file to this location - -session saving will then preserve it. -</p> - -<p>If you don't need <em>sshd</em> on the live system, you can -remove it from the daemons in <strong>rc.conf</strong>. -</p> - -<h4>/etc/hosts.allow</h4> - -<p> -This must be edited to allow <i>ssh</i> -access to the live system: -</p> - -<pre style="margin-left: 80px;"> -# To allow ssh in from anywhere -sshd: ALL -</pre> - -<p>If that is too radical for you, you might be able to restrict -it somewhat - that depends on your exact circumstances. For example: -</p> - -<pre style="margin-left: 80px;"> -# To allow ssh in from local net (example) -sshd: 192.168.1. -</pre> - -<h3><a name="ssh_hostkeys"></a>ssh host keys</h3> - -<p>The files -<strong>/etc/ssh/ssh_host_dsa_key</strong> -<strong>/etc/ssh/ssh_host_dsa_key.pub</strong>, -<strong>/etc/ssh/ssh_host_rsa_key</strong>, -<strong>/etc/ssh/ssh_host_rsa_key.pub</strong>, -<strong>/etc/ssh/ssh_host_key</strong>, -and -<strong>/etc/ssh/ssh_host_key.pub</strong> -are normally (in a hard-disk based system) generated on the first run of -<strong>/etc/rc.d/sshd</strong>, i.e. during the first boot after a new -installation. This only needs to be done once. However in a <em>live</em> -system changes are generally lost when the system shuts down, so this would -need to be done at every boot, which takes a while, so I prefer to -pregenerate them. -The <em>larch</em> gui offers a checkbox to enable this pregeneration on -the 'larchify' page. -To regenerate these manually (while running the <em>live</em> -system) you can do the following: -</p> - -<pre style="margin-left: 80px;"> -rm /etc/ssh/ssh_host_* -/etc/rc.d/sshd restart -</pre> - -<h3><a name="ssh_x11"></a><em>ssh</em> and <em>X11</em></h3> - -<p> -If you have set up 'X11 Forwarding' (see below), you can run X11 applications on the -<em>live</em> system from your remote system. This is very neat! -</p> - -<h4>/etc/ssh/sshd_config</h4> - -<p>This file is changed to allow X applications to run on the -<em>live</em> system but display on another: -</p> - -<pre style="margin-left: 80px;">X11Forwarding yes</pre> - -<p> -This will only work if you use the -Y option to <em>ssh</em> -on the system from which you log in, and on which -you want to display the X windows (e.g. 'ssh -Y -root@192.168.0.201'). Alternatively you can put the -following in <em>its</em> <strong>etc/ssh/ssh_config</strong>: -</p> - -<pre style="margin-left: 80px;"> -ForwardX11 yes -ForwardX11Trusted yes -</pre> - -</div> - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/larchify.html b/build_tools/l7/larch0/docs/html/larchify.html deleted file mode 100644 index 3c44db1..0000000 --- a/build_tools/l7/larch0/docs/html/larchify.html +++ /dev/null @@ -1,151 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>Building the live system</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="medium.html"><h6>Next:</h6> - <div class="indent1">Preparing the larch live medium</div></a></li> - <li><a href="archin.html"><h6>Previous:</h6> - <div class="indent1">Installation of the base Arch system</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="1">Building the <em>live</em> system</h2> - - -<p>Once we have an <em>Arch Linux</em> installation and have specified our -customizations in the profile, we can combine all this information into two -squashfs archives and an <em>initramfs</em> (to allow the <em>live</em> system -to boot). Let's call this step 'larchification' (from the verb 'larchify'). -The lowest layer in the <em>aufs</em> mount is the raw installation, -which is compressed into a <em>squashfs</em> archive, 'system.sqf'. -All the modifications specified in the profile, as well, as some -common to all <em>larch</em> systems are in the archive 'mods.sqf', which -'overlays' the basic installation. -</p> - -<p>For details of the structure of the <em>live</em> system which is built -by this stage see <a href="larch_live_system.html">this page</a>. -The bulk of the code in the <em>larchify</em> script is concerned with -building the 'mods.sqf' overlay, and a description of the main possibilities -for customizing the build process are covered in -<a href="profiles.html">the profiles documentation</a>. -</p> - -<h3><a name="mkinitcpio"></a><em>mkinitcpio</em> and the <em>initramfs</em></h3> - -<p>In order to build a suitable <em>initramfs</em> for a <em>larch</em> -system, a customized version of 'mkinitcpio.conf' is required. How -<em>larch</em> handles this is quite complicated because it aims to retain -the normal files so that the <em>live</em> system can later be installed -as a normal <em>Arch Linux</em> system, whilst at the same time offering -the capability of updating (with 'pacman -Syu') the <em>live</em> system, -including the kernel (thus requiring regeneration of the <em>initramfs</em> -for the system). -The consequence of this ambition is that modifications are made -within '/etc/mkinitcpio.d' (which are reversible when the <em>live</em> -system is installed as normal <em>Arch Linux</em> system) and a special -<em>mkinitcpio</em>' configuration file, '/etc/mkinitcpio.conf.larch' -is generated automatically (and thus should not be -touched by human hands!) from '/etc/mkinitcpio.conf.larch0'. -If you need to know more see the method 'Builder.gen_initramfs' in -'cli/larchify.py'. -</p> - -<h3><a name="reuseSystem"></a>Rebuilding using an existing 'system.sqf'</h3> - -<p>In order to aid experimentation with profile tweaks which do not affect -the underlying installation, it is possible to repeat the 'larchify' step -without rebuilding the 'system.sqf' archive, which saves quite a bit of time -(this is achieved by passing the '-o' option to 'larch-larchify' when running -from the command line). -</p> - -<h3><a name="existingSystem"></a>Making a <em>live</em> system from an -existing <em>Arch</em> installation</h3> - -<p>By setting the installation path (with the '-i' option if using the -command line) to an existing <em>Arch</em> installation, -a <em>live</em> medium can be made from it. -The installation must already be mounted, including any sub-mounts -(e.g. /home on another partition). The main mount must be with -options 'exec,dev', because most of the building is done via a <em>chroot</em> -to the installation. This approach to <em>live</em> system generation is -probably not a good idea if the installation contains a lot of data - -consider how big the result will be ... -</p> - -<p>Also the currently running (<em>Arch</em> only!) system can be -<em>larchified</em>, by setting the installation path to '/'. -This is, however, not recommended. Building from a running system can easily -result in data corruption because the file-system might well change during -the build process. -</p> - -<p>Note that some things in '/var' will not be included in the 'live' system. -Firstly, the standard <em>pacman</em> package cache ('/var/cache/pacman/pkg') -will be excluded. -Also the log files (in '/var/log') and '/var/tmp' (temporary files, like '/tmp') -are not saved. As some files in '/var/log' are required for certain aspects of -logging to function, these are recreated in the <em>initramfs</em>. -</p> - -</div> - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/medium.html b/build_tools/l7/larch0/docs/html/medium.html deleted file mode 100644 index 01b0fec..0000000 --- a/build_tools/l7/larch0/docs/html/medium.html +++ /dev/null @@ -1,142 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>Preparing the larch live medium</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="profiles.html"><h6>Next:</h6> - <div class="indent1">Profiles</div></a></li> - <li><a href="larchify.html"><h6>Previous:</h6> - <div class="indent1">Building the live system</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="1">Preparing the <em>larch live</em> medium</h2> - - -<p>The building blocks for the preparation of a <em>live</em> medium are -produced by the 'larchification' process: the two <em>squashfs</em> -archives, 'system.sqf' and 'mods.sqf', and the 'boot' directory, -containing the kernel and <em>initramfs</em>. -</p> - -<p>This stage adds the bootloader files and user-defined customizations -which are directly copied to the medium rather than being included in -the <em>squashed</em> archives. The result is written to an -<strong>iso</strong> file (for writing to CD/DVD) or directly to a -partition on a disk(-like) device, such as a USB stick. -See the <a href="profiles.html#cd-root">cd-root</a> section in the -profiles documentation for details on how to customize this data. -</p> - -<p>It is also possible to use an existing <em>larch</em> medium as input -in order to copy the system to a different medium, potentially also -changing the bootloader (only possible if the <em>live</em> system -was built with support for the new bootloader). -</p> - -<p>The command line script for building an <em>iso</em> is -<strong>larch-live_iso</strong>. Run 'larch-live_iso -h' to get a -usage message. -</p> - -<p>The command line script for installing to a partition is -<strong>larch-live_part</strong>. Run 'larch-live_part -h' to get a -usage message. -When the <em>live</em> system is installed to a partition (e.g. -USB-stick) it is possible to choose how the boot partition will be -recognized. -The options available are via UUID, partition label, partition path -(e.g. '/dev/sdb1'), or by searching for a partition -containing the file 'larch/larchboot'. See also -<a href="larch_running.html#bootparm">'Boot parameters'</a>. -</p> - -<p>The 'bootlines' file allows the boot options to be specified in a -manner independent of which bootloader is used. The default version -is supplied in the 'larch' package (in the 'data' directory), but this -will be overridden by a version supplied in the profile. The unprocessed -version is also saved in the 'boot' directory of the created medium, to -allow later copying of the medium with a different bootloader. -</p> - -<p>It is possible to repeat the installation onto various media, changing -the configuration, without needing to rerun the 'larchification' stage. -The constituent <em>larch</em> files remain unchanged. -</p> - -<h3><a name="usb2bootiso"></a>Building a boot CD for a USB-stick</h3> - -<p>Older computers may not be able to boot from USB devices, so the -possibility of generating a small <em>boot iso</em> is provided. This can -be burned to CD and can be used to boot your <em>larch</em> system on a -USB-stick. On the command line this is managed by the -<strong>larch-boot_iso</strong> script. -As this function uses the system on the USB-stick, this needs to be -plugged in (not mounted!) and selected in the 'Partition' entry. -</p> - -<p>As the kernel and <em>initramfs</em> are now taken from the CD rather -than from the USB device, an update of the kernel using the session saving -feature will not work in this case (the boot directory of the USB device -would be updated, not that of the CD). -</p> - -</div> - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/docs/html/profiles.html b/build_tools/l7/larch0/docs/html/profiles.html deleted file mode 100644 index a4c4a22..0000000 --- a/build_tools/l7/larch0/docs/html/profiles.html +++ /dev/null @@ -1,326 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - -<html> -<head> -<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> -<title>Profiles</title> -<!-- (en) Add your meta data here --> - -<link href="css/larchdocs.css" rel="stylesheet" type="text/css"/> -<!--[if lte IE 7]> -<link href="css/yaml/core/iehacks.css" rel="stylesheet" type="text/css" /> -<![endif]--> -</head> - -<body> -<!-- skip link navigation --> -<ul id="skiplinks"> - <li><a class="skip" href="#col1">Skip to main content (Press Enter).</a></li> -</ul> - -<div class="page_margins"> - <div class="page"> - <div id="top"><div id="tm"></div></div> - <!-- begin: #col1 --> - <div id="col1" role="main"> - <div id="col1_content"> - <div id="header" role="banner"> - <h1><span><em>live Arch Linux</em> builder</span></h1> - </div> - - <!-- begin: #col3 navigation column --> - <div id="col3" role="complementary"> - <div id="col3_content"> - <img class="indent2" alt="larch logo" src="css/screen/larch150x.png" width="150" height="150" /> - <div class="vlist"> - <ul> - <li><a href="index.html"><h6>Table Of Contents</h6></a></li> - <li><a href="larch_live_system.html"><h6>Next:</h6> - <div class="indent1">Structure of a larch live system</div></a></li> - <li><a href="medium.html"><h6>Previous:</h6> - <div class="indent1">Preparing the larch live medium</div></a></li> - </ul> - </div> - </div> - </div> - <!-- end: #col3 --> - -<div class="larchdocs"> -<h2 id="pagetitle" level="1">Profiles</h2> - -<p>This feature of the <em>larch</em> build system allows bundling -all the configuration information for a particular <em>live</em> system -'design' into a single directory, a <em>larch profile</em>, and the -name of the profile is the directory's name. This directory includes -the list of packages to be installed, locale information and the -particular tweaks and additions needed -to customize the system, in particular a subdirectory containing the -'overlay' files - those files which have been changed from their initial -fresh state after installation and those which have simply been added. -</p> - -<p>Note that of all the profile files and directories mentioned here -only 'addedpacks' is not optional. -</p> - -<h3><a name="overlay"></a>The overlay directory</h3> - -<p>One of the simplest features of the profile is perhaps the -'<em>rootoverlay</em>' subdirectory: -everything in this directory is copied directly to the -<em>live</em> system's overlay, so that the a file 'a/b/c' within this -directory will appear at '/a/b/c' in the <em>live</em> system, regardless -of whether this file previously existed. Note however that all ownerships -are changed to 'root:root'. The bulk of the customizations for the -<em>live</em> system would normally be placed in this directory. -</p> - -<p>It would be possible to make the desired alterations directly to the -base system, and there are situations in which one would pretty well -have to do it this way (for example if a modified or added file was to -have some ownership other than 'root:root'). But another advantage (apart -from the encapsulation of the customizations in the profile directory) of -keeping the modifications in a separate directory is that the base -installation can be kept 'clean' and thus it is easily reusable. -</p> - -<p>If you would like to have a look at a profile, look in the 'profiles' -directory in the 'larch-profiles' package (if you have downloaded -<em>larch</em> by means of the 'larch-setup' script that will be -'larch0/profiles'). Each of its subdirectories is a profile. -If you want to make your own profile, it is probably easiest to start with -one of the examples. Copy one of these directories to your working directory -and rename it (to avoid confusion). -</p> - -<h3><a name="cd-root"></a>The <strong>cd-root</strong> directory</h3> - -<p>This directory contains files that will be (more or less) directly copied -to the <em>larch</em> medium, partly dependent on the available bootloaders. -</p> - -<p>Bootloader independent files are provided in the 'larch' package at -'cd-root/boot0'. Individual files can be added or substituted by -supplying them in the <em>profile</em> at <strong>cd-root/boot</strong>. -It is also possible to completely replace the basic boot directory by -having <strong>cd-root/boot0</strong> in -the profile - then the default version will not be used. These files are -copied to the 'boot' directory of the bootable medium. -</p> - -<p>There are also directories for bootloader dependent files. These are only -copied over if the <em>live</em> system has support for the corresponding -bootloader (i.e. if the corresponding packages - 'grub' and 'syslinux' - are -installed). These end up as subdirectories of the medium's 'boot' directory, -'boot/grub', 'boot/syslinux' or 'boot/isolinux', and work in a similar way to -the 'boot(0)' directories. <em>larch</em> provides default versions of these -directories in 'cd-root/grub0' and 'cd-root/isolinux0'. To extend these, or -replace individual files, place your changes in the directories -<strong>cd-root/grub</strong> and <strong>cd-root/isolinux</strong> in the -<em>profile</em> directory, if -you want to completely replace these directories, supply your versions in -<strong>cd-root/grub0</strong> and <strong>cd-root/isolinux0</strong> in the -profile directory. -</p> - -<p>The contents of the directory <strong>cd-root/larch/copy</strong> will -appear in '/larch/copy' on the medium. During booting the <em>larch live</em> -system will copy the contents of this directory to the <em>tmpfs</em> base -directory ('/.livesys'). This feature is not -used by the <em>larch</em> system itself, but it can be used in various -ways by the <em>live</em> system - the example profiles use it to some -extent, for controlling autologin and for data required for installation -as a normal <em>Arch</em> system (information on features specific to a -<em>live</em> system which should be stripped out if a normal installation -is performed). -</p> - -<p>The contents of the directory <strong>cd-root/larch/extra</strong> will -appear in 'larch/extra' on the medium but are otherwise unconnected with any -<em>larch</em> functionality. <em>Live</em> system designers can use this -in any way they like. -</p> - -<h3><a name="other-files"></a>Other important files within a profile</h3> - -<ul> - <li><strong>addedpacks</strong> - This is the only compulsory file in - the profile (it must even be present if you are not using the - installation stage, but it can be empty in that case). It contains - a list of packages and package groups to be installed to the 'base' - system. Here you can enter all the applications - you would like in your <em>live</em> CD/USB system (and subsequently - installed to a hard disk partition, if that was your intention). - Thanks to <em>pacman</em> you don't need to sort out dependencies, - these should all be included automatically. See - <a href="archin.html#package_selection">here</a> for details. - </li> - <li><strong>vetopacks</strong> - Allows 'vetoing' of packages included - indirectly in the installation list from 'addedpacks'. See - <a href="archin.html#package_selection">here</a> for details. - </li> - <li><strong>pacman.conf.repos</strong> - Set the repository part of - 'pacman.conf' for the <em>live</em> system, and possibly also for - installation of the base system (See - <a href="archin.html#pacman_conf">here</a> for further details). - The default version will be adequate for many situations, but you - will need to supply this file if you use the 'testing' repository, - for example. - </li> - <li><strong>pacman.conf.options</strong> - Set the options part of - 'pacman.conf' for the <em>live</em> system and for - installation of the base system (See - <a href="archin.html#pacman_conf">here</a> for further details). - This will generally not be needed as the default version will be - adequate for most purposes. - </li> - <li><strong>bootlines</strong> - This file contains bootloader independent - boot lines, so that the same file can be used for grub and isolinux/syslinux. - The gui provides a button to edit this file. - To get an idea of what should be in here look at the default version (in - the 'larch' package, 'data' directory), or just click on the edit button. - </li> - - <li><strong>rootoverlay/etc/rc.conf</strong> - As a major point of - configuration in an <em>Arch</em> system this is important enough - to get a button in the <em>larch</em> gui to edit it. - </li> - - <li><strong>rootoverlay/etc/locale.gen</strong> - For convenience, the - <em>larch</em> gui provides a button to edit this file, which determines - which glibc locales are supported in the <em>live</em> system. The - corresponding files are generated (to the overlay) by the 'larchify' - script, which has an option (for experts only) to reuse the locale - files from a previous run (in order to reduce generation time in - cases where the locales are unchanged). - </li> - - <li><strong>rootoverlay/etc/mkinitcpio.conf.larch0</strong> - Again for - convenience, the <em>larch</em> gui provides a button to edit this file, - which allows you to tweak the initramfs. This is a special version of - '/etc/mkinitcpio.conf' which is used to generate the initramfs for the - <em>larch live</em> system. The default version is supplied as - '/etc/mkinitcpio.conf.larch0' in the 'larch-live' package. Whatever else - you change, don't change the larch hooks. - </li> - - <li><strong>rootoverlay/etc/inittab.larch</strong> - If this file is - present it will cause the original /etc/inittab to be saved with a - '.larchsave' suffix, and this new version will be used for the - <em>live</em> 'inittab'. This allows a special version of this file to - be used just for the <em>live</em> system, an installer - can replace it by the original during the installation process. - </li> - - <li><strong>users</strong> - It is possible to add user accounts to the - system during building. See below. - </li> - - <li><strong>skel_*</strong> (directory) - Customized '/etc/skel' substitutes - for use at build time only. See below. - </li> - - <li><strong>vetodirs</strong> - Do not use this unless you really know what - you are doing. Each directory listed in this file (one entry per line, - comment lines start with '#') will be excluded from the live system. The - directories are relative to the installation root. - </li> - - <li><strong>build-tweak</strong> - Do not use this unless you really know - what you are doing. It is a program (script) - so it must be executable - - to customize the construction of the overlay (to a certain extent). It gets - two arguments on the command line: the path to the installation being - larchified, and the (full) path to the directory in which the overlay is - being constructed. It is called just before 'mods.sqf' is squashed, but - also before users are added. - </li> - - <li><strong>nosave</strong> - The existence of this file will suppress the - generation of the file 'larch/save' on a writable medium (unless overridden - by an option to the medium generation script). It is also copied to - 'larch/nosave' on the medium (also on non-writable media), so that this - message is available later, e.g. when copying the medium. - </li> - -</ul> - -<h3><a name="users"></a>Adding user accounts</h3> - -<p> -The construction details should be provided in the 'users' file in the -profile directory. It is an 'ini'-style configuration file, the sections -being the user names. Here is an example: -<pre>[DEFAULT] -pw = -expert = -skel = -maingroup = -uid = -xgroups = video,audio,optical,storage,scanner,power,camera - -[u1] -uid = 999 -skel = - -[u2] -pw = p1 -expert = -skel = -maingroup = -uid = -xgroups = video,audio,optical,storage -</pre> -The 'DEFAULT' section is not necessary, but is generated automatically -by the gui user-table editor. Only entries which differ from the default -values need be present. -</p> -<p>The default primary group is defined by settings in '/etc/login.defs' -and '/etc/default/useradd' ('USERGROUPS_ENAB yes' in 'etc/login.defs' -causes this to be a group with the same name as the user). You can -override this by adding an 'expert' option, or by placing modified versions -of these files in the profile's 'rootoverlay' directory. -</p> -<p>The additional groups should be comma-separated and without spaces. -</p> -<p>If no 'skel'-file is specified, the default ('/etc/skel') is used, including -anything in the overlay. To use a custom 'skel'-file, place the directory -in the profile, giving it a name starting with 'skel_', and place the rest of -the name (the part after '_') in the configuration line. -</p> -<p>A password can be set for the new user by entering this (plain text - -I'm guessing this is alright in this situation ...). An empty password -field will allow passwordless logins (at least on the console). -</p> -<p>By default the UID number will be chosen automatically, but a specific -number may be entered here. In <em>Arch Linux</em> the UIDs normally start -at 1000. -</p> -<p>Users are added by means of 'useradd', so anything placed in the 'expert' -field should be a valid option to that command. If a user-name already exists -in the system to be larchified, it will be ignored (it does not count as -an error). -</p> - -</div> - - - <div class="topref"><a href="#top">Top</a></div> - </div> - <!-- begin: #footer --> - <div id="footer"> - <div id="footer-content" role="contentinfo">© 2010 Michael Towers<br /> - Page layout assisted by <a href="http://www.yaml.de/">YAML</a> and - <a href="http://www.kuwata-lab.com/tenjin/">pyTenjin</a> - </div> - </div> - <!-- end: #footer --> - </div> - <!-- end: #col1 --> - <div id="bottom"><div id="bl"><div id="bm"></div></div></div> - </div> -</div> -<!-- full skiplink functionality in webkit browsers --> -<script src="css/yaml/core/js/webkit-focusfix.js" type="text/javascript"></script> -</body> -</html> diff --git a/build_tools/l7/larch0/gui/MEDIUM_README b/build_tools/l7/larch0/gui/MEDIUM_README deleted file mode 100644 index ede0975..0000000 --- a/build_tools/l7/larch0/gui/MEDIUM_README +++ /dev/null @@ -1,14 +0,0 @@ -Medium building - -In the cli, when -S--source is passed, no chroot is used for building unless -explicitly requested via the -C/--chroot option. When no -S--source is passed, -chroot will be used unless the -c/--nochroot option is passed. - -In the gui the default source is the medium directory within the installation -dir (as built by the previous stages). -If this is selected chroot commands will be used for the -medium building unless explicitly overridden (uncheck the chroot CheckBox). -If another source is selected chroot commands will only be used if explicitly -requested (check the chroot CheckBox). The chroot dir would be the project's -installation dir (so if this is '/' chroot is never available). - diff --git a/build_tools/l7/larch0/gui/askpass.py b/build_tools/l7/larch0/gui/askpass.py deleted file mode 100755 index ac65325..0000000 --- a/build_tools/l7/larch0/gui/askpass.py +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python -# -""" -# One possibility: -from PyQt4 import QtGui - -app = QtGui.QApplication([]) -result, ok = QtGui.QInputDialog.getText(None, "sudo", - "Please enter the password to run as administrator", - QtGui.QLineEdit.Password) - - -print result -#exit(0 if ok else 1) -""" - -# This version connects via a socket to the main application -import socket -import sys - -port = '\0larch-sudopw' -data = 'pw-get' - -# Create a socket (SOCK_STREAM means a TCP socket) -sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) - -# Connect to server and send data -sock.connect(port) -sock.send(data + '\n') - -# Receive data from the server and shut down -received = sock.recv(1024) -sock.close() - -print received diff --git a/build_tools/l7/larch0/gui/controller.py b/build_tools/l7/larch0/gui/controller.py deleted file mode 100644 index 2025301..0000000 --- a/build_tools/l7/larch0/gui/controller.py +++ /dev/null @@ -1,466 +0,0 @@ -#!/usr/bin/env python -# -# controller.py - Manages file-system access and calling of larch scripts -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -#2010.07.19 - -import sys, os, pwd, traceback, __builtin__ -try: - import json as serialize -except: - import simplejson as serialize -from subprocess import Popen, PIPE, call -import threading -import re -import SocketServer - -from config import * -start_translator(switchC=False) - - -exports = {} -def add_exports(elist): - for key, method in elist: - exports[key] = method - -__builtin__.add_exports = add_exports - - -def error0(message): - sys.stderr.write('>>ERROR>>' + message + '\n') - sys.stderr.flush() -__builtin__.error0 = error0 - - -class Fs: - """Collect file system access methods in one class. - """ - def __init__(self): - add_exports( ( - ('fetch_layout', self.fetch_layout), - ('isfile', self.isfile), - ('isdir', self.isdir), - ('rm_rf', self.rm_rf), - ('get_partitions', self.get_partitions), - ('readfile', self.readfile), - ('savefile', self.savefile), - ('get_docs_url', self.get_docs_url), - ('oldsqf', self.oldsqf), - ('oldlocales', self.oldlocales), -# ('getpath', self.getpath), - ('browse', self.browse)) - ) - - def fetch_layout(self, layout_file): - fh = open(base_dir + '/gui/layouts/' + layout_file) - r = fh.read() - fh.close() - return (True, eval(r)) - - def rm_rf(self, path): - call(['rm', '-rf', self._getpath(path)]) - return (True, None) - - -# def exists(self, path): -# return os.path.exists(self._getpath(path)) - -# def copy(self, src, dst): -# shutil.copytree(self._getpath(src), self._getpath(dst)) - - - def oldsqf(self): - return (True, - os.path.isfile(self._getpath('install:' + CHROOT_SYSTEMSQF)) - or os.path.isfile(self._getpath('install:' + CHROOT_DIR_MEDIUM - + '/larch/system.sqf'))) - - def oldlocales(self): - return (True, os.path.isdir(self._getpath('install:%s/locale' - % CHROOT_DIR_BUILD))) - - def isfile(self, path): - return (True, os.path.isfile(self._getpath(path))) - - def isdir(self, path): - return (True, os.path.isdir(self._getpath(path))) - - - def browse(self, path): - fpath = self._getpath(path) - if call(['mkdir', '-p', fpath]) == 0: - # Start file browser at fpath - call(project_manager.appget('filebrowser').replace('$', fpath) - + ' &', shell=True) - return (True, None) - else: - return (False, None) - - -# def makedirs(self, path): -# os.makedirs(self._getpath(path)) -# return (True, None) - - def readfile(self, f): - f = self._getpath(f) - try: - fh = open(f) - r = fh.read() - fh.close() - return (True, r) - except: - return (False, _("Couldn't read file '%s'") % f) - - def savefile(self, f, d): - f = self._getpath(f) - dir = os.path.dirname(f) - if not os.path.isdir(dir): - os.makedirs(dir) - try: - fh = open(f, "w") - fh.write(d) - fh.close() - return (True, None) - except: - return (False, _("Couldn't save file '%s'") % f) - - def _getpath(self, f): - if f[0] != "/": - base, f = f.split(':') - f = '/' + f - if base == 'base': - f = base_dir + f - elif base == 'profile': - f = project_manager.profile_path + f - elif base == 'working': - f = project_manager.project_dir + f - else: - f = project_manager.get_ipath()[1] + f - return f - - def get_docs_url(self, page): - if lang and (len(lang) > 1): - p = base_dir + ('/docs/%s/html/' % lang[0:2]) + page - if os.path.isfile(p): - return (True, p) - return (True, base_dir + '/docs/html/' + page) - - - def get_partitions(self): - """Get a list of available partitions (only unmounted ones - are included). - """ - # First get a list of mounted devices - mounteds = [] - fh = open('/etc/mtab') - for l in fh: - dev = l.split()[0] - if dev.startswith('/dev/sd'): - mounteds.append(dev[5:]) - fh.close() - # Get a list of partitions - partlist = [] - fh = open('/proc/partitions') - for l in fh: - fields = l.split() - if len(fields) == 4: - dev = fields[3] - if dev.startswith('sd') and (dev[-1] in '0123456789'): - size = (int(fields[2]) + 512) / 1024 - if (size > 200) and (dev not in mounteds): - # Keep a tuple (partition, size in MiB) - partlist.append("%-12s %12s MiB" - % ('/dev/' + dev, size)) - fh.close() - return (True, partlist) - - - -class LarchScripts: - """This class deals with calling the larch scripts. - As they must be run as root a separate dispatcher process, running as - root, is used to call the actual scripts. The dispatcher is started - using 'sudo'. - A call will be initiated from the gui, and is sent to the dispatcher, - which starts the process and returns the output when it is available. - If the script is interactive, it might also require input, which can be - passed via the dispatcher. - While reading output from the dispatcher the gui must remain responsive, - so that the view can be switched and the subprocess aborted, if desired. - To achieve this a separate thread is used for reading input from the - dispatcher, together with a mechanism for activating a handler in a - thread-safe way, 'ui.idle_add'. - """ - def __init__(self): - self.larch_dispatcher = None # dispatcher subprocess - self.progress_waiting = None # used by progress widget - - - def call(self, cmd, arg=[], atend=None): - self.cmd = cmd - self.arg = arg - # Callback on completion: - self.atend = atend # returns True for automatic return to normal view - if self.larch_dispatcher: - self.runcmd() - - else: - # Start a socket server to handle password requests - # Use a unix domain server in the abstract namespace - port = '\0larch-sudopw' - # Create the server - self.sserver = SocketServer.UnixStreamServer(port, MyHandler) - self.sst = threading.Thread(target=self.sserver.serve_forever, - args=()) - self.sst.start() - # Handle one request - #self.sserver.handle_request() - - # Start the larch dispatcher script - os.environ['SUDO_ASKPASS'] = base_dir + '/gui/askpass.py' - self._sudo_wait() - dispatcher = Popen(['sudo', '-A', '-k', - base_dir + '/gui/dispatcher.py'], - stdin=PIPE, - stdout=PIPE, - stderr=PIPE) - - # And a thread to read its output - self.istream = dispatcher.stdin - self.estream = dispatcher.stderr - self.t = threading.Thread(target=self.readinput, args=(dispatcher,)) - self.t.start() - - - def runcmd(self): - progress.start() # initialize progress widget - ui.runningtab(1) # switch view to progress widget - # Run command: - cx = '%s %s:%s\n' % (self.cmd, project_manager.project_dir, - serialize.dumps(self.arg)) - logger.addLine('++' + cx) - self.istream.write(cx) - self.istream.flush() - r = self.geterr() - if r: - ui.command('infoDialog', r, 'BUG') - - - def geterr(self): - r = "" - while True: - rx = self.estream.readline() - if rx: - rx = rx.strip() - else: - break - if rx == '!+': - break - if r: - r +='\n' - r += rx - return r - - - def readinput(self, dispatcher): - ostream = dispatcher.stdout - while True: - line = ostream.readline() - if not line: - break - id, line = line.rstrip().split(':', 1) - try: - if line[0] == '=': - self._stop_server() - # The dispatcher has just started, make it available - self.larch_dispatcher = dispatcher - # Reenable the gui, and queue the command - ui.idle_add(self._dispatcher_started, self.runcmd) - continue - elif line[0] != '/': - line = serialize.loads(line) - except: - line = '[[%s]]' % line - ui.idle_add(self.addline, line) # cross-thread call - - if self.larch_dispatcher == None: - self._stop_server() - ui.idle_add(self._dispatcher_started, None) - - - - def _sudo_wait(self): - ui.command(':larch.busy', [':larch'], True) - - - def _dispatcher_started(self, cmd): - if cmd: - cmd() - else: - ui.command('infoDialog', - ("%s:\n %s" % (ui.data('authfail'), self.geterr())), - 'sudo') - ui.command(':larch.busy', [':larch'], False) - - - def _stop_server(self): - # Stop the password socket-server - self.sserver.shutdown() - self.sserver = None - - - def close(self): - if self.larch_dispatcher: - self.istream.write('quit\n') - self.istream.flush() - self.larch_dispatcher.wait() - - - def interrupt(self): - logger.addLine('--Terminate--') - self.istream.write('kill\n') - self.istream.flush() - - - def addline(self, message): - """A line has been received from the script. - This must be handled in the main thread. - The input lines are filtered for pacman, mksquashfs and mkisofs - progress output so that appropriate progress reports can be given. - """ - if 'pacman:' in message: - progress.set(message[2:]) - if message.endswith('|100'): - progress.set() - message = message.rsplit('|', 1)[0].rstrip() - else: - return - - if 'mksquashfs:' in message: - progress.set(message[2:]) - self.progress_waiting = message - return - - if 'mkisofs:' in message: - progress.set(message[2:]) - self.progress_waiting = ">_mkisofs: completed" - return - - if self.progress_waiting: - progress.set() - progress.addLine(self.progress_waiting) - self.progress_waiting = None - - progress.addLine(message) - if message[0] == '/': - # process finished: - auto = False - if self.atend: - auto = self.atend(int(message[1:])) - progress.end(auto) - self.cmd = None - elif message.startswith('?>'): - # a query (yes/no) - # Pop up the query - reply = '??YES' if ui.command('confirmDialog', - message[2:], self.cmd) else '??NO' - self.istream.write(reply + '\n') - self.istream.flush() - - - def archin(self, cmd, installrepos): - args = ['-p', project_manager.profile_path, - '-i', project_manager.get_ipath()[1], - '-c', project_manager.get('pacman_cache')] - rf = project_manager.project_dir + '/pacman.conf.repos' - if installrepos and os.path.isfile(rf): - args += ['-r', rf] - self.call('archin', args + cmd.split()) - - - def larchify(self, oldsyssqf, oldlocales): - args = ['-p', project_manager.profile_path, - '-i', project_manager.get_ipath()[1],] - if oldsyssqf: - args.append('-o') - if oldlocales: - args.append('-l') - self.call('larchify', args) - - - def testmedium(self, path, atend): - self.call('live_iso', ['-T', '-S', path,], atend=atend) - - - def writemedium(self, path, args, dest=None): - if dest == 'BOOTISO': - args.append(path) - cmd = 'boot_iso' - else: - if path: - args += ['-S', path] - else: - args += ['-p', project_manager.profile_path] - args += ['-i', project_manager.get_ipath()[1]] - if dest != None: - args.append(dest) - cmd = 'live_part' - else: - cmd = 'live_iso' - self.call(cmd, args) - - - -class MyHandler(SocketServer.StreamRequestHandler): - def handle(self): - self._event = threading.Event() - # self.rfile is a file-like object created by the handler; - # we can now use e.g. readline() instead of raw recv() calls - data = self.rfile.readline().strip() - if data == 'pw-get': - ui.idle_add(self.dialog) - self._event.wait() - # Likewise, self.wfile is a file-like object used to write back - # to the client - self.wfile.write(self.pw) - - def dialog(self): - ok, self.pw = ui.command('textLineDialog', - ui.data('getpw'), - 'sudo', '', True) - if not ok: - self.pw = '' - self._event.set() - - - -fs = Fs() - -def filesystem(key, *args): - return exports[key](*args) - -__builtin__.filesystem = filesystem -__builtin__.larchscripts = LarchScripts() - -import project -project_manager.init() - diff --git a/build_tools/l7/larch0/gui/dirview.py b/build_tools/l7/larch0/gui/dirview.py deleted file mode 100755 index 303f9b6..0000000 --- a/build_tools/l7/larch0/gui/dirview.py +++ /dev/null @@ -1,172 +0,0 @@ -#!/usr/bin/python - - -# Next look at switching to a selected directory from the path (DONE), -# switching to a directory in the list, and removing/changing toolbar -# buttons (and their actions). -# Have a checkbutton for hidden files / directories somewhere. - - -import os -from PyQt4 import QtGui, QtCore - -def clicked(r, c): - print r, c - -def iclicked(item): - print item - - -class DirListing(QtGui.QTreeWidget): #qt - # Only using top-level items of the tree - def __init__(self): - QtGui.QTreeWidget.__init__(self) #qt - self._hcompact = False # used for scheduling header-compaction - self.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) - self.headers(['Name']) #qt - self.setRootIsDecorated(False) #qt - - self.connect(self, QtCore.SIGNAL('itemSelectionChanged()'), - self.s_select) - self.connect(self, QtCore.SIGNAL('itemClicked(QTreeWidgetItem *,int)'), - self.s_clicked) - - - def s_select(self): - # Signal a selection change, passing the new selection list (indexes) - s = [self.indexOfTopLevelItem(i) for i in self.selectedItems()] #qt - print "Sel", s - - - def s_clicked(self, item, col): #qt - # I guess I should use this for selection if using single - # click actions, because setting a list up might cause the - # first item to be selected (it doesn't, actually, so select - # could be used), and it should - # only change directory if actually clicked. - - - """This is intended for activating a user-defined editing function. - Tests showed that this is called after the selection is changed, so - if using this signal, use it only in 'Single' selection mode and - use this, not 'select' to record selection changes. Clicking on the - selected row should start editing the cell, otherwise just change - the selection. - """ - ix = self.indexOfTopLevelItem(item) #qt - print ix, col - - - - def headers(self, headers): #qt - self.setHeaderLabels(headers) #qt - if self._hcompact: - self._compact() - - def set(self, items, index=-1): #qt - # Note that each item must be a tuple/list containing - # entries for each column. - self.clear() #qt - c = 0 - for i in items: - item = QtGui.QTreeWidgetItem(self, i) #qt - self.addTopLevelItem(item) #qt - if c == index: - self.setCurrentItem(item) - c += 1 - if self._hcompact: - self._compact() - - def x__compact(self, on=True): - self._hcompact = on - if on: - self._compact() - - def _compact(self): - for i in range(self.columnCount()): #qt - self.resizeColumnToContents(i) #qt - - - -def dirsel(action): - print action.xtag - i = 0 - if action.xindex == 0: - print '/' - else: - path = '' - while i < action.xindex: - i += 1 - path += '/' + dirs[i] - print path - setlisting(path) -# the toolbuttons should stay the same until a different lower directory -# is chosen (one not in the old list?) - - -def setlisting(path): - dlist = os.listdir(path) - dldir = [] - dlfile = [] - for f in dlist: - if os.path.isdir(path + '/' + f): - dldir.append('d:' + f) - else: - dlfile.append('f:' + f) - dldir.sort() - dlfile.sort() - listing.set([d] for d in (dldir + dlfile)) - - -if __name__ == '__main__': - - import sys - - app = QtGui.QApplication(sys.argv) - app.setStyleSheet(""" - QToolButton { - border: 2px solid #8f8f91; - border-radius: 6px; - background-color: yellow; - } - - QToolButton:checked { - background-color: #f0c080; - } -""") - - window = QtGui.QWidget() - listing = DirListing() - bar = QtGui.QToolBar() - bar.setToolButtonStyle(QtCore.Qt.ToolButtonTextOnly) - actg = QtGui.QActionGroup(bar) - QtCore.QObject.connect(actg, QtCore.SIGNAL('triggered (QAction *)'), dirsel) - actg.setExclusive(True) - - layout = QtGui.QVBoxLayout() - layout.addWidget(bar) - layout.addWidget(listing) - window.setLayout(layout) - window.resize(600, 480) - - - - path = '/home/mt/DATA/pyjamas' - - - dirs = path.split('/') -# dirs = ['', 'home', 'mt', 'DATA', 'software-verylong', 'DOCS', 'python_qt'] - butix = 0 - for but in dirs: - bw = bar.addAction(but+'/') - bw.setCheckable(True) - actw = actg.addAction(bw) - actw.xtag = but - actw.xindex = butix - butix += 1 - - setlisting(path) - - window.show() - - sys.exit(app.exec_()) diff --git a/build_tools/l7/larch0/gui/dispatcher.py b/build_tools/l7/larch0/gui/dispatcher.py deleted file mode 100755 index bcdc94c..0000000 --- a/build_tools/l7/larch0/gui/dispatcher.py +++ /dev/null @@ -1,108 +0,0 @@ -#!/usr/bin/env python -# -# dispatcher.py - Subprocess running as root to call larch scripts -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -#2010.07.19 - -import os, sys, threading, signal -from subprocess import Popen, PIPE, STDOUT -try: - import json as serialize -except: - import simplejson as serialize - -module_dir = os.path.dirname(os.path.realpath(__file__)) -base_dir = os.path.dirname(module_dir) - - -def out(key, line): - sys.stdout.write(str(key) + ':' + line + '\n') - sys.stdout.flush() - -# Signal dispatcher started -out(0, '==') - -def input_reader(): - global process - id = process.pid - while True: - line = process.stdout.readline() - if not line: - break - - out(id, line.rstrip()) - - process.wait() - out(id, '/%d' % process.returncode) - process = None - -def kill(): - """Kill subprocesses (well, interrupt actually). - """ - if process: - os.killpg(process.pid, signal.SIGINT) - - -process = None -while True: - line = sys.stdin.readline() - if line: - line = line.rstrip() - else: - # Controlling process died - break - cmdx = line.split(None, 1) - cmd = cmdx[0] - response = '' - if cmd in ('archin', 'larchify', 'live_iso', 'live_part', 'boot_iso', - 'test'): - # Start a larch script, together with a thread to read from it. - # The arguments are passed as a serialized list - if process: - response = ("!*** Bug (Dispatcher ERROR):" - " process already running (%d)" % process.pid) - else: - cmdx2 = cmdx[1].split(':', 1) - cmds = ([base_dir + '/cli/%s.py' % cmd, '-s'] - + serialize.loads(cmdx2[1])) - process = Popen(cmds, - preexec_fn=os.setpgrp, # to facilitate interruption - cwd=cmdx2[0], # set to project directory - stdin=PIPE, - stdout=PIPE, - stderr=STDOUT) - t = threading.Thread(target=input_reader, args=()) - t.start() - - elif cmd.startswith('??'): - process.stdin.write(cmd + '\n') - process.stdin.flush() - elif cmd == 'kill': - kill() - elif cmd != 'quit': - response = "!*** Bug (Dispatcher command): " + line - sys.stderr.write(response + '\n!+\n') - sys.stderr.flush() - if cmd == 'quit': - break - -kill() diff --git a/build_tools/l7/larch0/gui/front/docviewer.py b/build_tools/l7/larch0/gui/front/docviewer.py deleted file mode 100644 index a0af083..0000000 --- a/build_tools/l7/larch0/gui/front/docviewer.py +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env python -# -# docviewer.py -# -# (c) Copyright 2009-2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.06.24 - - -import os - - -class DocViewer: - def __init__(self): - self.index = self._getPage('index.html') - self.homepath = None - ui.widgetlist(fss('fetch_layout', 'docviewer.uim')) - - ui.connectlist( - ('doc:hide*clicked', self._hide), - ('doc:back*clicked', self._back), - ('doc:forward*clicked', self._forward), - ('doc:home*clicked', self.gohome), - ('doc:parent*clicked', self.goto), - (':docs*clicked', self._show), - ) - - def _show(self): - ui.runningtab(3) - - def _hide(self): - ui.runningtab() - - def _back(self): - ui.command('doc:content.prev') - - def _forward(self): - ui.command('doc:content.next') - - def _getPage(self, page): - return fss('get_docs_url', page) - - def gohome(self, home=None): - if home: - self.homepath = self._getPage(home) - self.goto(self.homepath) - - def goto(self, path=None): - if not path: - path = self.index - ui.command('doc:content.setUrl', path) diff --git a/build_tools/l7/larch0/gui/front/editor.py b/build_tools/l7/larch0/gui/front/editor.py deleted file mode 100644 index 649f55c..0000000 --- a/build_tools/l7/larch0/gui/front/editor.py +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/env python -# -# editor.py -# -# (c) Copyright 2009-2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.06.24 - -class Editor: - def __init__(self): - ui.widgetlist(fss('fetch_layout', 'editor.uim')) - ui.connectlist( - ('edit:ok*clicked', self.ok), - ('edit:cancel*clicked', self.cancel), - ('edit:revert*clicked', self.dorevert), - ('edit:copy*clicked', self.copy), - ('edit:cut*clicked', self.cut), - ('edit:paste*clicked', self.paste), - ('edit:undo*clicked', self.undo), - ('edit:redo*clicked', self.redo), - ) - - def start(self, title, endcall, text='', revert=None): - ui.command('edit:title.markup', ['h3', title]) - self.endcall = endcall - self.revert = revert - try: - self.text0 = revert() if text == None else text - except: - run_error("BUG: Editor - no revert function?") - ui.command('edit:content.text', self.text0) - ui.runningtab(4) - - def ok(self): - self.endcall(ui.command('edit:content.get')) - ui.runningtab() - - def cancel(self): - ui.runningtab() - - def dorevert(self): - if self.revert: - self.text0 = self.revert() - ui.command('edit:content.text', self.text0) - - def copy(self): - ui.command('edit:content.copy') - - def cut(self): - ui.command('edit:content.cut') - - def paste(self): - ui.command('edit:content.paste') - - def undo(self): - ui.command('edit:content.undo') - - def redo(self): - ui.command('edit:content.redo') - - def edit(self, fname, source=None, label=None, filter=None): - """Files (<fname> and <source>) can be either an absolute path or else - relative to the profile directory, the application base directory - or the working directory. Relative paths are determined by the - prefixes 'profile:', 'base:' or 'working:'. - If the file <fname> already exists its contents will be taken as the - starting point, otherwise the file <source>, which may also be an - empty string, will be read in. - Whichever file is available its contents can be filtered by an - optional 'filter' function, which takes the file contents as a - string as argument and returns the transformed contents as another - string. - """ - def revert(): - """If a file is addressed by 'source' revert to its contents, - if source is "", clear the contents, otherwise revert to the - contents as they were before entering the editor. - """ - return textsrc if source != None else text0 - - def endfile(text): - t = text.encode("utf8") - if t and (t[-1] != "\n"): - t += "\n" - fss('savefile', fname, text) - - if source != None: - textsrc = "" if source == "" else fss('readfile', source, - filter=filter) - # Read the file, if it exists, else return None - text0 = fss('readfile', fname, filter=filter, trap=False) - if text0 == None: - assert source != None # The file must be present - text0 = textsrc - if not label: - label = ui.command('editor_data.get', 'msg_dflt') % fname - self.start(label, endfile, text0, revert) - diff --git a/build_tools/l7/larch0/gui/front/logview.py b/build_tools/l7/larch0/gui/front/logview.py deleted file mode 100644 index b9d2ac3..0000000 --- a/build_tools/l7/larch0/gui/front/logview.py +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env python -# -# logview.py -# -# (c) Copyright 2009-2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.09 - -import locale -# Try to work around problems when the system encoding is not utf8 -encoding = locale.getdefaultlocale()[1] -if encoding == "UTF8": - encoding = None - -#TODO: progress bar? -class Progress: - def __init__(self): - self.active = False - ui.widgetlist(fss('fetch_layout', 'progress.uim')) - ui.connect('progress:done*clicked', self._done) - - def _done(self): - self.active = False - ui.runningtab(0) - - def start(self): - # Set busy cursor on the progress area - ui.command('progress:page.busycursor', True) - # Initialize widgets - ui.command("progress:text.text") - ui.command("progress:progress.text") - ui.command("progress:done.enable", False) - ui.command("progress:cancel.enable", True) - self.active = True - ui.runningtab(1) - - def end(self, auto=False): - ui.command("progress:cancel.enable", False) - ui.command("progress:done.enable", True) - # Clear busy cursor on the progress area - ui.command('progress:page.busycursor', True) - ui.command('progress:page.busycursor', False) - if auto: - self._done() - - def addLine(self, line): - # Try to work around problems when the system encoding is not utf8 - if encoding: - line = line.decode(self.encoding, "replace").encode("UTF8") - ui.command("progress:text.append_and_scroll", line) - logger.addLine(line) - - def set(self, text=""): - ui.command("progress:progress.text", text) - - -class Logger: - def __init__(self): - ui.widgetlist(fss('fetch_layout', 'logger.uim')) - ui.connectlist( - ('log:clear*clicked', self.clear), - ('log:hide*clicked', self._hide), - (':showlog*clicked', self._show), - ) - - def clear(self): - ui.command('log:text.text') - - def addLine(self, line): - # Try to work around problems when the system encoding is not utf8 - ui.command('log:text.append_and_scroll', line) - - def _show(self): - ui.runningtab(2) - - def _hide(self): - ui.runningtab() diff --git a/build_tools/l7/larch0/gui/front/mainwindow.py b/build_tools/l7/larch0/gui/front/mainwindow.py deleted file mode 100644 index 407b46a..0000000 --- a/build_tools/l7/larch0/gui/front/mainwindow.py +++ /dev/null @@ -1,132 +0,0 @@ -#!/usr/bin/env python -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -#2010.07.13 - -import __builtin__ -from uim import Uim, debug -__builtin__.debug = debug - - -_running = False -def fss(*args, **kargs): - while True: - if _running: - ui.command(':larch.busy', [], True) - ok, result = filesystem(*args) - if _running: - ui.command(':larch.busy', [], False) - if ok: - filter = kargs.get('filter') - return filter(result) if filter else result - - if kargs.get('trap', True): - ui.command('errorDialog', result) - # That might return, but the gui should quit (soon?). - return None - -__builtin__.fss = fss - - - -class Ui(Uim): - def __init__(self): - Uim.__init__(self) - - def runningtab(self, i=None): - if (i == None): - i = 1 if progress.active else 0 - if (i == 0) and hasattr(stage, 'reenter'): - stage.reenter() - self.command(':tabs.set', i) - - def fileDialog(self, message, startdir=None, create=False, - dirsonly=False, file=None, bookmarks=None, filter=None): - return self.command('fileDialog', message, startdir, None, - dirsonly, create, file, bookmarks, filter) - - def enable_installation_page(self, on): - self.command(':notebook.enableTab', 1, on) - - def quit(self): - """Do any tidying up which may be necessary. - """ - larchscripts.close() - Uim.quit() - - def data(self, key): - return self.command('main_page_data.get', key) - -__builtin__.ui = Ui() - - -def tab_changed(index): - __builtin__.stage = pages[index] - stage.enter() -ui.connect(':notebook*changed', tab_changed) - - -from page_project import ProjectSettings -from page_installation import Installation -from page_larchify import Larchify -from page_mediumprofile import MediumProfile -from page_medium import Medium - - -from docviewer import DocViewer - -from editor import Editor - -from logview import Logger, Progress - - -def run_error(message, title=None): - ui.command('warningDialog', message, title) -__builtin__.run_error = run_error - -pages = [] -def start(): - pages.append(ProjectSettings()) - pages.append(Installation()) - pages.append(Larchify()) - pages.append(MediumProfile()) - pages.append(Medium()) - - __builtin__.docviewer = DocViewer() - __builtin__.edit = Editor().edit - - __builtin__.progress = Progress() - __builtin__.logger = Logger() - - MainWindow = fss('fetch_layout', 'page_main.uim') - ui.widgetlist(MainWindow) - - ui.connect('$$$uiclose$$$', ui.quit) - ui.connect('$$$uiquit$$$', ui.quit) - ui.connect('$$$cancel$$$', larchscripts.interrupt) - - ui.command(':larch.pack') - # Set up the first gui page (project settings) - pages[0].setup() - ui.command(':larch.show') - _running = True - ui.run() - diff --git a/build_tools/l7/larch0/gui/front/page_installation.py b/build_tools/l7/larch0/gui/front/page_installation.py deleted file mode 100644 index 111e247..0000000 --- a/build_tools/l7/larch0/gui/front/page_installation.py +++ /dev/null @@ -1,188 +0,0 @@ -# page_installation.py - Handler for the installation page -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.19 - -class Installation: - def __init__(self): - ui.widgetlist(fss('fetch_layout', 'page_installation.uim')) - - ui.connectlist( - (':addedpacks*clicked', self.edit_addedpacks), - (':vetopacks*clicked', self.edit_vetopacks), - (':pacmanconf*clicked', self.edit_pacmanconf), - (':repos*clicked', self.edit_repos), - (':editmirrorlist*clicked', self.edit_mirrorlist), - (':cache_change*clicked', self.change_cache), - (':editrepolist*clicked', self.edit_repolist), - (':install*clicked', self.install), - (':sync*clicked', self.dosync), - (':update*clicked', self.doupdate), - (':add*clicked', self.doadd), - (':remove*clicked', self.doremove), - (':installrepos*toggled', self.installrepo), - ) - - - def enter(self): - """This is called when the page is entered/selected/shown. - It performs initializations which depend on the state. - """ - docviewer.gohome('gui_installation.html') - # Set package cache display - ui.command(':cache_show.text', fss('getitem', 'pacman_cache')) - ui.command(':installrepos.opton', fss('getbool', 'installrepo')) - - - def data(self, key): - return ui.command('install_page_data.get', key) - - - def edit_addedpacks(self): - edit('profile:addedpacks') # In profile dir - - - def edit_vetopacks(self): - # If there is no vetopacks file, start an empty one - edit('profile:vetopacks', "") # In profile dir - - - def edit_pacmanconf(self): - edit('profile:pacman.conf.options', # In profile dir - 'base:data/pacman.conf', # Relative to base_dir - label=self.data('edit_pc'), - filter=pacmanoptions) - - - def edit_repos(self): - """This edits the repository list file for the live system. - It will be used to construct the /etc/pacman.conf file. - If the option to specify a different file for the installation - stage is not enabled (the default), this file will also be used - for the installation. - """ - edit('profile:pacman.conf.repos', # In profile dir - 'base:data/pacman.conf.repos', # Relative to base_dir - label=self.data('edit_pr')) - - - def edit_mirrorlist(self): - ml = '/etc/pacman.d/mirrorlist' - if not fss('isfile', ml): - ml = 'base:data/mirrorlist' # Relative to base_dir - edit('working:mirrorlist', ml, - label=self.data('edit_mli')) - - - def change_cache(self): - # Is anything more necessary? Do I need to test the path? - # Would a directory browser be better? - ok, path = ui.command('textLineDialog', - self.data('prompt_ncp'), - None, fss('getitem', 'pacman_cache')) - if ok: - self.set_pacman_cache(path) - - - def set_pacman_cache(self, path): - path = path.strip().rstrip('/') - fss('setitem', 'pacman_cache', path) - ui.command(':cache_show.text', path) - - - def edit_repolist(self): - """This edits the repository list file used for installation, - if the corresponding option is enabled. - """ - # Should it be based on the default or on the profile? - rf = 'profile:pacman.conf.repos' - if not fss('isfile', rf): - rf = 'base:data/pacman.conf.repos' # Relative to base_dir - edit('working:pacman.conf.repos', rf, - label=self.data('edit_pri')) - - - def installrepo(self, on): - fss('setbool', 'installrepo', on) - - - def install(self): - """Start the installation. - """ - self.archin('install') - - - def dosync(self): - self.archin('refresh') - - - def doupdate(self): - f = ui.fileDialog(message=self.data('msg_pu'), - filter=(self.data('filter_pu'), '*.pkg.tar.*')) - if f: - self.archin('update ' + f) - - - def doadd(self): - ok, plist = ui.command('textLineDialog', - self.data('prompt_pi'), - 'pacman -S') - if ok: - self.archin('sync ' + plist.strip()) - - - def doremove(self): - ok, plist = ui.command('textLineDialog', - self.data('prompt_pr'), - 'pacman -Rs') - if ok: - self.archin('remove ' + plist.strip()) - - - def archin(self, cmd): - """This runs the 'archin' script (as root). It doesn't wait for - completion because the output must be collected and displayed - while it is running. The display switches the view to the - progress reporting page. It should probably activate the busy - cursor too. - """ - larchscripts.archin(cmd, ui.command(':installrepos.active')) - - - -def pacmanoptions(text): - """A filter for pacman.conf to remove the repository info. - """ - texto = "" - block = "" - for line in text.splitlines(): - block += line + "\n" - if line.startswith("#["): - break - if line.startswith("[") and not line.startswith("[options]"): - break - if not line.strip(): - texto += block - block = "" - return texto - - - diff --git a/build_tools/l7/larch0/gui/front/page_larchify.py b/build_tools/l7/larch0/gui/front/page_larchify.py deleted file mode 100644 index 9868727..0000000 --- a/build_tools/l7/larch0/gui/front/page_larchify.py +++ /dev/null @@ -1,248 +0,0 @@ -# page_larchify.py - Handler for the project settings page -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.13 - -USERINFO = ['pw', 'maingroup', 'uid', 'skel', 'xgroups', 'expert'] - -class Larchify: - def __init__(self): - ui.widgetlist(fss('fetch_layout', 'page_larchify.uim')) - - ui.connectlist( - (':build*clicked', self.build), - (':ssh*toggled', self.sshtoggle), - (':locales*clicked', self.locales), - (':rcconf*clicked', self.rcconf), - (':initcpio*clicked', self.initcpio), - (':overlay*clicked', self.overlay), - (':utable*clicked', self.uedit), - (':useradd*clicked', self.useradd), - (':userdel*clicked', self.userdel), - (':rootpwb*clicked', self.rootpw), - ) - - self.userheaders = self.data('uheaders') - - - def data(self, key): - return ui.command('larchify_page_data.get', key) - - - def enter(self): - """This is called when the page is entered/selected/shown. - It performs initializations which depend on the state. - """ - docviewer.gohome('gui_larchify.html') - - # Check that it could possibly be an Arch installation - idir = fss('get_installation_dir') - couldBeArch = fss('isdir', ':var/lib/pacman/local') - ui.command(':build.enable', couldBeArch) - if not couldBeArch: - run_error(_("No Arch installation at %s") % idir) - - # ssh keys - sshon = fss('isfile', ':usr/bin/ssh-keygen') - ui.command(':ssh.enable', sshon) - - if fss('isfile', 'profile:nosshkeys'): - sshon = False - ui.command(":ssh.set", sshon) - - # users table - idir_normal = idir != '/' - ui.command(':users.enable', idir_normal) - if idir_normal: - # Fetch users information - fss('newUserinfo') - self.readuserinfo() - - # Root password - self.showrootpw() - - self.reenter() - - - def reenter(self): - """These also need resetting after a build run. - """ - # Whether there is an old system.sqf to reuse? - ossqf = fss('oldsqf') - if not ossqf: - ui.command(':oldsquash.set', False) - ui.command(':oldsquash.enable', ossqf) - - # Whether there is a set of old glibc locales to reuse? - olcl = fss('oldlocales') - if not olcl: - ui.command(':oldlocales.set', False) - ui.command(':oldlocales.enable', olcl) - -#TODO: Remove hack if the underlying bug gets fixed - ui.command(":larchify_advanced.enable_hack") - - - def readuserinfo(self, select=None): - """'select' should be a username, defaulting to the first entry. - """ - self.usersel = 0 - self.userlist = [] - i = 0 - for u in fss('allusers'): - self.userlist.append(self.userinfolist(u)) - if u == select: - self.usersel = i - i += 1 - ui.command(':utable.set', self.userlist, self.usersel) - - - def userinfolist(self, user): - return [user] + fss('getuserinfo', user, USERINFO) - - - def uedit(self, row, column): - if self.usersel == row: - uname = self.userlist[row][0] - ulcell = self.userlist[row][column] - if column == 4: - ok, text = self.select_skel(ulcell) - else: - ok, text = ui.command('textLineDialog', - self.userheaders[column] + ':', 'larchify', ulcell) - text = text.strip() - if ok: - try: - if (column == 0) and (text != ''): - # Rename the user, by adding a new one and deleting - # the old - uname = text - fss('newuser', uname) - i = 0 - for f in USERINFO: - i += 1 - fss('userset', uname, f, self.userlist[row][i]) - if not fss('deluser', ulcell): - run_error(self.data('rn_error')) - - else: - fss('userset', uname, USERINFO[column-1], text) - fss('saveusers') - - except: - run_error(self.data('ud_error')) - self.readuserinfo(uname) - - else: - self.usersel = row - - - def select_skel(self, current): - # Present a list of available 'skel' folders - self.skellist = [self.data('def_skel')] - for f in fss('listskels'): - self.skellist.append(f.rsplit('/skel_', 1)[1]) - try: - i = self.skellist.index(current) - except: - i = 0 - ok, skeli = ui.command('listDialog', self.data('skel_lbl'), - self.data('skel_ttl'), self.skellist, i) - if ok: - return (True, '' if skeli == self.skellist[0] - else skeli.split()[0]) - return (False, '') - - - def useradd(self): - ok, name = ui.command('textLineDialog', self.data('newlogin')) - if ok: - name = name.strip() - if name != '' and fss('newuser', name): - self.userlist.append(self.userinfolist(name)) - self.usersel = len(self.userlist) -1 - ui.command(':utable.set', self.userlist, self.usersel) - - - def userdel(self): - if self.usersel >= 0: - user = self.userlist[self.usersel][0] - if fss('deluser', user): - del(self.userlist[self.usersel]) - lu = len(self.userlist) - if lu: - if lu <= self.usersel: - self.usersel -= 1 - ui.command(':utable.set', self.userlist, self.usersel) - - - def showrootpw(self): - self.rootpw = fss('readfile', 'profile:rootpw', trap=False) - if self.rootpw == None: - self.rootpw = "" - ui.command(':rootpwe.text', self.rootpw) - - - def rootpw(self): - ok, pw = ui.command('textLineDialog', self.data('newrootpw'), - "larchify", self.rootpw) - if ok: - pw = pw.strip() - if pw: - fss('savefile', 'profile:rootpw', pw) - else: - fss('rm_rf', 'profile:rootpw') - self.showrootpw() - - - def sshtoggle(self, on): - """Whether the system ssh keys are pregenerated - depends on the presence of the profile file 'nosshkeys' - (and of course on openssh being installed). - """ - sshoff = fss('isfile', 'profile:nosshkeys') - if on: - if sshoff: - fss('rm_rf', 'profile:nosshkeys') - elif not sshoff: - fss('savefile', 'profile:nosshkeys', "Don't pregenerate ssh keys") - - - def locales(self): - edit('profile:rootoverlay/etc/locale.gen', 'install:etc/locale.gen') - - - def rcconf(self): - edit('profile:rootoverlay/etc/rc.conf', 'install:etc/rc.conf') - - - def initcpio(self): - edit('profile:rootoverlay/etc/mkinitcpio.conf.larch0', - 'install:etc/mkinitcpio.conf.larch0') - - - def overlay(self): - fss('browse', 'profile:rootoverlay') - - - def build(self): - larchscripts.larchify(ui.command(':oldsquash.active'), - ui.command(':oldlocales.active')) diff --git a/build_tools/l7/larch0/gui/front/page_medium.py b/build_tools/l7/larch0/gui/front/page_medium.py deleted file mode 100644 index 75f0efe..0000000 --- a/build_tools/l7/larch0/gui/front/page_medium.py +++ /dev/null @@ -1,320 +0,0 @@ -# page_medium.py - Handler for the project settings page -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.13 - -"""This page can also handle sources other than the normal larch -installation. It should convert any larch image into -another, with different medium and/or different bootloader, so long as the -bootloader is supported by the source image. -""" - -import os -BOOTLOADERS = ('grub', 'syslinux') - -class Medium: - def __init__(self): - ui.widgetlist(fss('fetch_layout', 'page_medium.uim')) - - ui.connectlist( - (':source_larch*toggled', self.src_larch), - (':source_dev*toggled', self.src_dev), - (':source_iso*toggled', self.src_iso), - (':source_path*toggled', self.src_path), - (':source_select*clicked', self.src_select), - (':vlabelb*clicked', self.newlabel), - (':grub*toggled', self.grub), - (':syslinux*toggled', self.syslinux), - (':selectpart*clicked', self.choosepartition), - (':search*toggled', self.searchtoggled), - (':destination*toggled', self.activate_actions), - (':make_medium*clicked', self.make), - (':bootcd*clicked', self.makeboot), - ) - ui.command(':bootcd.enable', False) - - - def enter(self): - """This is called when the page is entered/selected/shown. - It performs initializations which depend on the state. - """ - self.source = '' - self.destination = '' - ui.command(':larchpart.text') - docviewer.gohome('gui_medium.html') - if ui.command(':source_larch.active'): - self.src_larch(True) - else: - ui.command(':source_larch.set', True) - ui.command(':%s.set' % fss('getitem', 'medium_search'), True) - ui.command(':vlabele.text', fss('get_mediumlabel')) - - - def data(self, key): - return ui.command('medium_page_data.get', key) - - - def setupbootloader(self, init=False): - if init: - self.bootloaders = [] - self.nosave = False - self.source = '' - for b in BOOTLOADERS: - ui.command(':%s.set' % b, False) - ui.command(':%s.enable' % b, False) - pbl = fss('getitem', 'medium_btldr') - for b in self.bootloaders: - ui.command(':%s.enable' % b, True) - if self.bootloaders: - if pbl not in self.bootloaders: - pbl = self.bootloaders[0] - ui.command(':%s.set' % pbl, True) - ui.command(':dosave.set', not self.nosave) - ui.command(':source_show.text', self.source) - self.activate_actions() - - - def activate_actions(self, *args): - # There needs to be a bootloader - bl = self.get_bootloader() - bcdok = (ui.command(':source_dev.active') - and bool(self.source) - and bool(bl)) - ui.command(':bootcd.enable', bcdok) - # If using a destination partition, that needs to be available. - wp = ui.command(':destination.active') - if wp: - # If writing to a partition without installing a bootloader - if ui.command(':nombr.active'): - bl = True # bootloader not necessary - dp = bool(self.destination) - else: - dp = True - ui.command(':make_medium.enable', bool(self.source) and bl and dp) - ui.command(':detection.enable', bcdok or wp) - - - def get_bootloader(self): - if ui.command(':grub.active'): - return 'grub' - if ui.command(':syslinux.active'): - return 'syslinux' - return None - - - def _testmedium(self, cc): - # Runs in background thread ... - self.bootloaders = [] - if not (cc & 8): - self.bootloaders.append('syslinux') - if not (cc & 16): - self.bootloaders.append('grub') - self.nosave = bool(cc & 2) - ui.idle_add(self.setupbootloader, bool(cc & 1)) - return True # return immediately to normal view - - - def src_larch(self, on): - if on: - mpath, ok, self.bootloaders, self.nosave = fss('testmedium') - if ok: - self.source = mpath - else: - self.source = '' - run_error(self.data('msg_med') % mpath) - self.setupbootloader() - - ui.command(':source_select.enable', not on) - ui.command(':chroot.set', on) - - - def src_dev(self, on): - """The source system is on a mountable device, which must be - selected from a list of available devices (via the Choose button) - and tested for validity, maybe the presence of larch/system.sqf. - """ - if on: - self.setupbootloader(init=True) - - - def src_iso(self, on): - """The source system is in an 'iso' file, which must be - selected by browsing the file system (via the Choose button) - and tested for validity, maybe the presence of larch/system.sqf. - """ - if on: - self.setupbootloader(init=True) - - - def src_path(self, on): - """The source system is in a directory, which must be - selected by browsing the file system (via the Choose button) - and tested for validity, maybe the presence of larch/system.sqf. - """ - if on: - self.setupbootloader(init=True) - - - def src_select(self): - """The function of this button varies according to the selected - source ... - """ - src = None - if ui.command(':source_dev.active'): - part = self.selectpart() - if part: - src = part - - elif ui.command(':source_iso.active'): - iso = ui.fileDialog(self.data('iso_src'), - filter=(self.data('iso_type'), '*.iso')) - if iso: - src = iso - - elif ui.command(':source_path.active'): - medium = ui.fileDialog(self.data('medium_src'), dirsonly=True) - if medium: - src = medium - - if src: - self.source = src - larchscripts.testmedium(src, self._testmedium) - - - def grub(self, on): - if on: - fss('setitem', 'medium_btldr', 'grub') - - def syslinux(self, on): - if on: - fss('setitem', 'medium_btldr', 'syslinux') - - - def newlabel(self): - ok, l = ui.command('textLineDialog', - self.data('prompt_label'), - None, fss('getitem', 'medium_label')) - if ok: - ui.command(':vlabele.text', fss('set_mediumlabel', l)) - - - def choosepartition(self): - p = self.selectpart(True) - if p: - ui.command(':larchpart.text', p) - self.destination = p - self.activate_actions() - - - def selectpart(self, write=False): - # Present a list of available partitions (only unmounted ones - # are included) - self.partlist = fss('get_partitions') - ok, choice = ui.command('listDialog', - self.data('parts_dst') if write else self.data('parts_src'), - self.data('parts_t'), - self.partlist, len(self.partlist) - 1) - # The partition to be used is fetched from the gui, so there is no - # need to save it anywhere else. - if ok: - return choice.split()[0] - else: - return None - - - def searchtoggled(self, on): - ui.command(':nolarchboot.enable', not on) - - - def make(self): - """Write the larch medium. - """ - args = ['-l', ui.command(':vlabele.get')] - if ui.command(':syslinux.active'): - args.append('-b') - - # Is it standard (using profile, etc.) or copying? - if ui.command(':source_larch.active'): - # Normal larch build - path = '' - if not ui.command(':chroot.active'): - args.append('-c') - - else: - # Copying from another larch medium - path = self.source - if ui.command(':chroot.active'): - args.append('-C') - - # Write to iso file or to partition? - if ui.command(':destination.active'): - # Write to partition - for db in ('label', 'uuid', 'device', 'search'): - if ui.command(':%s.active' % db): - detect = db - args += ['-d', detect] - if (detect != 'search') and ui.command(':nolarchboot.active'): - args.append('-n') - args.append('-a' if ui.command(':dosave.active') else '-A') - if ui.command(':noformat.active'): - args.append('-x') - if ui.command(':nombr.active'): - args.append('-m') - larchscripts.writemedium(path, args, - os.path.basename(self.destination)) - - else: - # Write an 'iso' file - df = self.isopath() - if df: - args += ['-D', df[0], '-o', df[1]] - larchscripts.writemedium(path, args) - - - def makeboot(self): - return - args = ['-l', fss('getbootisolabel')] - if ui.command(':syslinux.active'): - args.append('-b') - path = os.path.basename(self.source) - if ui.command(':chroot.active'): - args.append('-C') - df = self.isopath(bootiso=True) - if df: - args += ['-D', df[0], '-o', df[1]] - larchscripts.writemedium(path, args, 'BOOTISO') - - - def isopath(self, bootiso=False): - sdir = fss('getisosavedir') - ifname = fss('getbootisofile' if bootiso else 'getisofile') - path = ui.fileDialog(self.data('isopath'), startdir=sdir, - create=True, file=ifname, filter=(self.data('iso_type'), '*.iso')) - if path: - f = os.path.basename(path) - d = os.path.dirname(path) - if d != sdir: - fss('setitem', 'isosavedir', d) - if f != ifname: - fss('setitem', 'bootisofile' if bootiso else 'isofile', f) - return (d, f) - - return None diff --git a/build_tools/l7/larch0/gui/front/page_mediumprofile.py b/build_tools/l7/larch0/gui/front/page_mediumprofile.py deleted file mode 100644 index 0ebb769..0000000 --- a/build_tools/l7/larch0/gui/front/page_mediumprofile.py +++ /dev/null @@ -1,87 +0,0 @@ -# page_mediumprofile.py - Handler for the project settings page -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.14 - - -class MediumProfile: - def __init__(self): - ui.widgetlist(fss('fetch_layout', 'page_mediumprofile.uim')) - - ui.connectlist( - (':bootlines*clicked', self.editbootlines), - (':grubtemplate*clicked', self.editgrub), - (':syslinuxtemplate*clicked', self.editsyslin), - (':cdroot*clicked', self.browsecdroot), - (':nosessionsave*toggled', self.nosessionsave), - ) - - - def enter(self): - """This is called when the page is entered/selected/shown. - It performs initializations which depend on the state. - """ - docviewer.gohome('gui_mediumprofile.html') - ui.command(':nosessionsave.set', fss('isfile', 'profile:nosave')) - - -# def data(self, key): -# return ui.command('mediumprofile_page_data.get', key) - - - def editbootlines(self): - edit('profile:bootlines', 'base:data/bootlines') - - - def editgrub(self): - f0 = 'profile:cd-root/grub0/menu.lst' - if not fss('isfile', f0): - f0 = 'base:cd-root/grub0/menu.lst' - edit('profile:cd-root/grub/menu.lst', f0) - - - def editsyslin(self): - f0 = 'profile:cd-root/isolinux0/isolinux.cfg' - if not fss('isfile', f0): - f0 = 'base:cd-root/isolinux0/isolinux.cfg' - edit('profile:cd-root/isolinux/isolinux.cfg', f0) - - - def browsecdroot(self): - fss('browse', 'profile:cd-root') - - - def nosessionsave(self, on): - """Whether session saving is available is firstly determined by - the writability of the boot device (assuming the extension - feature to allow the use of other devices is not being used). - The standard scripts will also not offer session saving if the - file larch/nosave is present on the boot medium. - """ - ns = fss('isfile', 'profile:nosave') - if on: - if not ns: - fss('savefile', 'profile:nosave', - "Suggestion to disable session saving" - " (can be overridden)") - else: - fss('rm_rf', 'profile:nosave') - diff --git a/build_tools/l7/larch0/gui/front/page_project.py b/build_tools/l7/larch0/gui/front/page_project.py deleted file mode 100644 index e9b902d..0000000 --- a/build_tools/l7/larch0/gui/front/page_project.py +++ /dev/null @@ -1,203 +0,0 @@ -# page_project.py - Handler for the project settings page -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.13 - -import os - -class ProjectSettings: - def __init__(self): - ui.widgetlist(fss('fetch_layout', 'page_project.uim')) - - ui.connectlist( - (':choose_profile_combo*changed', self.switch_profile), - (':profile_rename*clicked', self.rename_profile), - (':profile_browse*clicked', self.browse_profile), - (':profile_delete*clicked', self.delete_profile), - (':profile_save*clicked', self.save_profile), - (':installation_path_change*clicked', self.new_build_path), - (':choose_project_combo*changed', self.switch_project), - (':new_project*clicked', self.get_new_project_name), - (':project_delete*clicked', self.delete_project), - ) - - - def setup(self): - # Initialize project combobox - self.projects = fss('get_projects') - self.project_name = fss('get_project') - try: - pix = self.projects.index(self.project_name) - except: - self.switch_project(0) - return - ui.command(':choose_project_combo.set', self.projects, pix) - # Initialize profile combobox - self.profiles = fss('get_profiles') - self.profile_name = fss('get_profile') - try: - pfix = self.profiles.index(self.profile_name) - except: - self.switch_profile(0) - pfix = 0 - ui.command(':choose_profile_combo.set', self.profiles, pfix) - # Initialize installation_dir display - self.set_build_dir(fss('get_installation_dir')) - - - def enter(self): - """This is called when the page is entered/selected/shown. - It performs initializations which depend on the state. - """ - docviewer.gohome('gui_project_settings.html') - - - def data(self, key): - return ui.command('project_page_data.get', key) - - - def set_build_dir(self, path): - self.build_dir = path - ui.command(':installation_path_show.text', self.build_dir) - ui.enable_installation_page(self.build_dir != '/') - - - def switch_profile(self, index): - """This has no effect on the display! - It is assumed that the display is already updated, or will be - updated later, and that the index is valid, so that the operation - cannot fail. - """ - self.profile_name = self.profiles[index] - fss('set_profile', self.profile_name) - - - def browse_profile(self): - source = ui.fileDialog(self.data('file_ps'), dirsonly=True, - bookmarks=fss('get_profile_bookmarks'), - startdir=fss('getitem', 'profile_browse_dir')) - if source: - fss('setitem', 'profile_browse_dir', os.path.dirname(source)) - if os.path.basename(source) in self.profiles: - if not ui.command('confirmDialog', self.data('prompt_pr')): - return - if fss('get_new_profile', source): - self.setup() - else: - run_error(self.data('msg_npd') % source) - - - def rename_profile(self): - if fss('can_rename_profile'): - ok, new = ui.command('textLineDialog', - self.data('prompt_pn'), - None, self.profile_name) - if ok: - new = new.strip() - if new in self.profiles: - ui.command('warningDialog', self.data('prompt_pe') % new) - else: - fss('rename_profile', new) - self.setup() - else: - ui.command('infoDialog', self.data('msg_pu')) - - - def save_profile(self): - bookmarks = fss('get_profile_bookmarks') - startdir = fss('getitem', 'profile_browse_dir') - path = ui.fileDialog(self.data('file_sp'), - create=True, file=self.profile_name, - bookmarks=bookmarks, - startdir=startdir if startdir else bookmarks[0][0]) - if path: - fss('setitem', 'profile_browse_dir', os.path.dirname(path)) - ok = fss('save_profile', path, False) - if ok == False: - if ui.command('confirmDialog', self.data('prompt_dr')): - # Force overwrite - fss('save_profile', path, True) - elif ok == None: - run_error(self.data('msg_piu')) - else: - self.setup() - - - def delete_profile(self): - plist = fss('list_free_profiles') - if plist: - ok, item = ui.command('listDialog', self.data('prompt_dp'), - self.data('delprof'), plist) - if ok: - if fss('delete_profile', item): - self.setup() - else: - ui.command('infoDialog', self.data('msg_dpff') % item) - else: - ui.command('infoDialog', self.data('msg_npf')) - - - def new_build_path(self): - # Is anything more necessary? Do I need to test or create the path? - # I don't think so, the installation code does that. - # If the path is "/", the installation page should be inhibited, - # but that is handled by 'setup'. - ok, path = ui.command('textLineDialog', - self.data('prompt_ip'), - None, self.build_dir) - if ok: - path = fss('set_installation_dir', path) - if path: - self.set_build_dir(path) - - - def switch_project(self, index): - fss('set_project', self.projects[index]) - self.setup() - - - def get_new_project_name(self): - ok, name = ui.command('textLineDialog', - self.data('prompt_np'), - None, self.project_name) - if ok: - if name in self.projects: - run_error(self.data('msg_pe') % name) - else: - fss('set_project', name) - self.setup() - - - def delete_project(self): - """Pop up a list of eligible project names, the selected one - will be deleted. - """ - plist = fss('list_free_projects') - if plist: - ok, item = ui.command('listDialog', self.data('prompt_pd'), - self.data('delproj'), plist) - if ok: - fss('delete_project', item) - self.setup() - else: - ui.command('infoDialog', self.data('msg_np')) - - diff --git a/build_tools/l7/larch0/gui/front/uim.py b/build_tools/l7/larch0/gui/front/uim.py deleted file mode 100644 index 71e106b..0000000 --- a/build_tools/l7/larch0/gui/front/uim.py +++ /dev/null @@ -1,1327 +0,0 @@ -#!/usr/bin/env python -# -*- coding: UTF-8 -*- -# -# uim.py -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.18.07 - -#TODO? -# Fetching of image and icon files via a sort of url-like mechanism, I -# suppose initially using the 'base:' prefix might be ok. -# Then the cwd of the gui script would be irrelevant. - -#New file dialog for accessing the 'server' end. - - -"""UIM - User Interface Module - -The aim is to provide a means of creating graphical user interfaces of -moderate complexity while abstracting the interface to the actual underlying -toolkit in such a way that (at least potentially) an alternative toolkit -could be used. -[At present this aspect is rather theoretical since only a pyqt based -version has been written.] - -The gui layout is specified as a python data structure, using widget types, -parameter and signal names independent of the underlying toolkit. All -widgets are accessible by their tag, which must be specified. - -A widget is defined by a call to the 'widget' method of the GuiApp instance. -The first argument is the widget type, the second is the widget tag, the -remaining ones must be named, they form the parameters to the constructor. -If the widget is a 'container' (i.e. if it contains other widgets), it will -need a 'layout' parameter defining the layout of its contents. - -There is also a 'widgetlist' method which accepts a list of widget -definitions, each definition being itself a list. The first entry in a -definition is the widget type, the second is the widget tag, the -third is a dictionary containing all the parameters. For convenience (I'm not -sure if I will keep this, though) any entries after the dictionary will be -treated as signal names. These are just added to the parameter dictionary -with value '' (enabling the signal with its default tag). - -Signals have signatures/keys comprising the tag of the emitting widget and -the signal name (separated by '*'), and this will by default also be the tag -by which the signal is known for connection purposes. But this can be -overridden, for example to allow several widgets to emit the same signal. -In the latter case the widget tag can (optionally) be passed as the first -argument to the signal handler. - -Passing signal names as parameters to a widget constructor enables these -signals. They can later be disabled, if desired. - -Connect and disconnect methods are available, to associate (or dissociate) -handler functions with (/from) signals. -""" - -import os, sys, traceback, threading -from PyQt4 import QtGui, QtCore, QtWebKit -from collections import deque -#try: -# import json -#except: -# import simplejson as json - -#++++++++++++++++++++++++++++++++++++++++++++++++++++ -#TODO -# Add more widgets -# Add more attribute handling -# Add more signal handling - -#---------------------------------------------------- - -def debug(text): - sys.stderr.write("GUI: %s\n" % text) - sys.stderr.flush() - - -# Widget Base Classes - essentially used as 'Mixins' >>>>>>>>>>>>>>>> -class WBase: - def x__tt(self, text): - """Set tooltip. - """ - self.setToolTip(text) #qt - - def x__text(self, text=""): - """Set widget text. - """ - self.setText(text) #qt - - def x__enable(self, on): - """Enable/Disable widget. on should be True to enable the widget - (display it in its normal, active state), False to disable it - (which will normally be paler and non-interactive). - """ - self.setEnabled(on) #qt - - def x__focus(self): - self.setFocus() #qt - - def x__width(self, w): - """Set the minimum width for the widget. - """ - self.setMinimumWidth(w) #qt - - def x__typewriter(self, on): - """Use a typewriter (fixed spacing) font. - """ - if on: - f = QtGui.QFont(self.font()) #qt - f.setFamily("Courier") #qt - self.setFont(f) #qt - - def x__busycursor(self, on): - """Set/clear the busy-cursor for this widget. - """ - if on: - self.setCursor(QtCore.Qt.BusyCursor) #qt - else: - self.unsetCursor() #qt - - -class BBase: - """Button mixin. - """ - def x__icon(self, icon): - self.setIcon(self.style().standardIcon(icondict[icon])) #qt - -#qt -icondict = { "left" : QtGui.QStyle.SP_ArrowLeft, - "right" : QtGui.QStyle.SP_ArrowRight, - "down" : QtGui.QStyle.SP_ArrowDown, - "up" : QtGui.QStyle.SP_ArrowUp, - "reload" : QtGui.QStyle.SP_BrowserReload, - } - -class Container: - """This just adds layout management for widgets which contain - other widgets. - """ - def x__layout(self, layout, immediate=False): - """A layout specifies and organizes the contents of a widget. - Note that the layouting is not immediately performed by default as - it is unlikely that all the contained widgets have been defined yet. - """ - self._layout = layout - if immediate: - self.x__pack() - - def x__pack(self): - """A layout call specifies and organizes the contents of a widget. - The layout can be a layout manager list, or a single widget name - (or an empty string, which will cause a warning to be issued, but - may be useful during development). - - There are three sorts of thing which can appear in layout manager - lists (apart from the layout type at the head of the list and an - optional attribute dict as second item). There can be named - widgets, there can be further layout managers (specified as lists, - nested as deeply as you like) and there can be layout widgets, - like spacers and separators. - - A layout widget can have optional arguments, which are separated - by commas, e.g. 'VLINE,3' passes the argument '3' to the VLINE - constructor. - """ - # getattr avoids having to have an __init__() for Container. - if getattr(self, '_layout', None): - if self._layout != '$': - self.setLayout(self.getlayout(self._layout)) - self._layout = '$' - else: - debug("No layout set on '%s'" % self.w_name) - - def getlayout(self, item): - if isinstance(item, list): - try: - # Create a layout manager instance - layoutmanager = layout_table[item[0]]() - assert isinstance(layoutmanager, Layout) - except: - gui_error("Unknown layout type: %s" % item[0]) - if (len(item) > 1) and isinstance(item[1], dict): - dictarg = item[1] - ilist = item[2:] - else: - dictarg = {} - ilist = item[1:] - # Build up the list of objects to lay out - # If the layout manager is a GRID, accept only grid rows ('+') - if isinstance(layoutmanager, GRID): - args = [] - rowlen = None - for i in ilist: - if isinstance(i, list) and (i[0] == '+'): - args.append(self.getlayoutlist(i[1:], grid=True)) - if rowlen == None: - rowlen = len(i) - elif len(i) != rowlen: - gui_error("Grid (%s) row lengths unequal" - % self.w_name) - else: - gui_error("Grid (%s) layouts must consist of grid" - " rows ('+')" % self.w_name) - else: - # Otherwise the elements of the argument list can be: - # A sub-layout - # A widget - # A SPACE - args = self.getlayoutlist(ilist) - layoutmanager.do_layout(args) - # Attributes - for key, val in dictarg: - handler = "x__" + key - if hasattr(layoutmanager, handler): - getattr(layoutmanager, handler)(val) - return layoutmanager - - else: - # It must be a widget, which will need to be put in a box (qt) - return self.getlayout(['VBOX', item]) - - def getlayoutlist(self, items, grid=False): - objects = [] - for i in items: - if isinstance(i, list): - obj = self.getlayout(i) - else: - parts = i.split(',') - i = parts[0] - args = parts[1:] - try: - obj = layout_table[i](*args) - if not (isinstance(obj, SPACE) # or a separator line - or isinstance(obj, QtGui.QWidget)): #qt - assert (grid and isinstance(obj, Span)) - except: - obj = guiapp.getwidget(i) - if obj != None: - if isinstance(obj, Container): - obj.x__pack() - else: - gui_error("Bad item in layout of '%s': '%s'" - % (self.w_name, i)) - objects.append(obj) - return objects - - -class XContainer(Container): - """This is a mixin class for containers which can contain more than - one layout. - """ - def x__layout(self, layout): - gui_error("An extended container (%s) has no 'layout' method" - % self.w_name) - - -class TopLevel(Container): - def x__show(self): - self.set_visible() - - def set_visible(self, on=True): - self.setVisible(on) #qt - - def x__size(self, w_h): - w, h = [int(i) for i in w_h.split("_")] - self.resize(w, h) #qt - - def x__icon(self, iconpath): - guiapp.setWindowIcon(QtGui.QIcon(iconpath)) #qt - - def x__title(self, text): - self.setWindowTitle(text) #qt - - def x__getSize(self): - s = self.size() #qt - return "%d_%d" % (s.width(), s.height()) #qt - - def x__getScreenSize(self): - dw = guiapp.desktop() #qt - geom = dw.screenGeometry(self) #qt - return "%d_%d" % (geom.width(), geom.height()) #qt - -#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< - -class Window(QtGui.QWidget, TopLevel): #qt - """This is needed to trap window closing events. It also supports - a 'busy' mechanism. - """ - def __init__(self): - QtGui.QWidget.__init__(self) #qt - self.closesignal = "" - self.busystate = False - self.busy_lock = threading.Lock() - - def closeEvent(self, event): #qt - if self.closesignal: - guiapp.sendsignal(self.closesignal) - event.ignore() #qt - return - QtGui.QWidget.closeEvent(self, event) #qt - - def x__closesignal(self, text): - self.closesignal = text - - def x__busy(self, widgets, on, busycursor=True): - """This activates (or deactivates, for on=False) a 'busy' mechanism, - which can be one or both of the following: - Make the application's cursor change to the 'busy cursor'. - Disable a group of widgets. - There is a lock to prevent the busy state from being set when it - is already active. - """ - # I couldn't get the following calls to work: - # w.setCursor(QtCore.Qt.BusyCursor) - # w.unsetCursor() - self.busy_lock.acquire() - if on: - if self.busystate: - debug("*ERROR* Attempt to set busy state twice") - self.busy_lock.release() - return - self.busycursor = busycursor - if busycursor: - guiapp.setOverrideCursor(QtCore.Qt.BusyCursor) #qt - else: - if not self.busystate: - debug("*ERROR* Attempt to release busy state twice") - self.busy_lock.release() - return - if self.busycursor: - guiapp.restoreOverrideCursor() #qt - self.busystate = on - self.busy_lock.release() - for wn in widgets: - w = guiapp.getwidget(wn) - if w: - w.setEnabled(not on) #qt - else: - debug("*ERROR* No widget '%s'" % wn) - - -class Dialog(QtGui.QDialog, TopLevel): - def __init__(self): - QtGui.QDialog.__init__(self) #qt - - def x__showmodal(self): - return self.exec_() == QtGui.QDialog.Accepted #qt - - -class DialogButtons(QtGui.QDialogButtonBox): #qt - def __init__(self): - return - - def x__buttons(self, args): - """This keyword argument MUST be present. - """ - buttons = 0 - for a in args: - try: - b = getattr(QtGui.QDialogButtonBox, a) #qt - assert isinstance(b, int) #qt - buttons |= b #qt - except: - gui_warning("Unknown Dialog button: %s" % a) - QtGui.QDialogButtonBox.__init__(self, buttons) #qt - - def x__dialog(self, dname): - """This must be set or else the dialog buttons won't do anything. - """ - self._dialog = guiapp.getwidget(dname) - self.connect(self, QtCore.SIGNAL("clicked(QAbstractButton *)"), #qt - self._clicked) #qt - - def _clicked(self, button): #qt - if self.buttonRole(button) == self.AcceptRole: #qt - self._dialog.accept() #qt - else: - self._dialog.reject() #qt - - -def textLineDialog(label=None, title=None, text="", pw=False): - if label == None: - label = "Enter the value here:" - if title == None: - title = "Enter Information" - if pw: - echo = QtGui.QLineEdit.Password #qt - else: - echo = QtGui.QLineEdit.Normal #qt - result, ok = QtGui.QInputDialog.getText(None, #qt - title, label, echo, text) #qt - return (ok, unicode(result)) - - -def listDialog(label=None, title=None, items=[], current=0): - if label == None: - label = "Choose one of the entries" - if title == None: - title = "Select an item" - item, ok = QtGui.QInputDialog.getItem(None, title, label, items, - current, editable=False) #qt - return (ok, unicode(item)) - - -def confirmDialog(message, title=None): - if title == None: - title = "Confirmation" - return (QtGui.QMessageBox.question(None, title, message, #qt - QtGui.QMessageBox.Yes | QtGui.QMessageBox.Cancel) == #qt - QtGui.QMessageBox.Yes) #qt - - -def infoDialog(message, title=None): - if title == None: - title = "Information" - QtGui.QMessageBox.information(None, title, message) #qt - - -#+++++++++++++++++++++++++++ -# Error handling -def gui_error(message, title=None): - if title == None: - title = "Error" - QtGui.QMessageBox.critical(None, title, message) #qt - guiapp.exit(1) #qt - -def gui_warning(message, title=None): - if title == None: - title = "Warning" - QtGui.QMessageBox.warning(None, title, message) #qt - -def onexcept(text): - debug(traceback.format_exc()) - gui_error(text, "Exception") -#--------------------------- - -fileDialogDir = "/" -def fileDialog(message, start=None, title=None, dir=False, create=False, - file=None, urls=None, filter=None): - # filter is a list: first a textual description, then acceptable glob filenames - global fileDialogDir - if not start: - start = fileDialogDir - dlg = QtGui.QFileDialog(None, message, start) #qt - if title: - dlg.setWindowTitle(title) #qt - dlg.setReadOnly(not create) #qt - if dir: - dlg.setFileMode(dlg.Directory) #qt - elif not create: - dlg.setFileMode(dlg.ExistingFile) #qt - if filter: - dlg.setNameFilter("%s (%s)" % (filter[0], " ".join(filter[1:]))) #qt - - if urls: - urlsqt = [ QtCore.QUrl.fromLocalFile(u[0]) for u in urls ] #qt - urlsqt.append(QtCore.QUrl.fromLocalFile( - QtGui.QDesktopServices.storageLocation( - QtGui.QDesktopServices.HomeLocation))) - - dlg.setSidebarUrls(urlsqt) #qt - - if file: - dlg.selectFile(file) - - if dlg.exec_(): - path = str(dlg.selectedFiles()[0]).strip() - if os.path.isdir(path): - fileDialogDir = path - elif os.path.isfile(path): - fileDialogDir = os.path.dirname(path) - return path - else: - return "" - - -class Stack(QtGui.QStackedWidget, XContainer): #qt - def __init__(self): - QtGui.QStackedWidget.__init__(self) #qt - self.x_twidgets = [] - - def x__pages(self, pages): - self.x_twidgets = pages - - def x__pack(self): - for name in self.x_twidgets: - w = guiapp.getwidget(name) - w.x__pack() - self.addWidget(w) #qt - - def x__set(self, index=0): - self.setCurrentIndex(index) #qt - - -class Notebook(QtGui.QTabWidget, XContainer): #qt - def __init__(self): - QtGui.QTabWidget.__init__(self) #qt - self.x_tabs = [] - self.x_twidgets = [] - - def x__changed(self, name=''): - guiapp.signal(self, 'changed', name, 'currentChanged(int)') #qt - - def x__tabs(self, tabs): - self.x_twidgets = tabs - - def x__pack(self): - for name, title in self.x_twidgets: - w = guiapp.getwidget(name) - w.x__pack() - self.addTab(w, title) #qt - self.x_tabs.append([name, w]) - - def x__set(self, index=0): - self.setCurrentIndex(index) #qt - - def x__enableTab(self, index, on): - self.setTabEnabled(index, on) #qt - - -class Page(QtGui.QWidget, Container): #qt - def __init__(self): - QtGui.QWidget.__init__(self) #qt - - def x__enable(self, on): - """Enable/Disable widget. on should be True to enable the widget - (display it in its normal, active state), False to disable it - (which will normally be paler and non-interactive). - """ - self.setEnabled(on) #qt - - -class Frame(QtGui.QGroupBox, WBase, Container): #qt - def __init__(self): - QtGui.QGroupBox.__init__(self) #qt - self._text = None - - def x__text(self, text): - self._text = text - self.setTitle(text) #qt - -# A hack to improve spacing - def setLayout(self, layout): - topgap = 10 if self._text else 0 - layout.setContentsMargins(0, topgap, 0, 0) #qt - QtGui.QGroupBox.setLayout(self, layout) - - -class OptionalFrame(Frame): #qt - def __init__(self): #qt - Frame.__init__(self) #qt - self.setCheckable(True) #qt - self.setChecked(False) #qt - - def x__toggled(self, name=''): - guiapp.signal(self, 'toggled', name, 'toggled(bool)') #qt - - def x__opton(self, on): - self.setChecked(on) #qt - -#TODO: Is this still needed? (I think it's a qt bug) - def x__enable_hack(self): #qt - if not self.isChecked(): #qt - self.setChecked(True) #qt - self.setChecked(False) #qt - - def x__active(self): - return self.isChecked() #qt - - -def read_markup(markup): - def read_markup0(mlist): - text = '' - for i in mlist: - text += read_markup(i) if isinstance(i, list) else i - return text - tag = markup[0] - if tag == '': - return read_markup0(markup[1:]) - elif tag in ('h1', 'h2', 'h3', 'h4', 'p', 'em', 'strong'): - return '<%s>%s</%s>' % (tag, read_markup0(markup[1:]), tag) - elif tag == 'color': - return '<span style="color:%s;">%s</span>' % (markup[1], - read_markup0(markup[2:])) - return "Markup parse error" - - -class Label(QtGui.QLabel, WBase): #qt - def __init__(self): - QtGui.QLabel.__init__(self) #qt - - def x__markup(self, markup): - self.setText(read_markup(markup)) #qt - - def x__image(self, path): - self.setPixmap(QtGui.QPixmap(path)) #qt - - def x__align(self, pos): - if pos == "center": - a = QtCore.Qt.AlignCenter #qt - else: - a = QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter #qt - self.setAlignment(a) #qt - - -class Button(QtGui.QPushButton, WBase, BBase): #qt - def __init__(self): - QtGui.QPushButton.__init__(self) #qt - - def x__clicked(self, name=''): - guiapp.signal(self, 'clicked', name, 'clicked()') #qt - - -class ToggleButton(QtGui.QPushButton, WBase, BBase): #qt - def __init__(self): - QtGui.QPushButton.__init__(self) #qt - self.setCheckable(True) #qt - - def x__toggled(self, name=''): - guiapp.signal(self, 'toggled', name, 'toggled(bool)') #qt - - def x__set(self, on): - self.setChecked(on) #qt - - -class CheckBox(QtGui.QCheckBox, WBase): #qt - def __init__(self): - QtGui.QCheckBox.__init__(self) #qt - - def x__toggled(self, name=''): - # A bit of work is needed to get True/False state #qt - # instead of 0/1/2 #qt - guiapp.signal(self, 'toggled', name, - 'toggled(bool)', self.s_toggled) #qt - - def s_toggled(self, state): #qt - """Convert the argument to True/False. - """ #qt - return (state != QtCore.Qt.Unchecked,) #qt - - def x__set(self, on): - self.setCheckState(2 if on else 0) #qt - - def x__active(self): - return self.checkState() != QtCore.Qt.Unchecked #qt - - -class RadioButton(QtGui.QRadioButton, WBase): #qt - def __init__(self): - QtGui.QPushButton.__init__(self) #qt - - def x__toggled(self, name=''): - guiapp.signal(self, 'toggled', name, 'toggled(bool)') #qt - - def x__set(self, on): - self.setChecked(on) #qt - - def x__active(self): - return self.isChecked() #qt - - -class ComboBox(QtGui.QComboBox, WBase): #qt - def __init__(self): - QtGui.QComboBox.__init__(self) #qt - - def x__changed(self, name=''): - guiapp.signal(self, 'changed', name, 'currentIndexChanged(int)') #qt - - def x__changedstr(self, name=''): - guiapp.signal(self, 'changedstr', name, - 'currentIndexChanged(const QString &)') #qt - - def x__set(self, items, index=0): - self.blockSignals(True) - self.clear() #qt - if items: - self.addItems(items) #qt - self.setCurrentIndex(index) #qt - self.blockSignals(False) - - -class ListChoice(QtGui.QListWidget, WBase): #qt - def __init__(self): - QtGui.QListWidget.__init__(self) #qt - - def x__changed(self, name=''): - guiapp.signal(self, 'changed', name, 'currentRowChanged(int)') #qt - - def x__set(self, items, index=0): - self.blockSignals(True) - self.clear() #qt - if items: - self.addItems(items) #qt - self.setCurrentRow(index) #qt - self.blockSignals(False) - - -class List(QtGui.QTreeWidget, WBase): #qt - # Only using top-level items of the tree - def __init__(self): - QtGui.QTreeWidget.__init__(self) #qt - self.mode = "" - self.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) #qt - self.setRootIsDecorated(False) #qt - self._hcompact = False # used for scheduling header-compaction - - def x__select(self, name=''): - guiapp.signal(self, 'select', name, - 'itemSelectionChanged()', self.s_select) #qt - - def x__clicked(self, name=''): - guiapp.signal(self, 'clicked', name, - 'itemClicked(QTreeWidgetItem *,int)', self.s_clicked) #qt - - def s_select(self): - # Signal a selection change, passing the new selection list (indexes) - s = [self.indexOfTopLevelItem(i) for i in self.selectedItems()] #qt - if self.mode == "Single": - return s - else: - return (s,) - - def s_clicked(self, item, col): #qt - """This is intended for activating a user-defined editing function. - Tests showed that this is called after the selection is changed, so - if using this signal, use it only in 'Single' selection mode and - use this, not 'select' to record selection changes. Clicking on the - selected row should start editing the cell, otherwise just change - the selection. - """ - ix = self.indexOfTopLevelItem(item) #qt - return (ix, col) - - def x__selectionmode(self, sm): - self.mode = sm - if sm == "None": - self.setSelectionMode(QtGui.QAbstractItemView.NoSelection) #qt - elif sm == "Single": - self.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) #qt - else: - self.mode = "" - self.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) #qt - - def x__headers(self, headers): #qt - self.setHeaderLabels(headers) #qt - if self._hcompact: - self._compact() - - def x__set(self, items, index=0): #qt - # Note that each item must be a tuple/list containing - # entries for each column. - self.clear() #qt - c = 0 - for i in items: - item = QtGui.QTreeWidgetItem(self, i) #qt - self.addTopLevelItem(item) #qt - if c == index: - self.setCurrentItem(item) - c += 1 - if self._hcompact: - self._compact() - - def x__compact(self, on=True): - self._hcompact = on - if on: - self._compact() - - def _compact(self): - for i in range(self.columnCount()): #qt - self.resizeColumnToContents(i) #qt - - -class LineEdit(QtGui.QLineEdit, WBase): #qt - def __init__(self): - QtGui.QLineEdit.__init__(self) #qt - - def x__enter(self, name=''): - guiapp.signal(self, 'enter', name, 'returnPressed()') #qt - - def x__changed(self, name=''): - guiapp.signal(self, 'changed', name, 'textEdited(const QString &)') #qt - - def x__get(self): - return unicode(self.text()) #qt - - def x__ro(self, ro): - self.setReadOnly(ro) #qt - - def x__pw(self, star): - self.setEchoMode(QtGui.QLineEdit.Password if star == "+" #qt - else QtGui.QLineEdit.NoEcho if star == "-" #qt - else QtGui.QLineEdit.Normal) #qt - - -class CheckList(QtGui.QWidget, WBase): #qt - def __init__(self): - QtGui.QWidget.__init__(self) #qt - self.box = QtGui.QVBoxLayout(self) #qt - self.title = None - if text: #qt - l.addWidget(QtGui.QLabel(text)) #qt - self.widget = QtGui.QListWidget() #qt - l.addWidget(self.widget) #qt - - def x__title(self, text): - if self.title: - self.title.setText(text) #qt - else: - self.title = QtGui.QLabel(text) #qt - self.box.insertWidget(0, self.title) #qt - - def x__checked(self, index): - return (self.widget.item(index).checkState() == #qt - QtCore.Qt.Checked) #qt - - def x__set(self, items): - self.widget.blockSignals(True) #qt - self.widget.clear() #qt - if items: - for s, c in items: - wi = QtGui.QListWidgetItem(s, self.widget) #qt - wi.setCheckState(QtCore.Qt.Checked if c #qt - else QtCore.Qt.Unchecked) #qt - self.blockSignals(False) #qt - - -class TextEdit(QtGui.QTextEdit, WBase): #qt - def __init__(self): - QtGui.QTextEdit.__init__(self) #qt - - def x__ro(self, ro): - self.setReadOnly(ro) #qt - - def x__append_and_scroll(self, text): - self.append(text) #qt - self.ensureCursorVisible() #qt - - def x__get(self): - return unicode(self.toPlainText()) #qt - - def x__undo(self): - QtGui.QTextEdit.undo(self) #qt - - def x__redo(self): - QtGui.QTextEdit.redo(self) #qt - - def x__copy(self): - QtGui.QTextEdit.copy(self) #qt - - def x__cut(self): - QtGui.QTextEdit.cut(self) #qt - - def x__paste(self): - QtGui.QTextEdit.paste(self) #qt - - -class HtmlView(QtWebKit.QWebView, WBase): #qt - def __init__(self): - QtWebKit.QWebView.__init__(self) #qt - - def x__html(self, content): - self.setHtml(content) #qt - - def x__setUrl(self, url): - self.load(QtCore.QUrl(url)) #qt - - def x__prev(self): - self.back() #qt - - def x__next(self): - self.forward() #qt - - -class SpinBox(QtGui.QDoubleSpinBox, WBase): #qt - def __init__(self): - QtGui.QDoubleSpinBox.__init__(self) #qt - self.step = None - - def x__changed(self, name=''): - guiapp.signal(self, 'changed', name, 'valueChanged(double)') #qt - - def x__min(self, min): - self.setMinimum(min) - - def x__max(self, max): - self.setMaximum(max) - - def x__decimals(self, dec): - self.setDecimals(dec) - if not self.step: - self.setSingleStep(10**(-dec)) - - def x__step(self, step): - self.setSingleStep(step) - - def x__value(self, val): - self.setValue(val) - - -class ProgressBar(QtGui.QProgressBar, WBase): #qt - def __init__(self): - QtGui.QProgressBar.__init__(self) #qt - - def x__set(self, value): - self.setValue(value) #qt - - def x__max(self, max): - self.setMaximum(max) #qt - - - -# Layout classes -class Layout: - """A mixin base class for all layout widgets. - """ - pass - -boxmargin=3 -class _BOX(Layout): - def do_layout(self, items): - self.setContentsMargins(boxmargin, boxmargin, boxmargin, boxmargin) #qt - for wl in items: - if isinstance(wl, QtGui.QWidget): #qt - self.addWidget(wl) #qt - elif isinstance(wl, SPACE): #qt - if wl.size: #qt - self.addSpacing(wl.size) #qt - self.addStretch() #qt - elif isinstance(wl, Layout): #qt - self.addLayout(wl) #qt - else: #qt - gui_error("Invalid Box entry: %s" % repr(wl)) - - -class VBOX(QtGui.QVBoxLayout, _BOX): #qt - def __init__(self): - QtGui.QVBoxLayout.__init__(self) #qt - - -class HBOX(QtGui.QHBoxLayout, _BOX): #qt - def __init__(self): - QtGui.QHBoxLayout.__init__(self) #qt - - -class GRID(QtGui.QGridLayout, Layout): #qt - def __init__(self): - QtGui.QGridLayout.__init__(self) #qt - - def do_layout(self, rows): - y = -1 - for row in rows: - y += 1 - x = -1 - for wl in row: - x += 1 - if isinstance(wl, Span): - continue - # Determine the row and column spans - x1 = x + 1 - while (x1 < len(row)) and isinstance(row[x1], CSPAN): - x1 += 1 - y1 = y + 1 - while (y1 < len(rows)) and isinstance(rows[y1][x], RSPAN): - y1 += 1 - - if isinstance(wl, QtGui.QWidget): #qt - self.addWidget(wl, y, x, y1-y, x1-x) #qt - elif isinstance(wl, Layout): - self.addLayout(wl, y, x, y1-y, x1-x) #qt - elif isinstance(wl, SPACE): - self.addItem(QtGui.QSpacerItem(wl.size, wl.height), - y, x, y1-y, x1-x) #qt - else: - gui_error("Invalid entry in Grid layout: %s" % repr(wl)) - - -class SPACE: - """Can be used in boxes and grids. In boxes only size is of interest, - and it also means vertical size in the case of a vbox. In grids size - is the width. - """ - def __init__(self, size_width='0', height='0'): #qt - self.size = int(size_width) #qt - self.height = int(height) #qt - - -class Span: - """Class to group special grid layout objects together - it doesn't - actually do anything itself, but is used for checking object types. - """ - pass - - -class CSPAN(Span): - """Column-span layout item. It doesn't do anything itself, but it is used - by the Grid layout constructor. - """ - pass - - -class RSPAN(Span): - """Row-span layout item. It doesn't do anything itself, but it is used - by the Grid layout constructor. - """ - pass - - -class HLINE(QtGui.QFrame): #qt - def __init__(self, pad=None): - QtGui.QFrame.__init__(self) #qt - self.setFrameShape(QtGui.QFrame.HLine) #qt - if pad: - self.setFixedHeight(1 + 2*int(pad)) #qt - - -class VLINE(QtGui.QFrame): #qt - def __init__(self, pad=None): - QtGui.QFrame.__init__(self) #qt - self.setFrameShape(QtGui.QFrame.VLine) #qt - if pad: - self.setFixedWidth(1 + 2*int(pad)) #qt - - -class DATA: - """This is not really a widget, it just holds a dictionary of - potentially internationalized messages. - """ - def x__messages(self, mdict): - self.messages = mdict - - def x__get(self, key): - return self.messages.get(key) - - -class Uim(QtGui.QApplication): - """This class represents an application gui, possibly with more than - one top level window. - """ - timers = [] # timer objects - - def __init__(self): - global guiapp - guiapp = self - self.eno = QtCore.QEvent.registerEventType() #qt - QtGui.QApplication.__init__(self, []) #qt - self.setQuitOnLastWindowClosed(False) #qt - - self.widgets = {} # all widgets, key = widget tag - self.signal_dict = {} # signal connections, key = signature - - # callback list for event loop: (callback, arglist) pairs: - self.idle_calls = deque() - - - def event(self, e): - if e.type() == self.eno: - # Process item from list - cb, a = self.idle_calls.popleft() - cb(*a) - return True - else: - return QtGui.QApplication.event(self, e) #qt - - - def run(self): - self.exec_() #qt - - -# def quit(self): -# self.quit() #qt - - - def addwidget(self, fullname, wo): - if self.widgets.has_key(fullname): - gui_error("Attempted to define widget '%s' twice." % fullname) - self.widgets[fullname] = wo - - - def getwidget(self, w): - widget = self.widgets.get(w) - if widget == None: - gui_warning("Unknown widget: %s" % w) - return widget - - - def show(self, windowname): - self.getwidget(windowname).setVisible() - - - def command(self, cmdtext, *args): - cmd = specials_table.get(cmdtext) - if not cmd: - w, m = cmdtext.split(".") - wo = self.getwidget(w) - cmd = getattr(wo, 'x__' + m) - return cmd(*args) - - - def widget(self, wtype, wname, args): - wobj = widget_table[wtype]() - wobj.w_name = wname - - # Attributes - for key, val in args.iteritems(): - handler = "x__" + key - if hasattr(wobj, handler): - getattr(wobj, handler)(val) -# Unrecognized attributes are ignored ... - - self.addwidget(wname, wobj) - - - def widgetlist(self, wlist): - for w in wlist: - # Add simple signals - for s in w[3:]: - w[2][s] = '' - self.widget(w[0], w[1], w[2]) - - - def signal(self, source, signal, name=None, xsignal=None, convert=None): - """Enable or disable a signal. - Signal.signals is a dictionary of enabled signals. - The key is constructed from the widget name and the formal signal name. - The name of the signal which actually gets generated will be the - same as the key unless the 'name' parameter is set. See the - 'Signal' class for further details. - If 'name' is None (not ''!), the signal will be disabled. - """ - widsig = source.w_name + '*' + signal - if name == None: - s = Signal.signals.get(widsig) - if not s: - gui_error("Can't disable signal '%s' - it's not enabled" - % widsig) - s.disconnect() # Probably not necessary in qt - del(Signal.signals[widsig]) - else: - if Signal.signals.has_key(widsig): - gui_error("Signal already connected: %s" % widsig) - Signal.signals[widsig] = Signal(source, signal, name, xsignal, - convert) - - - def connect(self, signal, function): - if self.signal_dict.has_key(signal): - self.signal_dict[signal].append(function) - else: - self.signal_dict[signal] = [function] - - - def connectlist(self, *slotlist): - for s in slotlist: - self.connect(*s) - - - def disconnect(self, signal, function): - try: - l = self.signal_dict[signal] - l.remove(function) - except: - gui_error("Slot disconnection for signal '%s' failed" - % signal) - - - def sendsignal(self, name, *args): - # When there are no slots a debug message is output. - slots = self.signal_dict.get(name) - if slots: - try: - for slot in slots: - slot(*args) - except: - gui_error("Signal handling error:\n %s" - % traceback.format_exc()) - else: - debug("Unhandled signal: %s %s" % (name, repr(args))) - - - def idle_add(self, callback, *args): - self.idle_calls.append((callback, args)) - e = QtCore.QEvent(self.eno) #qt - self.postEvent(self, e) #qt - - - def timer(self, callback, period): - """Start a timer which calls the callback function on timeout. - Only if the callback returns True will the timer be retriggered. - """ - Uim.timers.append(Timer(callback, period)) - - -class Timer(QtCore.QTimer): #qt - def __init__(self, timers, callback, period): - QtCore.QTimer.__init__(self) #qt - self.x_callback = callback - self.connect(self, QtCore.SIGNAL("timeout()"), #qt - self.x_timeout) - self.start(int(period * 1000)) #qt - - def x_timeout(self): - if not self.x_callback(): - self.stop() #qt - Uim.timers.remove(self) - - - -class Signal: - """Each instance represents a single connection. - """ - signals = {} # Enabled signals - - def __init__(self, source, signal, name, xsignal, convert): - """'source' is the widget object which initiates the signal. - 'signal' is the signal name. - If 'name' is given (not empty), the signal will get this as its name, - and this name may be used for more than one connection. - Otherwise the name is built from the name of the source widget and - the signal type as 'source*signal' and this is unique. - If 'name' begins with '+' an additional argument, the source - widget name, will be inserted at the head of the argument list. - 'xsignal' is a toolkit specific signal descriptor. - 'convert' is an optional function (default None) - toolkit specific - - to perform signal argument conversions. - """ - self.widsig = '%s*%s' % (source.w_name, signal) - #+ For disconnect? - self.xsignal = xsignal - #- - self.convert = convert # Argument conversion function - self.tag = name if name else self.widsig - self.wname = source.w_name if self.tag[0] == '+' else None - if not source.connect(source, QtCore.SIGNAL(xsignal), #qt - self.signal): - gui_error("Couldn't enable signal '%s'" % self.widsig) - - def signal(self, *args): - if self.convert: - args = self.convert(*args) - if self.wname: - guiapp.sendsignal(self.tag, self.wname, *args) - else: - guiapp.sendsignal(self.tag, *args) - - def disconnect(self): - w = guiapp.getwidget(self.widsig.split('*')[0]) - w.disconnect(w, QtCore.SIGNAL(self.xsignal), self.signal) #qt - - - -#+++++++++++++++++++++++++++ -# Catch all unhandled errors. -def errorTrap(type, value, tb): - etext = "".join(traceback.format_exception(type, value, tb)) - debug(etext) - gui_error(etext, "This error could not be handled.") - -sys.excepthook = errorTrap -#--------------------------- - -widget_table = { - "DATA": DATA, - "Window": Window, - "Dialog": Dialog, - "DialogButtons": DialogButtons, - "Notebook": Notebook, - "Stack": Stack, - "Page": Page, - "Frame": Frame, - "Button": Button, - "ToggleButton": ToggleButton, - "RadioButton": RadioButton, - "CheckBox": CheckBox, - "Label": Label, - "CheckList": CheckList, - "List": List, - "OptionalFrame": OptionalFrame, - "ComboBox": ComboBox, - "ListChoice": ListChoice, - "LineEdit": LineEdit, - "TextEdit": TextEdit, - "HtmlView": HtmlView, - "SpinBox": SpinBox, - "ProgressBar": ProgressBar, -} - -specials_table = { - "textLineDialog": textLineDialog, - "infoDialog": infoDialog, - "confirmDialog": confirmDialog, - "errorDialog": gui_error, - "warningDialog": gui_warning, - "fileDialog": fileDialog, - "listDialog": listDialog, -} - -layout_table = { - "VBOX": VBOX, - "HBOX": HBOX, - "GRID": GRID, -# "+": GRIDROW, - "-": CSPAN, - "|": RSPAN, - "*": SPACE, - "VLINE": VLINE, - "HLINE": HLINE, -} - diff --git a/build_tools/l7/larch0/gui/larch.py b/build_tools/l7/larch0/gui/larch.py deleted file mode 100755 index bddc78c..0000000 --- a/build_tools/l7/larch0/gui/larch.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env python -# -# larch.py - GUI for the larch scripts -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -#2010.06.27 - -import sys, os -dirname = os.path.dirname(os.path.realpath(__file__)) -sys.path.append(dirname + '/front') -sys.path.append(os.path.dirname(dirname) + '/cli') - -import controller -from mainwindow import start - -# Note that the gui module must have a reference point for relative -# paths, so the current directory must be set to the larch base directory -# before starting the gui: -os.chdir(controller.base_dir) -start() diff --git a/build_tools/l7/larch0/gui/layouts/docviewer.uim b/build_tools/l7/larch0/gui/layouts/docviewer.uim deleted file mode 100644 index 8e85a0f..0000000 --- a/build_tools/l7/larch0/gui/layouts/docviewer.uim +++ /dev/null @@ -1,72 +0,0 @@ -# docviewer.uim - The layout for the documentation viewer widget -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.05.21 - -[ - ['Frame', 'doc:page', - { 'layout': - ['VBOX', - ['HBOX', 'doc:header', '*', 'doc:back', 'doc:forward', - 'doc:home', 'doc:parent', 'doc:hide'], - 'doc:content' - ] - } - ], - ['Label', 'doc:header', - { 'markup': ['h2', _("Documentation")] - } - ], - ['HtmlView', 'doc:content', {}], - ['Button', 'doc:hide', - { 'text': _("Hide"), - 'tt': _("Return to the larch controls"), - 'clicked': '' - }, - ], - ['Button','doc:back', - { 'icon': 'left', - 'tt': _("Go back in the viewing history"), - 'clicked': '' - }, - ], - ['Button','doc:forward', - { 'icon': 'right', - 'tt': _("Go forward in the viewing history"), - 'clicked': '' - }, - ], - - ['Button','doc:home', - { 'icon': 'reload', - 'tt': _("Reload the documentation for the current larch tab"), - 'clicked': '' - }, - ], - - ['Button','doc:parent', - { 'icon': 'up', - 'tt': _("Go to the general larch documentation index"), - 'clicked': '' - }, - ], - -] diff --git a/build_tools/l7/larch0/gui/layouts/editor.uim b/build_tools/l7/larch0/gui/layouts/editor.uim deleted file mode 100644 index 2338f6e..0000000 --- a/build_tools/l7/larch0/gui/layouts/editor.uim +++ /dev/null @@ -1,92 +0,0 @@ -# editor.uim - The layout for the editor widget -# -# (c) Copyright 2009-2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.05.21 - -[ - ['Frame', 'edit:page', - { 'layout': - ['VBOX', - ['HBOX', 'edit:header', '*', 'edit:title'], - ['HBOX', 'edit:content', - ['VBOX', 'edit:copy', 'edit:cut', 'edit:paste', - 'edit:undo', 'edit:redo', 'edit:revert', - '*', 'edit:cancel', 'edit:ok' - ] - ] - ] - } - ], - ['Label', 'edit:header', - { 'markup': ['h2', _("Editor")] - } - ], - ['Label', 'edit:title', {}], - ['TextEdit', 'edit:content', {}], - ['Button', 'edit:ok', - { 'text': _('OK'), - 'clicked': '' - } - ], - ['Button', 'edit:cancel', - { 'text': _('Cancel'), - 'clicked': '' - } - ], - ['Button', 'edit:revert', - { 'text': _('Revert'), - 'tt': _('Restore the text to its initial/default state'), - 'clicked': '' - } - ], - ['Button', 'edit:copy', - { 'text': _('Copy'), - 'clicked': '' - } - ], - ['Button', 'edit:cut', - { 'text': _('Cut'), - 'clicked': '' - } - ], - ['Button', 'edit:paste', - { 'text': _('Paste'), - 'clicked': '' - } - ], - ['Button', 'edit:undo', - { 'text': _('Undo'), - 'clicked': '' - } - ], - ['Button', 'edit:redo', - { 'text': _('Redo'), - 'clicked': '' - } - ], - - ['DATA', 'editor_data', - { 'messages': - { 'msg_dflt': _("Editing '%s'") - } - }, - ], -] diff --git a/build_tools/l7/larch0/gui/layouts/logger.uim b/build_tools/l7/larch0/gui/layouts/logger.uim deleted file mode 100644 index 0ecb7bf..0000000 --- a/build_tools/l7/larch0/gui/layouts/logger.uim +++ /dev/null @@ -1,57 +0,0 @@ -# logger.uim - The layout for the logging widget -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.05.22 - -[ - ['Frame', 'log:page', - { 'layout': - ['VBOX', - 'log:header', - ['HBOX', - 'log:text', - ['VBOX', 'log:clear', '*', 'log:hide'] - ] - ] - } - ], - ['Label', 'log:header', - { 'markup': ['', ['h2', _("Low-level Command Logging")], - ['p', _("Here you can follow the detailed, low-level" - " progress of the commands.")]] - } - ], - ['TextEdit', 'log:text', - { 'ro': True - } - ], - ['Button', 'log:clear', - { 'text': _("Clear"), - 'clicked': '' - } - ], - ['Button', 'log:hide', - { 'text': _("Hide"), - 'tt': _("Go back to the larch controls"), - 'clicked': '' - } - ] -] diff --git a/build_tools/l7/larch0/gui/layouts/page_installation.uim b/build_tools/l7/larch0/gui/layouts/page_installation.uim deleted file mode 100644 index 0949dcd..0000000 --- a/build_tools/l7/larch0/gui/layouts/page_installation.uim +++ /dev/null @@ -1,179 +0,0 @@ -# page_installation.uim - The layout for the installation page -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.06.24 - -[ - ['Page', ':page_installation', - { 'layout': - ['VBOX', - ['HBOX', ':edit_profile', '*', ':pacmanops'], - '*', ':editmirrorlist', - ':settings_advanced', - 'HLINE', - ['HBOX', '*', ':install'] - ] - } - ], - # - - - - The profile editing frame - ['Frame', ':edit_profile', - { 'text': _("Edit Profile"), - 'layout': - ['VBOX', - ':addedpacks', - ':vetopacks', - ':pacmanconf', - ':repos' - ] - } - ], - ['Button', ':addedpacks', - { 'text': _("Edit 'addedpacks'"), - 'tt': _("Edit the list of packages to be installed") - }, - 'clicked' - ], - ['Button', ':vetopacks', - { 'text': _("Edit 'vetopacks'"), - 'tt': _("Edit the list of packages NOT to install") - }, - 'clicked' - ], - ['Button', ':pacmanconf', - { 'text': _("Edit pacman.conf options"), - 'tt': _("Edit pacman.conf options - not the repositories") - }, - 'clicked' - ], - ['Button', ':repos', - { 'text': _("Edit pacman.conf repositories"), - 'tt': _("Edit the repository entries for pacman.conf") - }, - 'clicked' - ], - - # - - - - The installed package tweaking frame - ['OptionalFrame', ':pacmanops', - { 'text': _("Tweak Installed Packages"), - 'layout': - ['VBOX', ':sync', ':update', ':add', ':remove'] - } - ], - ['Button', ':sync', - { 'text': _("Synchronize db"), - 'tt': _("Synchronize the pacman db on the target (pacman -Sy)") - }, - 'clicked' - ], - ['Button', ':update', - { 'text': _("Update / Add package [-U]"), - 'tt': _("Update / Add a package from a package file" - " using pacman -U") - }, - 'clicked' - ], - ['Button', ':add', - { 'text': _("Add package(s) [-S]"), - 'tt': _("Add one or more packages (space separated)" - " using pacman -S") - }, - 'clicked' - ], - ['Button', ':remove', - { 'text': _("Remove package(s) [-Rs]"), - 'tt': _("Remove one or more packages (space separated)" - " using pacman -Rs") - }, - 'clicked' - ], - - # - - - - The advanced installation options frame - ['OptionalFrame', ':settings_advanced', - { 'text': _("Advanced Installation Options"), - 'layout': ['HBOX', ':installrepos', 'VLINE,3', ':cache'] - } - ], - - ['OptionalFrame', ':installrepos', - { 'text': _("Use project repository list"), - 'tt': _("Enables use of an alternative pacman.conf" - " for installation only"), - 'layout': - ['HBOX', ':editrepolist'] - }, - 'toggled' - ], - ['Button', ':editrepolist', - { 'text': _("Edit repository list"), - 'tt': _("Edit repository list file used for installation") - }, - 'clicked' - ], - ['Button', ':editmirrorlist', - { 'text': _("Edit mirror list used for installation only"), - 'tt': _("A mirror list for the live system should be placed" - " in the overlay") - }, - 'clicked' - ], - - ['Frame', ':cache', - { 'text': _("Package Cache"), - 'layout': - ['HBOX', ':cache_show', ':cache_change'] - } - ], - ['LineEdit', ':cache_show', - { 'ro': True, - 'tt': _("The path to the (host's) package cache") - } - ], - ['Button', ':cache_change', - { 'text': _("Change"), - 'tt': _("Change the package cache path") - }, - 'clicked' - ], - - ['Button', ':install', - { 'text': _("Install"), - 'tt': _("This will start the installation to the set path") - }, - 'clicked' - ], - - ['DATA', 'install_page_data', - { 'messages': - { 'edit_pc': _("Editing pacman.conf options only"), - 'edit_pr': _("Editing pacman repositories"), - 'edit_mli': _("Editing mirror list for installation"), - 'prompt_ncp': _("Enter new package cache path:"), - 'edit_pri': _("Editing pacman repositories for installation"), - 'msg_pu': _("Package to add/update"), - 'filter_pu': _("Packages"), - 'prompt_pi': _("Enter the names of packages to install -" - "\n separated by spaces:"), - 'prompt_pr': _("Enter the names of packages to remove -" - "\n separated by spaces:"), - } - }, - ], -] diff --git a/build_tools/l7/larch0/gui/layouts/page_larchify.uim b/build_tools/l7/larch0/gui/layouts/page_larchify.uim deleted file mode 100644 index df7be8b..0000000 --- a/build_tools/l7/larch0/gui/layouts/page_larchify.uim +++ /dev/null @@ -1,177 +0,0 @@ -# page_larchify.uim - The layout for the larchify page -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.02.07 - -(lambda USERHEADERS: -[ - ['Page', ':page_larchify', - { 'layout': - ['VBOX', - ':larchify', - ':users', - 'HLINE', - ['HBOX', ':overlay', ':locales', ':rcconf'], - '*', - ':larchify_advanced', - 'HLINE', - ['HBOX', ':oldsquash', '*', ':build'] - ] - } - ], - # - - - - The profile editing frame - ['Label', ':larchify', - { 'markup': ['', " *** ", ['strong', _("The system to be" - " compressed must be installed and ready.")], " *** "] - } - ], - - ['Button', ':locales', - { 'text': _("Edit supported locales"), - 'tt': _("Edit the /etc/locale.gen file to select" - " supported glibc locales") - }, - 'clicked' - ], - ['Button', ':rcconf', - { 'text': _("Edit Arch configuration"), - 'tt': _("Edit the /etc/rc.conf file to configure the" - " live system") - }, - 'clicked' - ], - ['Button', ':overlay', - { 'text': _("Edit overlay"), - 'tt': _("Open a file browser on the profile's 'rootoverlay'") - }, - 'clicked' - ], - - ['OptionalFrame', ':larchify_advanced', - { 'text': _("Advanced Options"), - 'layout': - ['HBOX', ':initcpio', '*', ':oldlocales', ':ssh'] - } - ], - ['Button', ':initcpio', - { 'text': _("Edit mkinitcpio.conf"), - 'tt': _("Edit the configuration file for generating" - " the initramfs via mkinitcpio") - }, - 'clicked' - ], - ['CheckBox', ':ssh', - { 'text': _("Generate ssh keys"), - 'tt': _("The ssh host keys will be pre-generated") - }, - 'toggled' - ], - ['CheckBox', ':oldlocales', - { 'text': _("Reuse existing locales"), - 'tt': _("To save time it may be possible to reuse glibc" - " locales from a previous run") - }, -# 'toggled' - ], - - ['CheckBox', ':oldsquash', - { 'text': _("Reuse existing system.sqf"), - 'tt': _("Reuse existing system.sqf, to save time if the" - " base system hasn't changed") - }, -# 'toggled' - ], - ['Button', ':build', - { 'text': _("Larchify"), - 'tt': _("Build the main components of the larch system") - }, - 'clicked' - ], - -#Note that this should be disabled if installation directory is '/' - ['Frame', ':users', - { 'text': _("User accounts"), - 'layout': - ['VBOX', - ':utable', - ['HBOX', ':useradd', ':userdel', '*', - ':rootpwl', ':rootpwe', ':rootpwb' - ] - ] - } - ], - ['List', ':utable', - { 'selectionmode': 'Single', - 'headers': USERHEADERS, - 'compact': True, - 'tt': _("Click on a row to select, click on a selected" - " cell to edit") - }, -# 'select', - 'clicked' - ], - ['Button', ':useradd', - { 'text': _("Add user"), - 'tt': _("Create a new user-name") - }, - 'clicked' - ], - ['Button', ':userdel', - { 'text': _("Delete user"), - 'tt': _("Remove the selected user-name") - }, - 'clicked' - ], - ['Label', ':rootpwl', - { 'text': _("Root password:") - } - ], - ['LineEdit', ':rootpwe', - { 'ro': True, - 'tt': _("The unencrypted root password for the live system") - } - ], - ['Button', ':rootpwb', - { 'text': _("Change"), - 'tt': _("Enter a new password for the 'root' user") - }, - 'clicked' - ], - - - ['DATA', 'larchify_page_data', - { 'messages': - { 'uheaders': USERHEADERS, - 'rn_error': _("Renaming failed, see log"), - 'ud_error': _("Couldn't adjust user definition"), - 'def_skel': _("Default (/etc/skel)"), - 'skel_lbl': _("This folder will be copied\n" - "to build the user's home folder:"), - 'skel_ttl': _("Choose 'skel' Folder"), - 'newlogin': _("Enter login-name for new user:"), - 'newrootpw': _("Enter root password for live system:"), - } - }, - ], -] -)([_("User-Name"), _("Password"), _("Group"), - "UID", _("'skel' directory"), - _("Additional Groups"), _("Expert options")]) diff --git a/build_tools/l7/larch0/gui/layouts/page_main.uim b/build_tools/l7/larch0/gui/layouts/page_main.uim deleted file mode 100644 index 3ab4a9e..0000000 --- a/build_tools/l7/larch0/gui/layouts/page_main.uim +++ /dev/null @@ -1,101 +0,0 @@ -# page_main.uim - The layout for the main window -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.06.26 - -[ - ['Window', ':larch', - { 'title': 'larch', 'size': '640_480', - 'icon': 'images/larchicon.png', - 'closesignal': '$$$uiclose$$$', - 'layout': - ['VBOX', - ['HBOX', - ':image', - ['VBOX', - ['HBOX', ':header', '*'], - ['HBOX', ':showlog', ':docs', '*', ':quit'], - ] - ], - ':tabs' - ] - - } - ], - - # - Header - ['Label', ':image', - { 'image': 'images/larch80.png' - } - ], - ['Label', ':header', - { 'markup': ['h1', ['color', '#c55500', ['em', 'larch '], - _("Live Arch Linux Construction Kit")]] - } - ], - ['Button', ':showlog', - { 'text': _("View Log"), - 'tt': _("This button switches to the log viewer"), - }, - 'clicked' - ], - ['Button', ':docs', - { 'text': _("Help"), - 'tt': _("This button switches to the documentation viewer"), - }, - 'clicked' - ], - ['Button', ':quit', - { 'text': _("Quit"), - 'tt': _("Stop the current action and quit the program"), - 'clicked': '$$$uiquit$$$' - }, - ], - -#TODO - # - Main widget - ['Stack', ':tabs', - { 'pages': [':notebook', 'progress:page', 'log:page', - 'doc:page', 'edit:page'] - } - ], - - # - - The main page of the Stack - ['Notebook', ':notebook', - { 'tabs': [ - [':page_settings', _("Project Settings")], - [':page_installation', _("Installation")], - [':page_larchify', _("Larchify")], - [':page_image', _("Medium Profile")], - [':page_medium', _("Make Medium")], - ] - }, - 'changed' - ], - - ['DATA', 'main_page_data', - { 'messages': - { 'authfail': _("Authentication failure"), - 'getpw': _("Enter the password to run as administrator:"), - } - }, - ], -] diff --git a/build_tools/l7/larch0/gui/layouts/page_medium.uim b/build_tools/l7/larch0/gui/layouts/page_medium.uim deleted file mode 100644 index 713a3c0..0000000 --- a/build_tools/l7/larch0/gui/layouts/page_medium.uim +++ /dev/null @@ -1,271 +0,0 @@ -# page_medium.uim - The layout for the medium building page -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.12 - -[ - ['Page', ':page_medium', - { 'layout': - ['VBOX', - ['HBOX', ':source', 'VLINE', ':bootloader'], - 'HLINE', - ['HBOX', ':destination','VLINE', ':detection'], - ['HBOX', '*', ':vlabell', ':vlabele', - ':vlabelb'], - 'HLINE', - ['HBOX', ':chroot', 'VLINE,10', - ':bootcd', '*', ':make_medium'] - ] - } - ], -# Select source: -# larch installation (default, but may be invalid), iso, cd-drive, partition - ['Frame', ':source', - { 'text': _("Select larch source"), - 'layout': - ['VBOX', - ['HBOX', ':source_larch', ':source_dev', - ':source_iso', ':source_path'], - ['HBOX', ':source_show', ':source_select'] - ] - } - ], - ['RadioButton', ':source_larch', - { 'text': _("larchified system"), - 'tt': _("Use the system prepared within the larch build" - " directory") - }, - 'toggled' - ], - ['RadioButton', ':source_dev', - { 'text': _("Device"), - 'tt': _("Use a system on a mountable device") - }, - 'toggled' - ], - ['RadioButton', ':source_iso', - { 'text': _("'iso' file"), - 'tt': _("Use a system on an 'iso' file") - }, - 'toggled' - ], - ['RadioButton', ':source_path', - { 'text': _("Path"), - 'tt': _("Use a directory within the filesystem") - }, - 'toggled' - ], - ['LineEdit', ':source_show', - { 'ro': True, - 'tt': _("The location from where the larch system will" - " be fetched") - } - ], - ['Button', ':source_select', - { 'text': _("Choose"), - 'tt': _("Select the source location") - }, - 'clicked' - ], - -#++++ - ['OptionalFrame', ':destination', - { 'text': _("Write to partition"), - 'tt': _("Don't create an 'iso' (CD/DVD), write the larch" - " system to a partition (e.g. USB-stick)"), - 'layout': - ['VBOX', - ['HBOX', ':lm2', ':larchpart', ':selectpart'], - ['GRID', ['+', ':noformat', ':nombr'], - ['+', ':nolarchboot', ':dosave']] - ] - }, - 'toggled' - ], - ['Label', ':lm2', - { 'text': _("Partition:") - } - ], - ['LineEdit', ':larchpart', - { 'ro': True, - 'tt': _("The partition to which the larch system is to" - " be installed") - } - ], - ['Button', ':selectpart', - { 'text': _("Choose"), - 'tt': _("Select the partition to receive the larch system") - }, - 'clicked' - ], - ['CheckBox', ':noformat', - { 'text': _("Don't format"), - 'tt': _("Copy the data to the partition without formatting" - " first\n(not the normal procedure, NOT RECOMMENDED!)") - }, -# 'toggled' - ], - ['CheckBox', ':nombr', - { 'text': _("Don't install the bootloader"), - 'tt': _("The bootloader will not be installed, leaving" - " the mbr untouched\n" - "(you'll need to provide some other means of booting)") - }, -# 'toggled' - ], - ['CheckBox', ':nolarchboot', - { 'text': _("Not bootable via search"), - 'tt': _("Don't create the file 'larch/larchboot':\n" - " the medium will only be bootable by uuid, label" - " or partition name") - }, - 'toggled' - ], - ['CheckBox', ':dosave', - { 'text': _("Enable session-saving"), - 'tt': _("Can override profile's 'larch/nosave' file," - " to make session-saving possible in that case too") - }, -# 'toggled' - ], -#---- - -#++++++++ - ['Frame', ':detection', - { 'text': _("Medium Detection"), - 'tt': _("Choose how the boot scripts determine where to" - " look for the larch system (ONLY ON PARTITIONED MEDIA)"), - 'layout': - ['VBOX', ':device', ':uuid', ':label', ':search'] - } - ], - ['RadioButton', ':uuid', - { 'text': _("UUID"), - 'tt': _("Use the partition's UUID to find it") - }, -# 'toggled' - ], - ['RadioButton', ':label', - { 'text': _("LABEL"), - 'tt': _("Use the partition's label to find it") - }, -# 'toggled' - ], - ['RadioButton', ':device', - { 'text': _("Partition"), - 'tt': _("Use the partition's name (/dev/sdb1, etc.) to find it") - }, -# 'toggled' - ], - ['RadioButton', ':search', - { 'text': _("Search (for larchboot)"), - 'tt': _("Test all CD/DVD devices and partitions until" - " the file 'larch/larchboot' is found") - }, - 'toggled' - ], -#-------- - -#+ - # Defaults to that of the source - ['Label', ':vlabell', - { 'text': _("Volume Label:") - } - ], - ['LineEdit', ':vlabele', - { 'ro': True, - 'tt': _("The length may not exceed 16 bytes," - " 11 for vfat(syslinux)") - } - ], - ['Button', ':vlabelb', - { 'text': _("Change"), - 'tt': _("Enter a new label for the volume, empty to use default") - }, - 'clicked' - ], -#- - -#++++ - ['Frame', ':bootloader', - { 'text': _("Bootloader"), - 'tt': _("You can choose between GRUB and" - " syslinux/isolinux as bootloader"), - 'layout': - ['VBOX', ':grub', ':syslinux'] - } - ], - ['RadioButton', ':grub', - { 'text': "GRUB", - 'tt': _("Use GRUB as bootloader") - }, - 'toggled' - ], - ['RadioButton', ':syslinux', - { 'text': "syslinux/isolinux", - 'tt': _("Use syslinux (partition) or isolinux (CD/DVD)" - " as bootloader") - }, - 'toggled' - ], -#---- - - ['CheckBox', ':chroot', - { 'text': _("Use chroot"), - 'tt': _("Use the larch installation for the build process\n" - " - the default should be alright in most cases") - }, -# 'toggled' - ], - - ['Button', ':bootcd', - { 'text': _("Create boot iso"), - 'tt': _("Create a small boot iso for this device (for" - " machines that can't boot from USB)") - }, - 'clicked' - ], - ['Button', ':make_medium', - { 'text': _("Write the larch medium"), - 'tt': _("The larch image will be written to the 'iso' file" - " or to the partition, as selected") - }, - 'clicked' - ], - - ['DATA', 'medium_page_data', - { 'messages': - { 'medium_src': _("Select source medium folder"), - 'iso_src': _("Select source iso file"), - 'iso_type': _("larch iso images"), - 'parts_t': _("Select unmounted partition"), - 'parts_src': _("larch system source:"), - 'parts_dst': _("Device to receive larch system.\n" - "WARNING: Be very careful in choosing here,\n" - "if you choose the wrong one you might\n" - "seriously damage your system!"), - 'msg_med': _("Invalid larch medium folder: %s"), - 'prompt_label': _("Volume label (clear to use default):"), - 'isopath': _("Save 'iso' to ..."), - } - }, - ], -] diff --git a/build_tools/l7/larch0/gui/layouts/page_mediumprofile.uim b/build_tools/l7/larch0/gui/layouts/page_mediumprofile.uim deleted file mode 100644 index f50a20a..0000000 --- a/build_tools/l7/larch0/gui/layouts/page_mediumprofile.uim +++ /dev/null @@ -1,99 +0,0 @@ -# page_mediumprofile.uim - The layout for the medium profile settings page -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.08 - -[ - ['Page', ':page_image', - { 'layout': - ['VBOX', - ':bootlines', - ':grubtemplate', - ':syslinuxtemplate', - ':cdroot', - '*', - ['HBOX', ':nosessionsave', '*', -# ':plabell', ':plabele', ':plabelb' - ] - ] - } - ], - ['Button', ':bootlines', - { 'text': _("Edit boot entries"), - 'tt': _("Edit the file determining the boot entries") - }, - 'clicked' - ], - ['Button', ':grubtemplate', - { 'text': _("Edit grub template"), - 'tt': _("Edit grub's configuration file," - " but not the larch boot entries") - }, - 'clicked' - ], - ['Button', ':syslinuxtemplate', - { 'text': _("Edit syslinux/isolinux template"), - 'tt': _("Edit the syslinux/isolinux configuration file," - " but not the larch boot entries") - }, - 'clicked' - ], - ['Button', ':cdroot', - { 'text': _("Edit cd-root (open in file browser)"), - 'tt': _("Open a file browser on the profile's 'cd-root'" - " folder") - }, - 'clicked' - ], -# ['Label', ':plabell', -# { 'text': _("Volume Label:") -# } -# ], -# ['LineEdit', ':plabele', -# { 'ro': True, -# 'tt': _("The length may not exceed 16 bytes," -# " 11 for vfat(syslinux)") -# } -# ], -# ['Button', ':plabelb', -# { 'text': _("Change"), -# 'tt': _("Enter a new label for the volume") -# }, -# 'clicked' -# ], - ['CheckBox', ':nosessionsave', - { 'text': _("Disable session saving"), - 'tt': _("If checked, the medium will have the file" - " 'larch/nosave',\n" - "which only has an effect on writable media.") - }, - 'toggled' - ], - - -#? -# ['DATA', 'mediumprofile_page_data', -# { 'messages': -# { 'blah': _("Blah blah"), -# } -# }, -# ], -] diff --git a/build_tools/l7/larch0/gui/layouts/page_project.uim b/build_tools/l7/larch0/gui/layouts/page_project.uim deleted file mode 100644 index 938c646..0000000 --- a/build_tools/l7/larch0/gui/layouts/page_project.uim +++ /dev/null @@ -1,181 +0,0 @@ -# page_project.uim - The layout for the project settings page -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.06.27 - -[ - ['Page', ':page_settings', - { 'layout': - ['VBOX', - ':settings_profile', - '*', - ':options_advanced', - '*' - ] - } - ], - # - - - - The profile selection frame - ['Frame', ':settings_profile', - { 'text': _("Profile"), - 'layout': - ['VBOX', - ['HBOX', ':choose_profile', ':choose_profile_combo', - '*', ':profile_browse'], - ['HBOX', ':profile_rename', ':profile_delete', - ':profile_save'] - ] - } - ], - ['Label', ':choose_profile', - { 'text': _("Select:"), - 'align': 'right' - } - ], - ['ComboBox', ':choose_profile_combo', - { 'width': 200, - 'tt': _("Choose a profile from those already in your" - " larch working folder") - }, - 'changed' - ], - ['Button', ':profile_browse', - { 'text': _("Browse for Profile"), - 'tt': _("Fetch a profile from the file-system") - }, - 'clicked' - ], - ['Button', ':profile_rename', - { 'text': _("Rename"), - 'tt': _("Rename the current profile") - }, - 'clicked' - ], - ['Button', ':profile_delete', - { 'text': _("Delete"), - 'tt': _("Delete an unused profile") - }, - 'clicked' - ], - ['Button', ':profile_save', - { 'text': _("Copy to ..."), - 'tt': _("Copy the current profile to somehere else") - }, - 'clicked' - ], - - # - - - - Advanced project options - ['OptionalFrame', ':options_advanced', - { 'text': _("Advanced Project Options"), - 'layout': - ['HBOX', - #['HBOX', '*', ':lplat', ':platform'], - ['GRID', - ['+', ':choose_project', ':choose_project_combo'], - ['+', ':new_project', ':project_delete'] - ], - 'VLINE,3', - ':installation_path' - ] - } - ], -# Pending better support in Arch/pacman -# ['Label', '::lplat', -# { 'text': _("Platform (processor architecture):") -# } -# ], -# ['ComboBox', ':platform', -# { 'tt': _("Which processor architecture?") -# }, -# 'changed' -# ], - ['Label', ':choose_project', - { 'text': _("Choose Existing Project:") - } - ], - ['ComboBox', ':choose_project_combo', - { 'tt': _("Choose a project from those already defined"), - 'width': 120 - }, - 'changed' - ], - ['Button', ':new_project', - { 'text': _("New Project"), - 'tt': _("Create a new project") - }, - 'clicked' - ], - ['Button', ':project_delete', - { 'text': _("Delete"), - 'tt': _("Delete a project") - }, - 'clicked' - ], - ['Frame', ':installation_path', - { 'text': _("Installation Path"), - 'layout': - ['HBOX', ':installation_path_show', - ':installation_path_change'] - } - ], - ['LineEdit', ':installation_path_show', - { 'ro': True, - 'tt': _("The root directory of the Arch installation" - " to larchify") - } - ], - ['Button', ':installation_path_change', - { 'text': _("Change"), - 'tt': _("Change the root directory of the Arch installation") - }, - 'clicked' - ], - - ['DATA', 'project_page_data', - { 'messages': - { 'file_ps': _("Select profile source folder"), - 'prompt_pr': _("Destination profile exists - replace it?"), - 'prompt_pn': _("Enter new name for current profile:"), - 'prompt_pe': _("Profile '%s' exists already"), - 'msg_pu': _("Can't rename the profile," - " it is in use by other projects"), - 'file_sp': _("Save profile folder"), - 'prompt_dr': _("Destination exists - replace it?"), - 'prompt_dp': _("Select the profile for deletion"), - 'delprof': _("Remove Profile"), - 'msg_npf': _("There are no profiles which can" - " be deleted - all are in use"), - 'msg_dpff': _("Couldn't delete profile '%s' -" - " check permissions"), - 'prompt_ip': _("An empty path here will reset to the default.\n" - " WARNING: Double check your path -\n" - " If you make a mistake here it could destroy your system!" - "\n\nEnter new installation path:"), - 'prompt_np': _("Enter name for new project:"), - 'msg_pe': _("Project '%s' already exists"), - 'prompt_pd': _("Select the project for deletion"), - 'delproj': _("Remove Project"), - 'msg_np': _("There are no projects which can be deleted"), - 'msg_npd': _("'%s' is not a profile folder"), - 'msg_piu': _("The path '%s' is already in use, not saving"), - } - }, - ], -] diff --git a/build_tools/l7/larch0/gui/layouts/progress.uim b/build_tools/l7/larch0/gui/layouts/progress.uim deleted file mode 100644 index 62ae9e2..0000000 --- a/build_tools/l7/larch0/gui/layouts/progress.uim +++ /dev/null @@ -1,64 +0,0 @@ -# progress.uim - The layout for the progress widget -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.05.22 - -[ - ['Frame', 'progress:page', - { 'layout': - ['VBOX', - 'progress:header', - ['HBOX', - 'progress:text', - ['VBOX', 'progress:cancel', '*', 'progress:done'] - ], - 'progress:progress' - ] - } - ], - ['Label', 'progress:header', - { 'markup': ['', ['h2', _("Processing ...")], - ['p', _("Here you can follow the detailed, low-level" - " progress of the commands.")]] - } - ], - ['TextEdit', 'progress:text', - { 'ro': True - } - ], - ['LineEdit', 'progress:progress', - { 'ro': True, - 'tt': _("An indication of the progress of the current" - " operation, if possible") - } - ], - ['Button', 'progress:cancel', - { 'text': _("Cancel"), - 'tt': _("Stop the current action"), - 'clicked': '$$$cancel$$$' - } - ], - ['Button', 'progress:done', - { 'text': _("Done"), - 'clicked': '' - } - ], -] diff --git a/build_tools/l7/larch0/gui/project.py b/build_tools/l7/larch0/gui/project.py deleted file mode 100644 index f01e578..0000000 --- a/build_tools/l7/larch0/gui/project.py +++ /dev/null @@ -1,428 +0,0 @@ -# project.py - Project management -# -# (c) Copyright 2010 Michael Towers (larch42 at googlemail dot com) -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2010.07.14 - -from config import * -import os, shutil, pwd -from glob import glob -from subprocess import call -from userinfo import Userinfo - -CONFIG_DIR = '.config/larch' # within the user's home directory -APP_CONF = 'app.conf' # within larch config directory -PROJECT_CONF = 'project.conf' # within project directory -PROJECT0 = 'larch-0' # default project -PROFILE0 = 'default' # default profile - -# Some default values for the project config file -DEFAULTS = { 'installation_dir' : '', - 'pacman_cache' : '/var/cache/pacman/pkg', - 'profile' : PROFILE0, - 'profile_browse_dir': '', # => use default - 'installrepo' : '', - 'medium_iso' : 'Yes', # 'Yes' | '' - 'medium_btldr' : 'syslinux', # 'grub' | 'syslinux' - 'medium_search' : 'search', # 'search' | 'uuid' | 'label' | 'device' - 'medium_label' : '', # => fetch default - 'isosavedir' : '', - 'isofile' : '', - 'bootisofile' : '', - 'bootisolabel' : '', - } - - -# Default values for the application config file -APP_DEFAULTS = { - 'project' : PROJECT0, - 'filebrowser' : 'xdg-open $', - } - - - -class ProjectManager: - def __init__(self): - add_exports( ( - ('getitem', self.getitem), - ('getbool', self.getbool), - ('setitem', self.setitem), - ('setbool', self.setbool), - ('get_projects', self.list_projects), - ('get_profiles', self.list_profiles), - ('get_installation_dir', self.get_ipath), - ('set_installation_dir', self.set_ipath), - ('testmedium', self.testmedium), - ('set_project', self.set_projectname), - ('get_project', self.get_projectname), - ('delete_project', self.delete_project), - ('delete_profile', self.delete_profile), - ('list_free_projects', self.list_free_projects), - ('list_free_profiles', self.list_free_profiles), - ('get_new_profile', self.get_new_profile), - ('rename_profile', self.rename_profile), - ('can_rename_profile', self.can_rename_profile), - ('save_profile', self.save_profile), - ('get_profile', self.get_profile), - ('set_profile', self.set_profile), - ('get_profile_bookmarks', self.get_profile_bookmarks), - ('get_mediumlabel', self.get_mediumlabel), - ('set_mediumlabel', self.set_mediumlabel), - ('getisosavedir', self.getisosavedir), - ('getisofile', self.getisofile), - ('getbootisofile', self.getbootisofile), - ('getbootisolabel', self.getbootisolabel), - ('newUserinfo', self.newUserinfo), - ('allusers', self.allusers), - ('getuserinfo', self.getuserinfo), - ('newuser', self.newuser), - ('userset', self.userset), - ('deluser', self.deluser), - ('listskels', self.listskels), - ('saveusers', self.saveusers)) - ) - - - def init(self): - self.projects_base = os.path.join(os.environ['HOME'], CONFIG_DIR) - self.profiles_dir = os.path.join(self.projects_base, 'myprofiles') - # Ensure the presence of the larch default project folder - dpf = '%s/p_%s' % (self.projects_base, PROJECT0) - if not os.path.isdir(dpf): - os.makedirs(dpf) - # Ensure the presence of the profiles folder and the 'default' profile - if not os.path.isdir(self.profiles_dir): - os.mkdir(self.profiles_dir) - self.default_profile_dir = os.path.join(self.profiles_dir, PROFILE0) - if not os.path.isdir(self.default_profile_dir): - call(['cp', '-a', base_dir + '/profiles/'+ PROFILE0, - self.profiles_dir]) - - # The application configs - self.aconfig_file = os.path.join(self.projects_base, APP_CONF) - self.aconfig = self.getconfig(self.aconfig_file) - - # The project-specific configs - self.set_projectname(self.appget('project')) - - - def get_projectname(self): - return (True, self.project_name) - - def set_projectname(self, name): - self.project_dir = os.path.join(self.projects_base, 'p_' + name) - plist = self.list_projects()[1] - if name not in plist: - os.mkdir(self.project_dir) - - self.pconfig_file = os.path.join(self.project_dir, PROJECT_CONF) - self.pconfig = self.getconfig(self.pconfig_file) - self.profile_name = self.get('profile') - - self.profile_path = os.path.join(self.profiles_dir, self.profile_name) - self.appset('project', name) - self.project_name = name - return (True, None) - - def delete_project(self, name): - # This should probably be run as root, in case the build directory - # is inside it ... cross that bridge when we come to it! - r = call(['rm', '-r', '--interactive=never', - os.path.join(self.projects_base, 'p_' + name)]) - return (True, r == 0) - - - def delete_profile(self, name): - r = call(['rm', '-r', '--interactive=never', - os.path.join(self.profiles_dir, name)]) - return (True, r == 0) - - - def get_profile(self): - return (True, self.profile_name) - - def set_profile(self, name): - self.set('profile', name) - self.profile_name = name - self.profile_path = os.path.join(self.profiles_dir, self.profile_name) - return (True, None) - - - def rename_profile(self, name): - os.rename(self.profile_path, os.path.join(self.profiles_dir, name)) - self.set_profile(name) - return (True, None) - - - def get_new_profile(self, src): - if not os.path.isfile(src + '/addedpacks'): - return (True, False) - pname = os.path.basename(src) - dst = os.path.join(self.profiles_dir, pname) - call(['rm', '-rf', dst]) - shutil.copytree(src, dst) - self.set_profile(pname) - return (True, True) - - - def get_profile_bookmarks(self): - return (True, ((self.projects_base + '/myprofiles', - _("Working Profiles")), - (base_dir + '/profiles', _("Examples")), - ('/', _("File-system")) - )) - - -# What about not allowing changes to the default profile? -# That would mean also no renaming? -# One would have to copy a profile into the project before going -# any further ... -# Is it right to share profiles between projects? (Probably) - -#+++++++++++++++++++++++++++++++++++++++++++++++ -### A very simple configuration file handler - def getconfig(self, filepath): - cfg = {} - if os.path.isfile(filepath): - fh = open(filepath) - for line in fh: - ls = line.split('=', 1) - if len(ls) > 1: - cfg[ls[0].strip()] = ls[1].strip() - return cfg - - - def saveconfig(self, filepath, config): - fh = open(filepath, 'w') - ci = config.items() - ci.sort() - for kv in ci: - fh.write('%s = %s\n' % kv) - fh.close() -### -#----------------------------------------------- - - def list_projects(self): - projects = [p[2:] for p in os.listdir(self.projects_base) - if p.startswith('p_')] - projects.sort() - return (True, projects) - - - def list_free_projects(self): - """This returns a list of projects which are free for (e.g.) deletion. - """ - plist = self.list_projects()[1] - plist.remove(PROJECT0) # this one is not 'free' - if self.project_name in plist: - plist.remove(self.project_name) - return (True, plist) - - - def list_profiles(self): - profiles = [d for d in os.listdir(self.profiles_dir) if - os.path.isfile(os.path.join(self.profiles_dir, d, 'addedpacks'))] - profiles.sort() - return (True, profiles) - - - def list_free_profiles(self): - """This returns a list of profiles which are not in use by any project. - """ - plist = self.list_profiles()[1] - plist.remove(PROFILE0) # this one is not 'free' - for project in self.list_projects()[1]: - cfg = self.getconfig(os.path.join(self.projects_base, - 'p_' + project, PROJECT_CONF)) - p = cfg.get('profile') - if p in plist: - plist.remove(p) - return (True, plist) - - - def can_rename_profile(self): - if self.profile_name == PROFILE0: - return (True, False) - for project in self.list_projects()[1]: - if project != self.project_name: - cfg = self.getconfig(os.path.join(self.projects_base, - 'p_' + project, PROJECT_CONF)) - if self.profile_name == cfg.get('profile'): - return (True, False) - return (True, True) - - - def save_profile(self, path, force): - #path = os.path.join(path, self.profile_name) - if os.path.exists(path): - if force: - call(['rm', '-rf', path]) - elif os.path.isfile(os.path.join(path, addedpacks)): - # This is an existing profile - return (True, False) - else: - # This location is otherwise in use - return (True, None) - shutil.copytree(self.profile_path, path) - return (True, True) - - - def appget(self, item): - """Read an entry in the application configuration. - """ - v = self.aconfig.get(item) - if v: - return v - elif APP_DEFAULTS.has_key(item): - return APP_DEFAULTS[item] - debug("Unknown application configuration option: %s" % item) - assert False - - def appset(self, item, value): - """Set an entry in the application configuration. - """ - self.aconfig[item] = value.strip() - self.saveconfig(self.aconfig_file, self.aconfig) - - - def getitem(self, item): - return (True, self.get(item)) - - def getbool(self, item): - return (True, bool(self.get(item))) - - def setitem(self, item, value): - self.set(item, value) - return (True, None) - - def setbool(self, item, on): - self.set(item, 'Yes' if on else '') - return (True, None) - - - def get(self, item): - """Read an entry in the project configuration. - """ - v = self.pconfig.get(item) - if v: - return v - elif DEFAULTS.has_key(item): - return DEFAULTS[item] - debug("Unknown configuration option: %s" % item) - assert False - - def set(self, item, value): - """Set an entry in the project configuration. - """ - self.pconfig[item] = value.strip() - self.saveconfig(self.pconfig_file, self.pconfig) -# return True - - - def get_ipath(self): - ip = self.get('installation_dir') - if not ip: - ip = self.set_ipath('')[1] - return (True, ip) - - def set_ipath(self, path): - path = path.strip() - if path: - path = '/' + path.strip('/') - else: - path = os.environ['HOME'] + '/larch_build' - self.set('installation_dir', path) - return (True, path) - - - def testmedium(self): - ipath = self.get_ipath()[1] - path = ipath + CHROOT_DIR_MEDIUM - bl = [] - nosave = False - ok = os.path.isfile(path + '/larch/system.sqf') - if ok: - if os.path.isfile(ipath + GRUBDIR + '/stage2_eltorito'): - bl.append('grub') - if os.path.isfile(ipath + SYSLINUXDIR + '/isolinux.bin'): - bl.append('syslinux') - if os.path.isfile(self.profile_path + '/nosave'): - nosave = True - return (True, (path, ok, bl, nosave)) - - - def newUserinfo(self): - self.userInfo = Userinfo(self.profile_path) - return (True, None) - - def allusers(self): - return (True, self.userInfo.allusers()) - - def getuserinfo(self, user, fields): - return (True, self.userInfo.userinfo(user, fields)) - - def newuser(self, user): - return (True, self.userInfo.newuser(user)) - - def saveusers(self): - return (True, self.userInfo.saveusers()) - - def userset(self, uname, field, text): - self.userInfo.userset(uname, field, text) - return (True, None) - - def deluser(self, user): - return (True, self.userInfo.deluser(user)) - - def listskels(self): - return (True, glob(self.profile_path + '/skel_*')) - - - def get_mediumlabel(self): - l = self.get('medium_label') - return (True, l if l else LABEL) - - def set_mediumlabel(self, l): - if len(l) > 16: - l = l[:16] - self.set('medium_label', l) - return self.get_mediumlabel() - - - def getisosavedir(self): - d = self.get('isosavedir') - return (True, d if d else os.environ['HOME']) - - def getisofile(self): - f = self.get('isofile') - return (True, f if f else ISOFILE) - - def getbootisofile(self): - f = self.get('bootisofile') - return (True, f if f else BOOTISO) - - def getbootisolabel(self): - l = self.get('bootisolabel') - return (True, l if l else ISOLABEL) - - - -import __builtin__ -__builtin__.project_manager = ProjectManager() diff --git a/build_tools/l7/larch0/i18n/ca/LC_MESSAGES/ca.po b/build_tools/l7/larch0/i18n/ca/LC_MESSAGES/ca.po deleted file mode 100644 index 8bbb192..0000000 --- a/build_tools/l7/larch0/i18n/ca/LC_MESSAGES/ca.po +++ /dev/null @@ -1,1218 +0,0 @@ -# Translation of larch.po to Catalan
-# Copyright (C) 2010, This file is part of LARCH
-# This file is distributed under the license LGPL version 2 or later.
-#
-# Manuel Tortosa Moreno <manutortosa@gmail.com>, 2010.
-# The Catalan KDE translation Team
-msgid ""
-msgstr ""
-"Project-Id-Version: \n"
-"POT-Creation-Date: 2010-02-10 20:05+CET\n"
-"PO-Revision-Date: 2010-03-20 21:39+0100\n"
-"Last-Translator: Manuel Tortosa Moreno <manutortosa@gmail.com>\n"
-"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: ENCODING\n"
-"Generated-By: pygettext.py 1.5\n"
-"X-Generator: Lokalize 1.0\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-
-#: larch.py:203
-msgid "Please enter root password"
-msgstr "Introduïu la contrasenya de root"
-
-#: larch.py:215
-msgid "Incorrect root password"
-msgstr "Contrasenya de root incorrecta"
-
-#: larch.py:218
-msgid "No root password, cancelling operation"
-msgstr "No hi ha contrasenya de root, s'està cancel·lant"
-
-#: larch.py:234
-msgid "Supershell couldn't be started"
-msgstr "No s'ha pogut inicial Supershell"
-
-#: larch.py:321
-msgid "Enter '%s' application ('$' for path argument):"
-msgstr "Introduïu '%s' aplicació ('$' per argument de path):"
-
-#: larch.py:429
-msgid "Editing '%s'"
-msgstr "S'està editant '%s'"
-
-#: larch.py:463
-msgid "Platform error, installed system is %s"
-msgstr "Error de plataforma, el sistema instal·lat és %s"
-
-#: larch.py:468
-msgid "No installed system found"
-msgstr "No s'ha trobat el sistema instal·lat"
-
-#: larch.py:518
-msgid "Couldn't read file '%s'"
-msgstr "No s'ha pogut llegir el fitxer '%s'"
-
-#: larch.py:527
-msgid "Couldn't save file '%s'"
-msgstr "No s'ha pogut desar el fitxer '%s'"
-
-#: larch.py:531
-msgid "CONFIG ERROR"
-msgstr "ERROR DE CONFIGURACIÓ"
-
-#: larch.py:535
-msgid "BUILD ERROR"
-msgstr "ERROR DE CONSTRUCCIÓ"
-
-#: larch.py:539
-msgid "FATAL ERROR"
-msgstr "ERROR FATAL"
-
-#: larch.py:547
-msgid "This error could not be handled"
-msgstr "Aquest error no es pot gestionar"
-
-#: larch.py:623
-msgid ""
-" Please see '%s/%s'\n"
-" for usage information.\n"
-msgstr ""
-" Mireu '%s/%s'\n"
-" per informació d'ús.\n"
-
-#: larch.py:641
-msgid "ERROR: Unsupported option - '%s'\n"
-msgstr "ERROR: Opció no implementada - '%s'\n"
-
-#: larch.py:642
-msgid "Start without arguments or with '--pyqt' to start pyqt gui.\n"
-msgstr "Inicieu sense arguments o amb '--pyqt' per iniciar la igu pygt.\n"
-
-#: larch.py:643
-msgid "The command line interface is started with '-c':\n"
-msgstr "La interfície de línia d'ordres s'inicia amb '-c':\n"
-
-#: modules/base.py:89
-msgid "No pacman executable found"
-msgstr "No s'ha trobat l'executable del pacman"
-
-#: modules/base.py:117
-msgid "Unknown platform: '%s'"
-msgstr "Plataforma desconeguda: '%s'"
-
-#: modules/base.py:156
-msgid "Unknown configuration option: %s\n"
-msgstr "Opció de configuració desconeguda: %s\n"
-
-#: modules/base.py:216
-msgid "No name for new profile"
-msgstr "No hi ha cap nom pel nou perfil"
-
-#: modules/base.py:220
-msgid "Profile '%s' already exists"
-msgstr "El perfil '%s' ja existeix"
-
-#: modules/base.py:234
-msgid "Profile '%s' exists already."
-msgstr "El perfil '%s' ja existeix."
-
-#: modules/build.py:58
-msgid ""
-"Building a larch live medium from the running system is\n"
-"an error prone process. Changes to the running system\n"
-"made while running this function may be only partially\n"
-"incorporated into the compressed system images.\n"
-"\n"
-"Do you wish to continue?"
-msgstr ""
-"La construcció d'un suport live des del sistema actual en execució és\n"
-"un procés propens a errors. Els canvis fets al sistema en execució\n"
-"mentre s'executa aquesta funció poden ser incorporats només\n"
-"parcialment a les imatges comprimides de sistema.\n"
-"\n"
-"Voleu continuar?"
-
-#: modules/build.py:112
-msgid "Squashing system.sqf failed"
-msgstr "Ha fallat l'esquaix de system.sgf"
-
-#: modules/build.py:181
-msgid "Squashing mods.sqf failed"
-msgstr "Ha fallat l'esquaix de mods.sqf"
-
-#: modules/build.py:200
-msgid "No squashfs module found\n"
-msgstr "No s'ha trobat el mòdul squashfs\n"
-
-#: modules/build.py:210
-msgid "No aufs or unionfs module found\n"
-msgstr "No s'ha trobat el mòdul aufs o unionfs\n"
-
-#: modules/build.py:214
-msgid "Package '%s' is needed by larch systems\n"
-msgstr "El paquet '%s' és necessari pels sistemes larch\n"
-
-#: modules/build.py:217
-msgid ""
-"Without package 'syslinux' you will not be able\n"
-"to create syslinux or isolinux booting media\n"
-msgstr ""
-"Sense el paquet 'syslinux' no podreu crear\n"
-"suports arrencables syslinux o isolinux\n"
-
-#: modules/build.py:221
-msgid ""
-"Without package 'cdrkit' (or 'cdrtools') you will\n"
-"not be able to create CD/DVD media\n"
-msgstr ""
-"Sense el paquet 'cdrkit' (o 'cdrtools') no podreu\n"
-"crear suports CD/DVD\n"
-
-#: modules/build.py:225
-msgid ""
-"Without package 'eject' you will have problems\n"
-"using CD/DVD media\n"
-msgstr ""
-"Sense el paquet 'eject' tindreu problemes\n"
-"usant suports CD/DVD\n"
-
-#: modules/build.py:229
-msgid ""
-"WARNING:\n"
-"%s\n"
-" Continue building?"
-msgstr ""
-"AVÍS:\n"
-"%s\n"
-" Continuo la construcció?"
-
-#: modules/build.py:235
-msgid ""
-"ERROR:\n"
-"%s"
-msgstr ""
-"ERROR:\n"
-"%s"
-
-#: modules/build.py:262
-msgid ""
-"Problem running %s:\n"
-" %s"
-msgstr ""
-"Problema en executar %s:\n"
-" %s"
-
-#: modules/build.py:267
-msgid ""
-"More than one kernel found:\n"
-" %s"
-msgstr ""
-"S'ha trobat més d'un kernel:\n"
-" %s"
-
-#: modules/build.py:271
-msgid "No kernel found"
-msgstr "No s'ha trobat cap kernel"
-
-#: modules/build.py:279
-msgid "More than one set of kernel modules in %s"
-msgstr "Hi ha més d'un grup de mòduls del kernel a %s"
-
-#: modules/build.py:305
-msgid ""
-"WARNING:\n"
-" You seem to have installed a package containing modules\n"
-"which aren't compatible with your kernel (see log).\n"
-"Please check that this won't cause problems.\n"
-"Maybe you need the corresponding package for your kernel?\n"
-"\n"
-" Continue building?"
-msgstr ""
-"AVÍS:\n"
-" Sembla que heu instal·lat un paquet que conté mòduls\n"
-"que no són compatibles amb el vostre kernel (mireu el registre).\n"
-"Comproveu que això no causi problemes.\n"
-"Potser necessiteu el paquet corresponent pel vostre kernel?\n"
-"\n"
-" Continuo la construcció?"
-
-#: modules/build.py:314
-msgid "Couldn't find kernel modules"
-msgstr "No s'han pogut trobar els mòduls del kernel"
-
-#: modules/build.py:334
-msgid "Couldn't find usable mkinitcpio preset: %s"
-msgstr "No s'ha trobat cap pre-arranjament usable de mkinitcpio: %s"
-
-#: modules/buildpage.py:47
-msgid "The system to be compressed must be installed and ready."
-msgstr "El sistema a comprimir ha d'estar instal·lat i llest."
-
-#: modules/buildpage.py:48
-msgid "Edit supported locales"
-msgstr "Edita els locales implementats"
-
-#: modules/buildpage.py:49
-msgid "Edit the /etc/locale.gen file to select supported glibc locales"
-msgstr "Edita el fitxer /etc/locale.gen per seleccionar els locales de glibc implementats"
-
-#: modules/buildpage.py:50
-msgid "Edit Arch configuration file (/etc/rc.conf)"
-msgstr "Edita el fitxer de configuració d'Arch (/etc/rc.conf)"
-
-#: modules/buildpage.py:51
-msgid "Edit the /etc/rc.conf file to configure the live system"
-msgstr "Edita el fitxer /etc/rc.conf per configurar el sistema live"
-
-#: modules/buildpage.py:53 modules/installpage.py:60 modules/projectpage.py:68
-msgid "Advanced Options"
-msgstr "Opcions avançades"
-
-#: modules/buildpage.py:54
-msgid "Edit mkinitcpio.conf"
-msgstr "Edita el mkinitcpio.conf"
-
-#: modules/buildpage.py:55
-msgid "Edit the configuration file for generating the initramfs via mkinitcpio"
-msgstr "Edita el fitxer de configuració per generar initramfs via mkinitcpio"
-
-#: modules/buildpage.py:56
-msgid "Edit overlay (open in file browser)"
-msgstr "Edita la capa (obre al gestor de fitxers)"
-
-#: modules/buildpage.py:57
-msgid "Open a file browser on the profile's 'rootoverlay'"
-msgstr "Obre un gestor de fitxers al 'rootoverlay' del perfil"
-
-#: modules/buildpage.py:58
-msgid "Generate ssh keys"
-msgstr "Genera les claus ssh"
-
-#: modules/buildpage.py:59
-msgid "Enables pre-generation of ssh keys"
-msgstr "Habilita la pre-generació de claus ssh"
-
-#: modules/buildpage.py:60
-msgid "Reuse existing system.sqf"
-msgstr "Reutilitza un system.sqf existent"
-
-#: modules/buildpage.py:61
-msgid "Reuse existing system.sqf, to save time if the base system hasn't changed"
-msgstr ""
-"Reutilitza un system.sqf existent, per estalviar temps si la base del sistema no ha canviat"
-
-#: modules/buildpage.py:62 modules/gui.py:65
-msgid "Larchify"
-msgstr "Larchifica"
-
-#: modules/buildpage.py:63
-msgid "Build the main components of the larch system"
-msgstr "Construeix els components principals del sistema larch"
-
-#: modules/console.py:91
-msgid "Information"
-msgstr "Informació"
-
-#: modules/console.py:94
-msgid "Press <Enter> to continue"
-msgstr "Premeu <Retorn> per continuar"
-
-#: modules/console.py:100
-msgid "Confirmation"
-msgstr "Confirmació"
-
-#: modules/console.py:105 modules/console.py:204
-msgid "Yes"
-msgstr "Sí"
-
-#: modules/console.py:105 modules/console.py:205
-msgid "No"
-msgstr "No"
-
-#: modules/console.py:113
-msgid "Input Required"
-msgstr "Cal una entrada"
-
-#: modules/console.py:135
-msgid "ERROR"
-msgstr "ERROR"
-
-#: modules/console.py:148
-msgid "Unknown command: %s"
-msgstr "Ordre desconeguda: %s"
-
-#: modules/console.py:206
-msgid "Project Name:"
-msgstr "Nom del projecte:"
-
-#: modules/console.py:207
-msgid "Profile:"
-msgstr "Perfil:"
-
-#: modules/console.py:208 modules/projectpage.py:79
-msgid "Installation Path:"
-msgstr "Camí d'instal·lació:"
-
-#: modules/console.py:209
-msgid "Working Directory:"
-msgstr "Directori de treball:"
-
-#: modules/console.py:210
-msgid "Platform:"
-msgstr "Plataforma:"
-
-#: modules/console.py:211
-msgid "Installation Mirror:"
-msgstr "Mirall de la instal·lació:"
-
-#: modules/console.py:212
-msgid "--- use mirror:"
-msgstr "--- usa mirall:"
-
-#: modules/console.py:213
-msgid "Use Project Mirrorlist:"
-msgstr "Usa Mirrorlist del projecte:"
-
-#: modules/console.py:214
-msgid "Bootloader:"
-msgstr "Arrencador:"
-
-#: modules/console.py:215
-msgid "Medium Detection:"
-msgstr "Detecció del suport:"
-
-#: modules/console.py:216
-msgid "Medium Label:"
-msgstr "Etiqueta del suport:"
-
-#: modules/console.py:217
-msgid "iso 'application ID':"
-msgstr "'ID d'aplicació' de la iso:"
-
-#: modules/console.py:218
-msgid "iso 'publisher':"
-msgstr "'Publicador' de la iso:"
-
-#: modules/console.py:219 modules/installpage.py:75
-msgid "Package Cache:"
-msgstr "Memòria cau de paquets:"
-
-#: modules/console.py:222
-msgid "Projects:\n"
-msgstr "Projectes:\n"
-
-#: modules/console.py:227
-msgid "Profiles (in %s):\n"
-msgstr "Perfils (a %s):\n"
-
-#: modules/console.py:232
-msgid "Example Profiles (in %s):\n"
-msgstr "Perfils d'exemple (a %s):\n"
-
-#: modules/console.py:237
-msgid "Available Partitions:\n"
-msgstr "Particions disponibles:\n"
-
-#: modules/console.py:247 modules/console.py:256
-msgid "Unknown project name: '%s'"
-msgstr "Nom de projecte desconegut: '%s'"
-
-#: modules/console.py:264 modules/console.py:276
-msgid "Unknown profile name: '%s'"
-msgstr "Nom de perfil desconegut: '%s'"
-
-#: modules/console.py:288
-msgid "Available platforms: %s"
-msgstr "Plataformes disponibles: %s"
-
-#: modules/console.py:314
-msgid "Invalid bootloader: %s"
-msgstr "Arrencador invàlid: %s"
-
-#: modules/gui.py:49
-msgid "<em>larch</em> Live Arch Linux Construction Kit"
-msgstr "<em>larch</em> Joc de construcció Live d'Arch Linux"
-
-#: modules/gui.py:50
-msgid "View Log"
-msgstr "Mostra el registre"
-
-#: modules/gui.py:51
-msgid "This button switches to the log viewer"
-msgstr "Aquest botó commuta al visor del registre"
-
-#: modules/gui.py:52
-msgid "Help"
-msgstr "Ajuda"
-
-#: modules/gui.py:53
-msgid "This button switches to the documentation viewer"
-msgstr "Aquest botó commuta al visor de documentació"
-
-#: modules/gui.py:54
-msgid "Quit"
-msgstr "Abandona"
-
-#: modules/gui.py:55
-msgid "Stop the current action and quit the program"
-msgstr "Atura l'acció actual i abandona el programa"
-
-#: modules/gui.py:63
-msgid "Project Settings"
-msgstr "Arranjament del projecte"
-
-#: modules/gui.py:64
-msgid "Installation"
-msgstr "Instal·lació"
-
-#: modules/gui.py:66
-msgid "Prepare Medium"
-msgstr "Prepara el suport"
-
-#: modules/gui.py:67
-msgid "Installation Tweaks"
-msgstr "Ajustaments de la instal·lació"
-
-#: modules/gui.py:113
-msgid "Processing ..."
-msgstr "S'està processant ..."
-
-#: modules/gui.py:114 modules/gui.py:162
-msgid "Here you can follow the detailed, low-level progress of the commands."
-msgstr "Aquí podeu seguir el procés detallat de les ordres a baix nivell"
-
-#: modules/gui.py:118
-msgid "An indication of the progress of the current operation, if possible"
-msgstr "Una indicació del progrés de l'operació actual, si és possible"
-
-#: modules/gui.py:119 modules/gui.py:254
-msgid "Cancel"
-msgstr "Cancel·la"
-
-#: modules/gui.py:120
-msgid "Stop the current action"
-msgstr "Atura l'acció actual"
-
-#: modules/gui.py:121
-msgid "Done"
-msgstr "Fet"
-
-#: modules/gui.py:161
-msgid "Low-level Command Logging"
-msgstr "Registre d'ordres de baix nivell"
-
-#: modules/gui.py:165
-msgid "Clear"
-msgstr "Neteja"
-
-#: modules/gui.py:166 modules/gui.py:196
-msgid "Hide"
-msgstr "Oculta"
-
-#: modules/gui.py:167 modules/gui.py:197
-msgid "Go back to the larch controls"
-msgstr "Torna enrere als controls de larch"
-
-#: modules/gui.py:194
-msgid "Documentation"
-msgstr "Documentació"
-
-#: modules/gui.py:199
-msgid "Go back in the viewing history"
-msgstr "Torna enrere al visor de la història"
-
-#: modules/gui.py:201
-msgid "Go forward in the viewing history"
-msgstr "Vés endavant al control de la història"
-
-#: modules/gui.py:203
-msgid "Reload the documentation for the current larch tab"
-msgstr "Recarrega la documentació de la pestanya actual de larch"
-
-#: modules/gui.py:205
-msgid "Go to the general larch documentation index"
-msgstr "Vés a l'index general de la documentació de larch"
-
-#: modules/gui.py:250
-msgid "Editor"
-msgstr "Editor"
-
-#: modules/gui.py:253
-msgid "OK"
-msgstr "Bé"
-
-#: modules/gui.py:255
-msgid "Revert"
-msgstr "Reverteix"
-
-#: modules/gui.py:256
-msgid "Restore the text to its initial state"
-msgstr "Restaura el text al seu estat inicial"
-
-#: modules/gui.py:257
-msgid "Copy"
-msgstr "Copia"
-
-#: modules/gui.py:258
-msgid "Cut"
-msgstr "Talla"
-
-#: modules/gui.py:259
-msgid "Paste"
-msgstr "Enganxa"
-
-#: modules/gui.py:260
-msgid "Undo"
-msgstr "Desfés"
-
-#: modules/gui.py:261
-msgid "Redo"
-msgstr "Refés"
-
-#: modules/installation.py:111 modules/installpage.py:135
-msgid "No 'mirrorlist' file found"
-msgstr "No s'ha trobat el fitxer 'mirrorlist'"
-
-#: modules/installation.py:156
-msgid "Couldn't write to the installation path (%s)."
-msgstr "No es pot escriure al camí de la instal·lació (%s)."
-
-#: modules/installation.py:160
-msgid "The installation path (%s) is mounted 'nodev'."
-msgstr "El camí de la instal·lació (%s) està muntat com a 'nodev'."
-
-#: modules/installation.py:168
-msgid "The installation path (%s) is mounted 'noexec'."
-msgstr "El camí de la instal·lació (%s) està muntat com a 'noexec'."
-
-#: modules/installation.py:213
-msgid "Package installation failed"
-msgstr "Ha fallat la instal·lació de paquets"
-
-#: modules/installation.py:247
-msgid "Couldn't synchronize pacman database (pacman -Sy)"
-msgstr "No s'ha pogut sincronitzar la base de dades del pacman (pacman -Sy)"
-
-#: modules/installpage.py:50
-msgid "Edit Profile"
-msgstr "Edita el perfil"
-
-#: modules/installpage.py:51
-msgid "Edit 'addedpacks'"
-msgstr "Edita 'addedpacks'"
-
-#: modules/installpage.py:52
-msgid "Edit the list of packages to be installed"
-msgstr "Edita la llista de paquets a instal·lar"
-
-#: modules/installpage.py:53
-msgid "Edit 'baseveto'"
-msgstr "Edita 'baseveto'"
-
-#: modules/installpage.py:54
-msgid "Edit the list of base packages NOT to install"
-msgstr "Edita la llista de paquets base que NO s'han d'instal·lar"
-
-#: modules/installpage.py:55
-msgid "Edit pacman.conf options"
-msgstr "Edita les opcions de pacman.conf"
-
-#: modules/installpage.py:56
-msgid "Edit pacman.conf options - not the repositories"
-msgstr "Edita les opcions de pacman.conf - no els repositoris"
-
-#: modules/installpage.py:57
-msgid "Edit pacman.conf repositories"
-msgstr "Edita els repositoris de pacman.conf"
-
-#: modules/installpage.py:58
-msgid "Edit the repository entries for pacman.conf"
-msgstr "Edita les entrades de repositoris del pacman.conf"
-
-#: modules/installpage.py:62
-msgid "Use project mirrorlist"
-msgstr "Usa mirrorlist del projecte"
-
-#: modules/installpage.py:63
-msgid "Enables use of the mirrorlist file saved in the working directory, for installation only"
-msgstr ""
-"Habilita l'ús del fitxer mirrorlist desat al directori de treball, només per la instal·lació"
-
-#: modules/installpage.py:64
-msgid "Edit project mirrorlist"
-msgstr "Edita el mirrorlist del projecte"
-
-#: modules/installpage.py:65
-msgid "Edit mirrorlist in working directory"
-msgstr "Edita el mirrorlist al directori de treball"
-
-#: modules/installpage.py:67
-msgid "Use special mirror for installation"
-msgstr "Usa mirall especial per la instal·lació"
-
-#: modules/installpage.py:68
-msgid "Allows a specific (e.g. local) mirror to be used just for the installation"
-msgstr "Permet usar un mirall específic (p.ex. local) només per a la instal·lació"
-
-#: modules/installpage.py:69
-msgid "URL:"
-msgstr "URL:"
-
-#: modules/installpage.py:71
-msgid "The url of the installation mirror"
-msgstr "L'url del mirall d'instal·lació"
-
-#: modules/installpage.py:72 modules/installpage.py:78
-#: modules/mediumpage.py:81 modules/mediumpage.py:87 modules/mediumpage.py:112
-#: modules/projectpage.py:82
-msgid "Change"
-msgstr "Canvia"
-
-#: modules/installpage.py:73
-msgid "Change the installation mirror path"
-msgstr "Canvia el camí del mirall d'instal·lació"
-
-#: modules/installpage.py:77
-msgid "The path to the (host's) package cache"
-msgstr "El camí (de la màquina) a la cau de paquets"
-
-#: modules/installpage.py:79
-msgid "Change the package cache path"
-msgstr "Canvia el camí a la cau de paquets"
-
-#: modules/installpage.py:81
-msgid "Install"
-msgstr "Instal·la"
-
-#: modules/installpage.py:82
-msgid "This will start the installation to the set path"
-msgstr "Això iniciarà la instal·lació al camí establert"
-
-#: modules/installpage.py:119
-msgid "Editing pacman.conf options only"
-msgstr "S'estan editant només les opcions de pacman.conf"
-
-#: modules/installpage.py:125
-msgid "Editing pacman.conf repositories only"
-msgstr "S'estan editant només els repositoris de pacman.conf"
-
-#: modules/installpage.py:137
-msgid "Editing mirrorlist: Uncomment ONE entry"
-msgstr "S'està editant el mirrorlist: descomenteu UNA entrada"
-
-#: modules/installpage.py:153
-msgid "Enter new local mirror path:"
-msgstr "Introduïu un camí nou pel mirall local:"
-
-#: modules/installpage.py:159
-msgid "You must specify a URL, with protocol, e.g. 'file:///a/b/c'"
-msgstr "Heu d'especificar un URL, amb protocol, p.ex. 'file:///a/b/c'"
-
-#: modules/installpage.py:173
-msgid "Enter new package cache path:"
-msgstr "Introduïu el nou camí de la cau de paquets:"
-
-#: modules/medium.py:82
-msgid "Can't boot to label - no label supplied"
-msgstr "No es pot arrencar a una etiqueta - no s'ha proporcionat"
-
-#: modules/medium.py:208
-msgid "Couldn't format %s"
-msgstr "No s'ha pogut formatar %s"
-
-#: modules/medium.py:265
-msgid "GRUB is at present only supported on extN"
-msgstr "Actualment GRUB només està implementat a extN"
-
-#: modules/medium.py:271
-msgid "syslinux is only supported on vfat"
-msgstr "syslinux només està implementat a vfat"
-
-#: modules/medium.py:287 modules/medium.py:320
-msgid "Couldn't mount larch partition, %s"
-msgstr "No s'ha pogut muntar la partició, %s"
-
-#: modules/medium.py:341
-msgid "'syslinux' must be installed."
-msgstr "S'ha d'instal·lar 'syslinux'."
-
-#: modules/medium.py:345
-msgid "Device has neither a /boot nor a /syslinux directory"
-msgstr "El dispositiu no té cap directori /boot ni /syslinux"
-
-#: modules/medium.py:359
-msgid ""
-"%s not found -\n"
-" 'syslinux' must be installed on live system"
-msgstr ""
-"No s'ha trobat %s -\n"
-" s'ha d'instal·lar 'syslinux' al sistema live"
-
-#: modules/medium.py:375
-msgid "Your larch iso, %s, was successfully created"
-msgstr "La vostra iso larch, %s, s'ha creat correctament"
-
-#: modules/mediumpage.py:73
-msgid "Partition (disk / USB-stick)"
-msgstr "Partició (disc / memòria USB)"
-
-#: modules/mediumpage.py:75
-msgid "You can choose installation to iso (for CD/DVD) or a partition (e.g. USB-stick)"
-msgstr ""
-"Podeu seleccionar la instal·lació de la iso (per CD/DVD) o una partició (p.ex. memòria USB)"
-
-#: modules/mediumpage.py:78
-msgid "Application ID:"
-msgstr "ID de l'aplicació:"
-
-#: modules/mediumpage.py:80
-msgid "The text passed to mkisofs with the -A option"
-msgstr "El text passat a mkisofs amb l'opció -A"
-
-#: modules/mediumpage.py:82
-msgid "Change the application ID of the iso"
-msgstr "Canvia l'ID de l'aplicació de la iso"
-
-#: modules/mediumpage.py:84
-msgid "Publisher:"
-msgstr "Editor:"
-
-#: modules/mediumpage.py:86
-msgid "The text passed to mkisofs with the -publisher option"
-msgstr "El text passat a mkisofs amb l'opció -publisher"
-
-#: modules/mediumpage.py:88
-msgid "Change the publisher data of the iso"
-msgstr "Canvia les dades de l'editor de la iso"
-
-#: modules/mediumpage.py:90
-msgid "Partition:"
-msgstr "Partició:"
-
-#: modules/mediumpage.py:92
-msgid "The partition to which the larch system is to be installed"
-msgstr "La partició en la que s'ha d'instal·lar el sistema larch"
-
-#: modules/mediumpage.py:93
-msgid "Choose"
-msgstr "Seleccioneu"
-
-#: modules/mediumpage.py:94
-msgid "Select the partition to receive the larch system"
-msgstr "Seleccioneu la partició que ha de rebre el sistema larch"
-
-#: modules/mediumpage.py:95
-msgid "Don't format"
-msgstr "No formatis"
-
-#: modules/mediumpage.py:96
-msgid "Copy the data to the partition without formatting first (not the normal procedure)"
-msgstr "Copia les dades a la partició sense formatar primer (no és el procediment normal)"
-
-#: modules/mediumpage.py:98
-msgid "Medium Detection"
-msgstr "Detecció de suport"
-
-#: modules/mediumpage.py:99
-msgid "Choose how the boot scripts determine where to look for the larch system"
-msgstr "Seleccioneu com determinen els scripts d¡arrencada a on s'ha de cercar el sistema larch"
-
-#: modules/mediumpage.py:101
-msgid "Use the partition's UUID to find it"
-msgstr "Usa l'UUID de la partició per trobar-lo"
-
-#: modules/mediumpage.py:103
-msgid "Use the partition's label to find it"
-msgstr "Usa l'etiqueta de la partició per trobar-lo"
-
-#: modules/mediumpage.py:104
-msgid "Partition"
-msgstr "Partició"
-
-#: modules/mediumpage.py:105
-msgid "Use the partition name (/dev/sdb1, etc.)"
-msgstr "Usa el nom de la partició (/dev/sdb1, etc.)"
-
-#: modules/mediumpage.py:106
-msgid "Search (for larchboot)"
-msgstr "Cerca (larchboot)"
-
-#: modules/mediumpage.py:107
-msgid "Test all CD/DVD devices and partitions until the file larch/larchboot is found"
-msgstr ""
-"Comprova tots els dispositius de CD/DVD i les particions fins que es trobi el fitxer "
-"larch/larchboot"
-
-#: modules/mediumpage.py:109
-msgid "Medium label:"
-msgstr "Etiqueta del suport:"
-
-#: modules/mediumpage.py:111
-msgid "The label that the partition will be given"
-msgstr "L'etiqueta que proporcionarà la partició"
-
-#: modules/mediumpage.py:113
-msgid "Change the label"
-msgstr "Canvia l'etiqueta"
-
-#: modules/mediumpage.py:115
-msgid "Enable session saving"
-msgstr "Habilita el desat de la sessió"
-
-#: modules/mediumpage.py:116
-msgid "If checked, the medium will have the file 'larch/save'"
-msgstr "Si està marcat, el suport tindrà el fitxer 'larch/save'"
-
-#: modules/mediumpage.py:118
-msgid "Bootloader"
-msgstr "Arrencador"
-
-#: modules/mediumpage.py:119
-msgid "You can choose between GRUB and syslinux/isolinux as bootloader"
-msgstr "Podeu seleccionar entre GRUB i syslinux/isolinux com a arrencador"
-
-#: modules/mediumpage.py:121
-msgid "Use GRUB as bootloader"
-msgstr "Usa GRUB com a arrencador"
-
-#: modules/mediumpage.py:123
-msgid "Use syslinux (partition) or isolinux (CD/DVD) as bootloader"
-msgstr "Usa syslinux (partició) o isolinux (CD/DVD) com a arrencador"
-
-#: modules/mediumpage.py:124 modules/mediumpage.py:238
-msgid "None"
-msgstr "Cap"
-
-#: modules/mediumpage.py:125
-msgid "Don't install a bootloader (you'll need to provide some means of booting)"
-msgstr "No instal·lis un arrencador (necessitareu proporcionar algun tipus d'arrencada)"
-
-#: modules/mediumpage.py:127
-msgid "Bootable via search"
-msgstr "Arrencable via cerca"
-
-#: modules/mediumpage.py:128
-msgid "Create the file larch/larchboot to mark the medium as a bootable larch system"
-msgstr "Crea el fitxer larch/larchboot per marcar el suport con a sistema larch arrencable"
-
-#: modules/mediumpage.py:130
-msgid "Edit boot entries"
-msgstr "Edita les entrades de l'arrencada"
-
-#: modules/mediumpage.py:131
-msgid "Edit the file determining the boot entries"
-msgstr "Edita el fitxer que determina les entrades de l'arrencada"
-
-#: modules/mediumpage.py:132 modules/mediumpage.py:133
-msgid "Edit grub template"
-msgstr "Edita la plantilla de grub"
-
-#: modules/mediumpage.py:134 modules/mediumpage.py:135
-msgid "Edit syslinux/isolinux template"
-msgstr "Edita la plantilla de syslinux/isolinux"
-
-#: modules/mediumpage.py:137
-msgid "Create boot iso"
-msgstr "Crea iso d'arrencada"
-
-#: modules/mediumpage.py:138
-msgid "Create a small boot iso for this system (for machines that can't boot from USB)"
-msgstr ""
-"Crea una petita iso d'arrencada per a aquest sistema (per a màquines que no poden arrencar "
-"des de USB) "
-
-#: modules/mediumpage.py:139
-msgid "Create larch medium"
-msgstr "Crea suport larch"
-
-#: modules/mediumpage.py:140
-msgid "Create the larch iso or set up the chosen partition"
-msgstr "Crea la iso larch o arranja la partició seleccionada"
-
-#: modules/mediumpage.py:142
-msgid ""
-"Edit cd-root\n"
-"(open in file browser)"
-msgstr ""
-"Edita cd-root\n"
-"(obre al gestor de fitxers)"
-
-#: modules/mediumpage.py:143
-msgid "Open a file browser on the profile's 'cd-root' folder"
-msgstr "Obre un gestor de fitxers a la carpeta 'cd-root' del perfil"
-
-#: modules/mediumpage.py:169
-msgid "Choose Partition"
-msgstr "Selecciona la partició"
-
-#: modules/mediumpage.py:171
-msgid ""
-"BE CAREFUL - if you select the wrong\n"
-" partition you might well destroy your system!\n"
-"\n"
-"Select the partition to receive the larch system:"
-msgstr ""
-"ANEU AMB COMPTE - si seleccione una partició\n"
-" errònia podeu malmetre el sistema!\n"
-"\n"
-"Seleccioneu la partició que ha de rebre el sistema larch:"
-
-#: modules/mediumpage.py:258
-msgid "Editing larch boot entries"
-msgstr "Edició de les entrades d'arrencada de larch"
-
-#: modules/mediumpage.py:269
-msgid "Editing grub template"
-msgstr "Edició de la plantilla de grub"
-
-#: modules/mediumpage.py:281
-msgid "Editing syslinux/isolinux template"
-msgstr "Edició de la plantilla de syslinux/isolinux"
-
-#: modules/mediumpage.py:286
-msgid "Enter new label for the boot medium:"
-msgstr "Introduïu una nova etiqueta per l'arrencada del suport:"
-
-#: modules/mediumpage.py:300
-msgid "Enter new application ID for the boot iso:"
-msgstr "Introduïu un nou ID de l'aplicació per l'arrencada de la iso:"
-
-#: modules/mediumpage.py:314
-msgid "Enter new publisher for the boot iso:"
-msgstr "Introduïu un nou editor per l'arrencada de la iso;"
-
-#: modules/mediumpage.py:371
-msgid "No partition selected for larch"
-msgstr "No s'ha seleccionat cap partició per a larch"
-
-#: modules/mediumpage.py:394
-msgid ""
-"The partition containing the larch live system\n"
-"must be specifed."
-msgstr ""
-"S'ha d'especificar la partició que conté el\n"
-"sistema larch live."
-
-#: modules/projectpage.py:50
-msgid "Profile"
-msgstr "Perfil"
-
-#: modules/projectpage.py:52
-msgid "Choose Existing Profile:"
-msgstr "Seleccioneu un perfil existent:"
-
-#: modules/projectpage.py:54
-msgid "New Profile:"
-msgstr "Perfil nou:"
-
-#: modules/projectpage.py:56
-msgid "Choose a profile from those already in your larch working folder"
-msgstr "Seleccioneu un perfil dels que ja teniu a la carpeta de treball de larch"
-
-#: modules/projectpage.py:57
-msgid "Browse for Profile"
-msgstr "Navega per cercar perfil"
-
-#: modules/projectpage.py:58
-msgid "Fetch a profile from the file-system"
-msgstr "Recupera un perfil del sistema de fitxers"
-
-#: modules/projectpage.py:59
-msgid "Rename"
-msgstr "Reanomena"
-
-#: modules/projectpage.py:60
-msgid "Rename the current profile"
-msgstr "Reanomena el perfil actual"
-
-#: modules/projectpage.py:61 modules/projectpage.py:76
-msgid "Delete"
-msgstr "Esborra"
-
-#: modules/projectpage.py:62
-msgid "Delete the current profile"
-msgstr "Esborra el perfil actual"
-
-#: modules/projectpage.py:64
-msgid "Platform (processor architecture):"
-msgstr "Plataforma (arquitectura del processador):"
-
-#: modules/projectpage.py:66
-msgid "Which processor architecture?"
-msgstr "Quina arquitectura del processador?"
-
-#: modules/projectpage.py:70
-msgid "Project"
-msgstr "Projecte"
-
-#: modules/projectpage.py:71
-msgid "Choose Existing Project:"
-msgstr "Seleccioneu un projecte existent:"
-
-#: modules/projectpage.py:73
-msgid "Choose a project from those already defined"
-msgstr "Seleccioneu un dels projectes que ja teniu definits"
-
-#: modules/projectpage.py:74
-msgid "New Project"
-msgstr "Nou projecte"
-
-#: modules/projectpage.py:75
-msgid "Create a new project"
-msgstr "Crea un nou projecte"
-
-#: modules/projectpage.py:77
-msgid "Delete the current project"
-msgstr "Esborra el projecte actual"
-
-#: modules/projectpage.py:81
-msgid "The root directory of the Arch installation to larchify"
-msgstr "El directori arrel de la instal·lació Arch a larchificar"
-
-#: modules/projectpage.py:83
-msgid "Change the root directory of the Arch installation"
-msgstr "Canvia el directori arrel de la instal·lació Arch"
-
-#: modules/projectpage.py:113
-msgid "Profile directory mismatch: '%s' vs. '%s'"
-msgstr "Incoherència del director del perfil: '%s' contra '%s'"
-
-#: modules/projectpage.py:120
-msgid "Profile '%s' doesn't exist"
-msgstr "El perfil '%s' no existeix"
-
-#: modules/projectpage.py:164
-msgid "Select profile source folder and enter new name"
-msgstr "Seleccioneu la carpeta font del perfil i introduïu un nom nou"
-
-#: modules/projectpage.py:165
-msgid "New name:"
-msgstr "Nou nom:"
-
-#: modules/projectpage.py:182
-msgid "Enter new name for current profile:"
-msgstr "Introduïu un nou nom per perfil actual:"
-
-#: modules/projectpage.py:207
-msgid "Do you really want to delete profile '%s'?"
-msgstr "Realment voleu esborrar el perfil '%s'?"
-
-#: modules/projectpage.py:217
-msgid "Profile '%s' in use by project '%s"
-msgstr "El perfil '%s' s'usa pel projecte '%s'"
-
-#: modules/projectpage.py:228
-msgid ""
-"WARNING: Double check your path -\n"
-" If you make a mistake here it could destroy your system!\n"
-"\n"
-"Enter new installation path:"
-msgstr ""
-"ATENCIÓ: comproveu amb cura el camí -\n"
-" si cometeu un error aquí malmetreu el sistema!\n"
-"\n"
-"Introduïu un nou camí d'instal·lació:"
-
-#: modules/projectpage.py:250
-msgid ""
-"Your selected installation path (%s) contains unexpected items:\n"
-" %s\n"
-"\n"
-"Is that really ok?"
-msgstr ""
-"El camí d'instal·lació seleccionat (%s) conté elements inesperats:\n"
-" %s\n"
-"\n"
-"És realment correcte?"
-
-#: modules/projectpage.py:265
-msgid "Enter name for new project:"
-msgstr "Introduïu un nom pel nou projecte:"
-
-#: modules/projectpage.py:273
-msgid "Project '%s' already exists."
-msgstr "El projecte '%s' ja existeix."
-
-#: modules/projectpage.py:281
-msgid "Can't delete the only existing project."
-msgstr "No es pot eliminar l'únic projecte existent."
-
-#: modules/projectpage.py:289
-msgid "Do you really want to delete project '%s'?"
-msgstr "Realment voleu eliminar el projecte '%s'? "
-
-#: modules/tweakpage.py:45
-msgid "Package Management"
-msgstr "Gestió de paquets"
-
-#: modules/tweakpage.py:46
-msgid "Synchronize db"
-msgstr "Sincronitza la bd"
-
-#: modules/tweakpage.py:47
-msgid "Synchronize the pacman db on the target (pacman -Sy)"
-msgstr "Sincronitza la bd de pacman al destí (pacman -Sy)"
-
-#: modules/tweakpage.py:48
-msgid "Update / Add package [-U]"
-msgstr "Actualitza/afegeix paquet [-U]"
-
-#: modules/tweakpage.py:49
-msgid "Update / Add a package from a package file using pacman -U"
-msgstr "Actualitza / afegeix un paquet des d'un fitxer de paquet usant pacman -U"
-
-#: modules/tweakpage.py:50
-msgid "Add package(s) [-S]"
-msgstr "Afegeix paquet(s) [-S]"
-
-#: modules/tweakpage.py:51
-msgid "Add one or more packages (space separated) using pacman -S"
-msgstr "Afegeix un o més paquets (separats per espais) usant pacman -S"
-
-#: modules/tweakpage.py:52
-msgid "Remove package(s) [-Rs]"
-msgstr "Elimina paquet(s) [-Rs]"
-
-#: modules/tweakpage.py:53
-msgid "Remove one or more packages (space separated) using pacman -Rs"
-msgstr "Elimina un o més paquets (separats per espais) usant pacman -Rs"
-
-#: modules/tweakpage.py:72
-msgid "Package to add/update"
-msgstr "Paquet a afegir/actualitzar"
-
-#: modules/tweakpage.py:74
-msgid "Packages"
-msgstr "Paquets"
-
-#: modules/tweakpage.py:81
-msgid "Error during package update."
-msgstr "Error en actualitzar paquets."
-
-#: modules/tweakpage.py:86
-msgid ""
-"Enter the names of packages to install -\n"
-" separated by spaces:"
-msgstr ""
-"Introduïu els noms dels paquets a instal·lar -\n"
-" separats per espais:"
-
-#: modules/tweakpage.py:95
-msgid "Error during package installation."
-msgstr "Error en instal·lar paquets."
-
-#: modules/tweakpage.py:100
-msgid ""
-"Enter the names of packages to remove -\n"
-" separated by spaces:"
-msgstr ""
-"Introduïu els noms dels paquets a eliminar -\n"
-" separats per espais:"
-
-#: modules/tweakpage.py:109
-msgid "Error during package removal."
-msgstr "Error en eliminar paquets."
-
-
diff --git a/build_tools/l7/larch0/i18n/ca/LC_MESSAGES/larch.mo b/build_tools/l7/larch0/i18n/ca/LC_MESSAGES/larch.mo Binary files differdeleted file mode 100644 index 0d49d0f..0000000 --- a/build_tools/l7/larch0/i18n/ca/LC_MESSAGES/larch.mo +++ /dev/null diff --git a/build_tools/l7/larch0/i18n/de/LC_MESSAGES/de.po b/build_tools/l7/larch0/i18n/de/LC_MESSAGES/de.po deleted file mode 100644 index 02802fe..0000000 --- a/build_tools/l7/larch0/i18n/de/LC_MESSAGES/de.po +++ /dev/null @@ -1,1588 +0,0 @@ -# German translations for larch-7.2 package. -# Copyright (C) 2009-2010 Michael Towers -# Automatically generated, 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: larch 7\n" -"POT-Creation-Date: 2010-07-14 15:19+CEST\n" -"PO-Revision-Date: 2009-08-04 22:10+CEST\n" -"Last-Translator: Automatically generated\n" -"Language-Team: mt\n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: pygettext.py 1.5\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cli/archin.py:39 -msgid "Operations on '/' are not supported ..." -msgstr "Ungültiger Basis-Ordner: '/'" - -#: cli/archin.py:40 -msgid "Install Arch to '%s'?" -msgstr "Arch zu '%s' installieren?" - -#: cli/archin.py:63 -msgid "No pacman executable found" -msgstr "Ausführbare Datei 'pacman' nicht gefunden" - -#: cli/archin.py:157 -msgid "Couldn't write to the installation path (%s)" -msgstr "Konnte nicht im Installationsordner (%s) abspeichern." - -#: cli/archin.py:161 -msgid "The installation path (%s) is mounted 'nodev'." -msgstr "Installationspfad (%s) 'nodev' gemountet" - -#: cli/archin.py:168 -msgid "The installation path (%s) is mounted 'noexec'." -msgstr "Installationspfad (%s) 'noexec' gemountet" - -#: cli/archin.py:193 -msgid "Package installation failed" -msgstr "Paket-Installation fehlgeschlagen" - -#: cli/archin.py:200 -msgid "Arch installation completed" -msgstr "Arch-Installation ist fertig" - -#: cli/archin.py:207 -msgid "No '%s' file" -msgstr "Datei '%s' existiert nicht" - -#: cli/archin.py:221 -msgid "Invalid package file include: %s" -msgstr "Ungültiges Paket-Datei-'include': %s" - -#: cli/archin.py:253 -msgid "Couldn't synchronize pacman database (pacman -Sy)" -msgstr "pacman-Datenbank konnte nicht aktualisiert werden (pacman -Sy)" - -#: cli/archin.py:313 -msgid "usage: %%prog [options] %s [packages]" -msgstr "Anwendung: %%prog [Optionen] %s [Pakete]" - -#: cli/archin.py:318 cli/larchify.py:558 -msgid "Profile: 'user:profile-name' or path to profile directory" -msgstr "Profil: 'Benutzer:Profilname' oder Pfad zum Profilordner" - -#: cli/archin.py:321 cli/larchify.py:561 -msgid "Path to directory to be larchified (default %s)" -msgstr "Pfad zum zu larchifizierenden Ordner (Voreinstellung %s)" - -#: cli/archin.py:324 cli/boot_iso.py:119 cli/larchify.py:564 -#: cli/live_iso.py:113 cli/live_part.py:162 -msgid "Run as a slave from a controlling program (e.g. from a gui)" -msgstr "Als Dienst (Unterprozess) (z.B. vom gui) ausführen" - -#: cli/archin.py:327 cli/boot_iso.py:122 cli/larchify.py:567 -#: cli/live_iso.py:116 cli/live_part.py:165 -msgid "Suppress output messages, except errors (no effect if -s specified)" -msgstr "" -"Meldungen, außer Fehler, unterdrücken (ohne Wirkung, wenn -s angegeben)" - -#: cli/archin.py:332 cli/boot_iso.py:126 cli/larchify.py:575 -#: cli/live_iso.py:120 cli/live_part.py:169 -msgid "Don't ask for confirmation" -msgstr "Weiterfahren ohne um Bestätigung zu bitten" - -#: cli/archin.py:336 -msgid "" -"Supply a substitute repository list (pacman.conf.repos) for the installation " -"only" -msgstr "" -"Ersatz-Paketquellenliste (pacman.conf.repos) nur für die Installation angeben" - -#: cli/archin.py:340 -msgid "pacman cache directory (default /var/cache/pacman/pkg)" -msgstr "pacman Cache-Ordner (Voreinstellung /var/cache/pacman/pkg)" - -#: cli/archin.py:343 -msgid "Don't show pacman's progress bar" -msgstr "pacman-Fortschrittbalken unterdrücken" - -#: cli/archin.py:355 -msgid "You must specify which operation to perform:\n" -msgstr "Die auszuführende Operation muss angegeben werden:\n" - -#: cli/archin.py:360 cli/boot_iso.py:144 cli/larchify.py:581 -#: cli/live_iso.py:150 cli/live_part.py:216 -msgid "This application must be run as root" -msgstr "Diese Anwendung muss als 'root' ausgeführt werden" - -#: cli/archin.py:369 -msgid "Invalid operation: '%s'\n" -msgstr "Ungültiger Befehl:' %s'\n" - -#: cli/backend.py:66 -msgid "" -"larch (%s) seems to be running already.\n" -"If you are absolutely sure this is not the case,\n" -"you may continue. Otherwise you should cancel.\n" -"\n" -"Shall I continue?" -msgstr "" -"larch (%s) scheint schon aktiv zu sein.\n" -"Wenn du wirklich sicher bist, " -"dass das nicht der Fall ist,\ndarfst du fortfahren. Sonst abbrechen.\n" -"\n" -"Fortfahren?" - -#: cli/backend.py:115 -msgid "The backend reported %d failed calls, you may want to investigate" -msgstr "" -"%d Aufrufe schlugen im Backend fehl, eine Untersuchung könnte sich lohnen" - -#: cli/backend.py:138 -msgid "_yes|_no" -msgstr "_ja|_nein" - -#: cli/backend.py:176 -msgid "Something went wrong:\n" -msgstr "Irgendetwas schlug fehl:\n" - -#: cli/backend.py:304 -msgid "Invalid profile: %s" -msgstr "Ungültiges larch-Profil: %s" - -#: cli/backend.py:307 -msgid "Invalid profile folder: %s" -msgstr "Ungültiger Profilordner': %s" - -#: cli/backend.py:425 -msgid "Couldn't read file: %s" -msgstr "Konnte Datei '%s' nicht lesen" - -#: cli/boot_iso.py:45 cli/live_part.py:49 -msgid "Invalid device: %s" -msgstr "Ungültiges 'Laufwerk': %s" - -#: cli/boot_iso.py:82 cli/live_iso.py:81 -msgid "iso build failed" -msgstr "iso-Erstellung schlug fehl" - -#: cli/boot_iso.py:87 cli/live_iso.py:90 -msgid "%s was successfully created" -msgstr "Dein larch-iso, %s, wurde erfolgreich erstellt" - -#: cli/boot_iso.py:96 cli/live_part.py:147 -msgid "usage: %prog [options] partition (e.g. sdb1)" -msgstr "Anwendung: %prog [Optionen] Partition (z.B. sdb1)" - -#: cli/boot_iso.py:101 cli/live_iso.py:130 -msgid "" -"Specify the output file (default '%s'). It will be generated to the current " -"directory." -msgstr "" -"Name der zu erstellenden Datei (Voreinstellung '%s'). Sie wird imaktuellen " -"Arbeitsordner erstellt." - -#: cli/boot_iso.py:105 cli/live_iso.py:134 -msgid "Set current directory, so that the 'iso' can be placed there" -msgstr "" -"Aktuellen Arbeitsordner setzen, damit die 'iso'-Datei dort erstellt werden " -"kann" - -#: cli/boot_iso.py:109 cli/live_part.py:173 -msgid "Method for boot partition detection: %s (default: label)" -msgstr "Ansatz zur Suche nach der Boot-Partition: %s (Voreinstellung: label)" - -#: cli/boot_iso.py:112 cli/live_part.py:176 -msgid "Use the syslinux bootloader (the default is GRUB)" -msgstr "syslinux-Bootlader verwenden (Voreinstellung ist GRUB)" - -#: cli/boot_iso.py:117 cli/live_iso.py:111 cli/live_part.py:160 -msgid "Path to larchified directory (default %s)" -msgstr "Pfad zum larchifizierten Ordner (Voreinstellung %s)" - -#: cli/boot_iso.py:130 -msgid "Volume label for boot iso (default %s)" -msgstr "'Volume-Label' für Boot-iso (Voreinstellung %s)" - -#: cli/boot_iso.py:134 -msgid "Use chroot for build" -msgstr "'chroot' verwenden" - -#: cli/boot_iso.py:139 -msgid "You must specify the source partition\n" -msgstr "Die Quellpartition muss angegeben werden\n" - -#: cli/larchify.py:47 -msgid "" -"File '%s' doesn't exist:\n" -" '%s' not an Arch installation?" -msgstr "" -"Datei '%s' existiert nicht:\n" -" '%s' etwa keine Arch-Installation?" - -#: cli/larchify.py:55 -msgid "" -"Building a larch live medium from the running system is\n" -"an error prone process. Changes to the running system\n" -"made while running this function may be only partially\n" -"incorporated into the compressed system images.\n" -"\n" -"Do you wish to continue?" -msgstr "" -"Die Konstruktion eines larch-live-Mediums vom laufenden System kann\n" -"zu Fehlern führen. Änderungen am laufenden System, die während\n" -"der Ausführung dieser Funktion auftreten, werden vielleicht nur\n" -"teilweise in die komprimierten Systemabbildungen übernommen.\n" -"\n" -"Fortfahren?" - -#: cli/larchify.py:136 -msgid "Squashing system.sqf failed" -msgstr "Komprimierung der system.sqf-Datei ist fehlgeschlagen" - -#: cli/larchify.py:227 -msgid "Build customization script failed" -msgstr "Skript zur Anpassung der Konstruktion schlug fehl" - -#: cli/larchify.py:250 -msgid "Squashing mods.sqf failed" -msgstr "Komprimierung der mods.sqf-Datei ist fehlgeschlagen" - -#: cli/larchify.py:256 -msgid "larchify-process completed" -msgstr "Larchifizierung abgeschlossen" - -#: cli/larchify.py:360 -msgid "%d user account operation(s) failed" -msgstr "%d Benutzerkonto-Operation(en) schlug(en) fehl" - -#: cli/larchify.py:381 -msgid "No squashfs module found\n" -msgstr "Kein squashfs-Modul wurde gefunden\n" - -#: cli/larchify.py:393 -msgid "No aufs or unionfs module found\n" -msgstr "Kein aufs- oder unionfs-Modul wurde gefunden\n" - -#: cli/larchify.py:397 -msgid "Package '%s' is needed by larch systems\n" -msgstr "larch-Systeme brauchen das Paket '%s'\n" - -#: cli/larchify.py:400 -msgid "" -"Without package 'syslinux' you will not be able\n" -"to create syslinux or isolinux booting media\n" -msgstr "" -"Das Paket 'syslinux' ist für die Herstellung\n" -"syslinux und isolinux Boot-Medien notwendig\n" - -#: cli/larchify.py:404 -msgid "" -"Without package 'cdrkit' (or 'cdrtools') you will\n" -"not be able to create CD/DVD media\n" -msgstr "" -"Das Paket 'cdrkit' (oder 'cdrtools') ist für die\n" -"Herstellung CD/DVD-Medien notwendig\n" - -#: cli/larchify.py:408 -msgid "" -"Without package 'eject' you will have problems\n" -"using CD/DVD media\n" -msgstr "" -"Das Paket 'eject' ist beim Einsatz CD/DVD-Boot-Medien\n" -"sehr sinnvoll\n" - -#: cli/larchify.py:412 -msgid "" -"WARNING:\n" -"%s\n" -" Continue building?" -msgstr "" -"WARNUNG:\n" -"%s\n" -" Verfahren fortsetzen?" - -#: cli/larchify.py:418 -msgid "" -"ERROR:\n" -"%s" -msgstr "" -"FEHLER:\n" -"%s" - -#: cli/larchify.py:444 -msgid "" -"Problem running %s:\n" -" %s" -msgstr "" -"Problem beim Ausführen von %s:\n" -" %s" - -#: cli/larchify.py:448 -msgid "" -"More than one kernel found:\n" -" %s" -msgstr "" -"Mehr als ein Kernel gefunden:\n" -" %s" - -#: cli/larchify.py:451 -msgid "No kernel found" -msgstr "Kein Kernel gefunden" - -#: cli/larchify.py:459 -msgid "More than one set of kernel modules in %s" -msgstr "Module von mehr als einem Kernel in %s gefunden" - -#: cli/larchify.py:485 -msgid "" -"WARNING:\n" -" You seem to have installed a package containing modules\n" -"which aren't compatible with your kernel (see log).\n" -"Please check that this won't cause problems.\n" -"Maybe you need the corresponding package for your kernel?\n" -"\n" -" Continue building?" -msgstr "" -"WARNUNG:\n" -" Es ist anscheinend ein Paket installiert worden, das Kernel-Module\n" -"enthält, die mit dem installierten Kernel nicht kompatibel sind\n" -"(siehe Protokoll).\n" -"Bitte überprüfen, ob dadurch Probleme entstehen.\n" -"Vielleicht müsste das entsprechende Paket für den vorhandenen Kernel\n" -"installiert werden?\n" -"\n" -" Verfahren fortsetzen?" - -#: cli/larchify.py:494 -msgid "Couldn't find kernel modules" -msgstr "Kernel-Module nicht gefunden" - -#: cli/larchify.py:513 -msgid "Couldn't find usable mkinitcpio preset: %s" -msgstr "Brauchbare mkinitcpio-preset-Datei nicht gefunden: %s" - -#: cli/larchify.py:554 cli/live_iso.py:99 -msgid "usage: %prog [options]" -msgstr "Anwendung: %prog [Optionen]" - -#: cli/larchify.py:570 -msgid "Reuse previously generated system.sqf" -msgstr "Vorhandenes system.sqf verwenden" - -#: cli/larchify.py:573 -msgid "Reuse previously generated locales" -msgstr "Vorhandene 'locales' wiederverwenden" - -#: cli/live_iso.py:85 -msgid "Couldn't perform 'isohybrid' operation on larch 'iso' (Not Critical!)" -msgstr "'isohybrid' schlug fehl (nicht kritisch)" - -#: cli/live_iso.py:103 cli/live_part.py:152 -msgid "" -"Profile: 'user:profile-name' or path to profile directory (conflicts with -S)" -msgstr "" -"Profil: 'Benutzer:Profilname' oder Pfad zum Profilordner (nicht möglich mit -" -"S)" - -#: cli/live_iso.py:107 cli/live_part.py:156 -msgid "" -"Source: path to larch medium image (conflicts with -p). It can also be a " -"device ('/dev/...') or an 'iso' file." -msgstr "" -"Quelle: Pfad zum larch-Medium (nicht möglich mit -p). Es könnte auch ein " -"'Gerät' ('/dev/---') oder eine 'iso'-Datei sein." - -#: cli/live_iso.py:123 -msgid "Use the isolinux bootloader (the default is GRUB)" -msgstr "Den isolinux-Bootlader verwenden (Voreinstellung ist GRUB)" - -#: cli/live_iso.py:127 -msgid "Volume label for iso (default '%s')" -msgstr "Volume-Label für iso (Voreinstellung '%s')" - -#: cli/live_iso.py:138 cli/live_part.py:200 -msgid "Use chroot for build (default when -S not specified)" -msgstr "chroot verwenden (die Voreinstellung, wenn kein -S angegeben)" - -#: cli/live_iso.py:141 cli/live_part.py:203 -msgid "Don't use chroot for build (default when -S specified)" -msgstr "chroot nicht verwenden (die Voreinstellung, wenn -S angegeben)" - -#: cli/live_iso.py:145 -msgid "Test source medium only (used by gui)" -msgstr "Nur Quellmedium testen (die gui verwendet diese Funktion)" - -#: cli/live_part.py:70 -msgid "Couldn't format %s" -msgstr "Konnte %s nicht formatieren" - -#: cli/live_part.py:80 -msgid "Couldn't get format information for %s" -msgstr "Konnte Format von %s nicht herausfinden" - -#: cli/live_part.py:84 -msgid "syslinux is only supported on vfat" -msgstr "syslinux steht nur auf vfat zur Verfügung" - -#: cli/live_part.py:86 -msgid "GRUB is at present only supported on extN" -msgstr "GRUB steht zur Zeit nur auf extN zur Verfügung" - -#: cli/live_part.py:98 -msgid "Couldn't mount larch partition, %s" -msgstr "larch-Partition, %s, konnte nicht gemountet werden" - -#: cli/live_part.py:118 -msgid "Option '-a' conflicts with option '-A'" -msgstr "Option '-a' wiederspricht option '-A'" - -#: cli/live_part.py:139 -msgid "%s was successfully written" -msgstr "Dein larch-Gerät, %s, wurde erfolgreich geschrieben" - -#: cli/live_part.py:180 -msgid "Volume label for boot partition (default %s)" -msgstr "Volume-Label für Bootpartition (Voreinstellung %s)" - -#: cli/live_part.py:184 -msgid "Don't generate 'larch/larchboot' file" -msgstr "'larch/larchboot-Datei nicht erstellen" - -#: cli/live_part.py:187 -msgid "" -"Override profile larch/nosave (force enable session saving) - conflicts with " -"'-A'" -msgstr "" -"'larch/nosave' im Profil unterdrücken (damit die Sitzungsspeicherung doch " -"möglich ist), widerspricht -A" - -#: cli/live_part.py:191 -msgid "Force disabling of session saving - conflicts with '-a'" -msgstr "Unterdrücke die Sitzungsspeicherung - widersrpicht '-a'" - -#: cli/live_part.py:194 -msgid "Don't format partition (only for experts!)" -msgstr "Partition nicht formatieren (nur für Experte!)" - -#: cli/live_part.py:197 -msgid "Don't install the bootloader (to the MBR)" -msgstr "Bootlader nicht (zum MBR) installieren" - -#: cli/live_part.py:211 -msgid "You must specify the partition to receive larch\n" -msgstr "Die Partition für das larch-System muss angegeben werden\n" - -#: cli/media_common.py:56 -msgid "Couldn't switch directory to '%s'" -msgstr "Konnte nicht nach Ordner '%s' wechseln" - -#: cli/media_common.py:64 -msgid "Option -C conflicts with -c" -msgstr "Option -C widerspricht Option -c" - -#: cli/media_common.py:69 -msgid "Option -S conflicts with -p" -msgstr "Option -S widerspricht Option -p" - -#: cli/media_common.py:125 -msgid "Invalid detection method (-d option)" -msgstr "Ungültiges Suchverfahren (Option -d)" - -#: cli/media_common.py:144 -msgid "Couldn't bind-mount current directory" -msgstr "AKtueller Ordner konnte nicht mit 'bind' eingebunden werden" - -#: cli/media_common.py:152 -msgid "File '%s' doesn't exist, '%s' is not a larch medium" -msgstr "Datei '%s' existiert nicht, '%s' ist kein larch-Medium" - -#: cli/media_common.py:166 -msgid "Couldn't mount '%s'. Not an iso?" -msgstr "'%s' konnte nicht eingehängt werden. Nicht ein 'iso'?" - -#: cli/media_common.py:176 -msgid "Couldn't mount '%s'" -msgstr "'%s' konnte nicht eingehängt werden." - -#: cli/media_common.py:185 -msgid "Source doesn't support syslinux" -msgstr "Die Quelle unterstützt syslinux nicht" - -#: cli/media_common.py:189 -msgid "Source doesn't support GRUB" -msgstr "Die Quelle unterstützt GRUB nicht" - -#: cli/media_common.py:205 -msgid "Couldn't bind-mount '%s'" -msgstr "'%s' konnte nicht mit '--bind' eingehängt werden." - -#: cli/media_common.py:232 -msgid "No kernel and/or initramfs" -msgstr "Kein kernel und/oder initramfs" - -#: cli/media_common.py:244 -msgid "Installation doesn't support syslinux" -msgstr "Installation unterstützt syslinux nicht" - -#: cli/media_common.py:246 -msgid "Installation doesn't support GRUB" -msgstr "Installation unterstützt GRUB nicht" - -#: cli/media_common.py:349 -msgid "The volume label is too long. Use the default (%s)?" -msgstr "Das Volume-Label ist zu lang. Die Voreinstellung (%s) verwenden?" - -#: cli/media_common.py:353 -msgid "Cancelled" -msgstr "Abgebrochen" - -#: cli/media_common.py:372 -msgid "Can't boot to label - device has no label" -msgstr "Booten zu 'label' nicht möglich, das Gerät hat kein 'label'" - -#: cli/media_common.py:383 -msgid "Boot configuration file '%s' not found" -msgstr "Boot-Konfigurationsdatei '%s' nicht gefunden" - -#: cli/media_common.py:441 -msgid "Base configuration file (%s) not found" -msgstr "Basis-Konfigurationsdatei '%s' nicht gefunden" - -#: cli/userinfo.py:45 -msgid "Invalid 'users' file" -msgstr "Ungültige 'users'-Datei" - -#: cli/userinfo.py:67 -msgid "Couldn't add user '%s'" -msgstr "Konnte Benutzer '%s' nicht einrichten" - -#: cli/userinfo.py:75 -msgid "Couldn't remove user '%s'" -msgstr "Konnte Benutzer '%s' nicht entfernen" - -#: cli/userinfo.py:90 -msgid "Couldn't save 'users' file" -msgstr "Konnte 'users'-Datei nicht speichern" - -#: gui/controller.py:131 -msgid "Couldn't read file '%s'" -msgstr "Konnte Datei '%s' nicht lesen" - -#: gui/controller.py:144 -msgid "Couldn't save file '%s'" -msgstr "Konnte Datei '%s' nicht speichern" - -#: gui/front/page_larchify.py:61 -msgid "No Arch installation at %s" -msgstr "Keine Arch-Installation in %s" - -#: gui/layouts/docviewer.uim:35 -msgid "Documentation" -msgstr "Dokumentation" - -#: gui/layouts/docviewer.uim:40 gui/layouts/logger.uim:52 -msgid "Hide" -msgstr "Schließen" - -#: gui/layouts/docviewer.uim:41 -msgid "Return to the larch controls" -msgstr "Zurückkehren zu den larch-Kontrollen" - -#: gui/layouts/docviewer.uim:47 -msgid "Go back in the viewing history" -msgstr "Zurück in der Browser-Geschichte" - -#: gui/layouts/docviewer.uim:53 -msgid "Go forward in the viewing history" -msgstr "Nach vorne in der Browser-Seitengeschichte" - -#: gui/layouts/docviewer.uim:60 -msgid "Reload the documentation for the current larch tab" -msgstr "Die Dokumentation für die aktuelle larch-Seite anzeigen" - -#: gui/layouts/docviewer.uim:67 -msgid "Go to the general larch documentation index" -msgstr "Das allgemeine larch-Inhaltsverzeichnis anzeigen" - -#: gui/layouts/editor.uim:39 -msgid "Editor" -msgstr "Editor" - -#: gui/layouts/editor.uim:45 -msgid "OK" -msgstr "Annehmen" - -#: gui/layouts/editor.uim:50 gui/layouts/progress.uim:54 -msgid "Cancel" -msgstr "Abbrechen" - -#: gui/layouts/editor.uim:55 -msgid "Revert" -msgstr "Zurücksetzen" - -#: gui/layouts/editor.uim:56 -msgid "Restore the text to its initial/default state" -msgstr "Text zum ursprünglichen Zustand zurücksetzen" - -#: gui/layouts/editor.uim:61 -msgid "Copy" -msgstr "Kopieren" - -#: gui/layouts/editor.uim:66 -msgid "Cut" -msgstr "Ausschneiden" - -#: gui/layouts/editor.uim:71 -msgid "Paste" -msgstr "Einfügen" - -#: gui/layouts/editor.uim:76 -msgid "Undo" -msgstr "Rückgängig" - -#: gui/layouts/editor.uim:81 -msgid "Redo" -msgstr "Wieder ausführen" - -#: gui/layouts/editor.uim:88 -msgid "Editing '%s'" -msgstr "Editiere '%s'" - -#: gui/layouts/logger.uim:37 -msgid "Low-level Command Logging" -msgstr "Protokoll der einzelnen Befehle" - -#: gui/layouts/logger.uim:38 gui/layouts/progress.uim:39 -msgid "Here you can follow the detailed, low-level progress of the commands." -msgstr "Hier kann man die einzelnen Schritte detailliert verfolgen" - -#: gui/layouts/logger.uim:47 -msgid "Clear" -msgstr "Löschen" - -#: gui/layouts/logger.uim:53 -msgid "Go back to the larch controls" -msgstr "Zurückkehren zu den larch-Kontrollen" - -#: gui/layouts/page_installation.uim:38 -msgid "Edit Profile" -msgstr "Profil editieren" - -#: gui/layouts/page_installation.uim:49 -msgid "Edit 'addedpacks'" -msgstr "'addedpacks' editieren" - -#: gui/layouts/page_installation.uim:50 -msgid "Edit the list of packages to be installed" -msgstr "Zu installierende Pakete ändern" - -#: gui/layouts/page_installation.uim:55 -msgid "Edit 'vetopacks'" -msgstr "'vetopacks' editieren" - -#: gui/layouts/page_installation.uim:56 -msgid "Edit the list of packages NOT to install" -msgstr "NICHT zu installierende Pakete ändern" - -#: gui/layouts/page_installation.uim:61 -msgid "Edit pacman.conf options" -msgstr "pacman.conf-Optionen editieren" - -#: gui/layouts/page_installation.uim:62 -msgid "Edit pacman.conf options - not the repositories" -msgstr "pacman.conf-Optionen editieren - nicht die Quellen" - -#: gui/layouts/page_installation.uim:67 -msgid "Edit pacman.conf repositories" -msgstr "pacman.conf-Quellen editieren" - -#: gui/layouts/page_installation.uim:68 -msgid "Edit the repository entries for pacman.conf" -msgstr "pacman.conf-Quellen editieren" - -#: gui/layouts/page_installation.uim:75 -msgid "Tweak Installed Packages" -msgstr "Installierte Pakete ändern" - -#: gui/layouts/page_installation.uim:81 -msgid "Synchronize db" -msgstr "Paket-Datenbank synchronisieren" - -#: gui/layouts/page_installation.uim:82 -msgid "Synchronize the pacman db on the target (pacman -Sy)" -msgstr "Paketen-Datenbank (Zielsystem) synchronisieren (pacman -Sy)" - -#: gui/layouts/page_installation.uim:87 -msgid "Update / Add package [-U]" -msgstr "Paket aktualisieren/installieren [-U]" - -#: gui/layouts/page_installation.uim:88 -msgid "Update / Add a package from a package file using pacman -U" -msgstr "" -"Ein Paket von einer Paketdatei mittels pacman -U aktualisieren / installieren" - -#: gui/layouts/page_installation.uim:94 -msgid "Add package(s) [-S]" -msgstr "Paket(e) installieren [-S]" - -#: gui/layouts/page_installation.uim:95 -msgid "Add one or more packages (space separated) using pacman -S" -msgstr "" -"Ein oder mehr Pakete (mit Leerzeichen getrennt) mittels pacman -S " -"installieren" - -#: gui/layouts/page_installation.uim:101 -msgid "Remove package(s) [-Rs]" -msgstr "Paket(e) entfernen [-Rs]" - -#: gui/layouts/page_installation.uim:102 -msgid "Remove one or more packages (space separated) using pacman -Rs" -msgstr "" -"Ein oder mehr Pakete (mit Leerzeichen getrennt) mittels pacman -Rs entfernen" - -#: gui/layouts/page_installation.uim:110 -msgid "Advanced Installation Options" -msgstr "Installationsoptionen für Fortgeschrittene" - -#: gui/layouts/page_installation.uim:116 -msgid "Use project repository list" -msgstr "Projekt-Paketquellenliste verwenden" - -#: gui/layouts/page_installation.uim:117 -msgid "Enables use of an alternative pacman.conf for installation only" -msgstr "" -"Ermöglicht die Verwendung einer alternativen pacman.conf-Datei nur für die " -"Installation" - -#: gui/layouts/page_installation.uim:125 -msgid "Edit repository list" -msgstr "Projekt-Paketquellenliste editieren" - -#: gui/layouts/page_installation.uim:126 -msgid "Edit repository list file used for installation" -msgstr "Paketquellenliste für die Installation editieren" - -#: gui/layouts/page_installation.uim:131 -msgid "Edit mirror list used for installation only" -msgstr "Paketquellenserverliste (mirrorlist) für die Installation editieren" - -#: gui/layouts/page_installation.uim:132 -msgid "A mirror list for the live system should be placed in the overlay" -msgstr "Eine Paketquellenserverliste (mirrorlist) sollte es im Overlay geben" - -#: gui/layouts/page_installation.uim:139 -msgid "Package Cache" -msgstr "Paket-Speicher" - -#: gui/layouts/page_installation.uim:146 -msgid "The path to the (host's) package cache" -msgstr "Paketencache-Pfad (im 'Host'-Dateisystem)" - -#: gui/layouts/page_installation.uim:150 gui/layouts/page_larchify.uim:153 -#: gui/layouts/page_medium.uim:200 gui/layouts/page_project.uim:145 -msgid "Change" -msgstr "Ändern" - -#: gui/layouts/page_installation.uim:151 -msgid "Change the package cache path" -msgstr "Paketencache-Pfad ändern" - -#: gui/layouts/page_installation.uim:157 -msgid "Install" -msgstr "Installieren" - -#: gui/layouts/page_installation.uim:158 -msgid "This will start the installation to the set path" -msgstr "Zum Starten der Installation zum eingestellen Pfad" - -#: gui/layouts/page_installation.uim:165 -msgid "Editing pacman.conf options only" -msgstr "Editiere nur die Optionen von pacman.conf" - -#: gui/layouts/page_installation.uim:166 -msgid "Editing pacman repositories" -msgstr "pacman.conf-Quellen editieren" - -#: gui/layouts/page_installation.uim:167 -msgid "Editing mirror list for installation" -msgstr "Paketquellenserverliste (mirrorlist) für die Installation editieren" - -#: gui/layouts/page_installation.uim:168 -msgid "Enter new package cache path:" -msgstr "Neuen Paket-cache-Pfad eingeben:" - -#: gui/layouts/page_installation.uim:169 -msgid "Editing pacman repositories for installation" -msgstr "Editiere nur die Paket-Quellen von pacman.conf" - -#: gui/layouts/page_installation.uim:170 -msgid "Package to add/update" -msgstr "Paket zum Installieren / Aktualisieren" - -#: gui/layouts/page_installation.uim:171 -msgid "Packages" -msgstr "Pakete" - -#: gui/layouts/page_installation.uim:172 -msgid "" -"Enter the names of packages to install -\n" -" separated by spaces:" -msgstr "" -"Die Namen der zu installierenden Pakete eingeben -\n" -" mit Leerzeichen getrennt:" - -#: gui/layouts/page_installation.uim:174 -msgid "" -"Enter the names of packages to remove -\n" -" separated by spaces:" -msgstr "" -"Die Namen der zu entfernenden Pakete eingeben -\n" -" mit Leerzeichen getrennt:" - -#: gui/layouts/page_larchify.uim:42 -msgid "The system to be compressed must be installed and ready." -msgstr "Das System zum Komprimieren muss schon installiert und fertig sein." - -#: gui/layouts/page_larchify.uim:48 -msgid "Edit supported locales" -msgstr "Unterstützte Lokale editieren" - -#: gui/layouts/page_larchify.uim:49 -msgid "Edit the /etc/locale.gen file to select supported glibc locales" -msgstr "/etc/locale.gen editieren, um unterstützte glibc-locales festzulegen" - -#: gui/layouts/page_larchify.uim:55 -msgid "Edit Arch configuration" -msgstr "Arch-Konfigurationsdatei (/etc/rc.conf) editieren" - -#: gui/layouts/page_larchify.uim:56 -msgid "Edit the /etc/rc.conf file to configure the live system" -msgstr "/etc/rc.conf editieren, um das Live-System zu konfigurieren" - -#: gui/layouts/page_larchify.uim:62 -msgid "Edit overlay" -msgstr "Overlay bearbeiten" - -#: gui/layouts/page_larchify.uim:63 -msgid "Open a file browser on the profile's 'rootoverlay'" -msgstr "'rootoverlay'-Ordner vom Profil im Datei-Browser öffnen" - -#: gui/layouts/page_larchify.uim:69 -msgid "Advanced Options" -msgstr "Optionen für Fortgeschrittene" - -#: gui/layouts/page_larchify.uim:75 -msgid "Edit mkinitcpio.conf" -msgstr "mkinitcpio.conf editieren" - -#: gui/layouts/page_larchify.uim:76 -msgid "Edit the configuration file for generating the initramfs via mkinitcpio" -msgstr "" -"Die Konfigurationsdatei für initramfs-Erzeugung mittels mkinitcpio editieren" - -#: gui/layouts/page_larchify.uim:82 -msgid "Generate ssh keys" -msgstr "ssh-Schlüssel erzeugen" - -#: gui/layouts/page_larchify.uim:83 -msgid "The ssh host keys will be pre-generated" -msgstr "Die ssh-host-Schlüssel werden vorgeneriert" - -#: gui/layouts/page_larchify.uim:88 -msgid "Reuse existing locales" -msgstr "Vorhandene 'locales' wiederverwenden" - -#: gui/layouts/page_larchify.uim:89 -msgid "" -"To save time it may be possible to reuse glibc locales from a previous run" -msgstr "" -"Um Zeit zu sparen, könnte es möglich sein, die glibc-locales von " -"einemfrüheren Ablauf zu verwenden" - -#: gui/layouts/page_larchify.uim:96 -msgid "Reuse existing system.sqf" -msgstr "Vorhandenes system.sqf verwenden" - -#: gui/layouts/page_larchify.uim:97 -msgid "" -"Reuse existing system.sqf, to save time if the base system hasn't changed" -msgstr "" -"Schon vorhandenes system.sqf wiederverwenden, um Zeit zu sparen, falls das " -"Basis-System unverändert ist." - -#: gui/layouts/page_larchify.uim:103 gui/layouts/page_main.uim:86 -msgid "Larchify" -msgstr "Larchifizieren" - -#: gui/layouts/page_larchify.uim:104 -msgid "Build the main components of the larch system" -msgstr "Die Hauptkomponenten des larch-Systems erzeugen" - -#: gui/layouts/page_larchify.uim:111 -msgid "User accounts" -msgstr "Benutzer" - -#: gui/layouts/page_larchify.uim:125 -msgid "Click on a row to select, click on a selected cell to edit" -msgstr "" -"Klicke auf eine Zeile um sie zu selektieren,Klicke auf eine selektierte " -"Zelle um sie zu editieren" - -#: gui/layouts/page_larchify.uim:132 -msgid "Add user" -msgstr "Neuen Benutzer" - -#: gui/layouts/page_larchify.uim:133 -msgid "Create a new user-name" -msgstr "Einen neuen Benutzernamen erstellen" - -#: gui/layouts/page_larchify.uim:138 -msgid "Delete user" -msgstr "Benutzer löschen" - -#: gui/layouts/page_larchify.uim:139 -msgid "Remove the selected user-name" -msgstr "Entferne den selektierten Benutzernamen" - -#: gui/layouts/page_larchify.uim:144 -msgid "Root password:" -msgstr "'root'-Passwort:" - -#: gui/layouts/page_larchify.uim:149 -msgid "The unencrypted root password for the live system" -msgstr "Das unverschlüsseltes 'root'-Passwort für das Live-System" - -#: gui/layouts/page_larchify.uim:154 -msgid "Enter a new password for the 'root' user" -msgstr "Neues 'root'-Passwort eingeben" - -#: gui/layouts/page_larchify.uim:163 -msgid "Renaming failed, see log" -msgstr "Umbennenung schlug fehl, siehe Protokoll" - -#: gui/layouts/page_larchify.uim:164 -msgid "Couldn't adjust user definition" -msgstr "Konnte Benutzer-Information nicht ändern" - -#: gui/layouts/page_larchify.uim:165 -msgid "Default (/etc/skel)" -msgstr "Standard (/etc/skel)" - -#: gui/layouts/page_larchify.uim:166 -msgid "" -"This folder will be copied\n" -"to build the user's home folder:" -msgstr "" -"Dieser Ordner wird kopiert\n" -"um den Home-Ordner des neuen\n" -"Benutzers zu erstellen:" - -#: gui/layouts/page_larchify.uim:168 -msgid "Choose 'skel' Folder" -msgstr "'skel'-Ordner auswählen" - -#: gui/layouts/page_larchify.uim:169 -msgid "Enter login-name for new user:" -msgstr "Neuen Anmeldenamen eingeben:" - -#: gui/layouts/page_larchify.uim:170 -msgid "Enter root password for live system:" -msgstr "Das unverschlüsseltes 'root'-Passwort für das Live-System" - -#: gui/layouts/page_larchify.uim:175 -msgid "Group" -msgstr "Gruppe" - -#: gui/layouts/page_larchify.uim:175 -msgid "Password" -msgstr "Passwort" - -#: gui/layouts/page_larchify.uim:175 -msgid "User-Name" -msgstr "Benutzername" - -#: gui/layouts/page_larchify.uim:176 -msgid "'skel' directory" -msgstr "'skel'-Ordner" - -#: gui/layouts/page_larchify.uim:177 -msgid "Additional Groups" -msgstr "Zusätzliche Gruppen" - -#: gui/layouts/page_larchify.uim:177 -msgid "Expert options" -msgstr "Optionen für Experten" - -#: gui/layouts/page_main.uim:51 -msgid "Live Arch Linux Construction Kit" -msgstr "Live-Arch-Linux-Baukasten" - -#: gui/layouts/page_main.uim:55 -msgid "View Log" -msgstr "Protokoll Zeigen" - -#: gui/layouts/page_main.uim:56 -msgid "This button switches to the log viewer" -msgstr "Dieser Knopf wechselt zum Protokoll-Anzeige" - -#: gui/layouts/page_main.uim:61 -msgid "Help" -msgstr "Hilfe" - -#: gui/layouts/page_main.uim:62 -msgid "This button switches to the documentation viewer" -msgstr "Dieser Knopf wechselt zur Dokumentationsanzeige" - -#: gui/layouts/page_main.uim:67 -msgid "Quit" -msgstr "Abbrechen" - -#: gui/layouts/page_main.uim:68 -msgid "Stop the current action and quit the program" -msgstr "Aktuellen Vorgang anhalten und Anwendung schließen" - -#: gui/layouts/page_main.uim:84 -msgid "Project Settings" -msgstr "Projekteinstellungen" - -#: gui/layouts/page_main.uim:85 -msgid "Installation" -msgstr "Installation" - -#: gui/layouts/page_main.uim:87 -msgid "Medium Profile" -msgstr "Medium-Profil" - -#: gui/layouts/page_main.uim:88 -msgid "Make Medium" -msgstr "Medium Erstellen" - -#: gui/layouts/page_main.uim:96 -msgid "Authentication failure" -msgstr "Fehler beim Authetifizieren" - -#: gui/layouts/page_main.uim:97 -msgid "Enter the password to run as administrator:" -msgstr "Administrator-Passwort eingeben:" - -#: gui/layouts/page_medium.uim:42 -msgid "Select larch source" -msgstr "larch-Quelle wählen" - -#: gui/layouts/page_medium.uim:52 -msgid "larchified system" -msgstr "larchifiziertes System" - -#: gui/layouts/page_medium.uim:53 -msgid "Use the system prepared within the larch build directory" -msgstr "Das von larch erstellte System im Arbeitsordner verwenden" - -#: gui/layouts/page_medium.uim:59 -msgid "Device" -msgstr "Gerät" - -#: gui/layouts/page_medium.uim:60 -msgid "Use a system on a mountable device" -msgstr "Einhängbares Gerät als Systemquelle verwenden" - -#: gui/layouts/page_medium.uim:65 -msgid "'iso' file" -msgstr "'iso'-Datei" - -#: gui/layouts/page_medium.uim:66 -msgid "Use a system on an 'iso' file" -msgstr "'iso'-Datei als Systemquelle verwenden" - -#: gui/layouts/page_medium.uim:71 -msgid "Path" -msgstr "Pfad" - -#: gui/layouts/page_medium.uim:72 -msgid "Use a directory within the filesystem" -msgstr "Ein Ordner im Datei-System verwenden" - -#: gui/layouts/page_medium.uim:78 -msgid "The location from where the larch system will be fetched" -msgstr "Woher das larch-System geholt wird" - -#: gui/layouts/page_medium.uim:83 gui/layouts/page_medium.uim:114 -msgid "Choose" -msgstr "Wählen" - -#: gui/layouts/page_medium.uim:84 -msgid "Select the source location" -msgstr "Quelle wählen" - -#: gui/layouts/page_medium.uim:91 -msgid "Write to partition" -msgstr "Partition beschreiben" - -#: gui/layouts/page_medium.uim:92 -msgid "" -"Don't create an 'iso' (CD/DVD), write the larch system to a partition (e.g. " -"USB-stick)" -msgstr "" -"Keine 'iso'-Datei (für CD/DVD) erstellen sondern auf eine Partition (z.B: " -"USB-stick) installieren" - -#: gui/layouts/page_medium.uim:104 -msgid "Partition:" -msgstr "Partition:" - -#: gui/layouts/page_medium.uim:109 -msgid "The partition to which the larch system is to be installed" -msgstr "Die Partition, auf der das larch-System installiert werden soll" - -#: gui/layouts/page_medium.uim:115 -msgid "Select the partition to receive the larch system" -msgstr "Die Partition für das larch-System wählen" - -#: gui/layouts/page_medium.uim:120 -msgid "Don't format" -msgstr "Nicht formatieren" - -#: gui/layouts/page_medium.uim:121 -msgid "" -"Copy the data to the partition without formatting first\n" -"(not the normal procedure, NOT RECOMMENDED!)" -msgstr "" -"Kopiere die Daten zur Partition ohne zuerst zu formatieren\n" -" (nicht die normale Prozedur, NICHT EMPFOHLEN!)" - -#: gui/layouts/page_medium.uim:127 -msgid "Don't install the bootloader" -msgstr "Kein Bootlader installieren" - -#: gui/layouts/page_medium.uim:128 -msgid "" -"The bootloader will not be installed, leaving the mbr untouched\n" -"(you'll need to provide some other means of booting)" -msgstr "" -"Kein Bootloader installieren, die Master-Boot-Record bleibt unberührt\n" -"( die Bootfähigkeit muss anderweitig sichergestellt werden)" - -#: gui/layouts/page_medium.uim:135 -msgid "Not bootable via search" -msgstr "Nicht per Durchsuchung bootfähig" - -#: gui/layouts/page_medium.uim:136 -msgid "" -"Don't create the file 'larch/larchboot':\n" -" the medium will only be bootable by uuid, label or partition name" -msgstr "" -"Erstelle nicht die Datei 'larch/larchboo':\n" -" Das Medium wird nur über 'uuid', 'label' oder Partitionsbezeichnung " -"bootfähig sein" - -#: gui/layouts/page_medium.uim:143 -msgid "Enable session-saving" -msgstr "Sitzungsspeicherung aktivieren" - -#: gui/layouts/page_medium.uim:144 -msgid "" -"Can override profile's 'larch/nosave' file, to make session-saving possible " -"in that case too" -msgstr "" -"'larch/nosave' im Profil kann unterdrückt werden, damit die " -"Sitzungsspeicherung doch möglich ist" - -#: gui/layouts/page_medium.uim:153 -msgid "Medium Detection" -msgstr "Entdeckung des Mediums" - -#: gui/layouts/page_medium.uim:154 -msgid "" -"Choose how the boot scripts determine where to look for the larch system " -"(ONLY ON PARTITIONED MEDIA)" -msgstr "" -"Bestimme, wie die Bootskripts das larch-System entdecken(NUR AUF " -"PARTITIONIERTEN MEDIEN)" - -#: gui/layouts/page_medium.uim:161 -msgid "UUID" -msgstr "UUID" - -#: gui/layouts/page_medium.uim:162 -msgid "Use the partition's UUID to find it" -msgstr "Partition-UUID zum Identifizieren verwenden" - -#: gui/layouts/page_medium.uim:167 -msgid "LABEL" -msgstr "LABEL" - -#: gui/layouts/page_medium.uim:168 -msgid "Use the partition's label to find it" -msgstr "Partition-Label zum Identifizierung verwenden" - -#: gui/layouts/page_medium.uim:173 -msgid "Partition" -msgstr "Partition" - -#: gui/layouts/page_medium.uim:174 -msgid "Use the partition's name (/dev/sdb1, etc.) to find it" -msgstr "Partition-Bezeichnung (/dev/sdb1, usw.) verwenden um sie zu finden" - -#: gui/layouts/page_medium.uim:179 -msgid "Search (for larchboot)" -msgstr "Suche (nach 'larchboot')" - -#: gui/layouts/page_medium.uim:180 -msgid "" -"Test all CD/DVD devices and partitions until the file 'larch/larchboot' is " -"found" -msgstr "" -"Alle Laufwerke und Partitionen durchsuchen, bis die Datei 'larch/larchboot' " -"gefunden wird" - -#: gui/layouts/page_medium.uim:190 -msgid "Volume Label:" -msgstr "Medium-'Label':" - -#: gui/layouts/page_medium.uim:195 -msgid "The length may not exceed 16 bytes, 11 for vfat(syslinux)" -msgstr "Die Länge darf 16 Zeichen, 11 für vfat(syslinux) nicht überschreiten" - -#: gui/layouts/page_medium.uim:201 -msgid "Enter a new label for the volume, empty to use default" -msgstr "" -"Neues 'Label' für das Boot-Medium eingeben, leer lassen umdie Voreinstellung " -"zu übernehmen" - -#: gui/layouts/page_medium.uim:209 -msgid "Bootloader" -msgstr "Bootlader" - -#: gui/layouts/page_medium.uim:210 -msgid "You can choose between GRUB and syslinux/isolinux as bootloader" -msgstr "Man hat die Wahl des Bootladers zwischen GRUB und syslinux/isolinux" - -#: gui/layouts/page_medium.uim:218 -msgid "Use GRUB as bootloader" -msgstr "Verwende GRUB als Bootlader" - -#: gui/layouts/page_medium.uim:224 -msgid "Use syslinux (partition) or isolinux (CD/DVD) as bootloader" -msgstr "Verwende syslinux (Partition) oder isolinux (CD/DVD) als Bootlader" - -#: gui/layouts/page_medium.uim:232 -msgid "Use chroot" -msgstr "'chroot' verwenden" - -#: gui/layouts/page_medium.uim:233 -msgid "" -"Use the larch installation for the build process\n" -" - the default should be alright in most cases" -msgstr "" -"Die larch-Installation für den Erstellungsprozess verweden\n" -" - die Standardeinstellung sollte in den meisten Fällen richtig sein" - -#: gui/layouts/page_medium.uim:240 -msgid "Create boot iso" -msgstr "Boot-iso erstellen" - -#: gui/layouts/page_medium.uim:241 -msgid "" -"Create a small boot iso for this device (for machines that can't boot from " -"USB)" -msgstr "" -"Ein kleines Boot-iso für das vorhandene System erstellen (für Rechner, die " -"nicht von USB bootem können)" - -#: gui/layouts/page_medium.uim:247 -msgid "Write the larch medium" -msgstr "larch-Medium Erstellen" - -#: gui/layouts/page_medium.uim:248 -msgid "" -"The larch image will be written to the 'iso' file or to the partition, as " -"selected" -msgstr "" -"Das larch-Abbild wird in die 'iso'-Datei oder zur Partition geschrieben, so " -"wie gewählt" - -#: gui/layouts/page_medium.uim:256 -msgid "Select source medium folder" -msgstr "Quelle wählen" - -#: gui/layouts/page_medium.uim:257 -msgid "Select source iso file" -msgstr "iso-Quellendatei wählen" - -#: gui/layouts/page_medium.uim:258 -msgid "larch iso images" -msgstr "larch iso-Dateien" - -#: gui/layouts/page_medium.uim:259 -msgid "Select unmounted partition" -msgstr "Nicht-eingebundene Partition wählen" - -#: gui/layouts/page_medium.uim:260 -msgid "larch system source:" -msgstr "larch-Quelle:" - -#: gui/layouts/page_medium.uim:261 -msgid "" -"Device to receive larch system.\n" -"WARNING: Be very careful in choosing here,\n" -"if you choose the wrong one you might\n" -"seriously damage your system!" -msgstr "" -"Gerät zum Aufspielen des larch-Systems.\n" -"ACHTUNG bei der Wahl,\n" -"eine schlechte Wahl könnte deinem System\n" -"ernsthafte Schäden zufügen!" - -#: gui/layouts/page_medium.uim:265 -msgid "Invalid larch medium folder: %s" -msgstr "Ungültiger larch-Ordner': %s" - -#: gui/layouts/page_medium.uim:266 -msgid "Volume label (clear to use default):" -msgstr "Volume-Label (leer, um die Voreinstellung zu übernehmen):" - -#: gui/layouts/page_medium.uim:267 -msgid "Save 'iso' to ..." -msgstr "'iso' speichern unter ..." - -#: gui/layouts/page_mediumprofile.uim:40 -msgid "Edit boot entries" -msgstr "Boot-Optionen editieren" - -#: gui/layouts/page_mediumprofile.uim:41 -msgid "Edit the file determining the boot entries" -msgstr "Die Datei editieren, die die Boot-Einträge bestimmt" - -#: gui/layouts/page_mediumprofile.uim:46 -msgid "Edit grub template" -msgstr "'grub'-Schablone editieren" - -#: gui/layouts/page_mediumprofile.uim:47 -msgid "Edit grub's configuration file, but not the larch boot entries" -msgstr "" -"Die grub-Konfigurationsdatei editieren, aber ohne die larch-Booteinträge" - -#: gui/layouts/page_mediumprofile.uim:53 -msgid "Edit syslinux/isolinux template" -msgstr "'syslinux/isolinux'-Schablone editieren" - -#: gui/layouts/page_mediumprofile.uim:54 -msgid "" -"Edit the syslinux/isolinux configuration file, but not the larch boot entries" -msgstr "" -"Die 'syslinux/isolinux'-Konfigurationsdatei editieren, aber ohne die larch-" -"Booteinträge" - -#: gui/layouts/page_mediumprofile.uim:60 -msgid "Edit cd-root (open in file browser)" -msgstr "" -"'cd-root' editieren\n" -"(im Datei-Browser öffnen)" - -#: gui/layouts/page_mediumprofile.uim:61 -msgid "Open a file browser on the profile's 'cd-root' folder" -msgstr "'cd-root'-Ordner vom Profil im Datei-Browser öffnen" - -#: gui/layouts/page_mediumprofile.uim:83 -msgid "Disable session saving" -msgstr "Sitzungsspeicherung sperren" - -#: gui/layouts/page_mediumprofile.uim:84 -msgid "" -"If checked, the medium will have the file 'larch/nosave',\n" -"which only has an effect on writable media." -msgstr "" -"Wenn hier aktiviert, bekommt das Medium die Datei 'larch/nosave',\n" -"die nur auf schreibbaren Medien eine Auswirkung hat." - -#: gui/layouts/page_project.uim:37 -msgid "Profile" -msgstr "Profil" - -#: gui/layouts/page_project.uim:48 -msgid "Select:" -msgstr "Auswählen:" - -#: gui/layouts/page_project.uim:54 -msgid "Choose a profile from those already in your larch working folder" -msgstr "Ein Profil von den im Arbeitsverzeichnis schon vorhandenen wählen" - -#: gui/layouts/page_project.uim:60 -msgid "Browse for Profile" -msgstr "Profil suchen" - -#: gui/layouts/page_project.uim:61 -msgid "Fetch a profile from the file-system" -msgstr "Ein Profil vom Datei-System holen" - -#: gui/layouts/page_project.uim:66 -msgid "Rename" -msgstr "Umbenennen" - -#: gui/layouts/page_project.uim:67 -msgid "Rename the current profile" -msgstr "Aktuelles Profil umbenennen" - -#: gui/layouts/page_project.uim:72 gui/layouts/page_project.uim:126 -msgid "Delete" -msgstr "Löschen" - -#: gui/layouts/page_project.uim:73 -msgid "Delete an unused profile" -msgstr "Ein nicht verwendetes Profil löschen" - -#: gui/layouts/page_project.uim:78 -msgid "Copy to ..." -msgstr "Kopieren nach ..." - -#: gui/layouts/page_project.uim:79 -msgid "Copy the current profile to somehere else" -msgstr "Das aktuelle Profil irgendwohin kopieren" - -#: gui/layouts/page_project.uim:86 -msgid "Advanced Project Options" -msgstr "Projekt-Optionen für Fortgeschrittene" - -#: gui/layouts/page_project.uim:110 -msgid "Choose Existing Project:" -msgstr "Vorhandenes Projekt Wählen:" - -#: gui/layouts/page_project.uim:114 -msgid "Choose a project from those already defined" -msgstr "Ein Projekt von den schon definierten wählen" - -#: gui/layouts/page_project.uim:120 -msgid "New Project" -msgstr "Neues Projekt" - -#: gui/layouts/page_project.uim:121 -msgid "Create a new project" -msgstr "Ein neues Projekt erstellen" - -#: gui/layouts/page_project.uim:127 -msgid "Delete a project" -msgstr "Ein Projekt löschen" - -#: gui/layouts/page_project.uim:132 -msgid "Installation Path" -msgstr "Installationspfad" - -#: gui/layouts/page_project.uim:140 -msgid "The root directory of the Arch installation to larchify" -msgstr "Das Root-Verzeichnis der zu larchifizierenden Arch-Installation" - -#: gui/layouts/page_project.uim:146 -msgid "Change the root directory of the Arch installation" -msgstr "Das Root-Verzeichnis der Arch-Installation ändern" - -#: gui/layouts/page_project.uim:153 -msgid "Select profile source folder" -msgstr "Profil-Quellordner wählen" - -#: gui/layouts/page_project.uim:154 -msgid "Destination profile exists - replace it?" -msgstr "Ziel (Profilordner) existiert schon, ersetzen?" - -#: gui/layouts/page_project.uim:155 -msgid "Enter new name for current profile:" -msgstr "Neuen Namen für aktuelles Profil eingeben:" - -#: gui/layouts/page_project.uim:156 -msgid "Profile '%s' exists already" -msgstr "Profil '%s' existiert schon" - -#: gui/layouts/page_project.uim:157 -msgid "Can't rename the profile, it is in use by other projects" -msgstr "" -"Profil kann nicht umbennant werden, es wird von anderen Projekten gebraucht" - -#: gui/layouts/page_project.uim:159 -msgid "Save profile folder" -msgstr "Profilordner speichern" - -#: gui/layouts/page_project.uim:160 -msgid "Destination exists - replace it?" -msgstr "Ziel existiert schon - ersetzen?" - -#: gui/layouts/page_project.uim:161 -msgid "Select the profile for deletion" -msgstr "Profil zum Löschen auswählen" - -#: gui/layouts/page_project.uim:162 -msgid "Remove Profile" -msgstr "Profil löschen" - -#: gui/layouts/page_project.uim:163 -msgid "There are no profiles which can be deleted - all are in use" -msgstr "Kein Profil kann gelöscht werden - alle werden gebraucht" - -#: gui/layouts/page_project.uim:165 -msgid "Couldn't delete profile '%s' - check permissions" -msgstr "Profil '%s' konnte nicht gelöscht werden - Rechte überprüfen" - -#: gui/layouts/page_project.uim:167 -msgid "" -"An empty path here will reset to the default.\n" -" WARNING: Double check your path -\n" -" If you make a mistake here it could destroy your system!\n" -"\n" -"Enter new installation path:" -msgstr "" -"Ein leerer Pfad wird die Voreinstellung übernehmen.\n" -"ACHTUNG: Den Pfad gut kontrollieren -\n" -" Ein Fehler könnte dein System zerstören!\n" -"\n" -"Neuen Installationspfad eingeben:" - -#: gui/layouts/page_project.uim:171 -msgid "Enter name for new project:" -msgstr "Neuen Projektnamen eingeben:" - -#: gui/layouts/page_project.uim:172 -msgid "Project '%s' already exists" -msgstr "Projekt '%s' existiert schon." - -#: gui/layouts/page_project.uim:173 -msgid "Select the project for deletion" -msgstr "Zu löschendes Projekt auswählen" - -#: gui/layouts/page_project.uim:174 -msgid "Remove Project" -msgstr "Projekt löschen" - -#: gui/layouts/page_project.uim:175 -msgid "There are no projects which can be deleted" -msgstr "Kein Projekt kann gelöscht werden" - -#: gui/layouts/page_project.uim:176 -msgid "'%s' is not a profile folder" -msgstr "Ungültiger Profilordner: '%s'" - -#: gui/layouts/page_project.uim:177 -msgid "The path '%s' is already in use, not saving" -msgstr "Der Pfad '%s' wird schon benutzt, kann nicht speichern" - -#: gui/layouts/progress.uim:38 -msgid "Processing ..." -msgstr "Prozess läuft ..." - -#: gui/layouts/progress.uim:49 -msgid "An indication of the progress of the current operation, if possible" -msgstr "Zeigt den Fortschritt der aktuellen Operation, insoweit möglich" - -#: gui/layouts/progress.uim:55 -msgid "Stop the current action" -msgstr "Aktuellen Vorgang anhalten" - -#: gui/layouts/progress.uim:60 -msgid "Done" -msgstr "Fertig" - -#: gui/project.py:187 -msgid "Working Profiles" -msgstr "ArbeitsProfile" - -#: gui/project.py:188 -msgid "Examples" -msgstr "Beispiele" - -#: gui/project.py:189 -msgid "File-system" -msgstr "Dateisystem" diff --git a/build_tools/l7/larch0/i18n/de/LC_MESSAGES/larch.mo b/build_tools/l7/larch0/i18n/de/LC_MESSAGES/larch.mo Binary files differdeleted file mode 100644 index 34b903e..0000000 --- a/build_tools/l7/larch0/i18n/de/LC_MESSAGES/larch.mo +++ /dev/null diff --git a/build_tools/l7/larch0/i18n/i18n.py b/build_tools/l7/larch0/i18n/i18n.py deleted file mode 100755 index de5bc80..0000000 --- a/build_tools/l7/larch0/i18n/i18n.py +++ /dev/null @@ -1,108 +0,0 @@ -#!/usr/bin/env python -# -*- coding: UTF-8 -*- - -# i18n.py - -#2010.07.14 -# Copyright 2009-2010 Michael Towers - -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- - -""" -A script, together with i18n2.py, to ease the use of the gettext translation -system with larch. Just run it with the (short) name of your language, -e.g. "fr", as argument. -The steps it performs are roughly given below. If you prefer a gui have a -look at poedit (uses wxwidgets). - -1) Generally something like: pygettext.py -p i18n -o larch.pot *.py - -2) cd i18n ; msginit -i larchin.pot -l de - -OR: -2a) to update a po file: - -cd i18n ; msgmerge -U larchin.po larchin.pot - -3) edit po file - -4) generate binary file: -cd i18n ; msgfmt -c -v -o larchin.mo larchin.po - -5) move the .mo file to i18n/de/LC_MESSAGES - -6) Add to the main program file: - -import gettext -gettext.install('larch', 'i18n', unicode=1) - -5) Run, e.g.: -LANG=de_DE larchin.py -""" - -import sys, os, shutil -from subprocess import call - -thisdir = os.path.dirname(os.path.realpath(__file__)) -basedir = os.path.dirname(thisdir) -os.chdir(basedir) - -dbg = False -if (len(sys.argv) < 2): - lang = "de" -else: - if sys.argv[1] == '-d': - lang = "de" - dbg = True - else: - lang = sys.argv[1] - -print "Generating internationalization for language '%s'\n" % lang -print " If you wanted a different language run 'i18n.py <language>'" -print " For example 'i18n.py fr'\n" - -allpy = ["cli/*.py", "gui/*.py", "gui/front/*.py", "gui/layouts/*.uim"] -if dbg: - print "Debugging ...\n" - - from glob import glob - for d in allpy: - pys = glob(d) - for f in pys: - print "Parsing '%s'" % f - call(["pygettext.py", "-p", "i18n", "-o", "larch.pot", f]) - exit() - -call(["pygettext.py", "-p", "i18n", "-o", "larch.pot"] + allpy) - -os.chdir(thisdir) -langfile = lang + ".po" -pofile = os.path.join(lang, "LC_MESSAGES", langfile) -if os.path.isfile(pofile): - shutil.copy(pofile, ".") - call(["msgmerge", "-U", langfile, "larch.pot"]) -else: - call(["sed", "-i", "s|CHARSET|utf-8|", "larch.pot"]) - call(["msginit", "--no-translator", "-i", "larch.pot", "-l", lang]) - -lf = open("lang", "w") -lf.write(lang) -lf.close() - -print "Now edit '%s' and then run 'i18n2.py'" % langfile diff --git a/build_tools/l7/larch0/i18n/i18n2.py b/build_tools/l7/larch0/i18n/i18n2.py deleted file mode 100755 index f33f147..0000000 --- a/build_tools/l7/larch0/i18n/i18n2.py +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env python -# -*- coding: UTF-8 -*- - -# i18n2.py - -#2009-06-07 -# Copyright 2009 Michael Towers - -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- - -"""This is part 2 of the internationalization helper. -After editing ??.po, run this to compile it and copy it to the -correct location. -""" - -import os -from subprocess import call - -thisdir = os.path.dirname(os.path.realpath(__file__)) -os.chdir(thisdir) -lf = open("lang", "r") -lang = lf.read() -lf.close() -langfile = lang + ".po" - -print "Compiling internationalization for language '%s'\n" % lang -call(["msgfmt", "-c", "-v", "-o", "larch.mo", langfile]) - -podir = os.path.join(lang, "LC_MESSAGES") -if not os.path.isdir(podir): - os.makedirs(podir) -os.rename(langfile, os.path.join(podir, langfile)) -os.rename("larch.mo", os.path.join(podir, "larch.mo")) - -print "DONE!" diff --git a/build_tools/l7/larch0/i18n/larch.pot b/build_tools/l7/larch0/i18n/larch.pot deleted file mode 100644 index 7e730aa..0000000 --- a/build_tools/l7/larch0/i18n/larch.pot +++ /dev/null @@ -1,1462 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR ORGANIZATION -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2010-07-14 15:19+CEST\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: ENCODING\n" -"Generated-By: pygettext.py 1.5\n" - - -#: cli/archin.py:39 -msgid "Operations on '/' are not supported ..." -msgstr "" - -#: cli/archin.py:40 -msgid "Install Arch to '%s'?" -msgstr "" - -#: cli/archin.py:63 -msgid "No pacman executable found" -msgstr "" - -#: cli/archin.py:157 -msgid "Couldn't write to the installation path (%s)" -msgstr "" - -#: cli/archin.py:161 -msgid "The installation path (%s) is mounted 'nodev'." -msgstr "" - -#: cli/archin.py:168 -msgid "The installation path (%s) is mounted 'noexec'." -msgstr "" - -#: cli/archin.py:193 -msgid "Package installation failed" -msgstr "" - -#: cli/archin.py:200 -msgid "Arch installation completed" -msgstr "" - -#: cli/archin.py:207 -msgid "No '%s' file" -msgstr "" - -#: cli/archin.py:221 -msgid "Invalid package file include: %s" -msgstr "" - -#: cli/archin.py:253 -msgid "Couldn't synchronize pacman database (pacman -Sy)" -msgstr "" - -#: cli/archin.py:313 -msgid "usage: %%prog [options] %s [packages]" -msgstr "" - -#: cli/archin.py:318 cli/larchify.py:558 -msgid "Profile: 'user:profile-name' or path to profile directory" -msgstr "" - -#: cli/archin.py:321 cli/larchify.py:561 -msgid "Path to directory to be larchified (default %s)" -msgstr "" - -#: cli/archin.py:324 cli/boot_iso.py:119 cli/larchify.py:564 -#: cli/live_iso.py:113 cli/live_part.py:162 -msgid "Run as a slave from a controlling program (e.g. from a gui)" -msgstr "" - -#: cli/archin.py:327 cli/boot_iso.py:122 cli/larchify.py:567 -#: cli/live_iso.py:116 cli/live_part.py:165 -msgid "Suppress output messages, except errors (no effect if -s specified)" -msgstr "" - -#: cli/archin.py:332 cli/boot_iso.py:126 cli/larchify.py:575 -#: cli/live_iso.py:120 cli/live_part.py:169 -msgid "Don't ask for confirmation" -msgstr "" - -#: cli/archin.py:336 -msgid "Supply a substitute repository list (pacman.conf.repos) for the installation only" -msgstr "" - -#: cli/archin.py:340 -msgid "pacman cache directory (default /var/cache/pacman/pkg)" -msgstr "" - -#: cli/archin.py:343 -msgid "Don't show pacman's progress bar" -msgstr "" - -#: cli/archin.py:355 -msgid "" -"You must specify which operation to perform:\n" -msgstr "" - -#: cli/archin.py:360 cli/boot_iso.py:144 cli/larchify.py:581 -#: cli/live_iso.py:150 cli/live_part.py:216 -msgid "This application must be run as root" -msgstr "" - -#: cli/archin.py:369 -msgid "" -"Invalid operation: '%s'\n" -msgstr "" - -#: cli/backend.py:66 -msgid "" -"larch (%s) seems to be running already.\n" -"If you are absolutely sure this is not the case,\n" -"you may continue. Otherwise you should cancel.\n" -"\n" -"Shall I continue?" -msgstr "" - -#: cli/backend.py:115 -msgid "The backend reported %d failed calls, you may want to investigate" -msgstr "" - -#: cli/backend.py:138 -msgid "_yes|_no" -msgstr "" - -#: cli/backend.py:176 -msgid "" -"Something went wrong:\n" -msgstr "" - -#: cli/backend.py:304 -msgid "Invalid profile: %s" -msgstr "" - -#: cli/backend.py:307 -msgid "Invalid profile folder: %s" -msgstr "" - -#: cli/backend.py:425 -msgid "Couldn't read file: %s" -msgstr "" - -#: cli/boot_iso.py:45 cli/live_part.py:49 -msgid "Invalid device: %s" -msgstr "" - -#: cli/boot_iso.py:82 cli/live_iso.py:81 -msgid "iso build failed" -msgstr "" - -#: cli/boot_iso.py:87 cli/live_iso.py:90 -msgid "%s was successfully created" -msgstr "" - -#: cli/boot_iso.py:96 cli/live_part.py:147 -msgid "usage: %prog [options] partition (e.g. sdb1)" -msgstr "" - -#: cli/boot_iso.py:101 cli/live_iso.py:130 -msgid "Specify the output file (default '%s'). It will be generated to the current directory." -msgstr "" - -#: cli/boot_iso.py:105 cli/live_iso.py:134 -msgid "Set current directory, so that the 'iso' can be placed there" -msgstr "" - -#: cli/boot_iso.py:109 cli/live_part.py:173 -msgid "Method for boot partition detection: %s (default: label)" -msgstr "" - -#: cli/boot_iso.py:112 cli/live_part.py:176 -msgid "Use the syslinux bootloader (the default is GRUB)" -msgstr "" - -#: cli/boot_iso.py:117 cli/live_iso.py:111 cli/live_part.py:160 -msgid "Path to larchified directory (default %s)" -msgstr "" - -#: cli/boot_iso.py:130 -msgid "Volume label for boot iso (default %s)" -msgstr "" - -#: cli/boot_iso.py:134 -msgid "Use chroot for build" -msgstr "" - -#: cli/boot_iso.py:139 -msgid "" -"You must specify the source partition\n" -msgstr "" - -#: cli/larchify.py:47 -msgid "" -"File '%s' doesn't exist:\n" -" '%s' not an Arch installation?" -msgstr "" - -#: cli/larchify.py:55 -msgid "" -"Building a larch live medium from the running system is\n" -"an error prone process. Changes to the running system\n" -"made while running this function may be only partially\n" -"incorporated into the compressed system images.\n" -"\n" -"Do you wish to continue?" -msgstr "" - -#: cli/larchify.py:136 -msgid "Squashing system.sqf failed" -msgstr "" - -#: cli/larchify.py:227 -msgid "Build customization script failed" -msgstr "" - -#: cli/larchify.py:250 -msgid "Squashing mods.sqf failed" -msgstr "" - -#: cli/larchify.py:256 -msgid "larchify-process completed" -msgstr "" - -#: cli/larchify.py:360 -msgid "%d user account operation(s) failed" -msgstr "" - -#: cli/larchify.py:381 -msgid "" -"No squashfs module found\n" -msgstr "" - -#: cli/larchify.py:393 -msgid "" -"No aufs or unionfs module found\n" -msgstr "" - -#: cli/larchify.py:397 -msgid "" -"Package '%s' is needed by larch systems\n" -msgstr "" - -#: cli/larchify.py:400 -msgid "" -"Without package 'syslinux' you will not be able\n" -"to create syslinux or isolinux booting media\n" -msgstr "" - -#: cli/larchify.py:404 -msgid "" -"Without package 'cdrkit' (or 'cdrtools') you will\n" -"not be able to create CD/DVD media\n" -msgstr "" - -#: cli/larchify.py:408 -msgid "" -"Without package 'eject' you will have problems\n" -"using CD/DVD media\n" -msgstr "" - -#: cli/larchify.py:412 -msgid "" -"WARNING:\n" -"%s\n" -" Continue building?" -msgstr "" - -#: cli/larchify.py:418 -msgid "" -"ERROR:\n" -"%s" -msgstr "" - -#: cli/larchify.py:444 -msgid "" -"Problem running %s:\n" -" %s" -msgstr "" - -#: cli/larchify.py:448 -msgid "" -"More than one kernel found:\n" -" %s" -msgstr "" - -#: cli/larchify.py:451 -msgid "No kernel found" -msgstr "" - -#: cli/larchify.py:459 -msgid "More than one set of kernel modules in %s" -msgstr "" - -#: cli/larchify.py:485 -msgid "" -"WARNING:\n" -" You seem to have installed a package containing modules\n" -"which aren't compatible with your kernel (see log).\n" -"Please check that this won't cause problems.\n" -"Maybe you need the corresponding package for your kernel?\n" -"\n" -" Continue building?" -msgstr "" - -#: cli/larchify.py:494 -msgid "Couldn't find kernel modules" -msgstr "" - -#: cli/larchify.py:513 -msgid "Couldn't find usable mkinitcpio preset: %s" -msgstr "" - -#: cli/larchify.py:554 cli/live_iso.py:99 -msgid "usage: %prog [options]" -msgstr "" - -#: cli/larchify.py:570 -msgid "Reuse previously generated system.sqf" -msgstr "" - -#: cli/larchify.py:573 -msgid "Reuse previously generated locales" -msgstr "" - -#: cli/live_iso.py:85 -msgid "Couldn't perform 'isohybrid' operation on larch 'iso' (Not Critical!)" -msgstr "" - -#: cli/live_iso.py:103 cli/live_part.py:152 -msgid "Profile: 'user:profile-name' or path to profile directory (conflicts with -S)" -msgstr "" - -#: cli/live_iso.py:107 cli/live_part.py:156 -msgid "Source: path to larch medium image (conflicts with -p). It can also be a device ('/dev/...') or an 'iso' file." -msgstr "" - -#: cli/live_iso.py:123 -msgid "Use the isolinux bootloader (the default is GRUB)" -msgstr "" - -#: cli/live_iso.py:127 -msgid "Volume label for iso (default '%s')" -msgstr "" - -#: cli/live_iso.py:138 cli/live_part.py:200 -msgid "Use chroot for build (default when -S not specified)" -msgstr "" - -#: cli/live_iso.py:141 cli/live_part.py:203 -msgid "Don't use chroot for build (default when -S specified)" -msgstr "" - -#: cli/live_iso.py:145 -msgid "Test source medium only (used by gui)" -msgstr "" - -#: cli/live_part.py:70 -msgid "Couldn't format %s" -msgstr "" - -#: cli/live_part.py:80 -msgid "Couldn't get format information for %s" -msgstr "" - -#: cli/live_part.py:84 -msgid "syslinux is only supported on vfat" -msgstr "" - -#: cli/live_part.py:86 -msgid "GRUB is at present only supported on extN" -msgstr "" - -#: cli/live_part.py:98 -msgid "Couldn't mount larch partition, %s" -msgstr "" - -#: cli/live_part.py:118 -msgid "Option '-a' conflicts with option '-A'" -msgstr "" - -#: cli/live_part.py:139 -msgid "%s was successfully written" -msgstr "" - -#: cli/live_part.py:180 -msgid "Volume label for boot partition (default %s)" -msgstr "" - -#: cli/live_part.py:184 -msgid "Don't generate 'larch/larchboot' file" -msgstr "" - -#: cli/live_part.py:187 -msgid "Override profile larch/nosave (force enable session saving) - conflicts with '-A'" -msgstr "" - -#: cli/live_part.py:191 -msgid "Force disabling of session saving - conflicts with '-a'" -msgstr "" - -#: cli/live_part.py:194 -msgid "Don't format partition (only for experts!)" -msgstr "" - -#: cli/live_part.py:197 -msgid "Don't install the bootloader (to the MBR)" -msgstr "" - -#: cli/live_part.py:211 -msgid "" -"You must specify the partition to receive larch\n" -msgstr "" - -#: cli/media_common.py:56 -msgid "Couldn't switch directory to '%s'" -msgstr "" - -#: cli/media_common.py:64 -msgid "Option -C conflicts with -c" -msgstr "" - -#: cli/media_common.py:69 -msgid "Option -S conflicts with -p" -msgstr "" - -#: cli/media_common.py:125 -msgid "Invalid detection method (-d option)" -msgstr "" - -#: cli/media_common.py:144 -msgid "Couldn't bind-mount current directory" -msgstr "" - -#: cli/media_common.py:152 -msgid "File '%s' doesn't exist, '%s' is not a larch medium" -msgstr "" - -#: cli/media_common.py:166 -msgid "Couldn't mount '%s'. Not an iso?" -msgstr "" - -#: cli/media_common.py:176 -msgid "Couldn't mount '%s'" -msgstr "" - -#: cli/media_common.py:185 -msgid "Source doesn't support syslinux" -msgstr "" - -#: cli/media_common.py:189 -msgid "Source doesn't support GRUB" -msgstr "" - -#: cli/media_common.py:205 -msgid "Couldn't bind-mount '%s'" -msgstr "" - -#: cli/media_common.py:232 -msgid "No kernel and/or initramfs" -msgstr "" - -#: cli/media_common.py:244 -msgid "Installation doesn't support syslinux" -msgstr "" - -#: cli/media_common.py:246 -msgid "Installation doesn't support GRUB" -msgstr "" - -#: cli/media_common.py:349 -msgid "The volume label is too long. Use the default (%s)?" -msgstr "" - -#: cli/media_common.py:353 -msgid "Cancelled" -msgstr "" - -#: cli/media_common.py:372 -msgid "Can't boot to label - device has no label" -msgstr "" - -#: cli/media_common.py:383 -msgid "Boot configuration file '%s' not found" -msgstr "" - -#: cli/media_common.py:441 -msgid "Base configuration file (%s) not found" -msgstr "" - -#: cli/userinfo.py:45 -msgid "Invalid 'users' file" -msgstr "" - -#: cli/userinfo.py:67 -msgid "Couldn't add user '%s'" -msgstr "" - -#: cli/userinfo.py:75 -msgid "Couldn't remove user '%s'" -msgstr "" - -#: cli/userinfo.py:90 -msgid "Couldn't save 'users' file" -msgstr "" - -#: gui/controller.py:131 -msgid "Couldn't read file '%s'" -msgstr "" - -#: gui/controller.py:144 -msgid "Couldn't save file '%s'" -msgstr "" - -#: gui/front/page_larchify.py:61 -msgid "No Arch installation at %s" -msgstr "" - -#: gui/layouts/docviewer.uim:35 -msgid "Documentation" -msgstr "" - -#: gui/layouts/docviewer.uim:40 gui/layouts/logger.uim:52 -msgid "Hide" -msgstr "" - -#: gui/layouts/docviewer.uim:41 -msgid "Return to the larch controls" -msgstr "" - -#: gui/layouts/docviewer.uim:47 -msgid "Go back in the viewing history" -msgstr "" - -#: gui/layouts/docviewer.uim:53 -msgid "Go forward in the viewing history" -msgstr "" - -#: gui/layouts/docviewer.uim:60 -msgid "Reload the documentation for the current larch tab" -msgstr "" - -#: gui/layouts/docviewer.uim:67 -msgid "Go to the general larch documentation index" -msgstr "" - -#: gui/layouts/editor.uim:39 -msgid "Editor" -msgstr "" - -#: gui/layouts/editor.uim:45 -msgid "OK" -msgstr "" - -#: gui/layouts/editor.uim:50 gui/layouts/progress.uim:54 -msgid "Cancel" -msgstr "" - -#: gui/layouts/editor.uim:55 -msgid "Revert" -msgstr "" - -#: gui/layouts/editor.uim:56 -msgid "Restore the text to its initial/default state" -msgstr "" - -#: gui/layouts/editor.uim:61 -msgid "Copy" -msgstr "" - -#: gui/layouts/editor.uim:66 -msgid "Cut" -msgstr "" - -#: gui/layouts/editor.uim:71 -msgid "Paste" -msgstr "" - -#: gui/layouts/editor.uim:76 -msgid "Undo" -msgstr "" - -#: gui/layouts/editor.uim:81 -msgid "Redo" -msgstr "" - -#: gui/layouts/editor.uim:88 -msgid "Editing '%s'" -msgstr "" - -#: gui/layouts/logger.uim:37 -msgid "Low-level Command Logging" -msgstr "" - -#: gui/layouts/logger.uim:38 gui/layouts/progress.uim:39 -msgid "Here you can follow the detailed, low-level progress of the commands." -msgstr "" - -#: gui/layouts/logger.uim:47 -msgid "Clear" -msgstr "" - -#: gui/layouts/logger.uim:53 -msgid "Go back to the larch controls" -msgstr "" - -#: gui/layouts/page_installation.uim:38 -msgid "Edit Profile" -msgstr "" - -#: gui/layouts/page_installation.uim:49 -msgid "Edit 'addedpacks'" -msgstr "" - -#: gui/layouts/page_installation.uim:50 -msgid "Edit the list of packages to be installed" -msgstr "" - -#: gui/layouts/page_installation.uim:55 -msgid "Edit 'vetopacks'" -msgstr "" - -#: gui/layouts/page_installation.uim:56 -msgid "Edit the list of packages NOT to install" -msgstr "" - -#: gui/layouts/page_installation.uim:61 -msgid "Edit pacman.conf options" -msgstr "" - -#: gui/layouts/page_installation.uim:62 -msgid "Edit pacman.conf options - not the repositories" -msgstr "" - -#: gui/layouts/page_installation.uim:67 -msgid "Edit pacman.conf repositories" -msgstr "" - -#: gui/layouts/page_installation.uim:68 -msgid "Edit the repository entries for pacman.conf" -msgstr "" - -#: gui/layouts/page_installation.uim:75 -msgid "Tweak Installed Packages" -msgstr "" - -#: gui/layouts/page_installation.uim:81 -msgid "Synchronize db" -msgstr "" - -#: gui/layouts/page_installation.uim:82 -msgid "Synchronize the pacman db on the target (pacman -Sy)" -msgstr "" - -#: gui/layouts/page_installation.uim:87 -msgid "Update / Add package [-U]" -msgstr "" - -#: gui/layouts/page_installation.uim:88 -msgid "Update / Add a package from a package file using pacman -U" -msgstr "" - -#: gui/layouts/page_installation.uim:94 -msgid "Add package(s) [-S]" -msgstr "" - -#: gui/layouts/page_installation.uim:95 -msgid "Add one or more packages (space separated) using pacman -S" -msgstr "" - -#: gui/layouts/page_installation.uim:101 -msgid "Remove package(s) [-Rs]" -msgstr "" - -#: gui/layouts/page_installation.uim:102 -msgid "Remove one or more packages (space separated) using pacman -Rs" -msgstr "" - -#: gui/layouts/page_installation.uim:110 -msgid "Advanced Installation Options" -msgstr "" - -#: gui/layouts/page_installation.uim:116 -msgid "Use project repository list" -msgstr "" - -#: gui/layouts/page_installation.uim:117 -msgid "Enables use of an alternative pacman.conf for installation only" -msgstr "" - -#: gui/layouts/page_installation.uim:125 -msgid "Edit repository list" -msgstr "" - -#: gui/layouts/page_installation.uim:126 -msgid "Edit repository list file used for installation" -msgstr "" - -#: gui/layouts/page_installation.uim:131 -msgid "Edit mirror list used for installation only" -msgstr "" - -#: gui/layouts/page_installation.uim:132 -msgid "A mirror list for the live system should be placed in the overlay" -msgstr "" - -#: gui/layouts/page_installation.uim:139 -msgid "Package Cache" -msgstr "" - -#: gui/layouts/page_installation.uim:146 -msgid "The path to the (host's) package cache" -msgstr "" - -#: gui/layouts/page_installation.uim:150 gui/layouts/page_larchify.uim:153 -#: gui/layouts/page_medium.uim:200 gui/layouts/page_project.uim:145 -msgid "Change" -msgstr "" - -#: gui/layouts/page_installation.uim:151 -msgid "Change the package cache path" -msgstr "" - -#: gui/layouts/page_installation.uim:157 -msgid "Install" -msgstr "" - -#: gui/layouts/page_installation.uim:158 -msgid "This will start the installation to the set path" -msgstr "" - -#: gui/layouts/page_installation.uim:165 -msgid "Editing pacman.conf options only" -msgstr "" - -#: gui/layouts/page_installation.uim:166 -msgid "Editing pacman repositories" -msgstr "" - -#: gui/layouts/page_installation.uim:167 -msgid "Editing mirror list for installation" -msgstr "" - -#: gui/layouts/page_installation.uim:168 -msgid "Enter new package cache path:" -msgstr "" - -#: gui/layouts/page_installation.uim:169 -msgid "Editing pacman repositories for installation" -msgstr "" - -#: gui/layouts/page_installation.uim:170 -msgid "Package to add/update" -msgstr "" - -#: gui/layouts/page_installation.uim:171 -msgid "Packages" -msgstr "" - -#: gui/layouts/page_installation.uim:172 -msgid "" -"Enter the names of packages to install -\n" -" separated by spaces:" -msgstr "" - -#: gui/layouts/page_installation.uim:174 -msgid "" -"Enter the names of packages to remove -\n" -" separated by spaces:" -msgstr "" - -#: gui/layouts/page_larchify.uim:42 -msgid "The system to be compressed must be installed and ready." -msgstr "" - -#: gui/layouts/page_larchify.uim:48 -msgid "Edit supported locales" -msgstr "" - -#: gui/layouts/page_larchify.uim:49 -msgid "Edit the /etc/locale.gen file to select supported glibc locales" -msgstr "" - -#: gui/layouts/page_larchify.uim:55 -msgid "Edit Arch configuration" -msgstr "" - -#: gui/layouts/page_larchify.uim:56 -msgid "Edit the /etc/rc.conf file to configure the live system" -msgstr "" - -#: gui/layouts/page_larchify.uim:62 -msgid "Edit overlay" -msgstr "" - -#: gui/layouts/page_larchify.uim:63 -msgid "Open a file browser on the profile's 'rootoverlay'" -msgstr "" - -#: gui/layouts/page_larchify.uim:69 -msgid "Advanced Options" -msgstr "" - -#: gui/layouts/page_larchify.uim:75 -msgid "Edit mkinitcpio.conf" -msgstr "" - -#: gui/layouts/page_larchify.uim:76 -msgid "Edit the configuration file for generating the initramfs via mkinitcpio" -msgstr "" - -#: gui/layouts/page_larchify.uim:82 -msgid "Generate ssh keys" -msgstr "" - -#: gui/layouts/page_larchify.uim:83 -msgid "The ssh host keys will be pre-generated" -msgstr "" - -#: gui/layouts/page_larchify.uim:88 -msgid "Reuse existing locales" -msgstr "" - -#: gui/layouts/page_larchify.uim:89 -msgid "To save time it may be possible to reuse glibc locales from a previous run" -msgstr "" - -#: gui/layouts/page_larchify.uim:96 -msgid "Reuse existing system.sqf" -msgstr "" - -#: gui/layouts/page_larchify.uim:97 -msgid "Reuse existing system.sqf, to save time if the base system hasn't changed" -msgstr "" - -#: gui/layouts/page_larchify.uim:103 gui/layouts/page_main.uim:86 -msgid "Larchify" -msgstr "" - -#: gui/layouts/page_larchify.uim:104 -msgid "Build the main components of the larch system" -msgstr "" - -#: gui/layouts/page_larchify.uim:111 -msgid "User accounts" -msgstr "" - -#: gui/layouts/page_larchify.uim:125 -msgid "Click on a row to select, click on a selected cell to edit" -msgstr "" - -#: gui/layouts/page_larchify.uim:132 -msgid "Add user" -msgstr "" - -#: gui/layouts/page_larchify.uim:133 -msgid "Create a new user-name" -msgstr "" - -#: gui/layouts/page_larchify.uim:138 -msgid "Delete user" -msgstr "" - -#: gui/layouts/page_larchify.uim:139 -msgid "Remove the selected user-name" -msgstr "" - -#: gui/layouts/page_larchify.uim:144 -msgid "Root password:" -msgstr "" - -#: gui/layouts/page_larchify.uim:149 -msgid "The unencrypted root password for the live system" -msgstr "" - -#: gui/layouts/page_larchify.uim:154 -msgid "Enter a new password for the 'root' user" -msgstr "" - -#: gui/layouts/page_larchify.uim:163 -msgid "Renaming failed, see log" -msgstr "" - -#: gui/layouts/page_larchify.uim:164 -msgid "Couldn't adjust user definition" -msgstr "" - -#: gui/layouts/page_larchify.uim:165 -msgid "Default (/etc/skel)" -msgstr "" - -#: gui/layouts/page_larchify.uim:166 -msgid "" -"This folder will be copied\n" -"to build the user's home folder:" -msgstr "" - -#: gui/layouts/page_larchify.uim:168 -msgid "Choose 'skel' Folder" -msgstr "" - -#: gui/layouts/page_larchify.uim:169 -msgid "Enter login-name for new user:" -msgstr "" - -#: gui/layouts/page_larchify.uim:170 -msgid "Enter root password for live system:" -msgstr "" - -#: gui/layouts/page_larchify.uim:175 -msgid "Group" -msgstr "" - -#: gui/layouts/page_larchify.uim:175 -msgid "Password" -msgstr "" - -#: gui/layouts/page_larchify.uim:175 -msgid "User-Name" -msgstr "" - -#: gui/layouts/page_larchify.uim:176 -msgid "'skel' directory" -msgstr "" - -#: gui/layouts/page_larchify.uim:177 -msgid "Additional Groups" -msgstr "" - -#: gui/layouts/page_larchify.uim:177 -msgid "Expert options" -msgstr "" - -#: gui/layouts/page_main.uim:51 -msgid "Live Arch Linux Construction Kit" -msgstr "" - -#: gui/layouts/page_main.uim:55 -msgid "View Log" -msgstr "" - -#: gui/layouts/page_main.uim:56 -msgid "This button switches to the log viewer" -msgstr "" - -#: gui/layouts/page_main.uim:61 -msgid "Help" -msgstr "" - -#: gui/layouts/page_main.uim:62 -msgid "This button switches to the documentation viewer" -msgstr "" - -#: gui/layouts/page_main.uim:67 -msgid "Quit" -msgstr "" - -#: gui/layouts/page_main.uim:68 -msgid "Stop the current action and quit the program" -msgstr "" - -#: gui/layouts/page_main.uim:84 -msgid "Project Settings" -msgstr "" - -#: gui/layouts/page_main.uim:85 -msgid "Installation" -msgstr "" - -#: gui/layouts/page_main.uim:87 -msgid "Medium Profile" -msgstr "" - -#: gui/layouts/page_main.uim:88 -msgid "Make Medium" -msgstr "" - -#: gui/layouts/page_main.uim:96 -msgid "Authentication failure" -msgstr "" - -#: gui/layouts/page_main.uim:97 -msgid "Enter the password to run as administrator:" -msgstr "" - -#: gui/layouts/page_medium.uim:42 -msgid "Select larch source" -msgstr "" - -#: gui/layouts/page_medium.uim:52 -msgid "larchified system" -msgstr "" - -#: gui/layouts/page_medium.uim:53 -msgid "Use the system prepared within the larch build directory" -msgstr "" - -#: gui/layouts/page_medium.uim:59 -msgid "Device" -msgstr "" - -#: gui/layouts/page_medium.uim:60 -msgid "Use a system on a mountable device" -msgstr "" - -#: gui/layouts/page_medium.uim:65 -msgid "'iso' file" -msgstr "" - -#: gui/layouts/page_medium.uim:66 -msgid "Use a system on an 'iso' file" -msgstr "" - -#: gui/layouts/page_medium.uim:71 -msgid "Path" -msgstr "" - -#: gui/layouts/page_medium.uim:72 -msgid "Use a directory within the filesystem" -msgstr "" - -#: gui/layouts/page_medium.uim:78 -msgid "The location from where the larch system will be fetched" -msgstr "" - -#: gui/layouts/page_medium.uim:83 gui/layouts/page_medium.uim:114 -msgid "Choose" -msgstr "" - -#: gui/layouts/page_medium.uim:84 -msgid "Select the source location" -msgstr "" - -#: gui/layouts/page_medium.uim:91 -msgid "Write to partition" -msgstr "" - -#: gui/layouts/page_medium.uim:92 -msgid "Don't create an 'iso' (CD/DVD), write the larch system to a partition (e.g. USB-stick)" -msgstr "" - -#: gui/layouts/page_medium.uim:104 -msgid "Partition:" -msgstr "" - -#: gui/layouts/page_medium.uim:109 -msgid "The partition to which the larch system is to be installed" -msgstr "" - -#: gui/layouts/page_medium.uim:115 -msgid "Select the partition to receive the larch system" -msgstr "" - -#: gui/layouts/page_medium.uim:120 -msgid "Don't format" -msgstr "" - -#: gui/layouts/page_medium.uim:121 -msgid "" -"Copy the data to the partition without formatting first\n" -"(not the normal procedure, NOT RECOMMENDED!)" -msgstr "" - -#: gui/layouts/page_medium.uim:127 -msgid "Don't install the bootloader" -msgstr "" - -#: gui/layouts/page_medium.uim:128 -msgid "" -"The bootloader will not be installed, leaving the mbr untouched\n" -"(you'll need to provide some other means of booting)" -msgstr "" - -#: gui/layouts/page_medium.uim:135 -msgid "Not bootable via search" -msgstr "" - -#: gui/layouts/page_medium.uim:136 -msgid "" -"Don't create the file 'larch/larchboot':\n" -" the medium will only be bootable by uuid, label or partition name" -msgstr "" - -#: gui/layouts/page_medium.uim:143 -msgid "Enable session-saving" -msgstr "" - -#: gui/layouts/page_medium.uim:144 -msgid "Can override profile's 'larch/nosave' file, to make session-saving possible in that case too" -msgstr "" - -#: gui/layouts/page_medium.uim:153 -msgid "Medium Detection" -msgstr "" - -#: gui/layouts/page_medium.uim:154 -msgid "Choose how the boot scripts determine where to look for the larch system (ONLY ON PARTITIONED MEDIA)" -msgstr "" - -#: gui/layouts/page_medium.uim:161 -msgid "UUID" -msgstr "" - -#: gui/layouts/page_medium.uim:162 -msgid "Use the partition's UUID to find it" -msgstr "" - -#: gui/layouts/page_medium.uim:167 -msgid "LABEL" -msgstr "" - -#: gui/layouts/page_medium.uim:168 -msgid "Use the partition's label to find it" -msgstr "" - -#: gui/layouts/page_medium.uim:173 -msgid "Partition" -msgstr "" - -#: gui/layouts/page_medium.uim:174 -msgid "Use the partition's name (/dev/sdb1, etc.) to find it" -msgstr "" - -#: gui/layouts/page_medium.uim:179 -msgid "Search (for larchboot)" -msgstr "" - -#: gui/layouts/page_medium.uim:180 -msgid "Test all CD/DVD devices and partitions until the file 'larch/larchboot' is found" -msgstr "" - -#: gui/layouts/page_medium.uim:190 -msgid "Volume Label:" -msgstr "" - -#: gui/layouts/page_medium.uim:195 -msgid "The length may not exceed 16 bytes, 11 for vfat(syslinux)" -msgstr "" - -#: gui/layouts/page_medium.uim:201 -msgid "Enter a new label for the volume, empty to use default" -msgstr "" - -#: gui/layouts/page_medium.uim:209 -msgid "Bootloader" -msgstr "" - -#: gui/layouts/page_medium.uim:210 -msgid "You can choose between GRUB and syslinux/isolinux as bootloader" -msgstr "" - -#: gui/layouts/page_medium.uim:218 -msgid "Use GRUB as bootloader" -msgstr "" - -#: gui/layouts/page_medium.uim:224 -msgid "Use syslinux (partition) or isolinux (CD/DVD) as bootloader" -msgstr "" - -#: gui/layouts/page_medium.uim:232 -msgid "Use chroot" -msgstr "" - -#: gui/layouts/page_medium.uim:233 -msgid "" -"Use the larch installation for the build process\n" -" - the default should be alright in most cases" -msgstr "" - -#: gui/layouts/page_medium.uim:240 -msgid "Create boot iso" -msgstr "" - -#: gui/layouts/page_medium.uim:241 -msgid "Create a small boot iso for this device (for machines that can't boot from USB)" -msgstr "" - -#: gui/layouts/page_medium.uim:247 -msgid "Write the larch medium" -msgstr "" - -#: gui/layouts/page_medium.uim:248 -msgid "The larch image will be written to the 'iso' file or to the partition, as selected" -msgstr "" - -#: gui/layouts/page_medium.uim:256 -msgid "Select source medium folder" -msgstr "" - -#: gui/layouts/page_medium.uim:257 -msgid "Select source iso file" -msgstr "" - -#: gui/layouts/page_medium.uim:258 -msgid "larch iso images" -msgstr "" - -#: gui/layouts/page_medium.uim:259 -msgid "Select unmounted partition" -msgstr "" - -#: gui/layouts/page_medium.uim:260 -msgid "larch system source:" -msgstr "" - -#: gui/layouts/page_medium.uim:261 -msgid "" -"Device to receive larch system.\n" -"WARNING: Be very careful in choosing here,\n" -"if you choose the wrong one you might\n" -"seriously damage your system!" -msgstr "" - -#: gui/layouts/page_medium.uim:265 -msgid "Invalid larch medium folder: %s" -msgstr "" - -#: gui/layouts/page_medium.uim:266 -msgid "Volume label (clear to use default):" -msgstr "" - -#: gui/layouts/page_medium.uim:267 -msgid "Save 'iso' to ..." -msgstr "" - -#: gui/layouts/page_mediumprofile.uim:40 -msgid "Edit boot entries" -msgstr "" - -#: gui/layouts/page_mediumprofile.uim:41 -msgid "Edit the file determining the boot entries" -msgstr "" - -#: gui/layouts/page_mediumprofile.uim:46 -msgid "Edit grub template" -msgstr "" - -#: gui/layouts/page_mediumprofile.uim:47 -msgid "Edit grub's configuration file, but not the larch boot entries" -msgstr "" - -#: gui/layouts/page_mediumprofile.uim:53 -msgid "Edit syslinux/isolinux template" -msgstr "" - -#: gui/layouts/page_mediumprofile.uim:54 -msgid "Edit the syslinux/isolinux configuration file, but not the larch boot entries" -msgstr "" - -#: gui/layouts/page_mediumprofile.uim:60 -msgid "Edit cd-root (open in file browser)" -msgstr "" - -#: gui/layouts/page_mediumprofile.uim:61 -msgid "Open a file browser on the profile's 'cd-root' folder" -msgstr "" - -#: gui/layouts/page_mediumprofile.uim:83 -msgid "Disable session saving" -msgstr "" - -#: gui/layouts/page_mediumprofile.uim:84 -msgid "" -"If checked, the medium will have the file 'larch/nosave',\n" -"which only has an effect on writable media." -msgstr "" - -#: gui/layouts/page_project.uim:37 -msgid "Profile" -msgstr "" - -#: gui/layouts/page_project.uim:48 -msgid "Select:" -msgstr "" - -#: gui/layouts/page_project.uim:54 -msgid "Choose a profile from those already in your larch working folder" -msgstr "" - -#: gui/layouts/page_project.uim:60 -msgid "Browse for Profile" -msgstr "" - -#: gui/layouts/page_project.uim:61 -msgid "Fetch a profile from the file-system" -msgstr "" - -#: gui/layouts/page_project.uim:66 -msgid "Rename" -msgstr "" - -#: gui/layouts/page_project.uim:67 -msgid "Rename the current profile" -msgstr "" - -#: gui/layouts/page_project.uim:72 gui/layouts/page_project.uim:126 -msgid "Delete" -msgstr "" - -#: gui/layouts/page_project.uim:73 -msgid "Delete an unused profile" -msgstr "" - -#: gui/layouts/page_project.uim:78 -msgid "Copy to ..." -msgstr "" - -#: gui/layouts/page_project.uim:79 -msgid "Copy the current profile to somehere else" -msgstr "" - -#: gui/layouts/page_project.uim:86 -msgid "Advanced Project Options" -msgstr "" - -#: gui/layouts/page_project.uim:110 -msgid "Choose Existing Project:" -msgstr "" - -#: gui/layouts/page_project.uim:114 -msgid "Choose a project from those already defined" -msgstr "" - -#: gui/layouts/page_project.uim:120 -msgid "New Project" -msgstr "" - -#: gui/layouts/page_project.uim:121 -msgid "Create a new project" -msgstr "" - -#: gui/layouts/page_project.uim:127 -msgid "Delete a project" -msgstr "" - -#: gui/layouts/page_project.uim:132 -msgid "Installation Path" -msgstr "" - -#: gui/layouts/page_project.uim:140 -msgid "The root directory of the Arch installation to larchify" -msgstr "" - -#: gui/layouts/page_project.uim:146 -msgid "Change the root directory of the Arch installation" -msgstr "" - -#: gui/layouts/page_project.uim:153 -msgid "Select profile source folder" -msgstr "" - -#: gui/layouts/page_project.uim:154 -msgid "Destination profile exists - replace it?" -msgstr "" - -#: gui/layouts/page_project.uim:155 -msgid "Enter new name for current profile:" -msgstr "" - -#: gui/layouts/page_project.uim:156 -msgid "Profile '%s' exists already" -msgstr "" - -#: gui/layouts/page_project.uim:157 -msgid "Can't rename the profile, it is in use by other projects" -msgstr "" - -#: gui/layouts/page_project.uim:159 -msgid "Save profile folder" -msgstr "" - -#: gui/layouts/page_project.uim:160 -msgid "Destination exists - replace it?" -msgstr "" - -#: gui/layouts/page_project.uim:161 -msgid "Select the profile for deletion" -msgstr "" - -#: gui/layouts/page_project.uim:162 -msgid "Remove Profile" -msgstr "" - -#: gui/layouts/page_project.uim:163 -msgid "There are no profiles which can be deleted - all are in use" -msgstr "" - -#: gui/layouts/page_project.uim:165 -msgid "Couldn't delete profile '%s' - check permissions" -msgstr "" - -#: gui/layouts/page_project.uim:167 -msgid "" -"An empty path here will reset to the default.\n" -" WARNING: Double check your path -\n" -" If you make a mistake here it could destroy your system!\n" -"\n" -"Enter new installation path:" -msgstr "" - -#: gui/layouts/page_project.uim:171 -msgid "Enter name for new project:" -msgstr "" - -#: gui/layouts/page_project.uim:172 -msgid "Project '%s' already exists" -msgstr "" - -#: gui/layouts/page_project.uim:173 -msgid "Select the project for deletion" -msgstr "" - -#: gui/layouts/page_project.uim:174 -msgid "Remove Project" -msgstr "" - -#: gui/layouts/page_project.uim:175 -msgid "There are no projects which can be deleted" -msgstr "" - -#: gui/layouts/page_project.uim:176 -msgid "'%s' is not a profile folder" -msgstr "" - -#: gui/layouts/page_project.uim:177 -msgid "The path '%s' is already in use, not saving" -msgstr "" - -#: gui/layouts/progress.uim:38 -msgid "Processing ..." -msgstr "" - -#: gui/layouts/progress.uim:49 -msgid "An indication of the progress of the current operation, if possible" -msgstr "" - -#: gui/layouts/progress.uim:55 -msgid "Stop the current action" -msgstr "" - -#: gui/layouts/progress.uim:60 -msgid "Done" -msgstr "" - -#: gui/project.py:187 -msgid "Working Profiles" -msgstr "" - -#: gui/project.py:188 -msgid "Examples" -msgstr "" - -#: gui/project.py:189 -msgid "File-system" -msgstr "" - diff --git a/build_tools/l7/larch0/i18n/zh/LC_MESSAGES/larch.mo b/build_tools/l7/larch0/i18n/zh/LC_MESSAGES/larch.mo Binary files differdeleted file mode 100644 index a758d63..0000000 --- a/build_tools/l7/larch0/i18n/zh/LC_MESSAGES/larch.mo +++ /dev/null diff --git a/build_tools/l7/larch0/i18n/zh/LC_MESSAGES/zh.po b/build_tools/l7/larch0/i18n/zh/LC_MESSAGES/zh.po deleted file mode 100644 index 0370299..0000000 --- a/build_tools/l7/larch0/i18n/zh/LC_MESSAGES/zh.po +++ /dev/null @@ -1,1231 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: larch\n" -"POT-Creation-Date: 2010-03-07 20:42+CET\n" -"PO-Revision-Date: 2010-03-09 01:22+0800\n" -"Last-Translator: Dong-Jun Wu <ziyawu@gmail.com>\n" -"Language-Team: Chinese Traditional <zh-l10n@linux.org.tw>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Language: Chinese (Traditional)\n" -"X-Poedit-Country: TAIWAN\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: larch.py:204 -msgid "Please enter root password" -msgstr "請輸入 root 密碼" - -#: larch.py:216 -msgid "Incorrect root password" -msgstr "root 密碼不正確" - -#: larch.py:219 -msgid "No root password, cancelling operation" -msgstr "沒有 root 密碼,正在取消操作" - -#: larch.py:235 -msgid "Supershell couldn't be started" -msgstr "無法啟動 Supershell" - -#: larch.py:322 -msgid "Enter '%s' application ('$' for path argument):" -msgstr "輸入「%s」應用程式 (路徑參數「$」):" - -#: larch.py:430 -msgid "Editing '%s'" -msgstr "正在編輯「%s」" - -#: larch.py:464 -msgid "Platform error, installed system is %s" -msgstr "平台錯誤,已安裝的系統為 %s" - -#: larch.py:469 -msgid "No installed system found" -msgstr "沒有找到已安裝的系統" - -#: larch.py:519 -msgid "Couldn't read file '%s'" -msgstr "無法讀取檔案「%s」" - -#: larch.py:528 -msgid "Couldn't save file '%s'" -msgstr "無法儲存檔案「%s」" - -#: larch.py:532 -msgid "CONFIG ERROR" -msgstr "組態設定錯誤" - -#: larch.py:536 -msgid "BUILD ERROR" -msgstr "建構錯誤" - -#: larch.py:540 -msgid "FATAL ERROR" -msgstr "嚴重錯誤" - -#: larch.py:548 -msgid "This error could not be handled" -msgstr "無法處理這個錯誤" - -#: larch.py:624 -msgid "" -" Please see '%s/%s'\n" -" for usage information.\n" -msgstr "" -" 請看「%s/%s」\n" -" 獲得使用方法資訊。\n" - -#: larch.py:642 -msgid "ERROR: Unsupported option - '%s'\n" -msgstr "錯誤:不支援的操作 -「%s」\n" - -#: larch.py:643 -msgid "Start without arguments or with '--pyqt' to start pyqt gui.\n" -msgstr "不使用參數啟動或用「--pyqt」啟動 pyqt 圖形介面。\n" - -#: larch.py:644 -msgid "The command line interface is started with '-c':\n" -msgstr "用「-c」啟動為命令列介面:\n" - -#: modules/base.py:89 -msgid "No pacman executable found" -msgstr "沒有找到 pacman 可執行檔" - -#: modules/base.py:117 -msgid "Unknown platform: '%s'" -msgstr "未知的平台:「%s」" - -#: modules/base.py:156 -msgid "Unknown configuration option: %s\n" -msgstr "未知的組態設定選項:%s\n" - -#: modules/base.py:216 -msgid "No name for new profile" -msgstr "新描述檔沒有名稱" - -#: modules/base.py:220 -msgid "Profile '%s' already exists" -msgstr "描述檔「%s」已存在" - -#: modules/base.py:234 -msgid "Profile '%s' exists already." -msgstr "描述檔「%s」已存在。" - -#: modules/build.py:58 -msgid "" -"Building a larch live medium from the running system is\n" -"an error prone process. Changes to the running system\n" -"made while running this function may be only partially\n" -"incorporated into the compressed system images.\n" -"\n" -"Do you wish to continue?" -msgstr "" -"從執行中的系統建構 larch 即時媒體是一個容易出錯的過\n" -"程。變為執行中的系統會造成執行這項功能時可能只有\n" -"部份被納入壓縮的系統映像檔。\n" -"\n" -"您想要繼續嗎?" - -#: modules/build.py:112 -msgid "Squashing system.sqf failed" -msgstr "擠壓 system.sqf 失敗" - -#: modules/build.py:184 -msgid "Squashing mods.sqf failed" -msgstr "擠壓 mods.sqf 失敗" - -#: modules/build.py:203 -msgid "No squashfs module found\n" -msgstr "沒有找到 squashfs 模組\n" - -#: modules/build.py:213 -msgid "No aufs or unionfs module found\n" -msgstr "沒有找到 aufs 或 unionfs 模組\n" - -#: modules/build.py:217 -msgid "Package '%s' is needed by larch systems\n" -msgstr "larch 系統需要套件「%s」\n" - -#: modules/build.py:220 -msgid "" -"Without package 'syslinux' you will not be able\n" -"to create syslinux or isolinux booting media\n" -msgstr "" -"沒有套件「syslinux」您會無法建\n" -"立 syslinux 或 isolinux 開機媒體\n" - -#: modules/build.py:224 -msgid "" -"Without package 'cdrkit' (or 'cdrtools') you will\n" -"not be able to create CD/DVD media\n" -msgstr "" -"沒有套件「cdrkit」(或「cdrtools」) 您會\n" -"無法建立 CD/DVD 媒體\n" - -#: modules/build.py:228 -msgid "" -"Without package 'eject' you will have problems\n" -"using CD/DVD media\n" -msgstr "" -"沒有「eject」套件您使用 CD/DVD 時\n" -"會發生問題\n" - -#: modules/build.py:232 -msgid "" -"WARNING:\n" -"%s\n" -" Continue building?" -msgstr "" -"警告:\n" -"%s\n" -" 要繼續建構嗎?" - -#: modules/build.py:238 -msgid "" -"ERROR:\n" -"%s" -msgstr "" -"錯誤:\n" -"%s" - -#: modules/build.py:265 -msgid "" -"Problem running %s:\n" -" %s" -msgstr "" -"執行 %s 發生問題:\n" -" %s" - -#: modules/build.py:270 -msgid "" -"More than one kernel found:\n" -" %s" -msgstr "" -"找到多個內核:\n" -" %s" - -#: modules/build.py:274 -msgid "No kernel found" -msgstr "沒有找到內核" - -#: modules/build.py:282 -msgid "More than one set of kernel modules in %s" -msgstr "在 %s 裡有多組內核模組" - -#: modules/build.py:308 -msgid "" -"WARNING:\n" -" You seem to have installed a package containing modules\n" -"which aren't compatible with your kernel (see log).\n" -"Please check that this won't cause problems.\n" -"Maybe you need the corresponding package for your kernel?\n" -"\n" -" Continue building?" -msgstr "" -"警告:\n" -" 您似乎安裝了一個含有與您的內核不相容模組的套件\n" -"(詳見日誌)。請確認這樣不會造成任何問題。\n" -"或許您需要和您的內核對應的套件?\n" -"\n" -" 要續續建構嗎?" - -#: modules/build.py:317 -msgid "Couldn't find kernel modules" -msgstr "無法找到內核模組" - -#: modules/build.py:337 -msgid "Couldn't find usable mkinitcpio preset: %s" -msgstr "無法找到可用的 mkinitcpio 預設:%s" - -#: modules/buildpage.py:47 -msgid "The system to be compressed must be installed and ready." -msgstr "要壓縮系統必須已安裝並準備完畢。" - -#: modules/buildpage.py:48 -msgid "Edit supported locales" -msgstr "編輯支援的語系" - -#: modules/buildpage.py:49 -msgid "Edit the /etc/locale.gen file to select supported glibc locales" -msgstr "編輯 /etc/locale.gen 檔來選擇支援的 glibc 語系" - -#: modules/buildpage.py:50 -msgid "Edit Arch configuration file (/etc/rc.conf)" -msgstr "編輯 Arch 組態設定檔 (/etc/rc.conf)" - -#: modules/buildpage.py:51 -msgid "Edit the /etc/rc.conf file to configure the live system" -msgstr "編輯 /etc/rc.conf 檔案來設定即時系統" - -#: modules/buildpage.py:53 -#: modules/installpage.py:60 -#: modules/projectpage.py:68 -msgid "Advanced Options" -msgstr "進階選項" - -#: modules/buildpage.py:54 -msgid "Edit mkinitcpio.conf" -msgstr "編輯 mkinitcpio.conf" - -#: modules/buildpage.py:55 -msgid "Edit the configuration file for generating the initramfs via mkinitcpio" -msgstr "編輯組態設定檔以透過 mkinitcpio 生成 initramfs" - -#: modules/buildpage.py:56 -msgid "Edit overlay (open in file browser)" -msgstr "編輯 overlay (用檔案瀏覽程式開啟)" - -#: modules/buildpage.py:57 -msgid "Open a file browser on the profile's 'rootoverlay'" -msgstr "用檔案瀏覽程式開啟描述檔的「rootoverlay」" - -#: modules/buildpage.py:58 -msgid "Generate ssh keys" -msgstr "生成 ssh 鑰匙" - -#: modules/buildpage.py:59 -msgid "Enables pre-generation of ssh keys" -msgstr "啟用預先生成 ssh 鑰匙" - -#: modules/buildpage.py:60 -msgid "Reuse existing system.sqf" -msgstr "重複使用現有的 system.sqf" - -#: modules/buildpage.py:61 -msgid "Reuse existing system.sqf, to save time if the base system hasn't changed" -msgstr "重複使用現有的 system.sqf,如果系統沒有變更則儲存時間" - -#: modules/buildpage.py:62 -#: modules/gui.py:65 -msgid "Larchify" -msgstr "Larchify" - -#: modules/buildpage.py:63 -msgid "Build the main components of the larch system" -msgstr "建構 larch 系統的主要組成元件" - -#: modules/buildpage.py:81 -msgid "No Arch installation at %s" -msgstr "沒有 Arch 安裝於 %s" - -#: modules/console.py:91 -msgid "Information" -msgstr "資訊" - -#: modules/console.py:94 -msgid "Press <Enter> to continue" -msgstr "請按 <Enter> 繼續" - -#: modules/console.py:100 -msgid "Confirmation" -msgstr "確認" - -#: modules/console.py:105 -#: modules/console.py:204 -msgid "Yes" -msgstr "是" - -#: modules/console.py:105 -#: modules/console.py:205 -msgid "No" -msgstr "否" - -#: modules/console.py:113 -msgid "Input Required" -msgstr "需要輸入" - -#: modules/console.py:135 -msgid "ERROR" -msgstr "錯誤" - -#: modules/console.py:148 -msgid "Unknown command: %s" -msgstr "未知的指令:%s" - -#: modules/console.py:206 -msgid "Project Name:" -msgstr "專案名稱:" - -#: modules/console.py:207 -msgid "Profile:" -msgstr "描述檔:" - -#: modules/console.py:208 -#: modules/projectpage.py:79 -msgid "Installation Path:" -msgstr "安裝路徑:" - -#: modules/console.py:209 -msgid "Working Directory:" -msgstr "工作目錄:" - -#: modules/console.py:210 -msgid "Platform:" -msgstr "平台:" - -#: modules/console.py:211 -msgid "Installation Mirror:" -msgstr "安裝鏡像:" - -#: modules/console.py:212 -msgid "--- use mirror:" -msgstr "--- 使用鏡像:" - -#: modules/console.py:213 -msgid "Use Project Mirrorlist:" -msgstr "使用專案鏡像清單:" - -#: modules/console.py:214 -msgid "Bootloader:" -msgstr "開機管理程式:" - -#: modules/console.py:215 -msgid "Medium Detection:" -msgstr "偵測媒體:" - -#: modules/console.py:216 -msgid "Medium Label:" -msgstr "媒體標籤:" - -#: modules/console.py:217 -msgid "iso 'application ID':" -msgstr "iso '應用程式 ID':" - -#: modules/console.py:218 -msgid "iso 'publisher':" -msgstr "iso '發行人':" - -#: modules/console.py:219 -#: modules/installpage.py:75 -msgid "Package Cache:" -msgstr "套件快取:" - -#: modules/console.py:222 -msgid "Projects:\n" -msgstr "專案:\n" - -#: modules/console.py:227 -msgid "Profiles (in %s):\n" -msgstr "描述檔 (在 %s 中):\n" - -#: modules/console.py:232 -msgid "Example Profiles (in %s):\n" -msgstr "範例描述檔 (在 %s 中):\n" - -#: modules/console.py:237 -msgid "Available Partitions:\n" -msgstr "可用的分割區:\n" - -#: modules/console.py:247 -#: modules/console.py:256 -msgid "Unknown project name: '%s'" -msgstr "未知的專案名稱:「%s」" - -#: modules/console.py:264 -#: modules/console.py:276 -msgid "Unknown profile name: '%s'" -msgstr "未知的描述檔名稱:「%s」" - -#: modules/console.py:288 -msgid "Available platforms: %s" -msgstr "可用的平台:%s" - -#: modules/console.py:314 -msgid "Invalid bootloader: %s" -msgstr "無效的開機管理程式:%s" - -#: modules/gui.py:49 -msgid "<em>larch</em> Live Arch Linux Construction Kit" -msgstr "<em>larch</em> Live Arch Linux 建構工具組" - -#: modules/gui.py:50 -msgid "View Log" -msgstr "檢視日誌" - -#: modules/gui.py:51 -msgid "This button switches to the log viewer" -msgstr "這個按鈕可切換到日誌檢視器" - -#: modules/gui.py:52 -msgid "Help" -msgstr "說明" - -#: modules/gui.py:53 -msgid "This button switches to the documentation viewer" -msgstr "這個按鈕可切換到文件檢視器" - -#: modules/gui.py:54 -msgid "Quit" -msgstr "離開" - -#: modules/gui.py:55 -msgid "Stop the current action and quit the program" -msgstr "停止目前的動作並離開程式" - -#: modules/gui.py:63 -msgid "Project Settings" -msgstr "專案設定值" - -#: modules/gui.py:64 -msgid "Installation" -msgstr "安裝" - -#: modules/gui.py:66 -msgid "Prepare Medium" -msgstr "準備媒體" - -#: modules/gui.py:67 -msgid "Installation Tweaks" -msgstr "安裝微調" - -#: modules/gui.py:113 -msgid "Processing ..." -msgstr "正在處理..." - -#: modules/gui.py:114 -#: modules/gui.py:162 -msgid "Here you can follow the detailed, low-level progress of the commands." -msgstr "您可以在這裡追查底層指令進度的詳細資訊。" - -#: modules/gui.py:118 -msgid "An indication of the progress of the current operation, if possible" -msgstr "顯示目前操作的進度,如果可能的話" - -#: modules/gui.py:119 -#: modules/gui.py:254 -msgid "Cancel" -msgstr "取消" - -#: modules/gui.py:120 -msgid "Stop the current action" -msgstr "停止目前動作" - -#: modules/gui.py:121 -msgid "Done" -msgstr "完成" - -#: modules/gui.py:161 -msgid "Low-level Command Logging" -msgstr "底層指令日誌" - -#: modules/gui.py:165 -msgid "Clear" -msgstr "清除" - -#: modules/gui.py:166 -#: modules/gui.py:196 -msgid "Hide" -msgstr "隱藏" - -#: modules/gui.py:167 -#: modules/gui.py:197 -msgid "Go back to the larch controls" -msgstr "回到 larch 控制" - -#: modules/gui.py:194 -msgid "Documentation" -msgstr "文件" - -#: modules/gui.py:199 -msgid "Go back in the viewing history" -msgstr "在檢視歷史中向後" - -#: modules/gui.py:201 -msgid "Go forward in the viewing history" -msgstr "在檢視歷史中向前" - -#: modules/gui.py:203 -msgid "Reload the documentation for the current larch tab" -msgstr "重新載入目前 larch 分頁的文件" - -#: modules/gui.py:205 -msgid "Go to the general larch documentation index" -msgstr "前往一般 larch 文件索引" - -#: modules/gui.py:250 -msgid "Editor" -msgstr "編輯器" - -#: modules/gui.py:253 -msgid "OK" -msgstr "確定" - -#: modules/gui.py:255 -msgid "Revert" -msgstr "回復" - -#: modules/gui.py:256 -msgid "Restore the text to its initial state" -msgstr "將文字還原成初始狀態" - -#: modules/gui.py:257 -msgid "Copy" -msgstr "複製" - -#: modules/gui.py:258 -msgid "Cut" -msgstr "剪下" - -#: modules/gui.py:259 -msgid "Paste" -msgstr "貼上" - -#: modules/gui.py:260 -msgid "Undo" -msgstr "復原" - -#: modules/gui.py:261 -msgid "Redo" -msgstr "取消復原" - -#: modules/installation.py:111 -#: modules/installpage.py:136 -msgid "No 'mirrorlist' file found" -msgstr "沒有找到「mirrorlist」檔案" - -#: modules/installation.py:156 -msgid "Couldn't write to the installation path (%s)." -msgstr "無法寫入到安裝路徑 (%s)。" - -#: modules/installation.py:160 -msgid "The installation path (%s) is mounted 'nodev'." -msgstr "安裝路徑 (%s) 掛載為「nodev」。" - -#: modules/installation.py:168 -msgid "The installation path (%s) is mounted 'noexec'." -msgstr "安裝路徑 (%s) 掛載為「noexec」。" - -#: modules/installation.py:211 -msgid "Package installation failed" -msgstr "套件安裝失敗" - -#: modules/installation.py:256 -msgid "Couldn't synchronize pacman database (pacman -Sy)" -msgstr "無法同步 pacman 資料庫 (pacman -Sy)" - -#: modules/installpage.py:50 -msgid "Edit Profile" -msgstr "編輯描述檔" - -#: modules/installpage.py:51 -msgid "Edit 'addedpacks'" -msgstr "編輯「addedpacks」" - -#: modules/installpage.py:52 -msgid "Edit the list of packages to be installed" -msgstr "編輯要安裝的套件清單" - -#: modules/installpage.py:53 -msgid "Edit 'vetopacks'" -msgstr "編輯「vetopacks」" - -#: modules/installpage.py:54 -msgid "Edit the list of group member packages NOT to install" -msgstr "編輯不要安裝的群組成員套件清單" - -#: modules/installpage.py:55 -msgid "Edit pacman.conf options" -msgstr "編輯 pacman.conf 選項" - -#: modules/installpage.py:56 -msgid "Edit pacman.conf options - not the repositories" -msgstr "編輯 pacman.conf 選項 - 不是套件庫" - -#: modules/installpage.py:57 -msgid "Edit pacman.conf repositories" -msgstr "編輯 pacman.conf 套件庫" - -#: modules/installpage.py:58 -msgid "Edit the repository entries for pacman.conf" -msgstr "編輯 pacman.conf 的套件庫項目" - -#: modules/installpage.py:62 -msgid "Use project mirrorlist" -msgstr "使用專案鏡像點清單" - -#: modules/installpage.py:63 -msgid "Enables use of the mirrorlist file saved in the working directory, for installation only" -msgstr "啟用使用儲存在工作目錄的鏡像清單檔案,只在安裝時" - -#: modules/installpage.py:64 -msgid "Edit project mirrorlist" -msgstr "編輯專案鏡像清單" - -#: modules/installpage.py:65 -msgid "Edit mirrorlist in working directory" -msgstr "編輯在工作目錄中的鏡像清單" - -#: modules/installpage.py:67 -msgid "Use special mirror for installation" -msgstr "使用安裝專用鏡像" - -#: modules/installpage.py:68 -msgid "Allows a specific (e.g. local) mirror to be used just for the installation" -msgstr "給予只用來安裝的特定 (例如本機) 鏡像" - -#: modules/installpage.py:69 -msgid "URL:" -msgstr "網址:" - -#: modules/installpage.py:71 -msgid "The url of the installation mirror" -msgstr "安裝鏡像的網址" - -#: modules/installpage.py:72 -#: modules/installpage.py:78 -#: modules/mediumpage.py:75 -#: modules/mediumpage.py:81 -#: modules/mediumpage.py:106 -#: modules/projectpage.py:82 -msgid "Change" -msgstr "變更" - -#: modules/installpage.py:73 -msgid "Change the installation mirror path" -msgstr "變更安裝鏡像路徑" - -#: modules/installpage.py:77 -msgid "The path to the (host's) package cache" -msgstr "(主機的) 套件快取的路徑" - -#: modules/installpage.py:79 -msgid "Change the package cache path" -msgstr "變更套件快取路徑" - -#: modules/installpage.py:81 -msgid "Install" -msgstr "安裝" - -#: modules/installpage.py:82 -msgid "This will start the installation to the set path" -msgstr "這會開始安裝到設定的路徑" - -#: modules/installpage.py:120 -msgid "Editing pacman.conf options only" -msgstr "只編輯 pacman.conf 選項" - -#: modules/installpage.py:126 -msgid "Editing pacman.conf repositories only" -msgstr "只編輯 pacman.conf 套件庫" - -#: modules/installpage.py:138 -msgid "Editing mirrorlist: Uncomment ONE entry" -msgstr "編輯鏡像清單:將一個項目取消註解" - -#: modules/installpage.py:154 -msgid "Enter new local mirror path:" -msgstr "輸入新本機鏡像路徑:" - -#: modules/installpage.py:160 -msgid "You must specify a URL, with protocol, e.g. 'file:///a/b/c'" -msgstr "您必須指定一個網址,使用如「file:///a/b/c」的協定" - -#: modules/installpage.py:174 -msgid "Enter new package cache path:" -msgstr "輸入新套件快取路徑:" - -#: modules/medium.py:82 -msgid "Can't boot to label - no label supplied" -msgstr "無法開機到標籤 - 沒有提供標籤" - -#: modules/medium.py:208 -msgid "Couldn't format %s" -msgstr "無法格式化 %s" - -#: modules/medium.py:265 -msgid "GRUB is at present only supported on extN" -msgstr "GRUB 預設只支援 extN" - -#: modules/medium.py:271 -msgid "syslinux is only supported on vfat" -msgstr "syslinux 只支援 vfat" - -#: modules/medium.py:287 -#: modules/medium.py:320 -msgid "Couldn't mount larch partition, %s" -msgstr "無法掛載 larch 分割區,%s。" - -#: modules/medium.py:341 -msgid "'syslinux' must be installed." -msgstr "必須安裝「syslinux」。" - -#: modules/medium.py:345 -msgid "Device has neither a /boot nor a /syslinux directory" -msgstr "裝置既沒有 /boot 也沒有 /syslinux 目錄" - -#: modules/medium.py:359 -msgid "" -"%s not found -\n" -" 'syslinux' must be installed on live system" -msgstr "" -"沒有找到 %s -\n" -" 「syslinux」必須安裝在即時系統上" - -#: modules/medium.py:375 -msgid "Your larch iso, %s, was successfully created" -msgstr "您的 larch iso,%s,已建立成功" - -#: modules/mediumpage.py:67 -msgid "Partition (disk / USB-stick)" -msgstr "分割區 (磁碟 / USB 隨身碟)" - -#: modules/mediumpage.py:69 -msgid "You can choose installation to iso (for CD/DVD) or a partition (e.g. USB-stick)" -msgstr "您可以選擇安裝到 iso (CD/DVD) 或一個分割區 (例如 USB 隨身碟)" - -#: modules/mediumpage.py:72 -msgid "Application ID:" -msgstr "應用程式 ID:" - -#: modules/mediumpage.py:74 -msgid "The text passed to mkisofs with the -A option" -msgstr "用 -A 選項將這些文字傳到 mkisofs" - -#: modules/mediumpage.py:76 -msgid "Change the application ID of the iso" -msgstr "變更此 iso 的應用程式 ID" - -#: modules/mediumpage.py:78 -msgid "Publisher:" -msgstr "發行人:" - -#: modules/mediumpage.py:80 -msgid "The text passed to mkisofs with the -publisher option" -msgstr "用 -publisher 選項將這些文字傳到 mkisofs" - -#: modules/mediumpage.py:82 -msgid "Change the publisher data of the iso" -msgstr "變更此 iso 的發行人資料" - -#: modules/mediumpage.py:84 -msgid "Partition:" -msgstr "分割區" - -#: modules/mediumpage.py:86 -msgid "The partition to which the larch system is to be installed" -msgstr "要安裝 larch 系統的分割區" - -#: modules/mediumpage.py:87 -msgid "Choose" -msgstr "選擇" - -#: modules/mediumpage.py:88 -msgid "Select the partition to receive the larch system" -msgstr "選擇要接收 larch 系統的分割區" - -#: modules/mediumpage.py:89 -msgid "Don't format" -msgstr "不要格式化" - -#: modules/mediumpage.py:90 -msgid "Copy the data to the partition without formatting first (not the normal procedure)" -msgstr "不先格式化直接複製資料到分割區 (非正常步驟)" - -#: modules/mediumpage.py:92 -msgid "Medium Detection" -msgstr "偵測媒體" - -#: modules/mediumpage.py:93 -msgid "Choose how the boot scripts determine where to look for the larch system" -msgstr "選擇開機腳本尋找 larch 系統位置的方式" - -#: modules/mediumpage.py:95 -msgid "Use the partition's UUID to find it" -msgstr "使用分割區的 UUID 來尋找它" - -#: modules/mediumpage.py:97 -msgid "Use the partition's label to find it" -msgstr "使用分割區的標籤來尋找它" - -#: modules/mediumpage.py:98 -msgid "Partition" -msgstr "分割區" - -#: modules/mediumpage.py:99 -msgid "Use the partition name (/dev/sdb1, etc.)" -msgstr "使用分割區名稱 (/dev/sdb1 等)" - -#: modules/mediumpage.py:100 -msgid "Search (for larchboot)" -msgstr "搜尋 (針對 larchboot)" - -#: modules/mediumpage.py:101 -msgid "Test all CD/DVD devices and partitions until the file larch/larchboot is found" -msgstr "測試所有 CD/DVD 裝置和分割區直到發現 larch/larchboot 檔案" - -#: modules/mediumpage.py:103 -msgid "Medium label:" -msgstr "媒體標籤:" - -#: modules/mediumpage.py:105 -msgid "The label that the partition will be given" -msgstr "給定此分割區的標籤" - -#: modules/mediumpage.py:107 -msgid "Change the label" -msgstr "變更此標籤" - -#: modules/mediumpage.py:109 -msgid "Enable session saving" -msgstr "啟用作業階段儲存" - -#: modules/mediumpage.py:110 -msgid "If checked, the medium will have the file 'larch/save'" -msgstr "如果勾選,此媒體會有「larch/save」檔案" - -#: modules/mediumpage.py:112 -msgid "Bootloader" -msgstr "開機管理程式" - -#: modules/mediumpage.py:113 -msgid "You can choose between GRUB and syslinux/isolinux as bootloader" -msgstr "您可以選擇 GRUB 或 syslinux/isolinux 作為開機管理程式" - -#: modules/mediumpage.py:115 -msgid "Use GRUB as bootloader" -msgstr "使用 GRUB 作為開機管理程式" - -#: modules/mediumpage.py:117 -msgid "Use syslinux (partition) or isolinux (CD/DVD) as bootloader" -msgstr "使用 syslinux (分割區) 或 isolinux (CD/DVD) 作為開機管理程式" - -#: modules/mediumpage.py:118 -#: modules/mediumpage.py:233 -msgid "None" -msgstr "無" - -#: modules/mediumpage.py:119 -msgid "Don't install a bootloader (you'll need to provide some means of booting)" -msgstr "不要安裝開機管理程式 (您需要提供開機的某種辦法)" - -#: modules/mediumpage.py:121 -msgid "Bootable via search" -msgstr "透過搜尋開機" - -#: modules/mediumpage.py:122 -msgid "Create the file larch/larchboot to mark the medium as a bootable larch system" -msgstr "建立檔案 larch/larchboot 來標記媒體作為可開機 larch 系統" - -#: modules/mediumpage.py:124 -msgid "Edit boot entries" -msgstr "編輯開機項目" - -#: modules/mediumpage.py:125 -msgid "Edit the file determining the boot entries" -msgstr "編輯用來決定開機項目的檔案" - -#: modules/mediumpage.py:126 -#: modules/mediumpage.py:127 -msgid "Edit grub template" -msgstr "編輯 grub 範本" - -#: modules/mediumpage.py:128 -#: modules/mediumpage.py:129 -msgid "Edit syslinux/isolinux template" -msgstr "編輯 syslinux/isolinux 範本" - -#: modules/mediumpage.py:131 -msgid "Create boot iso" -msgstr "建立開機 iso" - -#: modules/mediumpage.py:132 -msgid "Create a small boot iso for this system (for machines that can't boot from USB)" -msgstr "建立這個系統的小開機 iso (針對無法從 USB 開機的電腦)" - -#: modules/mediumpage.py:133 -msgid "Create larch medium" -msgstr "建立 larch 媒體" - -#: modules/mediumpage.py:134 -msgid "Create the larch iso or set up the chosen partition" -msgstr "建立 larch iso 或安裝選擇的分割區" - -#: modules/mediumpage.py:136 -msgid "" -"Edit cd-root\n" -"(open in file browser)" -msgstr "" -"編輯 cd-root\n" -"(用檔案瀏覽程式開啟)" - -#: modules/mediumpage.py:137 -msgid "Open a file browser on the profile's 'cd-root' folder" -msgstr "用檔案瀏覽程式開啟描述檔的「cd-root」資料夾" - -#: modules/mediumpage.py:163 -msgid "Choose Partition" -msgstr "選擇分割區" - -#: modules/mediumpage.py:165 -msgid "" -"BE CAREFUL - if you select the wrong\n" -" partition you might well destroy your system!\n" -"\n" -"Select the partition to receive the larch system:" -msgstr "" -"請小心 - 如果您選擇錯誤的分割區\n" -" 可能會摧毀您的系統!!\n" -"\n" -"選擇要接收 larch 系統的分割區:" - -#: modules/mediumpage.py:253 -msgid "Editing larch boot entries" -msgstr "編輯 larch 開機項目" - -#: modules/mediumpage.py:264 -msgid "Editing grub template" -msgstr "編輯 grub 範本" - -#: modules/mediumpage.py:276 -msgid "Editing syslinux/isolinux template" -msgstr "編輯 syslinux/isolinux 範本" - -#: modules/mediumpage.py:281 -msgid "Enter new label for the boot medium:" -msgstr "輸入開機媒體的新標籤:" - -#: modules/mediumpage.py:295 -msgid "Enter new application ID for the boot iso:" -msgstr "輸入開機 iso 的新應用程式 ID:" - -#: modules/mediumpage.py:309 -msgid "Enter new publisher for the boot iso:" -msgstr "輸入開機 iso 的新發行人:" - -#: modules/mediumpage.py:366 -msgid "No partition selected for larch" -msgstr "沒有選擇分割區給 larch" - -#: modules/mediumpage.py:389 -msgid "" -"The partition containing the larch live system\n" -"must be specifed." -msgstr "必須指定含有 larch 即時系統的分割區。" - -#: modules/projectpage.py:50 -msgid "Profile" -msgstr "描述檔" - -#: modules/projectpage.py:52 -msgid "Choose Existing Profile:" -msgstr "選擇現有的描述檔:" - -#: modules/projectpage.py:54 -msgid "New Profile:" -msgstr "新描述檔:" - -#: modules/projectpage.py:56 -msgid "Choose a profile from those already in your larch working folder" -msgstr "從已在您的 larch 工作資料夾的那些描述檔中選擇一個" - -#: modules/projectpage.py:57 -msgid "Browse for Profile" -msgstr "瀏覽描述檔" - -#: modules/projectpage.py:58 -msgid "Fetch a profile from the file-system" -msgstr "從檔案系統取得描述檔" - -#: modules/projectpage.py:59 -msgid "Rename" -msgstr "重新命名" - -#: modules/projectpage.py:60 -msgid "Rename the current profile" -msgstr "重新命名目前的描述檔" - -#: modules/projectpage.py:61 -#: modules/projectpage.py:76 -msgid "Delete" -msgstr "刪除" - -#: modules/projectpage.py:62 -msgid "Delete the current profile" -msgstr "刪除目前的描述檔" - -#: modules/projectpage.py:64 -msgid "Platform (processor architecture):" -msgstr "平台 (處理器架構):" - -#: modules/projectpage.py:66 -msgid "Which processor architecture?" -msgstr "哪一種處理器架構?" - -#: modules/projectpage.py:70 -msgid "Project" -msgstr "專案" - -#: modules/projectpage.py:71 -msgid "Choose Existing Project:" -msgstr "選擇現有的專案:" - -#: modules/projectpage.py:73 -msgid "Choose a project from those already defined" -msgstr "從已定義的那些專案中選擇一項" - -#: modules/projectpage.py:74 -msgid "New Project" -msgstr "新增專案" - -#: modules/projectpage.py:75 -msgid "Create a new project" -msgstr "建立新的專案" - -#: modules/projectpage.py:77 -msgid "Delete the current project" -msgstr "刪除目前的專案" - -#: modules/projectpage.py:81 -msgid "The root directory of the Arch installation to larchify" -msgstr "Arch 安裝到 larchify 的根目錄" - -#: modules/projectpage.py:83 -msgid "Change the root directory of the Arch installation" -msgstr "變更 Arch 安裝的根目錄" - -#: modules/projectpage.py:113 -msgid "Profile directory mismatch: '%s' vs. '%s'" -msgstr "描述檔目錄不相符:「%s」與「%s」" - -#: modules/projectpage.py:120 -msgid "Profile '%s' doesn't exist" -msgstr "描述檔「%s」不存在" - -#: modules/projectpage.py:165 -msgid "Select profile source folder and enter new name" -msgstr "選擇描述檔來源資料夾並輸入新的名稱" - -#: modules/projectpage.py:166 -msgid "New name:" -msgstr "新的名稱:" - -#: modules/projectpage.py:183 -msgid "Enter new name for current profile:" -msgstr "輸入目前描述檔的新名稱:" - -#: modules/projectpage.py:208 -msgid "Do you really want to delete profile '%s'?" -msgstr "您確定要刪除描述檔「%s」?" - -#: modules/projectpage.py:218 -msgid "Profile '%s' in use by project '%s" -msgstr "專案「%s」正在使用描述檔「%s」" - -#: modules/projectpage.py:229 -msgid "" -"WARNING: Double check your path -\n" -" If you make a mistake here it could destroy your system!\n" -"\n" -"Enter new installation path:" -msgstr "" -"警告:點擊兩下您的路徑 -\n" -" 如果您在這裡犯錯可能會摧毀您的系統!\n" -"\n" -"輸入新的安裝路徑:" - -#: modules/projectpage.py:251 -msgid "" -"Your selected installation path (%s) contains unexpected items:\n" -" %s\n" -"\n" -"Is that really ok?" -msgstr "" -"您選擇的安裝路徑 (%s) 含有不明的項目:\n" -" %s\n" -"\n" -"真的沒關係嗎?" - -#: modules/projectpage.py:266 -msgid "Enter name for new project:" -msgstr "輸入新專案的名稱:" - -#: modules/projectpage.py:274 -msgid "Project '%s' already exists." -msgstr "專案「%s」已存在。" - -#: modules/projectpage.py:282 -msgid "Can't delete the only existing project." -msgstr "不能刪除僅存的專案。" - -#: modules/projectpage.py:290 -msgid "Do you really want to delete project '%s'?" -msgstr "您確定要刪除專案「%s」?" - -#: modules/tweakpage.py:45 -msgid "Package Management" -msgstr "套件管理" - -#: modules/tweakpage.py:46 -msgid "Synchronize db" -msgstr "同步 db" - -#: modules/tweakpage.py:47 -msgid "Synchronize the pacman db on the target (pacman -Sy)" -msgstr "同步目標上的 pacman db (pacman -Sy)" - -#: modules/tweakpage.py:48 -msgid "Update / Add package [-U]" -msgstr "更新 / 加入套件 [-U]" - -#: modules/tweakpage.py:49 -msgid "Update / Add a package from a package file using pacman -U" -msgstr "使用 pacman -U 從套件檔來更新/加入套件" - -#: modules/tweakpage.py:50 -msgid "Add package(s) [-S]" -msgstr "加入套件 [-S]" - -#: modules/tweakpage.py:51 -msgid "Add one or more packages (space separated) using pacman -S" -msgstr "使用 pacman -S 加入一個或多個套件 (用空白分隔開)" - -#: modules/tweakpage.py:52 -msgid "Remove package(s) [-Rs]" -msgstr "移除套件 [-Rs]" - -#: modules/tweakpage.py:53 -msgid "Remove one or more packages (space separated) using pacman -Rs" -msgstr "使用 pacman -Rs 移除一個或多個套件 (用空白分隔開)" - -#: modules/tweakpage.py:73 -msgid "Package to add/update" -msgstr "要加入/更新的套件" - -#: modules/tweakpage.py:75 -msgid "Packages" -msgstr "套件" - -#: modules/tweakpage.py:82 -msgid "Error during package update." -msgstr "套件更新時發生錯誤。" - -#: modules/tweakpage.py:87 -msgid "" -"Enter the names of packages to install -\n" -" separated by spaces:" -msgstr "" -"輸入要安裝的套件名稱 -\n" -" 用空白分隔開:" - -#: modules/tweakpage.py:96 -msgid "Error during package installation." -msgstr "套件安裝時發生錯誤。" - -#: modules/tweakpage.py:101 -msgid "" -"Enter the names of packages to remove -\n" -" separated by spaces:" -msgstr "" -"輸入要移除的套件名稱 -\n" -" 用空白分隔開:" - -#: modules/tweakpage.py:110 -msgid "Error during package removal." -msgstr "套件移除時發生錯誤。" - -#~ msgid "Edit 'baseveto'" -#~ msgstr "編輯「baseveto」" -#~ msgid "There are no options specific to iso media." -#~ msgstr "沒有指定給 iso 媒體的選項。" - diff --git a/build_tools/l7/larch0/images/larch.png b/build_tools/l7/larch0/images/larch.png Binary files differdeleted file mode 100644 index 6291ed8..0000000 --- a/build_tools/l7/larch0/images/larch.png +++ /dev/null diff --git a/build_tools/l7/larch0/images/larch80.png b/build_tools/l7/larch0/images/larch80.png Binary files differdeleted file mode 100644 index 1da4f30..0000000 --- a/build_tools/l7/larch0/images/larch80.png +++ /dev/null diff --git a/build_tools/l7/larch0/images/larchicon.png b/build_tools/l7/larch0/images/larchicon.png Binary files differdeleted file mode 100644 index 8e87f5d..0000000 --- a/build_tools/l7/larch0/images/larchicon.png +++ /dev/null diff --git a/build_tools/l7/larch0/profiles/default/addedpacks b/build_tools/l7/larch0/profiles/default/addedpacks deleted file mode 100644 index e69de29..0000000 --- a/build_tools/l7/larch0/profiles/default/addedpacks +++ /dev/null diff --git a/build_tools/l7/larch0/profiles/l7/addedpacks b/build_tools/l7/larch0/profiles/l7/addedpacks deleted file mode 100644 index 9c26d02..0000000 --- a/build_tools/l7/larch0/profiles/l7/addedpacks +++ /dev/null @@ -1,228 +0,0 @@ -# These are needed to build a live CD -#linhes-live -squashfs-tools -lzop - -syslinux - -# You need a kernel. -#kernel26 is now in 'base' -aufs2 - -# To eject a cd -eject - -# Useful for use as installer, etc. -#ntfsprogs -#parted - -#ddcxinfo-knoppix -#hwd - -sudo - -lsof -cdrkit -dvd+rw-tools - - -# generally useful tools which don't require X -#mtools is required by syslinux -openssh -dosfstools -alsa-lib -alsa-oss -alsa-utils -cdparanoia -cdrdao -unzip - - -# Xorg packages -*xorg -#xorg-server -#xorg-xkb-utils -#xorg-xauth -#xorg-server-utils -#xorg-xinit -#xorg-input-drivers -#xorg-apps -#xorg-fonts-100dpi -#xorg-fonts-75dpi -#xorg-res-utils -ttf-ms-fonts - -#xorg-video-drivers -xf86-video-amd -xf86-video-apm -xf86-video-ark -xf86-video-ati -xf86-video-chips -xf86-video-cirrus -xf86-video-dummy -xf86-video-fbdev -xf86-video-glint -xf86-video-i128 -xf86-video-i740 -#xf86-video-i810 -#xf86-video-imstt -xf86-video-intel -xf86-video-mga -xf86-video-neomagic -xf86-video-nv -xf86-video-openchrome -xf86-video-radeonhd -xf86-video-rendition -xf86-video-s3 -xf86-video-s3virge -xf86-video-savage -xf86-video-siliconmotion -xf86-video-sis -xf86-video-sisusb -#xf86-video-tdfx -xf86-video-trident -xf86-video-tseng -#unichrome is busted and causes X to segfault -#xf86-video-unichrome -xf86-video-v4l -xf86-video-vesa -#vga should not be installed, vesa can handle when other drivers fail -#xf86-video-vga -#xf86-video-via -xf86-video-vmware -xf86-video-voodoo - -# X apps -#luser -#localed -unclutter -xterm -xorg-apps -#xkmap - -#gparted -#larchin - -#mythtv -mythtv -mythtv-contrib -mytharchive -mythbrowser -#mythcontrols -#mythflix -mythgallery -mythgame -mythmusic -#mythphone -myththemes -#mythweather -mythvideo -mythsmolt -#morethemes -linhes-theme -linhes-scripts -nuvexport -lirc -lirc-utils -mysql -xmltv -esound - -#Window Manager -fluxbox -feh - -#Other -dbus -hal -fftw2 -libcdaudio -iptables -pkgconfig -taglib -portmap -ivtv-utils -dvb-firmware -dbus-python - -#MythVantage Installer deps -bc -mysql-python -expect -curl -dnsutils -avahi - -#Wireless -b43-fwcutter -#ipw2100-fw -#ipw2200-fw -#ipw3945 -#ipw3945-ucode -#ipw3945d -madwifi -madwifi-utils -ndiswrapper -ndiswrapper-utils -#netcfg -tiacx -tiacx-firmware -wireless_tools -#wlan-ng26 -#wlan-ng26-utils -zd1211-firmware -hdhomerun -#---- -LinHES-config -LinHES-system -linhes-sounds -etcnet -runit -runit-scripts -media_dirs - -#--- -tweaker -ethtool -nfs-utils -netkit-telnet -ntp -syslog-ng -ppp -mingetty -setserial -acpid -fbsplash -linhes-splash -nvram-wakup -#tatir -pvr150-firmware -wol -mjpegtools -perl-net-upnp -aumix -tablet-encode -ntfs-3g -joyutils -ffmpeg-svn -myth2ipod -myt2xvid3 -mediaserv - -#---Firewire -libraw1394 -libavc1394 -# wrapper for mplayer -mplayer-wrapper - -# in-place commercial remover (for user job) -# moved to linhes-scripts -#removecommercials - -#Modules for Atheros base NICs -#atl1e - -linux-firmware - -larch-live -mkinitcpio-busybox diff --git a/build_tools/l7/larch0/profiles/l7/bootlines b/build_tools/l7/larch0/profiles/l7/bootlines deleted file mode 100644 index 0005035..0000000 --- a/build_tools/l7/larch0/profiles/l7/bootlines +++ /dev/null @@ -1,23 +0,0 @@ -# The information here will be adapted for the bootloader and inserted into its configuration -# file at the place marked '###LARCH' -# This header will be removed. -# Each block must have an empty line before and after it. -# There may be no empty lines within a block. - -comment: -title: Install CD -options: - -comment: -title: Install CD with vesa xorg driver -options: nomodeset xvesa - -comment: Might be useful if there is some trouble with starting xorg -title: Boot to console -options: nox - -#comment: -#title: larch with swap -#options: swap - -# END OF FILE diff --git a/build_tools/l7/larch0/profiles/l7/cachepacks b/build_tools/l7/larch0/profiles/l7/cachepacks deleted file mode 100644 index 747ab46..0000000 --- a/build_tools/l7/larch0/profiles/l7/cachepacks +++ /dev/null @@ -1,59 +0,0 @@ -mythdb-initial -nvidia -nvidia-utils -vdpauinfo -nvidia-96xx -nvidia-96xx-utils -#vdpinfo-96xx -lighttpd -local-website -mythweb -nfs-utils -samba -mplayer -xine-ui -lcdproc -mythappletrailers -mythstream -oss -xscreensaver -tightvnc - -#added from error log -mysql -mythnews -pycairo -pygobject -python-numeric -pygtk -fam -sqlite3 -xe -romdb -gconf -gnome-keyring -gnome-mime-data -gnome-python -gnome-python-extras -gnome-vfs -hunspell -libbonobo -libbonoboui -libgnome -libgnomecanvas -libgnomeui -libidl2 -miro -mozilla-common -nspr -nss -orbit2 -polkit -pyorbit -pyrex -startup-notification -xulrunner -mythmovies -myth2ipod -myt2xvid3 -#mediaserv diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/colors.lst b/build_tools/l7/larch0/profiles/l7/cd-root/grub0/colors.lst deleted file mode 100644 index 3f544ce..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/colors.lst +++ /dev/null @@ -1,36 +0,0 @@ -#color schemes - ganked from SGD ( http://freshmeat.net/projects/supergrub/?branch_id=62132&release_id=236631 ) -# TODO change these and make some more... specifically an "arch" theme -timeout 300 -default 0 -color light-blue/blue black/light-grey -splashimage=/boot/grub/splash.xpm.gz - -title << Back to Main Menu -configfile /boot/grub/menu.lst - -title Barlond -color white/cyan yellow/blue - -title Barlond2 -color white/blue yellow/cyan - -title Simple Black -color light-gray/black yellow/blue - -title Matrix -color green/black light-green/green - -title Dalton Bros. -color red/green green/red - -title Debian -color cyan/blue white/blue - -title BW -color light-gray/black black/light-gray - -title BW Inverse -color black/light-gray - -title SGD Non Default -color black/cyan yellow/black diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/help.lst b/build_tools/l7/larch0/profiles/l7/cd-root/grub0/help.lst deleted file mode 100644 index 6e74187..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/help.lst +++ /dev/null @@ -1,16 +0,0 @@ -# Help files must be exactly 23 lines long. -timeout 300 -default 0 -color light-blue/blue black/light-grey -splashimage=/boot/grub/splash.xpm.gz - -title << Back to main menu -configfile /boot/grub/menu.lst - -title HOW-TO: Boot an existing system -cat /boot/grub/help/bootexisting.txt -pause Press enter to continue... - -title HOW-TO: Contribute to this help -cat /boot/grub/help/contrib.txt -pause Press enter to continue... diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/help/bootexisting.txt b/build_tools/l7/larch0/profiles/l7/cd-root/grub0/help/bootexisting.txt deleted file mode 100644 index 881f3e8..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/help/bootexisting.txt +++ /dev/null @@ -1,23 +0,0 @@ -HOWTO: Boot an existing install - -Select "More Options" from the main menu. -Move the cursor to "[EDIT ME] Boot an existing linux install" -Press "e" - -At this point you will see the following: - root (hd0,0) - kernel /vmlinuz26 root=/dev/hda3 ro - initrd /kernel26.img - -This needs to be changed to accomodate your hardware. - -The first line should be changed to indicate where your boot medium resides. - "(hd0,0)" is the first partition on the first hard drive (hda1) - change these - numbers to indicate the partition containing your /boot directory. - -The second line should be changed to point to your kernel. If the line above -points to a partition _only_ containing /boot, then /vmlinuz26 is fine. -Otherwise, change this to /boot/vmlinuz. root= should be changed to match the -partition for your root filesystem. Other kernel parameters can be added here. - - diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/help/contrib.txt b/build_tools/l7/larch0/profiles/l7/cd-root/grub0/help/contrib.txt deleted file mode 100644 index 5c79176..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/help/contrib.txt +++ /dev/null @@ -1,23 +0,0 @@ -HOWTO: Contribute to these help files - -This help is rather simplistic. -In order to provide help files or translations you simply need to make a text -file. Formatting is important (due to grub limitations). The files MUST be 80 -characters wide, and 23 lines long. Any more, and your formatting will be -corrupted when viewing the help. Please note that if your help is short, it is -worthwhile to pad with empty lines, up to 23 lines. - - - - - - - - - - - - - - - diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/keyboards.lst b/build_tools/l7/larch0/profiles/l7/cd-root/grub0/keyboards.lst deleted file mode 100644 index 5237c1a..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/keyboards.lst +++ /dev/null @@ -1,111 +0,0 @@ -#keyboard layouts - ganked from SGD ( http://freshmeat.net/projects/supergrub/?branch_id=62132&release_id=236631 ) -# TODO add other languages -timeout 300 -default 0 -color light-blue/blue black/light-grey -splashimage=/boot/grub/splash.xpm.gz - -title << Back to Main Menu -configfile /boot/grub/menu.lst - -title Default layout -setkey - -title German layout -setkey y z -setkey z y -setkey Y Z -setkey Z Y -setkey equal parenright -setkey parenright parenleft -setkey parenleft asterisk -setkey doublequote at -setkey plus bracketright -setkey minus slash -setkey slash ampersand -setkey ampersand percent -setkey percent caret -setkey underscore question -setkey question underscore -setkey semicolon less -setkey less numbersign -setkey numbersign backslash -setkey colon greater -setkey greater bar -setkey asterisk braceright - - -title Spanish layout -setkey -setkey slash ampersand -setkey ampersand caret -setkey caret braceleft -setkey asterisk braceright -setkey parenleft asterisk -setkey parenright parenleft -setkey minus slash -setkey equal parenright -setkey quote minus -setkey underscore question -setkey question underscore -setkey braceleft quote -setkey braceright backslash -setkey colon greater -setkey greater bar -setkey doublequote at -setkey backslash backquote -setkey less backslash -setkey semicolon less -setkey plus colon -setkey at semicolon - -title French layout -setkey -setkey less backquote -setkey greater tilde -setkey ampersand 1 -setkey 1 exclam -setkey tilde 2 -setkey 2 at -setkey doublequote 3 -setkey 3 numbersign -setkey quote 4 -setkey 4 dollar -setkey parenleft 5 -setkey 5 percent -setkey minus 6 -setkey 6 caret -setkey backquote 7 -setkey 7 ampersand -setkey underscore 8 -setkey 8 asterisk -setkey backslash 9 -setkey 9 parenleft -setkey at 0 -setkey 0 parenright -setkey parenright minus -setkey numbersign underscore -setkey a q -setkey A Q -setkey z w -setkey Z W -setkey caret bracketleft -setkey dollar bracketright -setkey q a -setkey Q A -setkey m semicolon -setkey M colon -setkey bracketleft quote -setkey percent doublequote -setkey asterisk backslash -setkey bracketright bar -setkey w z -setkey W Z -setkey comma m -setkey question M -setkey semicolon comma -setkey period less -setkey colon period -setkey slash greater -setkey exclam slash -setkey bar question diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/menu.lst b/build_tools/l7/larch0/profiles/l7/cd-root/grub0/menu.lst deleted file mode 100644 index 60216f8..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/menu.lst +++ /dev/null @@ -1,26 +0,0 @@ -timeout 5 -default 0 -#color light-blue/blue light-cyan/blue -#black/light-grey -splashimage=/boot/grub/splash.xpm.gz - -###LARCH - -title Tools... -configfile /boot/grub/tools.lst - -title Grub Settings... -configfile /boot/grub/settings.lst - -title View Help... -configfile /boot/grub/help.lst - -title More Options... -configfile /boot/grub/more.lst - -title Shutdown the Computer -halt - -title JMS Reboot the Computer -reboot - diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/more.lst b/build_tools/l7/larch0/profiles/l7/cd-root/grub0/more.lst deleted file mode 100644 index 8fd5f7e..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/more.lst +++ /dev/null @@ -1,30 +0,0 @@ -timeout 300 -default 0 -color light-blue/blue black/light-grey -splashimage=/boot/grub/splash.xpm.gz - -title << Back to Main Menu -configfile /boot/grub/menu.lst - -title [EXPERIMENTAL] Attempt existing Linux detection -configfile /boot/grub/tryboot.lst - -title [EDIT ME] Diskless Boot (PXE / BOOTP) -#TODO wtf? -root (nd) -kernel /vmlinuz26 ip=dhcp root=/dev/nfs nfsroot=192.168.1.2:/boot/dir - -title [EDIT ME] NFS Root Boot -root (cd) -kernel /vmlinuz26 ip=dhcp root=/dev/nfs nfsroot=192.168.1.2:/boot/dir - -title [EDIT ME] Boot Existing Linux Install -root (hd0,0) -kernel /vmlinuz26 root=/dev/hda3 ro -initrd /kernel26.img - -title [EDIT ME] Boot Existing Windows Install -rootnoverify (hd0,0) -makeactive -chainloader +1 - diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/settings.lst b/build_tools/l7/larch0/profiles/l7/cd-root/grub0/settings.lst deleted file mode 100644 index f8f8c95..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/settings.lst +++ /dev/null @@ -1,13 +0,0 @@ -timeout 300 -default 0 -color light-blue/blue black/light-grey -splashimage=/boot/grub/splash.xpm.gz - -title << Back to Main Menu -configfile /boot/grub/menu.lst - -title Keyboard settings -configfile /boot/grub/keyboards.lst - -title Color settings -configfile /boot/grub/colors.lst diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/splash.xpm.gz b/build_tools/l7/larch0/profiles/l7/cd-root/grub0/splash.xpm.gz Binary files differdeleted file mode 100644 index 4ff642b..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/splash.xpm.gz +++ /dev/null diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/tools.lst b/build_tools/l7/larch0/profiles/l7/cd-root/grub0/tools.lst deleted file mode 100644 index d226992..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/tools.lst +++ /dev/null @@ -1,14 +0,0 @@ -timeout 300 -default 0 -color light-blue/blue black/light-grey -splashimage=/boot/grub/splash.xpm.gz - -title << Back to Main Menu -configfile /boot/grub/menu.lst - -title Run memtest (Memory Testing) -kernel /boot/memtest - -title Install GRUB to hd0 MBR -root (hd0,0) -setup (hd0) diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/vbg.jpg b/build_tools/l7/larch0/profiles/l7/cd-root/grub0/vbg.jpg Binary files differdeleted file mode 100644 index e6d46f4..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/grub0/vbg.jpg +++ /dev/null diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/larch/copy/actions.rc b/build_tools/l7/larch0/profiles/l7/cd-root/larch/copy/actions.rc deleted file mode 100644 index dd95b26..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/larch/copy/actions.rc +++ /dev/null @@ -1,3 +0,0 @@ -type=0 -orientation=1 - diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/larch/copy/autologin b/build_tools/l7/larch0/profiles/l7/cd-root/larch/copy/autologin deleted file mode 100644 index 93ca142..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/larch/copy/autologin +++ /dev/null @@ -1 +0,0 @@ -root
\ No newline at end of file diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/larch/copy/bash_profile b/build_tools/l7/larch0/profiles/l7/cd-root/larch/copy/bash_profile deleted file mode 100644 index c49349b..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/larch/copy/bash_profile +++ /dev/null @@ -1 +0,0 @@ -. $HOME/.bashrc diff --git a/build_tools/l7/larch0/profiles/l7/cd-root/larch/copy/delarch b/build_tools/l7/larch0/profiles/l7/cd-root/larch/copy/delarch deleted file mode 100644 index 108c1a4..0000000 --- a/build_tools/l7/larch0/profiles/l7/cd-root/larch/copy/delarch +++ /dev/null @@ -1,63 +0,0 @@ -# This is a script called from the installation script fix-system2. -# Its purpose is to remove custom live-only stuff from a just-installed -# system. - -# $1 is the path to the installed system root directory. - -INSTALL=$1 -if [ -z "${INSTALL}" ] || [ ! -f /etc/rc.conf ]; then - echo "ERROR: delarch installation adjustments failed:" - echo " Please check installation mount point (${INSTALL})" - exit 1 -fi - -rm -f "${INSTALL}/root/Desktop/Install Arch Linux.desktop" -rm -f "${INSTALL}/etc/rc.d/functions.d/larch-autologin" - -if [ -f ${INSTALL}/etc/rc.local.orig ]; then - mv ${INSTALL}/etc/rc.local.orig ${INSTALL}/etc/rc.local -fi -if [ -f ${INSTALL}/etc/rc.local.shutdown.orig ]; then - mv ${INSTALL}/etc/rc.local.shutdown.orig ${INSTALL}/etc/rc.local.shutdown -fi - -# start gdm from rc.conf -sed -i '/^DAEMONS=/ s|!gdm|@gdm|' ${INSTALL}/etc/rc.conf - -#***************************************************# -# Replace uses of larchquit in xfce panels and menu.# -#***************************************************# -### Unfortunately this isn't very simple. If anyone has a better way of -### providing different Quit actions in the live version and the version -### installed to disk from it, please let me know! -### Maybe it would be better just to provide a special live quit desktop -### icon which can be removed on installation, like the installation icon. - -defaultquit='<builtin name="Quit" cmd="Quit" icon="gnome-logout"/>' - -replacequit () -{ - for f in ${INSTALL}$1/.config/xfce4/panel/*; do - if grep "^Exec=larchquit" ${f}; then - n=$( echo ${f} | sed "s|^.*-\([0-9]\+\).*|\1|" ) - cp /.livesys/actions.rc \ - ${INSTALL}$1/.config/xfce4/panel/actions-${n}.rc - rm ${f} - - sed -i "s|=\"launcher\" id=\"${n}\"|=\"actions\" id=\"${n}\"|" \ - ${INSTALL}$1/.config/xfce4/panel/panels.xml - fi - done - - if [ -f ${INSTALL}$1/.bash_profile ]; then - rm -f ${INSTALL}$1/.local/share/applications/xfce4-logout.desktop - - cp /.livesys/bash_profile ${INSTALL}$1/.bash_profile - fi -} - -for hd in $( cat ${INSTALL}/etc/passwd | cut -d':' -f6 | grep '^/home/' ) \ - /root /etc/skel; do - replacequit ${hd} &>/dev/null -done -#***************************************************# diff --git a/build_tools/l7/larch0/profiles/l7/pacman.conf.repos b/build_tools/l7/larch0/profiles/l7/pacman.conf.repos deleted file mode 100644 index dc72f59..0000000 --- a/build_tools/l7/larch0/profiles/l7/pacman.conf.repos +++ /dev/null @@ -1,15 +0,0 @@ -# Package repository entries for pacman.conf -# '*platform*' will be replaced by 'i686' or 'x86_64' as appropriate. -# '*default*' will be replaced by 'Include = /etc/pacman.d/mirrorlist' -# (but for the installation: a 'mirrorlist' file in the working directory will -# be preferred, or - if neither exists - then 'data/mirrorlist') - -# You can add your own custom repositories (anywhere). - -#larch: Server = ftp://ftp.berlios.de/pub/larch/larch7.2/*platform* -larch: Server = http://linhes.org/repo/larch - -#core-testing: Server = http://localmirror/repo/i686/core-testing -#extra-testing: Server = http://localmirror/repo/i686/extra-testing -core-testing: Server = file:///data/pkg_repo/i686/core-testing -extra-testing: Server = file:///data/pkg_repo/i686/extra-testing diff --git a/build_tools/l7/larch0/profiles/l7/post-process.sh b/build_tools/l7/larch0/profiles/l7/post-process.sh deleted file mode 100755 index 883d9ad..0000000 --- a/build_tools/l7/larch0/profiles/l7/post-process.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -echo $@ -INSTDIR=$1 -PROFILE=$2 - -#everything below this point is specific to MythVantage -cp -rp $PROFILE/post_process $INSTDIR/.post_process -chroot $INSTDIR .post_process/modify_chroot.sh -rm -rf $INSTDIR/.post_process - -#find the size of the install. -#This is used to calculate progress on the install -tsize=`du -sm $INSTDIR/ | cut -f1` -echo "TOTALSIZE=$tsize" > $INSTDIR/root/.install_size -upsize=`du -sm --exclude data $INSTDIR/ |cut -f1` -echo "UPGRADESIZE=$upsize" >> $INSTDIR/root/.install_size - diff --git a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.bash_profile b/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.bash_profile deleted file mode 100644 index c49349b..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.bash_profile +++ /dev/null @@ -1 +0,0 @@ -. $HOME/.bashrc diff --git a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.bashrc b/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.bashrc deleted file mode 100644 index fcabce0..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.bashrc +++ /dev/null @@ -1,3 +0,0 @@ -alias ls='ls --color=auto' -PS1='[\u@\h \W]\$ ' - diff --git a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/apps b/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/apps deleted file mode 100644 index 994daf7..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/apps +++ /dev/null @@ -1,4 +0,0 @@ -#Uncomment below if you are using firewire -#[startup] {/usr/bin/plugctl -n 0 "oPCR[0].n_p2pconnections=1"} -[startup] {feh --bg-scale ~/.fluxbox/wallpaper.png} -[startup] {/usr/LH/bin/LinHES-run} diff --git a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/init b/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/init deleted file mode 100644 index 9791a7f..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/init +++ /dev/null @@ -1,35 +0,0 @@ -session.screen0.slit.placement: BottomRight -session.screen0.slit.direction: Vertical -session.screen0.slit.onTop: False -session.screen0.slit.autoHide: True -session.screen0.tab.placement: Top -session.screen0.toolbar.onTop: False -session.screen0.toolbar.visible: False -session.screen0.toolbar.autoHide: False -session.screen0.toolbar.placement: BottomCenter -session.screen0.toolbar.widthPercent: 66 -session.screen0.workspaceNames: one,two,three,four -session.screen0.strftimeFormat: %k:%M -session.screen0.focusNewWindows: True -session.screen0.focusModel: ClickToFocus -session.screen0.fullMaximization: False -session.screen0.edgeSnapThreshold: 0 -session.screen0.rowPlacementDirection: LeftToRight -session.screen0.workspaces: 4 -session.screen0.focusLastWindow: True -session.screen0.colPlacementDirection: TopToBottom -session.screen0.windowPlacement: RowSmartPlacement -session.screen0.tab.width: 64 -session.screen0.tab.height: 16 -session.screen0.showwindowposition: true -session.opaqueMove: False -session.autoRaiseDelay: 250 -session.menuFile: ~/.fluxbox/menu -session.cacheLife: 5 -session.styleFile: /usr/share/fluxbox/styles/Artwiz -session.keyFile: ~/.fluxbox/keys -session.colorsPerChannel: 4 -session.doubleClickInterval: 250 -session.cacheMax: 200 -session.imageDither: True -session.configVersion: 1 diff --git a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/menu b/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/menu deleted file mode 100644 index 858090e..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/menu +++ /dev/null @@ -1,81 +0,0 @@ -# Generated by fluxbox-generate_menu -# -# If you read this it means you want to edit this file manually, so here -# are some useful tips: -# -# - You can add your own menu-entries to ~/.fluxbox/usermenu -# -# - If you miss apps please let me know and I will add them for the next -# release. -# -# - The -r option prevents removing of empty menu entries and lines which -# makes things much more readable. -# -# - To prevent any other app from overwriting your menu -# you can change the menu name in .fluxbox/init to: -# session.menuFile: /home/mythtv/.fluxbox/my-menu -[begin] (Fluxbox) -[encoding] {UTF-8} - [exec] (xterm) {xterm} - [exec] () {} execname is NULL; cannot lookup - [exec] (Run) {fbrun } -[submenu] (Terminals) - [exec] (xterm) {xterm} -[end] -[submenu] (Editors) - [exec] (xedit) {xedit} - [exec] (nano) {xterm -e nano} - [exec] (vi) {xterm -e vi} -[end] -[submenu] (Multimedia) -[submenu] (Audio) - [exec] (alsamixer) {xterm -e alsamixer} -[end] -[submenu] (Video) - [exec] (gmplayer) {gmplayer} -[end] -[submenu] (X-utils) - [exec] (xfontsel) {xfontsel} - [exec] (xman) {xman} - [exec] (xload) {xload} - [exec] (xbiff) {xbiff} - [exec] (xclock) {xclock} - [exec] (xmag) {xmag} - [exec] (Reload .Xdefaults) {xrdb -load /home/mythtv/.Xdefaults} -[end] -[end] -[submenu] (Office) - [exec] (xclock) {xclock} - [exec] (xcalc) {xcalc} -[end] -[submenu] (Games) - [exec] (xeyes) {xeyes} -[end] -[submenu] (System Tools) - [exec] (top) {xterm -e top} -[end] -[submenu] (fluxbox menu) - [config] (Configure) -[submenu] (System Styles) {Choose a style...} - [stylesdir] (/usr/share/fluxbox/styles) -[end] -[submenu] (User Styles) {Choose a style...} - [stylesdir] (~/.fluxbox/styles) -[end] - [workspaces] (Workspace List) -[submenu] (Tools) - [exec] (Window name) {xprop WM_CLASS|cut -d \" -f 2|xmessage -file - -center} - [exec] (Screenshot - JPG) {import screenshot.jpg && display -resize 50% screenshot.jpg} - [exec] (Screenshot - PNG) {import screenshot.png && display -resize 50% screenshot.png} - [exec] (Run) {fbrun } - [exec] (Regen Menu) {/usr/bin/fluxbox-generate_menu } -[end] - [commanddialog] (Fluxbox Command) - [reconfig] (Reload config) - [restart] (Restart) - [exec] (About) {(fluxbox -v; fluxbox -info | sed 1d) 2> /dev/null | xmessage -file - -center} - [separator] - [exit] (Exit) -[end] -[endencoding] -[end] diff --git a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/menuconfig b/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/menuconfig deleted file mode 100644 index ef5b398..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/menuconfig +++ /dev/null @@ -1,65 +0,0 @@ -# This file is read by fluxbox-generate_menu. If you don't like a -# default you can change it here. Don't forget to remove the # in front -# of the line. - -# Your favourite terminal. Put the command in quotes if you want to use -# options. Put a backslash in before odd chars -# MY_TERM='Eterm --tint \#123456' -# MY_TERM='aterm -tint $(random_color)' - -# Your favourite browser. You can also specify options. -# MY_BROWSER=mozilla - -# Name of the outputfile -# MENUFILENAME=/home/mythtv/.fluxbox/menu - -# MENUTITLE=`fluxbox -version|cut -d " " -f-2` - -# standard url for console-browsers -# HOMEPAGE=fluxbox.org - -# location with your own menu-entries -# USERMENU=~/.fluxbox/usermenu - -# Put the launcher you would like to use here -# LAUNCHER=fbrun -# LAUNCHER=fbgm - -# Options for fbrun -# FBRUNOPTIONS='-font 10x20 -fg grey -bg black -title run' - -# --- PREFIX'es -# These are prefixes; So if fluxbox is installed in /usr/bin/fluxbox -# your prefix is: /usr - -# fluxbox-generate already looks in /usr/X11R6, /usr, /usr/local and /opt so -# there should be no need to specify them. -# -# PREFIX=/usr -# GNOME_PREFIX=/opt/gnome -# KDE_PREFIX=/opt/kde - - -# Sepparate the list of background-dirs with semicolumns ':' -# BACKGROUND_DIRS="/home/mythtv/.fluxbox/backgrounds/:/usr/share/fluxbox/backgrounds/:/usr/share/wallpapers" - - -# --- Boolean variables. -# Setting a variable to no'' won't help. Comment them out if you don't -# want them. Setting are overruled by the command-line options. - -# Include all backgrounds in your backgrounds-directory -# BACKGROUNDMENUITEM=yes - -# Include kde-menus -# KDEMENU=yes - -# Include gnome-menus -# GNOMEMENU=yes - -# enable sudo commands -# DOSUDO=yes - -# Don't cleanup the menu -# REMOVE=no - diff --git a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/wallpaper.png b/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/wallpaper.png Binary files differdeleted file mode 100644 index 83da80c..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.fluxbox/wallpaper.png +++ /dev/null diff --git a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.xinitrc b/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.xinitrc deleted file mode 100755 index 911e76e..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.xinitrc +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -# -# ~/.xinitrc -# -# Executed by startx (run your window manager from here) -# - -# exec gnome-session -# exec startkde -# exec startxfce4 -# exec icewm -# exec openbox -# exec blackbox -exec fluxbox -# exec ratpoison -# exec dwm -# ... or any other WM of your choosing ... diff --git a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.xsession b/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.xsession deleted file mode 100755 index a16dc0b..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/home/mythtv/.xsession +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -# -# ~/.xsession -# -# Executed by xdm/gdm/kdm at login -# - -/bin/bash --login -i ~/.xinitrc - diff --git a/build_tools/l7/larch0/profiles/l7/post_process/hosts.allow b/build_tools/l7/larch0/profiles/l7/post_process/hosts.allow deleted file mode 100644 index f6cf005..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/hosts.allow +++ /dev/null @@ -1,8 +0,0 @@ -# -# /etc/hosts.allow -# -ALL: 192.168. -ALL: 10. -ALL: 127.0.0.1 -ALL: 172.16. -# End of file diff --git a/build_tools/l7/larch0/profiles/l7/post_process/hosts.deny b/build_tools/l7/larch0/profiles/l7/post_process/hosts.deny deleted file mode 100755 index ca30ab4..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/hosts.deny +++ /dev/null @@ -1,6 +0,0 @@ -# -# /etc/hosts.deny -# -ALL - -# End of file diff --git a/build_tools/l7/larch0/profiles/l7/post_process/menu.lst b/build_tools/l7/larch0/profiles/l7/post_process/menu.lst deleted file mode 100755 index 8a8e3b2..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/menu.lst +++ /dev/null @@ -1,60 +0,0 @@ -# Config file for GRUB - The GNU GRand Unified Bootloader -# /boot/grub/menu.lst - -# DEVICE NAME CONVERSIONS -# -# Linux Grub -# ------------------------- -# /dev/fd0 (fd0) -# /dev/hda (hd0) -# /dev/hdb2 (hd1,1) -# /dev/hda3 (hd0,2) -# - -# FRAMEBUFFER RESOLUTION SETTINGS -# +-------------------------------------------------+ -# | 640x480 800x600 1024x768 1280x1024 -# ----+-------------------------------------------- -# 256 | 0x301=769 0x303=771 0x305=773 0x307=775 -# 32K | 0x310=784 0x313=787 0x316=790 0x319=793 -# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794 -# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795 -# +-------------------------------------------------+ - -# general configuration: -timeout 5 -default 0 -#color light-blue/black light-cyan/blue - -# boot sections follow -# each is implicitly numbered from 0 in the order of appearance below -# -# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line. -# -#-* -hiddenmenu - -# (0) normal -title LinHes -root (hd0,0) -kernel /boot/vmlinuz26 root=/dev/hda1 ro init=/sbin/runit console=tty1 -initrd /boot/kernel26.img - -# (1) bootsplash -title LinHes-splashy -root (hd0,0) -kernel /boot/vmlinuz26 root=/dev/hda1 ro init=/sbin/runit quiet vga=0x314 splash=silent,theme:linhes console=tty1 -initrd /boot/kernel26.img - -# (2) noautologin -title LinHES-nologin -root (hd0,0) -kernel /boot/vmlinuz26 root=/dev/hda1 ro init=/sbin/runit quiet vga=0x314 splash=silent,theme:linhes console=tty1 nox -initrd /boot/kernel26.img - - -# (3) normal -title LinHes-init -root (hd0,0) -kernel /boot/vmlinuz26 root=/dev/hda1 ro console=tty1 -initrd /boot/kernel26.img diff --git a/build_tools/l7/larch0/profiles/l7/post_process/modify_chroot.sh b/build_tools/l7/larch0/profiles/l7/post_process/modify_chroot.sh deleted file mode 100755 index ad83b2c..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/modify_chroot.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -echo "larch5" > /etc/hostname -useradd -m -s /bin/bash mythtv -G audio,video,optical,storage,users -cp -rvpf /.post_process/home/mythtv /home/ -cp -rvpf /.post_process/home/mythtv/.fluxbox /root -chown -R mythtv.mythtv /home/mythtv/ -chown -R mythtv.mythtv /myth - -cp -f /.post_process/hosts.allow /etc/hosts.allow -cp -f /.post_process/rc.conf /etc/rc.conf -#cp -f /.post_process/rc.shutdown /etc/rc.shutdown -cp -f /.post_process/menu.lst /boot/grub/menu.lst - -cp -f /etc/skel/.bash* /root/ -rm -f /etc/ssh/ssh_host*key* diff --git a/build_tools/l7/larch0/profiles/l7/post_process/rc.conf b/build_tools/l7/larch0/profiles/l7/post_process/rc.conf deleted file mode 100755 index 9c17944..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/rc.conf +++ /dev/null @@ -1,112 +0,0 @@ -# -# /etc/rc.conf - Main Configuration for Arch Linux -# - -# -# ----------------------------------------------------------------------- -# LOCALIZATION -# ----------------------------------------------------------------------- -# -# LOCALE: available languages can be listed with the 'locale -a' command -# HARDWARECLOCK: set to "UTC" or "localtime" -# TIMEZONE: timezones are found in /usr/share/zoneinfo -# KEYMAP: keymaps are found in /usr/share/kbd/keymaps -# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US) -# CONSOLEMAP: found in /usr/share/kbd/consoletrans -# USECOLOR: use ANSI color sequences in startup messages -# -LOCALE="en_US.utf8" -HARDWARECLOCK="UTC" -TIMEZONE="US/Central" -KEYMAP="us" -CONSOLEFONT= -CONSOLEMAP= -USECOLOR="yes" - -# -# ----------------------------------------------------------------------- -# HARDWARE -# ----------------------------------------------------------------------- -# -# Scan hardware and load required modules at bootup -MOD_AUTOLOAD="yes" -if [ -f /etc/systemconfig ] -then - . /etc/systemconfig -fi - -if [ x$Audiotype = xOSS -a ! -f /tmp/.alsatest ] -then - ALSABLACKLIST="!soundcore" -else - if [ x$Audiotype = xOSS ] - then - ALSABLACKLIST="!soundcore" - else - ALSABLACKLIST="" - fi -fi - -# Module Blacklist - modules in this list will never be loaded by udev -MOD_BLACKLIST_=($ALSABLACKLIST !snd-pcsp ) -# -# Modules to load at boot-up (in this order) -# - prefix a module with a ! to blacklist it -# -MODULES=($MOD_BLACKLIST_) -# Scan for LVM volume groups at startup, required if you use LVM -USELVM="no" - -# -# ----------------------------------------------------------------------- -# NETWORKING -# ----------------------------------------------------------------------- -# -HOSTNAME=`cat /etc/hostname` - -#The following is only used on the install. After the first boot everything is set from /etc/net. - - -# -# Use 'ifconfig -a' or 'ls /sys/class/net/' to see all available -# interfaces. -# -# Interfaces to start at boot-up (in this order) -# Declare each interface then list in INTERFACES -# - prefix an entry in INTERFACES with a ! to disable it -# - no hyphens in your interface names - Bash doesn't like it -# -# Note: to use DHCP, set your interface to be "dhcp" (eth0="dhcp") -# -lo="lo 127.0.0.1" -#eth0="dhcp" -INTERFACES=(lo ) -# -# Routes to start at boot-up (in this order) -# Declare each route then list in ROUTES -# - prefix an entry in ROUTES with a ! to disable it -# -gateway="default gw 192.168.0.1" -ROUTES=(!gateway) -# -# Enable these network profiles at boot-up. These are only useful -# if you happen to need multiple network configurations (ie, laptop users) -# - set to 'menu' to present a menu during boot-up (dialog package required) -# - prefix an entry with a ! to disable it -# -# Network profiles are found in /etc/network-profiles -# -#NET_PROFILES=(main) - -# -# ----------------------------------------------------------------------- -# DAEMONS -# ----------------------------------------------------------------------- -# -# Daemons to start at boot-up (in this order) -# - prefix a daemon with a ! to disable it -# - prefix a daemon with a @ to start it up in the background -# -#DAEMONS=(syslog-ng network netfs crond) -DAEMONS=(fbsplash !syslog-ng !hotplug !pcmcia network !mysqld !dbus !avahi-daemon) -# End of file diff --git a/build_tools/l7/larch0/profiles/l7/post_process/rc.shutdown b/build_tools/l7/larch0/profiles/l7/post_process/rc.shutdown deleted file mode 100755 index 1a8cdbe..0000000 --- a/build_tools/l7/larch0/profiles/l7/post_process/rc.shutdown +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/bash -# -# /etc/rc.shutdown -# - -. /etc/rc.conf -. /etc/rc.d/functions - -# avoid staircase effect -/bin/stty onlcr - -echo " " -printhl "Initiating Shutdown..." -echo " " - -if [ -x /etc/rc.local.shutdown ]; then - /etc/rc.local.shutdown -fi - -if [ "$PREVLEVEL" = "3" -o "$PREVLEVEL" = "5" ]; then - # Shutdown daemons - let i=${#DAEMONS[@]} - while [[ i -ge 0 ]]; do - if [[ `echo ${DAEMONS[$i]} | grep '^[^\!]' | wc -l` -eq 1 ]]; then - /etc/rc.d/${DAEMONS[$i]#@} stop - fi - let i=i-1 - done - # find any leftover daemons and shut them down - if [ -d /var/run/daemons ]; then - for daemon in `ls /var/run/daemons`; do - /etc/rc.d/$daemon stop - done - fi -fi - -# Terminate all processes -stat_busy "Sending SIGTERM To Processes" -/sbin/killall5 -15 &> /dev/null -/bin/sleep 5 -stat_done - -stat_busy "Sending SIGKILL To Processes" -/sbin/killall5 -9 &> /dev/null -/bin/sleep 1 -stat_done - -stat_busy "Saving Random Seed" -/bin/dd if=/dev/urandom of=/var/run/random-seed count=1 bs=512 2> /dev/null -stat_done - -stat_busy "Saving System Clock" -if [ "$HARDWARECLOCK" = "UTC" ]; then - /sbin/hwclock --directisa --utc --systohc -else - /sbin/hwclock --directisa --localtime --systohc -fi -stat_done - -# removing psmouse module to fix some reboot issues on newer laptops -modprobe -r psmouse >/dev/null 2>&1 - -# Write to wtmp file before unmounting -/sbin/halt -w - -stat_busy "Deactivating Swap" -/sbin/swapoff -a -stat_done - -stat_busy "Unmounting Filesystems" -/bin/umount -a -stat_done - -if [ "$USELVM" = "yes" -o "$USELVM" = "YES" ]; then - if [ -d /etc/lvm -a -x /sbin/lvm ]; then - /bin/mount -n -t sysfs none /sys 2>/dev/null - if [ -d /sys/block ]; then - stat_busy "Deactivating LVM2 groups" - /sbin/lvm vgchange --ignorelockingfailure -a n - stat_done - umount /sys - fi - fi -fi - -stat_busy "Remounting Root Filesystem Read-only" -/bin/mount -n -o remount,ro / -stat_done -exit 0 -# Power off or reboot -if [ "$RUNLEVEL" = "0" ]; then - printsep - printhl "${C_H2}POWER OFF" - /sbin/poweroff -d -f -h -i -else - printsep - printhl "${C_H2}REBOOTING" - # adding kexec support - [ -x /usr/sbin/kexec ] && /usr/sbin/kexec -e > /dev/null 2>&1 - /sbin/reboot -d -f -i -fi - -# End of file -# vim: set ts=2 noet: diff --git a/build_tools/l7/larch0/profiles/l7/pre-process.sh b/build_tools/l7/larch0/profiles/l7/pre-process.sh deleted file mode 100755 index 5bc1f9c..0000000 --- a/build_tools/l7/larch0/profiles/l7/pre-process.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -rm -f overlay.xpk -if [ -d overlay/home/mythtv ] -then - chown -R 1000 overlay/home/mythtv -fi -./create_overlay.sh - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/X11/xinit/startx.custom b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/X11/xinit/startx.custom deleted file mode 100644 index d24a70a..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/X11/xinit/startx.custom +++ /dev/null @@ -1,18 +0,0 @@ -if [ -z "$DISPLAY" ] && [ ! -f /tmp/_nox_ ] \ - && echo $(tty) | grep "tty1" &>/dev/null; then - startx - - # Maybe there should be some code here to handle a failed startx? - - # The 'return' value is at /tmp/xlogout - # If there is nothing there, switch user to 'newuser' - # If there is also nothing there, login as root - # - if already root, fall through to terminal - - if [ -f /tmp/xlogout ] || [ -f /tmp/newuser ]; then - logout - elif [ ${UID} -ne 0 ]; then - echo "root" >/tmp/newuser - logout - fi -fi diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/X11/xinit/xinitrc.custom b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/X11/xinit/xinitrc.custom deleted file mode 100644 index fe443d8..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/X11/xinit/xinitrc.custom +++ /dev/null @@ -1,10 +0,0 @@ -case ${desktop} in - xfce ) exec ck-launch-session xfce4-session ;; - -# Now these are only wild guesses! - gnome ) exec ck-launch-session gnome-session ;; - - kde ) exec ck-launch-session startkde ;; - - * ) ;; -esac diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/X11/xinit/xorg.conf.set b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/X11/xinit/xorg.conf.set deleted file mode 100755 index 4430264..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/X11/xinit/xorg.conf.set +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -if [ -f /etc/X11/xorg.conf.base ]; then - cp -f /etc/X11/xorg.conf.base /etc/X11/xorg.conf - for x in $(cat /proc/cmdline); do - [ "${x}" = "nox" ] && :> /tmp/_nox_ - [ "${x}" = "xvesa" ] && sed 's|^#xvesa||' -i /etc/X11/xorg.conf - [ "${x}" = "nodri" ] && sed 's|^#nodri||' -i /etc/X11/xorg.conf - done -fi diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/X11/xorg.conf.base b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/X11/xorg.conf.base deleted file mode 100644 index f6f6c0e..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/X11/xorg.conf.base +++ /dev/null @@ -1,44 +0,0 @@ -#Section "ServerFlags" -# # This deactivates input device hotplugging -# Option "AutoAddDevices" "False" -#EndSection - -Section "InputDevice" - Identifier "Generic Keyboard" - Driver "kbd" - Option "XkbRules" "xorg" -##XKMAP+ -# Option "XkbModel" "pc101" -# Option "XkbLayout" "de" -##XKMAP- -EndSection - -Section "InputDevice" - Identifier "Configured Mouse" - Driver "mouse" -EndSection - -Section "Device" - Identifier "Configured Video Device" -#xvesa Driver "vesa" -#nodri Option "DRI" "False" -# Option "AccelMethod" "exa" -EndSection - -Section "Monitor" - Identifier "Configured Monitor" -# Option "PreferredMode" "1024x768" -# HorizSync 30.0 - 65.0 -# VertRefresh 50.0 - 75.0 -EndSection - -Section "Screen" - Identifier "Default Screen" - Monitor "Configured Monitor" -# DefaultDepth 16 -# SubSection "Display" -# Viewport 0 0 -# Depth 16 -# Modes "1024x768" "800x600" -# EndSubSection -EndSection diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/conf.d/dhcpcd b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/conf.d/dhcpcd deleted file mode 100644 index ab53c30..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/conf.d/dhcpcd +++ /dev/null @@ -1,6 +0,0 @@ -# -# Arguments to be passed to the DHCP client daemon -# - -DHCPCD_ARGS="-t 10 -h $HOSTNAME" - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/gdm/custom.conf b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/gdm/custom.conf deleted file mode 100644 index 2748075..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/gdm/custom.conf +++ /dev/null @@ -1,105 +0,0 @@ -# GDM Custom Configuration file. -# -# This file is the appropriate place for specifying your customizations to the -# GDM configuration. If you run gdmsetup, it will automatically edit this -# file for you and will cause the daemon and any running GDM GUI programs to -# automatically update with the new configuration. Not all configuration -# options are supported by gdmsetup, so to modify some values it may be -# necessary to modify this file directly by hand. -# -# This file overrides the default configuration settings. These settings -# are stored in the GDM System Defaults configuration file, which is found -# at the following location. -# -# /usr/share/gdm/defaults.conf. -# -# This file contains comments about the meaning of each configuration option, -# so is also a useful reference. Also refer to the documentation links at -# the end of this comment for further information. In short, to hand-edit -# this file, simply add or modify the key=value combination in the -# appropriate section in the template below this comment section. -# -# For example, if you want to specify a different value for the Enable key -# in the "[debug]" section of your GDM System Defaults configuration file, -# then add "Enable=true" in the "[debug]" section of this file. If the -# key already exists in this file, then simply modify it. -# -# Older versions of GDM used the "gdm.conf" file for configuration. If your -# system has an old gdm.conf file on the system, it will be used instead of -# this file - so changes made to this file will not take effect. Consider -# migrating your configuration to this file and removing the gdm.conf file. -# -# If you hand edit a GDM configuration file, you can run the following -# command and the GDM daemon will immediately reflect the change. Any -# running GDM GUI programs will also be notified to update with the new -# configuration. -# -# gdmflexiserver --command="UPDATE_CONFIG <configuration key>" -# -# e.g, the "Enable" key in the "[debug]" section would be "debug/Enable". -# -# You can also run gdm-restart or gdm-safe-restart to cause GDM to restart and -# re-read the new configuration settings. You can also restart GDM by sending -# a HUP or USR1 signal to the daemon. HUP behaves like gdm-restart and causes -# any user session started by GDM to exit immediately while USR1 behaves like -# gdm-safe-restart and will wait until all users log out before restarting GDM. -# -# For full reference documentation see the gnome help browser under -# GNOME|System category. You can also find the docs in HTML form on -# http://www.gnome.org/projects/gdm/ -# -# NOTE: Lines that begin with "#" are considered comments. -# -# Have fun! - -[daemon] - -DefaultSession=xfce4.desktop - -Greeter=/usr/lib/gdm/gdmgreeter - -[security] - -AllowRoot=true - -[xdmcp] - -[gui] - -[greeter] - - - -Browser=true - - -GraphicalTheme=dlarch-theme-gdm - - -DefaultFace=/usr/share/pixmaps/faces/astronaut.jpg - - -MinimalUID=0 - - -SoundOnLogin=false - - -IncludeAll=true - -[chooser] - -[debug] - -# Note that to disable servers defined in the GDM System Defaults -# configuration file (such as 0=Standard, you must put a line in this file -# that says 0=inactive, as described in the Configuration section of the GDM -# documentation. -# -[servers] - -# Also note, that if you redefine a [server-foo] section, then GDM will -# use the definition in this file, not the GDM System Defaults configuration -# file. It is currently not possible to disable a [server-foo] section -# defined in the GDM System Defaults configuration file. -# diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/hosts.allow b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/hosts.allow deleted file mode 100644 index f8cc8f5..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/hosts.allow +++ /dev/null @@ -1,13 +0,0 @@ -# -# /etc/hosts.allow -# - -ALL: 127.0.0.1 - -# To allow ssh in from anywhere -#sshd: ALL - -# To allow ssh in from local net (example) -#sshd: 192.168.178.0/255.255.255.0 - -# End of file diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/inittab.larch b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/inittab.larch deleted file mode 100644 index 51f758d..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/inittab.larch +++ /dev/null @@ -1,42 +0,0 @@ -# -# /etc/inittab -# - -# Runlevels: -# 0 Halt -# 1(S) Single-user -# 2 Not used -# 3 Multi-user -# 4 Not used -# 5 X11 -# 6 Reboot - -## Only one of the following two lines can be uncommented! -# Boot to console -id:3:initdefault: -# Boot to X11 -#id:5:initdefault: - -rc::sysinit:/etc/rc.sysinit -rs:S1:wait:/etc/rc.single -rm:2345:wait:/etc/rc.multi -rh:06:wait:/etc/rc.shutdown -su:S:wait:/sbin/sulogin -p - -# -8 options fixes umlauts problem on login -c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux -n -l /usr/sbin/ulogin -c2:2345:respawn:/sbin/agetty -8 38400 tty2 linux -c3:2345:respawn:/sbin/agetty -8 38400 tty3 linux -c4:2345:respawn:/sbin/agetty -8 38400 tty4 linux -c5:2345:respawn:/sbin/agetty -8 38400 tty5 linux -c6:2345:respawn:/sbin/agetty -8 38400 tty6 linux - -ca::ctrlaltdel:/sbin/shutdown -t3 -r now - -# Example lines for starting a login manager -x:5:respawn:/usr/bin/xdm -nodaemon -#x:5:respawn:/usr/sbin/gdm -nodaemon -#x:5:respawn:/usr/bin/kdm -nodaemon -#x:5:respawn:/usr/bin/slim >& /dev/null - -# End of file diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/locale.gen b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/locale.gen deleted file mode 100644 index a3276b1..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/locale.gen +++ /dev/null @@ -1,8 +0,0 @@ -# locales for larch (/etc/locale.gen) - -en_US ISO-8859-1 -en_US.UTF-8 UTF-8 -de_DE ISO-8859-1 -de_DE@euro ISO-8859-15 -de_DE.UTF-8 UTF-8 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/rc.conf b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/rc.conf deleted file mode 100644 index 9edb3d0..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/rc.conf +++ /dev/null @@ -1,92 +0,0 @@ -# -# /etc/rc.conf - Main Configuration for Arch Linux -# - -# ----------------------------------------------------------------------- -# LOCALIZATION -# ----------------------------------------------------------------------- -# -# LOCALE: available languages can be listed with the 'locale -a' command -# HARDWARECLOCK: set to "UTC" or "localtime" -# USEDIRECTISA: use direct I/O requests instead of /dev/rtc for hwclock -# TIMEZONE: timezones are found in /usr/share/zoneinfo -# KEYMAP: keymaps are found in /usr/share/kbd/keymaps -# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US) -# CONSOLEMAP: found in /usr/share/kbd/consoletrans -# USECOLOR: use ANSI color sequences in startup messages -# -LOCALE="en_US.utf8" -HARDWARECLOCK="UTC" -USEDIRECTISA="no" -TIMEZONE="Europe/Berlin" -KEYMAP="de" -CONSOLEFONT= -CONSOLEMAP= -USECOLOR="yes" - -# ----------------------------------------------------------------------- -# HARDWARE -# ----------------------------------------------------------------------- -# -# MOD_AUTOLOAD: Allow autoloading of modules at boot and when needed -# MOD_BLACKLIST: Prevent udev from loading these modules -# MODULES: Modules to load at boot-up. Prefix with a ! to blacklist. -# -# NOTE: Use of 'MOD_BLACKLIST' is deprecated. Please use ! in the MODULES array. -# -MOD_AUTOLOAD="yes" -#MOD_BLACKLIST=() #deprecated -MODULES=() - -# Scan for LVM volume groups at startup, required if you use LVM -USELVM="no" - -# ----------------------------------------------------------------------- -# NETWORKING -# ----------------------------------------------------------------------- -# -# HOSTNAME: Hostname of machine. Should also be put in /etc/hosts -# -HOSTNAME="larch7-xmini" - -# Use 'ifconfig -a' or 'ls /sys/class/net/' to see all available interfaces. -# -# Interfaces to start at boot-up (in this order) -# Declare each interface then list in INTERFACES -# - prefix an entry in INTERFACES with a ! to disable it -# - no hyphens in your interface names - Bash doesn't like it -# -# DHCP: Set your interface to "dhcp" (eth0="dhcp") -# Wireless: See network profiles below -# -#eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" -eth0="dhcp" -INTERFACES=(eth0) - -# Routes to start at boot-up (in this order) -# Declare each route then list in ROUTES -# - prefix an entry in ROUTES with a ! to disable it -# -gateway="default gw 192.168.0.1" -ROUTES=(!gateway) - -# Enable these network profiles at boot-up. These are only useful -# if you happen to need multiple network configurations (ie, laptop users) -# - set to 'menu' to present a menu during boot-up (dialog package required) -# - prefix an entry with a ! to disable it -# -# Network profiles are found in /etc/network.d -# -# This now requires the netcfg package -# -#NETWORKS=(main) - -# ----------------------------------------------------------------------- -# DAEMONS -# ----------------------------------------------------------------------- -# -# Daemons to start at boot-up (in this order) -# - prefix a daemon with a ! to disable it -# - prefix a daemon with a @ to start it up in the background -# -DAEMONS=(syslog-ng @network dbus hal !gdm @sshd !crond !wicd !cups) diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/rc.d/functions.d/larch-autologin b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/rc.d/functions.d/larch-autologin deleted file mode 100644 index d1c6aa3..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/rc.d/functions.d/larch-autologin +++ /dev/null @@ -1,7 +0,0 @@ -sysinit_end_larch_autologin() { - # Set up automatically logged in user (larch live system only) - if [ -f /.livesys/autologin ]; then - cp /.livesys/autologin /tmp/newuser - fi -} -add_hook sysinit_end sysinit_end_larch_autologin diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/rc.local b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/rc.local deleted file mode 100755 index 513c0ba..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/rc.local +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -# -# /etc/rc.local: Local multi-user startup script. -# - - -# Restore saved sound volume, etc. -alsactl restore diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/rc.local.shutdown b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/rc.local.shutdown deleted file mode 100755 index 2b5f735..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/rc.local.shutdown +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -# -# /etc/rc.local.shutdown: Local shutdown script. -# - -# Save sound volume, etc. -alsactl store diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.bash_profile b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.bash_profile deleted file mode 100644 index 600bd9b..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.bash_profile +++ /dev/null @@ -1,3 +0,0 @@ -. $HOME/.bashrc - -. /etc/X11/xinit/startx.custom diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.bashrc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.bashrc deleted file mode 100644 index 3e5c29c..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.bashrc +++ /dev/null @@ -1,2 +0,0 @@ -alias ls='ls --color=auto' -PS1='[\u@\h \W]\$ ' diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/Terminal/terminalrc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/Terminal/terminalrc deleted file mode 100644 index 172b4d3..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/Terminal/terminalrc +++ /dev/null @@ -1,89 +0,0 @@ -[Configuration] -AccelNewTab=<control><shift>t -AccelNewWindow=<control><shift>n -AccelDetachTab=<control><shift>d -AccelCloseTab=<control><shift>w -AccelCloseWindow=<control><shift>q -AccelCopy=<control><shift>c -AccelPaste=<control><shift>v -AccelPreferences=Disabled -AccelShowMenubar=Disabled -AccelShowToolbars=Disabled -AccelShowBorders=Disabled -AccelFullscreen=F11 -AccelSetTitle=Disabled -AccelReset=Disabled -AccelResetAndClear=Disabled -AccelPrevTab=<control>Page_Up -AccelNextTab=<control>Page_Down -AccelSwitchToTab1=<Alt>1 -AccelSwitchToTab2=<Alt>2 -AccelSwitchToTab3=<Alt>3 -AccelSwitchToTab4=<Alt>4 -AccelSwitchToTab5=<Alt>5 -AccelSwitchToTab6=<Alt>6 -AccelSwitchToTab7=<Alt>7 -AccelSwitchToTab8=<Alt>8 -AccelSwitchToTab9=<Alt>9 -AccelContents=F1 -BackgroundMode=TERMINAL_BACKGROUND_SOLID -BackgroundImageFile= -BackgroundImageStyle=TERMINAL_BACKGROUND_STYLE_TILED -BackgroundDarkness=0.500000 -BindingBackspace=TERMINAL_ERASE_BINDING_AUTO -BindingDelete=TERMINAL_ERASE_BINDING_AUTO -ColorForeground=White -ColorBackground=Black -ColorCursor=Green -ColorSelection=White -ColorSelectionUseDefault=TRUE -ColorPalette1=#000000000000 -ColorPalette2=#aaaa00000000 -ColorPalette3=#0000aaaa0000 -ColorPalette4=#aaaa55550000 -ColorPalette5=#00000000aaaa -ColorPalette6=#aaaa0000aaaa -ColorPalette7=#0000aaaaaaaa -ColorPalette8=#aaaaaaaaaaaa -ColorPalette9=#555555555555 -ColorPalette10=#ffff55555555 -ColorPalette11=#5555ffff5555 -ColorPalette12=#ffffffff5555 -ColorPalette13=#55555555ffff -ColorPalette14=#ffff5555ffff -ColorPalette15=#5555ffffffff -ColorPalette16=#ffffffffffff -CommandUpdateRecords=TRUE -CommandLoginShell=FALSE -FontAllowBold=TRUE -FontAntiAlias=TRUE -FontName=Monospace 12 -MiscAlwaysShowTabs=FALSE -MiscBell=FALSE -MiscBordersDefault=TRUE -MiscCursorBlinks=FALSE -MiscDefaultGeometry=80x24 -MiscInheritGeometry=FALSE -MiscMenubarDefault=TRUE -MiscMouseAutohide=FALSE -MiscToolbarsDefault=FALSE -MiscConfirmClose=TRUE -MiscCycleTabs=TRUE -MiscTabCloseButtons=TRUE -MiscTabPosition=GTK_POS_TOP -MiscHighlightUrls=TRUE -ScrollingBar=TERMINAL_SCROLLBAR_RIGHT -ScrollingLines=1000 -ScrollingOnOutput=TRUE -ScrollingOnKeystroke=TRUE -ScrollingSingleLine=TRUE -ShortcutsNoMenukey=TRUE -ShortcutsNoMnemonics=FALSE -TitleInitial=Terminal -TitleMode=TERMINAL_TITLE_APPEND -Term=xterm -VteWorkaroundTitleBug=TRUE -WordChars=-A-Za-z0-9,./?%&#:_~ -TabActivityColor=#afff00000000 -TabActivityTimeout=2.000000 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/Thunar/thunarrc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/Thunar/thunarrc deleted file mode 100644 index 7857976..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/Thunar/thunarrc +++ /dev/null @@ -1,36 +0,0 @@ -[Configuration] -DefaultView=void -LastCompactViewZoomLevel=THUNAR_ZOOM_LEVEL_SMALLEST -LastDetailsViewColumnOrder=THUNAR_COLUMN_NAME,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_TYPE,THUNAR_COLUMN_DATE_MODIFIED -LastDetailsViewColumnWidths= -LastDetailsViewFixedColumns=FALSE -LastDetailsViewVisibleColumns=THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_NAME,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_TYPE -LastDetailsViewZoomLevel=THUNAR_ZOOM_LEVEL_SMALLER -LastIconViewZoomLevel=THUNAR_ZOOM_LEVEL_NORMAL -LastLocationBar=ThunarLocationButtons -LastSeparatorPosition=170 -LastShowHidden=FALSE -LastSidePane=ThunarShortcutsPane -LastSortColumn=THUNAR_COLUMN_NAME -LastSortOrder=GTK_SORT_ASCENDING -LastStatusbarVisible=TRUE -LastView=ThunarIconView -LastWindowHeight=480 -LastWindowWidth=640 -MiscVolumeManagement=FALSE -MiscCaseSensitive=FALSE -MiscDateStyle=THUNAR_DATE_STYLE_SHORT -MiscFoldersFirst=TRUE -MiscHorizontalWheelNavigates=FALSE -MiscRecursivePermissions=THUNAR_RECURSIVE_PERMISSIONS_ASK -MiscRememberGeometry=TRUE -MiscShowAboutTemplates=TRUE -MiscShowThumbnails=TRUE -MiscSingleClick=TRUE -MiscSingleClickTimeout=500 -MiscTextBesideIcons=FALSE -ShortcutsIconEmblems=TRUE -ShortcutsIconSize=THUNAR_ICON_SIZE_SMALLER -TreeIconEmblems=TRUE -TreeIconSize=THUNAR_ICON_SIZE_SMALLEST - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/autostart/xfce4-settings-helper-autostart.desktop b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/autostart/xfce4-settings-helper-autostart.desktop deleted file mode 100644 index 5673067..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/autostart/xfce4-settings-helper-autostart.desktop +++ /dev/null @@ -1,3 +0,0 @@ -[Desktop Entry] -Hidden=true - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/autostart/xfce4-tips-autostart.desktop b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/autostart/xfce4-tips-autostart.desktop deleted file mode 100644 index 5673067..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/autostart/xfce4-tips-autostart.desktop +++ /dev/null @@ -1,3 +0,0 @@ -[Desktop Entry] -Hidden=true - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/cpugraph-15.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/cpugraph-15.rc deleted file mode 100644 index b757ec3..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/cpugraph-15.rc +++ /dev/null @@ -1,12 +0,0 @@ -UpdateInterval=2 -TimeScale=0 -Width=30 -Mode=0 -Frame=1 -AssociateCommand=xterm top -ColorMode=0 -Foreground1=#25DF25 -Foreground2=#FF0000 -Background=#FFFFFF -Foreground3=#0000FF - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/datetime-16.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/datetime-16.rc deleted file mode 100644 index e28dc34..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/datetime-16.rc +++ /dev/null @@ -1,6 +0,0 @@ -layout=3 -date_font=Bitstream Vera Sans 8 -time_font=Bitstream Vera Sans 10 -date_format=%Y/%m/%d -time_format=%H:%M - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-10.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-10.rc deleted file mode 100644 index 46f8060..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-10.rc +++ /dev/null @@ -1,12 +0,0 @@ -[Global] -MoveFirst=false -ArrowPosition=0 - -[Entry 0] -Name=Web Browser -Comment=Surf the internet -Icon=web-browser -Exec=exo-open --launch WebBrowser -Terminal=false -StartupNotify=false - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-12.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-12.rc deleted file mode 100644 index a821f3a..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-12.rc +++ /dev/null @@ -1,8 +0,0 @@ -[Entry 0] -Name=Quit -Exec=larchquit.py xfce -Terminal=false -StartupNotify=true -Comment=Exit the current session -Icon=gnome-logout - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-7.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-7.rc deleted file mode 100644 index f13d351..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-7.rc +++ /dev/null @@ -1,12 +0,0 @@ -[Entry 0] -Name=Command Prompt -Comment=X terminal emulator -Icon=xfce-terminal -Exec=exo-open --launch TerminalEmulator -Terminal=false -StartupNotify=false - -[Global] -MoveFirst=false -ArrowPosition=0 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-8.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-8.rc deleted file mode 100644 index dec40db..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-8.rc +++ /dev/null @@ -1,12 +0,0 @@ -[Entry 0] -Name=Editor -Comment=Edit text files -Icon=xfce-edit -Exec=mousepad -Terminal=false -StartupNotify=false - -[Global] -MoveFirst=false -ArrowPosition=0 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-9.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-9.rc deleted file mode 100644 index 804f588..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/launcher-9.rc +++ /dev/null @@ -1,12 +0,0 @@ -[Global] -MoveFirst=false -ArrowPosition=0 - -[Entry 0] -Name=File Manager -Comment=Manage files and folders -Icon=Thunar -Exec=thunar -Terminal=false -StartupNotify=true - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/pager-2.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/pager-2.rc deleted file mode 100644 index b485293..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/pager-2.rc +++ /dev/null @@ -1,4 +0,0 @@ -rows=1 -scrolling=true -show-names=false - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/panels.xml b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/panels.xml deleted file mode 100644 index 87366cd..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/panels.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE config SYSTEM "config.dtd"> -<panels> - <panel> - <properties> - <property name="size" value="28"/> - <property name="monitor" value="0"/> - <property name="screen-position" value="11"/> - <property name="fullwidth" value="1"/> - <property name="xoffset" value="0"/> - <property name="yoffset" value="738"/> - <property name="handlestyle" value="0"/> - <property name="autohide" value="0"/> - <property name="transparency" value="20"/> - <property name="activetrans" value="0"/> - </properties> - <items> - <item name="xfce4-menu" id="5"/> - <item name="separator" id="6"/> - <item name="launcher" id="7"/> - <item name="launcher" id="8"/> - <item name="launcher" id="9"/> - <item name="launcher" id="10"/> - <item name="tasklist" id="3"/> - <item name="systray" id="4"/> - <item name="pager" id="2"/> - <item name="showdesktop" id="1"/> - <item name="separator" id="11"/> - <item name="xfce4-mixer-plugin" id="17"/> - <item name="cpugraph" id="15"/> - <item name="datetime" id="16"/> - <item name="separator" id="13"/> - <item name="launcher" id="12"/> - </items> - </panel> -</panels> diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/separator-11.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/separator-11.rc deleted file mode 100644 index c46dd6a..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/separator-11.rc +++ /dev/null @@ -1,2 +0,0 @@ -separator-type=2 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/separator-13.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/separator-13.rc deleted file mode 100644 index c46dd6a..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/separator-13.rc +++ /dev/null @@ -1,2 +0,0 @@ -separator-type=2 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/separator-6.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/separator-6.rc deleted file mode 100644 index c46dd6a..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/separator-6.rc +++ /dev/null @@ -1,2 +0,0 @@ -separator-type=2 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/systray-4.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/systray-4.rc deleted file mode 100644 index 6b4370d..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/systray-4.rc +++ /dev/null @@ -1,7 +0,0 @@ -[Global] -ShowFrame=false -Rows=1 - -[Applications] -xfce4-power-manager=false - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/tasklist-3.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/tasklist-3.rc deleted file mode 100644 index 7a8acf3..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/tasklist-3.rc +++ /dev/null @@ -1,7 +0,0 @@ -grouping=1 -width=300 -all_workspaces=false -expand=true -flat_buttons=true -show_handles=true - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/xfce4-menu-5.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/xfce4-menu-5.rc deleted file mode 100644 index f532525..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/xfce4-menu-5.rc +++ /dev/null @@ -1,7 +0,0 @@ -use_default_menu=true -menu_file= -icon_file=/usr/share/pixmaps/xfce4_xicon1.png -show_menu_icons=true -button_title=Xfce Menu -show_button_title=false - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/xfce4-mixer-plugin-17.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/xfce4-mixer-plugin-17.rc deleted file mode 100644 index efd19ae..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.config/xfce4/panel/xfce4-mixer-plugin-17.rc +++ /dev/null @@ -1,7 +0,0 @@ -[mixer-plugin] -Device=default -LauncherCommand=xfce4-mixer -LauncherRunInTerminal=false -LauncherUseStartupNotification=false -MasterControl=Master,0 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.local/share/applications/xfce4-logout.desktop b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.local/share/applications/xfce4-logout.desktop deleted file mode 100644 index 47d1bff..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.local/share/applications/xfce4-logout.desktop +++ /dev/null @@ -1,75 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application -Encoding=UTF-8 -Exec=larchquit.py xfce -Icon=system-log-out -StartupNotify=true -Terminal=false -Categories=X-XFCE;X-Xfce-Toplevel; -OnlyShowIn=XFCE; -Name=Log Out -Name[ar]=تسجيل الخروج -Name[be]=Выйсьці -Name[ca]=Surt -Name[cs]=Odhlásit se -Name[da]=Logud -Name[de]=Abmelden -Name[el]=Αποσύνδεση -Name[en_GB]=Log Out -Name[es]=Cerrar sesión -Name[et]=Kirjuta välja -Name[eu]=Saio itxi -Name[fi]=Lopeta -Name[fr]=Déconnexion -Name[hu]=Kijelentkezés -Name[id]=Log Keluar -Name[it]=Fine sessione -Name[ja]=ログアウト -Name[ko]=종료 -Name[lv]=Atteikties -Name[nb]=Logg ut -Name[nl]=Uitloggen -Name[pa]=ਲਾਗ ਆਉਟ -Name[pl]=Wyloguj -Name[pt]=Sair -Name[pt_BR]=Sair -Name[ru]=Выйти -Name[sq]=Dilni -Name[sv]=Logga ut -Name[tr]=Çık -Name[uk]=Завершити сеанс -Name[ur]=لاگ آؤٹ -Name[zh_CN]=注销 -Comment=Log out of the Xfce Desktop -Comment[ar]=تسجيل الخروج من سطح مكتب Xfce -Comment[be]=Выхад з асяроддзя Xfce 4 -Comment[ca]=Surt de l’escriptori Xfce -Comment[cs]=Odhlásit se z prostředí Xfce -Comment[da]=Logud af Xfce-skrivebordet -Comment[de]=Von der Arbeitsumgebung abmelden -Comment[el]=Αποσυνδεθείτε από το Xfce -Comment[en_GB]=Log out of the Xfce Desktop -Comment[es]=Salir del escritorio Xfce -Comment[et]=Kirjuta Xfce-töölauast välja -Comment[eu]=Saioa itxi Xfce idazmahaiean -Comment[fi]=Kirjaudu ulos Xfce-työpöydältä -Comment[fr]=Déconnexion du bureau Xfce -Comment[hu]=Kijelentkezés az Xfce Munkakörnyezetből -Comment[id]=Log keluar Destop Xfce -Comment[it]=Fine sessione di Xfce -Comment[ja]=Xfce デスクトップからログアウトします -Comment[ko]=Xfce 4 데스크탑 종료 -Comment[lv]=Atteikties no Xfce darbavirsmas -Comment[nb]=Logg av Xfce skrivebordet -Comment[pa]=Xfce ਡੈਸਕਟਾਪ ਤੋਂ ਲਾਗ ਆਉਟ -Comment[pl]=Wyloguj się z Xfce -Comment[pt]=Sair do Ambiente Xfce -Comment[pt_BR]=Sair do Xfce -Comment[ru]=Выйти из Xfce -Comment[sq]=Dil prej Desktopit Xfce 4 -Comment[sv]=Logga ut från Xfce-skrivbordet -Comment[tr]=Xfce Masaüstünden çık -Comment[uk]=Завершити сеанс Xfce -Comment[ur]=ایکسفس ڈیسک ٹاپ سے لاگ آؤٹ کریں -Comment[zh_CN]=注销 Xfce diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.xinitrc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.xinitrc deleted file mode 100644 index 112e032..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.xinitrc +++ /dev/null @@ -1,2 +0,0 @@ -desktop=xfce -. /etc/X11/xinit/xinitrc.custom diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.xsession b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.xsession deleted file mode 100755 index a16dc0b..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/etc/skel/.xsession +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -# -# ~/.xsession -# -# Executed by xdm/gdm/kdm at login -# - -/bin/bash --login -i ~/.xinitrc - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.bash_profile b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.bash_profile deleted file mode 100644 index 600bd9b..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.bash_profile +++ /dev/null @@ -1,3 +0,0 @@ -. $HOME/.bashrc - -. /etc/X11/xinit/startx.custom diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.bashrc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.bashrc deleted file mode 100644 index 3e5c29c..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.bashrc +++ /dev/null @@ -1,2 +0,0 @@ -alias ls='ls --color=auto' -PS1='[\u@\h \W]\$ ' diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/Terminal/terminalrc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/Terminal/terminalrc deleted file mode 100644 index 172b4d3..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/Terminal/terminalrc +++ /dev/null @@ -1,89 +0,0 @@ -[Configuration] -AccelNewTab=<control><shift>t -AccelNewWindow=<control><shift>n -AccelDetachTab=<control><shift>d -AccelCloseTab=<control><shift>w -AccelCloseWindow=<control><shift>q -AccelCopy=<control><shift>c -AccelPaste=<control><shift>v -AccelPreferences=Disabled -AccelShowMenubar=Disabled -AccelShowToolbars=Disabled -AccelShowBorders=Disabled -AccelFullscreen=F11 -AccelSetTitle=Disabled -AccelReset=Disabled -AccelResetAndClear=Disabled -AccelPrevTab=<control>Page_Up -AccelNextTab=<control>Page_Down -AccelSwitchToTab1=<Alt>1 -AccelSwitchToTab2=<Alt>2 -AccelSwitchToTab3=<Alt>3 -AccelSwitchToTab4=<Alt>4 -AccelSwitchToTab5=<Alt>5 -AccelSwitchToTab6=<Alt>6 -AccelSwitchToTab7=<Alt>7 -AccelSwitchToTab8=<Alt>8 -AccelSwitchToTab9=<Alt>9 -AccelContents=F1 -BackgroundMode=TERMINAL_BACKGROUND_SOLID -BackgroundImageFile= -BackgroundImageStyle=TERMINAL_BACKGROUND_STYLE_TILED -BackgroundDarkness=0.500000 -BindingBackspace=TERMINAL_ERASE_BINDING_AUTO -BindingDelete=TERMINAL_ERASE_BINDING_AUTO -ColorForeground=White -ColorBackground=Black -ColorCursor=Green -ColorSelection=White -ColorSelectionUseDefault=TRUE -ColorPalette1=#000000000000 -ColorPalette2=#aaaa00000000 -ColorPalette3=#0000aaaa0000 -ColorPalette4=#aaaa55550000 -ColorPalette5=#00000000aaaa -ColorPalette6=#aaaa0000aaaa -ColorPalette7=#0000aaaaaaaa -ColorPalette8=#aaaaaaaaaaaa -ColorPalette9=#555555555555 -ColorPalette10=#ffff55555555 -ColorPalette11=#5555ffff5555 -ColorPalette12=#ffffffff5555 -ColorPalette13=#55555555ffff -ColorPalette14=#ffff5555ffff -ColorPalette15=#5555ffffffff -ColorPalette16=#ffffffffffff -CommandUpdateRecords=TRUE -CommandLoginShell=FALSE -FontAllowBold=TRUE -FontAntiAlias=TRUE -FontName=Monospace 12 -MiscAlwaysShowTabs=FALSE -MiscBell=FALSE -MiscBordersDefault=TRUE -MiscCursorBlinks=FALSE -MiscDefaultGeometry=80x24 -MiscInheritGeometry=FALSE -MiscMenubarDefault=TRUE -MiscMouseAutohide=FALSE -MiscToolbarsDefault=FALSE -MiscConfirmClose=TRUE -MiscCycleTabs=TRUE -MiscTabCloseButtons=TRUE -MiscTabPosition=GTK_POS_TOP -MiscHighlightUrls=TRUE -ScrollingBar=TERMINAL_SCROLLBAR_RIGHT -ScrollingLines=1000 -ScrollingOnOutput=TRUE -ScrollingOnKeystroke=TRUE -ScrollingSingleLine=TRUE -ShortcutsNoMenukey=TRUE -ShortcutsNoMnemonics=FALSE -TitleInitial=Terminal -TitleMode=TERMINAL_TITLE_APPEND -Term=xterm -VteWorkaroundTitleBug=TRUE -WordChars=-A-Za-z0-9,./?%&#:_~ -TabActivityColor=#afff00000000 -TabActivityTimeout=2.000000 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/Thunar/thunarrc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/Thunar/thunarrc deleted file mode 100644 index 7857976..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/Thunar/thunarrc +++ /dev/null @@ -1,36 +0,0 @@ -[Configuration] -DefaultView=void -LastCompactViewZoomLevel=THUNAR_ZOOM_LEVEL_SMALLEST -LastDetailsViewColumnOrder=THUNAR_COLUMN_NAME,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_TYPE,THUNAR_COLUMN_DATE_MODIFIED -LastDetailsViewColumnWidths= -LastDetailsViewFixedColumns=FALSE -LastDetailsViewVisibleColumns=THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_NAME,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_TYPE -LastDetailsViewZoomLevel=THUNAR_ZOOM_LEVEL_SMALLER -LastIconViewZoomLevel=THUNAR_ZOOM_LEVEL_NORMAL -LastLocationBar=ThunarLocationButtons -LastSeparatorPosition=170 -LastShowHidden=FALSE -LastSidePane=ThunarShortcutsPane -LastSortColumn=THUNAR_COLUMN_NAME -LastSortOrder=GTK_SORT_ASCENDING -LastStatusbarVisible=TRUE -LastView=ThunarIconView -LastWindowHeight=480 -LastWindowWidth=640 -MiscVolumeManagement=FALSE -MiscCaseSensitive=FALSE -MiscDateStyle=THUNAR_DATE_STYLE_SHORT -MiscFoldersFirst=TRUE -MiscHorizontalWheelNavigates=FALSE -MiscRecursivePermissions=THUNAR_RECURSIVE_PERMISSIONS_ASK -MiscRememberGeometry=TRUE -MiscShowAboutTemplates=TRUE -MiscShowThumbnails=TRUE -MiscSingleClick=TRUE -MiscSingleClickTimeout=500 -MiscTextBesideIcons=FALSE -ShortcutsIconEmblems=TRUE -ShortcutsIconSize=THUNAR_ICON_SIZE_SMALLER -TreeIconEmblems=TRUE -TreeIconSize=THUNAR_ICON_SIZE_SMALLEST - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/autostart/xfce4-settings-helper-autostart.desktop b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/autostart/xfce4-settings-helper-autostart.desktop deleted file mode 100644 index 5673067..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/autostart/xfce4-settings-helper-autostart.desktop +++ /dev/null @@ -1,3 +0,0 @@ -[Desktop Entry] -Hidden=true - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/autostart/xfce4-tips-autostart.desktop b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/autostart/xfce4-tips-autostart.desktop deleted file mode 100644 index 5673067..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/autostart/xfce4-tips-autostart.desktop +++ /dev/null @@ -1,3 +0,0 @@ -[Desktop Entry] -Hidden=true - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/cpugraph-15.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/cpugraph-15.rc deleted file mode 100644 index b757ec3..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/cpugraph-15.rc +++ /dev/null @@ -1,12 +0,0 @@ -UpdateInterval=2 -TimeScale=0 -Width=30 -Mode=0 -Frame=1 -AssociateCommand=xterm top -ColorMode=0 -Foreground1=#25DF25 -Foreground2=#FF0000 -Background=#FFFFFF -Foreground3=#0000FF - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/datetime-16.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/datetime-16.rc deleted file mode 100644 index e28dc34..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/datetime-16.rc +++ /dev/null @@ -1,6 +0,0 @@ -layout=3 -date_font=Bitstream Vera Sans 8 -time_font=Bitstream Vera Sans 10 -date_format=%Y/%m/%d -time_format=%H:%M - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-10.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-10.rc deleted file mode 100644 index 46f8060..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-10.rc +++ /dev/null @@ -1,12 +0,0 @@ -[Global] -MoveFirst=false -ArrowPosition=0 - -[Entry 0] -Name=Web Browser -Comment=Surf the internet -Icon=web-browser -Exec=exo-open --launch WebBrowser -Terminal=false -StartupNotify=false - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-12.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-12.rc deleted file mode 100644 index a821f3a..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-12.rc +++ /dev/null @@ -1,8 +0,0 @@ -[Entry 0] -Name=Quit -Exec=larchquit.py xfce -Terminal=false -StartupNotify=true -Comment=Exit the current session -Icon=gnome-logout - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-7.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-7.rc deleted file mode 100644 index f13d351..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-7.rc +++ /dev/null @@ -1,12 +0,0 @@ -[Entry 0] -Name=Command Prompt -Comment=X terminal emulator -Icon=xfce-terminal -Exec=exo-open --launch TerminalEmulator -Terminal=false -StartupNotify=false - -[Global] -MoveFirst=false -ArrowPosition=0 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-8.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-8.rc deleted file mode 100644 index dec40db..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-8.rc +++ /dev/null @@ -1,12 +0,0 @@ -[Entry 0] -Name=Editor -Comment=Edit text files -Icon=xfce-edit -Exec=mousepad -Terminal=false -StartupNotify=false - -[Global] -MoveFirst=false -ArrowPosition=0 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-9.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-9.rc deleted file mode 100644 index 804f588..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/launcher-9.rc +++ /dev/null @@ -1,12 +0,0 @@ -[Global] -MoveFirst=false -ArrowPosition=0 - -[Entry 0] -Name=File Manager -Comment=Manage files and folders -Icon=Thunar -Exec=thunar -Terminal=false -StartupNotify=true - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/pager-2.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/pager-2.rc deleted file mode 100644 index b485293..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/pager-2.rc +++ /dev/null @@ -1,4 +0,0 @@ -rows=1 -scrolling=true -show-names=false - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/panels.xml b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/panels.xml deleted file mode 100644 index 87366cd..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/panels.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE config SYSTEM "config.dtd"> -<panels> - <panel> - <properties> - <property name="size" value="28"/> - <property name="monitor" value="0"/> - <property name="screen-position" value="11"/> - <property name="fullwidth" value="1"/> - <property name="xoffset" value="0"/> - <property name="yoffset" value="738"/> - <property name="handlestyle" value="0"/> - <property name="autohide" value="0"/> - <property name="transparency" value="20"/> - <property name="activetrans" value="0"/> - </properties> - <items> - <item name="xfce4-menu" id="5"/> - <item name="separator" id="6"/> - <item name="launcher" id="7"/> - <item name="launcher" id="8"/> - <item name="launcher" id="9"/> - <item name="launcher" id="10"/> - <item name="tasklist" id="3"/> - <item name="systray" id="4"/> - <item name="pager" id="2"/> - <item name="showdesktop" id="1"/> - <item name="separator" id="11"/> - <item name="xfce4-mixer-plugin" id="17"/> - <item name="cpugraph" id="15"/> - <item name="datetime" id="16"/> - <item name="separator" id="13"/> - <item name="launcher" id="12"/> - </items> - </panel> -</panels> diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/separator-11.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/separator-11.rc deleted file mode 100644 index c46dd6a..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/separator-11.rc +++ /dev/null @@ -1,2 +0,0 @@ -separator-type=2 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/separator-13.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/separator-13.rc deleted file mode 100644 index c46dd6a..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/separator-13.rc +++ /dev/null @@ -1,2 +0,0 @@ -separator-type=2 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/separator-6.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/separator-6.rc deleted file mode 100644 index c46dd6a..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/separator-6.rc +++ /dev/null @@ -1,2 +0,0 @@ -separator-type=2 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/systray-4.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/systray-4.rc deleted file mode 100644 index 6b4370d..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/systray-4.rc +++ /dev/null @@ -1,7 +0,0 @@ -[Global] -ShowFrame=false -Rows=1 - -[Applications] -xfce4-power-manager=false - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/tasklist-3.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/tasklist-3.rc deleted file mode 100644 index 7a8acf3..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/tasklist-3.rc +++ /dev/null @@ -1,7 +0,0 @@ -grouping=1 -width=300 -all_workspaces=false -expand=true -flat_buttons=true -show_handles=true - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/xfce4-menu-5.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/xfce4-menu-5.rc deleted file mode 100644 index f532525..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/xfce4-menu-5.rc +++ /dev/null @@ -1,7 +0,0 @@ -use_default_menu=true -menu_file= -icon_file=/usr/share/pixmaps/xfce4_xicon1.png -show_menu_icons=true -button_title=Xfce Menu -show_button_title=false - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/xfce4-mixer-plugin-17.rc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/xfce4-mixer-plugin-17.rc deleted file mode 100644 index efd19ae..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.config/xfce4/panel/xfce4-mixer-plugin-17.rc +++ /dev/null @@ -1,7 +0,0 @@ -[mixer-plugin] -Device=default -LauncherCommand=xfce4-mixer -LauncherRunInTerminal=false -LauncherUseStartupNotification=false -MasterControl=Master,0 - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.local/share/applications/xfce4-logout.desktop b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.local/share/applications/xfce4-logout.desktop deleted file mode 100644 index 47d1bff..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.local/share/applications/xfce4-logout.desktop +++ /dev/null @@ -1,75 +0,0 @@ -[Desktop Entry] -Version=1.0 -Type=Application -Encoding=UTF-8 -Exec=larchquit.py xfce -Icon=system-log-out -StartupNotify=true -Terminal=false -Categories=X-XFCE;X-Xfce-Toplevel; -OnlyShowIn=XFCE; -Name=Log Out -Name[ar]=تسجيل الخروج -Name[be]=Выйсьці -Name[ca]=Surt -Name[cs]=Odhlásit se -Name[da]=Logud -Name[de]=Abmelden -Name[el]=Αποσύνδεση -Name[en_GB]=Log Out -Name[es]=Cerrar sesión -Name[et]=Kirjuta välja -Name[eu]=Saio itxi -Name[fi]=Lopeta -Name[fr]=Déconnexion -Name[hu]=Kijelentkezés -Name[id]=Log Keluar -Name[it]=Fine sessione -Name[ja]=ログアウト -Name[ko]=종료 -Name[lv]=Atteikties -Name[nb]=Logg ut -Name[nl]=Uitloggen -Name[pa]=ਲਾਗ ਆਉਟ -Name[pl]=Wyloguj -Name[pt]=Sair -Name[pt_BR]=Sair -Name[ru]=Выйти -Name[sq]=Dilni -Name[sv]=Logga ut -Name[tr]=Çık -Name[uk]=Завершити сеанс -Name[ur]=لاگ آؤٹ -Name[zh_CN]=注销 -Comment=Log out of the Xfce Desktop -Comment[ar]=تسجيل الخروج من سطح مكتب Xfce -Comment[be]=Выхад з асяроддзя Xfce 4 -Comment[ca]=Surt de l’escriptori Xfce -Comment[cs]=Odhlásit se z prostředí Xfce -Comment[da]=Logud af Xfce-skrivebordet -Comment[de]=Von der Arbeitsumgebung abmelden -Comment[el]=Αποσυνδεθείτε από το Xfce -Comment[en_GB]=Log out of the Xfce Desktop -Comment[es]=Salir del escritorio Xfce -Comment[et]=Kirjuta Xfce-töölauast välja -Comment[eu]=Saioa itxi Xfce idazmahaiean -Comment[fi]=Kirjaudu ulos Xfce-työpöydältä -Comment[fr]=Déconnexion du bureau Xfce -Comment[hu]=Kijelentkezés az Xfce Munkakörnyezetből -Comment[id]=Log keluar Destop Xfce -Comment[it]=Fine sessione di Xfce -Comment[ja]=Xfce デスクトップからログアウトします -Comment[ko]=Xfce 4 데스크탑 종료 -Comment[lv]=Atteikties no Xfce darbavirsmas -Comment[nb]=Logg av Xfce skrivebordet -Comment[pa]=Xfce ਡੈਸਕਟਾਪ ਤੋਂ ਲਾਗ ਆਉਟ -Comment[pl]=Wyloguj się z Xfce -Comment[pt]=Sair do Ambiente Xfce -Comment[pt_BR]=Sair do Xfce -Comment[ru]=Выйти из Xfce -Comment[sq]=Dil prej Desktopit Xfce 4 -Comment[sv]=Logga ut från Xfce-skrivbordet -Comment[tr]=Xfce Masaüstünden çık -Comment[uk]=Завершити сеанс Xfce -Comment[ur]=ایکسفس ڈیسک ٹاپ سے لاگ آؤٹ کریں -Comment[zh_CN]=注销 Xfce diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.ssh/id_rsa.pub b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.ssh/id_rsa.pub deleted file mode 100644 index e69de29..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.ssh/id_rsa.pub +++ /dev/null diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.xinitrc b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.xinitrc deleted file mode 100644 index 112e032..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.xinitrc +++ /dev/null @@ -1,2 +0,0 @@ -desktop=xfce -. /etc/X11/xinit/xinitrc.custom diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.xsession b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.xsession deleted file mode 100755 index a16dc0b..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/.xsession +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -# -# ~/.xsession -# -# Executed by xdm/gdm/kdm at login -# - -/bin/bash --login -i ~/.xinitrc - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/Desktop/Install Arch Linux.desktop b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/Desktop/Install Arch Linux.desktop deleted file mode 100644 index 4f8bb8d..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/Desktop/Install Arch Linux.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Application -Name=Install Arch Linux -Comment=larchin, the larch / Arch installer -Categories=Application; -Exec=larchin -Icon=larchin -Terminal=false -StartupNotify=true -GenericName= diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/Desktop/Larch Documentation.desktop b/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/Desktop/Larch Documentation.desktop deleted file mode 100644 index ba0baac..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay.orig/root/Desktop/Larch Documentation.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Encoding=UTF-8 -Type=Application -Name=Larch Documentation -Comment= -Categories=Application; -Exec=xdg-open file:///opt/apps/larch/docs/html/index.html -Icon=larch -Terminal=false -StartupNotify=true diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xinit/startx.custom b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xinit/startx.custom deleted file mode 100644 index 8e3ec5e..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xinit/startx.custom +++ /dev/null @@ -1,22 +0,0 @@ -if grep -v nox /proc/cmdline &>/dev/null && \ - [ -z "$DISPLAY" ] && echo $(tty) | grep /vc/1 &>/dev/null; then - if grep i810 /proc/cmdline &>/dev/null; then - startx -- -config xorg.conf.i810 - else - startx - fi - - # Maybe there should be some code here to handle a failed startx? - - # The 'return' value is at /tmp/xlogout - # If there is nothing there, switch user to 'newuser' - # If there is also nothing there, login as root - # - if already root, fall through to terminal - - if [ -f /tmp/xlogout ] || [ -f /tmp/newuser ]; then - logout - elif [ ${UID} -ne 0 ]; then - echo "root" >/tmp/newuser - logout - fi -fi diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xinit/xinitrc.custom b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xinit/xinitrc.custom deleted file mode 100644 index 5f04171..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xinit/xinitrc.custom +++ /dev/null @@ -1,4 +0,0 @@ -# Set the keymap -xkmap-set - -exec fluxbox diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xorg.conf b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xorg.conf deleted file mode 100644 index 6d11b2e..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xorg.conf +++ /dev/null @@ -1,49 +0,0 @@ -Section "ServerLayout" - Identifier "X.org Configured" - Screen 0 "Screen0" 0 0 -EndSection - -Section "Device" - Identifier "Card0" - Driver "vesa" -EndSection - -Section "Monitor" - Identifier "Monitor0" - HorizSync 30.0 - 65.0 - VertRefresh 50.0 - 75.0 -EndSection - -Section "Screen" - Identifier "Screen0" - Device "Card0" - Monitor "Monitor0" - DefaultDepth 16 - SubSection "Display" - Viewport 0 0 - Depth 1 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 4 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 8 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 15 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 16 - Modes "1024x768" "800x600" - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 24 - EndSubSection -EndSection - - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xorg.conf.i810 b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xorg.conf.i810 deleted file mode 100644 index 9615569..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xorg.conf.i810 +++ /dev/null @@ -1,59 +0,0 @@ -Section "ServerLayout" - Identifier "X.org Configured" - Screen 0 "Screen0" 0 0 -EndSection - -Section "Device" - ### Available Driver options are:- - ### Values: <i>: integer, <f>: float, <bool>: "True"/"False", - ### <string>: "String", <freq>: "<f> Hz/kHz/MHz" - ### [arg]: arg optional - #Option "NoAccel" # [<bool>] - #Option "SWcursor" # [<bool>] - #Option "ColorKey" # <i> - #Option "CacheLines" # <i> - #Option "Dac6Bit" # [<bool>] - #Option "DRI" # [<bool>] - #Option "NoDDC" # [<bool>] - #Option "ShowCache" # [<bool>] - #Option "XvMCSurfaces" # <i> - #Option "PageFlip" # [<bool>] - Option "DRI" "False" - #Option "AccelMethod" "exa" - #Option "MigrationHeuristic" "greedy" - #Option "ExaNoComposite" "False" - Identifier "Card0" - Driver "intel" -EndSection - -Section "Screen" - Identifier "Screen0" - Device "Card0" - Monitor "Monitor0" - SubSection "Display" - Viewport 0 0 - Depth 1 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 4 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 8 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 15 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 16 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 24 - EndSubSection -EndSection - - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xorg.conf.i810.2 b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xorg.conf.i810.2 deleted file mode 100644 index a295b38..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xorg.conf.i810.2 +++ /dev/null @@ -1,67 +0,0 @@ -Section "ServerLayout" - Identifier "X.org Configured" - Screen 0 "Screen0" 0 0 -EndSection - -Section "Device" - ### Available Driver options are:- - ### Values: <i>: integer, <f>: float, <bool>: "True"/"False", - ### <string>: "String", <freq>: "<f> Hz/kHz/MHz" - ### [arg]: arg optional - #Option "NoAccel" # [<bool>] - #Option "SWcursor" # [<bool>] - #Option "ColorKey" # <i> - #Option "CacheLines" # <i> - #Option "Dac6Bit" # [<bool>] - #Option "DRI" # [<bool>] - #Option "NoDDC" # [<bool>] - #Option "ShowCache" # [<bool>] - #Option "XvMCSurfaces" # <i> - #Option "PageFlip" # [<bool>] - Option "DRI" "False" - #Option "AccelMethod" "exa" - #Option "MigrationHeuristic" "greedy" - #Option "ExaNoComposite" "False" - Identifier "Card0" - Driver "intel" -EndSection - -Section "Monitor" - Identifier "Monitor0" - HorizSync 30.0 - 65.0 - VertRefresh 50.0 - 75.0 -EndSection - -Section "Screen" - Identifier "Screen0" - Device "Card0" - Monitor "Monitor0" - DefaultDepth 16 - SubSection "Display" - Viewport 0 0 - Depth 1 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 4 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 8 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 15 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 16 - Modes "1024x768" "800x600" - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 24 - EndSubSection -EndSection - - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xorg.conf.vesa b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xorg.conf.vesa deleted file mode 100644 index 6d11b2e..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/X11/xorg.conf.vesa +++ /dev/null @@ -1,49 +0,0 @@ -Section "ServerLayout" - Identifier "X.org Configured" - Screen 0 "Screen0" 0 0 -EndSection - -Section "Device" - Identifier "Card0" - Driver "vesa" -EndSection - -Section "Monitor" - Identifier "Monitor0" - HorizSync 30.0 - 65.0 - VertRefresh 50.0 - 75.0 -EndSection - -Section "Screen" - Identifier "Screen0" - Device "Card0" - Monitor "Monitor0" - DefaultDepth 16 - SubSection "Display" - Viewport 0 0 - Depth 1 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 4 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 8 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 15 - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 16 - Modes "1024x768" "800x600" - EndSubSection - SubSection "Display" - Viewport 0 0 - Depth 24 - EndSubSection -EndSection - - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/conf.d/dhcpcd b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/conf.d/dhcpcd deleted file mode 100644 index ab53c30..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/conf.d/dhcpcd +++ /dev/null @@ -1,6 +0,0 @@ -# -# Arguments to be passed to the DHCP client daemon -# - -DHCPCD_ARGS="-t 10 -h $HOSTNAME" - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/conf.d/fbsplash.bootsteps b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/conf.d/fbsplash.bootsteps deleted file mode 100644 index 64bb6b7..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/conf.d/fbsplash.bootsteps +++ /dev/null @@ -1 +0,0 @@ -30 diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/conf.d/fbsplash.conf b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/conf.d/fbsplash.conf deleted file mode 100644 index ddd88f8..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/conf.d/fbsplash.conf +++ /dev/null @@ -1,8 +0,0 @@ -# -# fbsplash.conf -# - -THEMES="linhes" -SPLASH_TTYS="1 2 3 4 5 6" - -#EOF diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/conf.d/fbsplash.shutdownsteps b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/conf.d/fbsplash.shutdownsteps deleted file mode 100644 index 7f8f011..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/conf.d/fbsplash.shutdownsteps +++ /dev/null @@ -1 +0,0 @@ -7 diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/hosts.allow b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/hosts.allow deleted file mode 100644 index 19bc4d8..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/hosts.allow +++ /dev/null @@ -1,13 +0,0 @@ -# -# /etc/hosts.allow -# - -ALL: 127.0.0.1 - -# To allow ssh in from anywhere -sshd: ALL - -# To allow ssh in from local net (example) -#sshd: 192.168.178.0/255.255.255.0 - -# End of file diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/inittab b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/inittab deleted file mode 100644 index b2364fc..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/inittab +++ /dev/null @@ -1,39 +0,0 @@ -# -# /etc/inittab -# - -# Runlevels: -# 0 Halt -# 1(S) Single-user -# 2 Not used -# 3 Multi-user -# 4 Not used -# 5 X11 -# 6 Reboot - -## Only one of the following two lines can be uncommented! -# Boot to console -id:3:initdefault: -# Boot to X11 -#id:5:initdefault: - -rc::sysinit:/etc/rc.sysinit -rs:S1:wait:/etc/rc.single -rm:2345:wait:/etc/rc.multi -rh:06:wait:/etc/rc.shutdown -su:S:wait:/sbin/sulogin -p - -# -8 options fixes umlauts problem on login -c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux -n -l /usr/sbin/ulogin -c2:2345:respawn:/sbin/agetty -8 38400 tty2 linux -c3:2345:respawn:/sbin/agetty -8 38400 tty3 linux - -ca::ctrlaltdel:/sbin/shutdown -t3 -r now - -# Example lines for starting a login manager -#x:5:respawn:/usr/bin/xdm -nodaemon -#x:5:respawn:/usr/sbin/gdm -nodaemon -#x:5:respawn:/opt/kde/bin/kdm -nodaemon -#x:5:respawn:/usr/bin/slim >& /dev/null - -# End of file diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/inittab.larchsave b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/inittab.larchsave deleted file mode 100644 index 2de483f..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/inittab.larchsave +++ /dev/null @@ -1,43 +0,0 @@ -# -# /etc/inittab -# - -# Runlevels: -# 0 Halt -# 1(S) Single-user -# 2 Not used -# 3 Multi-user -# 4 Not used -# 5 X11 -# 6 Reboot - -## Only one of the following two lines can be uncommented! -# Boot to console -id:5:initdefault: -# Boot to X11 -#id:5:initdefault: - -rc::sysinit:/etc/rc.sysinit -rs:S1:wait:/etc/rc.single -rm:2345:wait:/etc/rc.multi -rh:06:wait:/etc/rc.shutdown -su:S:wait:/sbin/sulogin -p - -# -8 options fixes umlauts problem on login -c1:2345:respawn:/sbin/agetty -8 38400 vc/1 linux -n -l /etc/ulogin -c2:2345:respawn:/sbin/agetty -8 38400 vc/2 linux -c3:2345:respawn:/sbin/agetty -8 38400 vc/3 linux -c4:2345:respawn:/sbin/agetty -8 38400 vc/4 linux -c5:2345:respawn:/sbin/agetty -8 38400 vc/5 linux -c6:2345:respawn:/sbin/agetty -8 38400 vc/6 linux -c7:5:respawn:/usr/bin/openvt -fwc 6 -- /bin/su - mythtv -c /usr/bin/startx >& /dev/null - -ca::ctrlaltdel:/sbin/shutdown -t3 -r now - -# Example lines for starting a login manager -#x:5:respawn:/usr/bin/xdm -nodaemon -#x:5:respawn:/usr/sbin/gdm -nodaemon -#x:5:respawn:/opt/kde/bin/kdm -nodaemon -#x:5:respawn:/usr/bin/slim >& /dev/null - -# End of file diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/larch-shutdown b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/larch-shutdown deleted file mode 100644 index d614d4b..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/larch-shutdown +++ /dev/null @@ -1,47 +0,0 @@ -# Functions used by rc.shutdown -# Modified versions for larch live systems - -f_saveclock () -{ - : -} - -f_swapoff () -{ - ############################# Include session saving functions - # . /opt/larch-live/session-save/shutdown2 - # if [ -f /tmp/checkse ]; then - # . /tmp/checkse - #else - # checkse - # fi - - if [ -n "${saving}" ] && ! session_save; then - echo - echo "If you know what you are doing, you may be able to recover" - echo "something from this unpleasant situation." - echo - echo "You may use the command line to investigate further ..." - echo - echo "When finished please enter 'exit', the shutdown process will" - echo "then continue." - sh -i - fi - - ############################# - - stat_busy "Deactivating Swap" - /sbin/swapoff -a - stat_done -} - -f_remountro () -{ - if [ -n "${ejectdev}" ]; then - echo "Ejecting live CD" - eject ${ejectdev} - echo "sleeping for 6 seconds" - sleep 6 - - fi -} diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/mkinitcpio.conf.larch b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/mkinitcpio.conf.larch deleted file mode 100644 index 0a9b572..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/mkinitcpio.conf.larch +++ /dev/null @@ -1,65 +0,0 @@ -# vim:set ft=sh -# MODULES -# The following modules are loaded before any boot hooks are -# run. Advanced users may wish to specify all system modules -# in this array. For instance: -# MODULES="piix ide_disk reiserfs" -MODULES="" - -# BINARIES -# This setting includes, into the CPIO image, and additional -# binaries a given user may wish. This is run first, so may -# be used to override the actual binaries used in a given hook. -# (Existing files are NOT overwritten is already added) -# BINARIES are dependancy parsed, so you may safely ignore libraries -BINARIES="" - -# FILES -# This setting is similar to BINARIES above, however, files are added -# as-is and are not parsed in anyway. This is useful for config files. -# Some users may wish to include modprobe.conf for custom module options, -# like so: -# FILES="/etc/modprobe.conf" -FILES="" - -# HOOKS -# This is the most important setting in this file. The HOOKS control the -# modules and scripts added to the image, and what happens at boot time. -# Order is important, and it is recommended that you do not change the -# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for -# help on a given hook. -# 'base' is _required_ unless you know precisely what you are doing. -# 'udev' is _required_ in order to automatically load modules -# 'filesystems' is _required_ unless you specify your fs modules in MODULES -# Examples: -# This setup specifies all modules in the MODULES setting above. -# No raid, lvm2, or encrypted root is needed. -# HOOKS="base" -# -# This setup will autodetect all modules for your system and should -# work as a sane default -# HOOKS="base udev autodetect pata scsi sata filesystems" -# -# This is identical to the above, except the old ide subsystem is -# used for IDE devices instead of the new pata subsystem. -# HOOKS="base udev autodetect ide scsi sata filesystems" -# -# This setup will generate a 'full' image which supports most systems. -# No autodetection is done. -# HOOKS="base udev pata scsi sata usb filesystems" -# -# This setup assembles an pata raid array with an encrypted root FS. -# Note: See 'mkinitcpio -H raid' for more information on raid devices. -# HOOKS="base udev pata raid encrypt filesystems" -# -# This setup loads an lvm2 volume group on a usb device. -# HOOKS="base udev usb lvm2 filesystems" -HOOKS="base udev autodetect pata scsi sata filesystems larch1 larch2_aufs larch3 fbsplash" - -# COMPRESSION -# Use this to compress the initramfs image. With kernels earlier than -# 2.6.30, only gzip is supported, which is also the default. Newer kernels -# support gzip, bzip2 and lzma. -#COMPRESSION="gzip" -#COMPRESSION="bzip2" -#COMPRESSION="lzma" diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/ppp/options b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/ppp/options deleted file mode 100644 index 237c390..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/ppp/options +++ /dev/null @@ -1,352 +0,0 @@ -# /etc/ppp/options -# -# Originally created by Jim Knoble <jmknoble@mercury.interpath.net> -# Modified for Debian by alvar Bray <alvar@meiko.co.uk> -# Modified for PPP Server setup by Christoph Lameter <clameter@debian.org> -# Modified for ArchLinux by Manolis Tzanidakis <manolis@archlinux.org> -# -# To quickly see what options are active in this file, use this command: -# egrep -v '#|^ *$' /etc/ppp/options - -# Specify which DNS Servers the incoming Win95 or WinNT Connection should use -# Two Servers can be remotely configured -# ms-dns 192.168.1.1 -# ms-dns 192.168.1.2 - -# Specify which WINS Servers the incoming connection Win95 or WinNT should use -# ms-wins 192.168.1.50 -# ms-wins 192.168.1.51 - -# Run the executable or shell command specified after pppd has -# terminated the link. This script could, for example, issue commands -# to the modem to cause it to hang up if hardware modem control signals -# were not available. -#disconnect "chat -- \d+++\d\c OK ath0 OK" - -# async character map -- 32-bit hex; each bit is a character -# that needs to be escaped for pppd to receive it. 0x00000001 -# represents '\x01', and 0x80000000 represents '\x1f'. -asyncmap 0 - -# Require the peer to authenticate itself before allowing network -# packets to be sent or received. -# Please do not disable this setting. It is expected to be standard in -# future releases of pppd. Use the call option (see manpage) to disable -# authentication for specific peers. -#auth - -# Use hardware flow control (i.e. RTS/CTS) to control the flow of data -# on the serial port. -crtscts - -# Use software flow control (i.e. XON/XOFF) to control the flow of data -# on the serial port. -#xonxoff - -# Specifies that certain characters should be escaped on transmission -# (regardless of whether the peer requests them to be escaped with its -# async control character map). The characters to be escaped are -# specified as a list of hex numbers separated by commas. Note that -# almost any character can be specified for the escape option, unlike -# the asyncmap option which only allows control characters to be -# specified. The characters which may not be escaped are those with hex -# values 0x20 - 0x3f or 0x5e. -#escape 11,13,ff - -# Don't use the modem control lines. -#local - -# Specifies that pppd should use a UUCP-style lock on the serial device -# to ensure exclusive access to the device. -lock - -# Don't show the passwords when logging the contents of PAP packets. -# This is the default. -hide-password - -# When logging the contents of PAP packets, this option causes pppd to -# show the password string in the log message. -#show-password - -# Use the modem control lines. On Ultrix, this option implies hardware -# flow control, as for the crtscts option. (This option is not fully -# implemented.) -modem - -# Set the MRU [Maximum Receive Unit] value to <n> for negotiation. pppd -# will ask the peer to send packets of no more than <n> bytes. The -# minimum MRU value is 128. The default MRU value is 1500. A value of -# 296 is recommended for slow links (40 bytes for TCP/IP header + 256 -# bytes of data). -#mru 542 - -# Set the interface netmask to <n>, a 32 bit netmask in "decimal dot" -# notation (e.g. 255.255.255.0). -#netmask 255.255.255.0 - -# Disables the default behaviour when no local IP address is specified, -# which is to determine (if possible) the local IP address from the -# hostname. With this option, the peer will have to supply the local IP -# address during IPCP negotiation (unless it specified explicitly on the -# command line or in an options file). -#noipdefault - -# Enables the "passive" option in the LCP. With this option, pppd will -# attempt to initiate a connection; if no reply is received from the -# peer, pppd will then just wait passively for a valid LCP packet from -# the peer (instead of exiting, as it does without this option). -#passive - -# With this option, pppd will not transmit LCP packets to initiate a -# connection until a valid LCP packet is received from the peer (as for -# the "passive" option with old versions of pppd). -#silent - -# Don't request or allow negotiation of any options for LCP and IPCP -# (use default values). -#-all - -# Disable Address/Control compression negotiation (use default, i.e. -# address/control field disabled). -#-ac - -# Disable asyncmap negotiation (use the default asyncmap, i.e. escape -# all control characters). -#-am - -# Don't fork to become a background process (otherwise pppd will do so -# if a serial device is specified). -#-detach - -# Disable IP address negotiation (with this option, the remote IP -# address must be specified with an option on the command line or in -# an options file). -#-ip - -# Disable IPCP negotiation and IP communication. This option should -# only be required if the peer is buggy and gets confused by requests -# from pppd for IPCP negotiation. -#noip - -# Disable magic number negotiation. With this option, pppd cannot -# detect a looped-back line. -#-mn - -# Disable MRU [Maximum Receive Unit] negotiation (use default, i.e. -# 1500). -#-mru - -# Disable protocol field compression negotiation (use default, i.e. -# protocol field compression disabled). -#-pc - -# Require the peer to authenticate itself using PAP. -#+pap - -# Don't agree to authenticate using PAP. -#-pap - -# Require the peer to authenticate itself using CHAP [Cryptographic -# Handshake Authentication Protocol] authentication. -#+chap - -# Don't agree to authenticate using CHAP. -#-chap - -# Disable negotiation of Van Jacobson style IP header compression (use -# default, i.e. no compression). -#-vj - -# Increase debugging level (same as -d). If this option is given, pppd -# will log the contents of all control packets sent or received in a -# readable form. The packets are logged through syslog with facility -# daemon and level debug. This information can be directed to a file by -# setting up /etc/syslog.conf appropriately (see syslog.conf(5)). (If -# pppd is compiled with extra debugging enabled, it will log messages -# using facility local2 instead of daemon). -#debug - -# Append the domain name <d> to the local host name for authentication -# purposes. For example, if gethostname() returns the name porsche, -# but the fully qualified domain name is porsche.Quotron.COM, you would -# use the domain option to set the domain name to Quotron.COM. -#domain <d> - -# Enable debugging code in the kernel-level PPP driver. The argument n -# is a number which is the sum of the following values: 1 to enable -# general debug messages, 2 to request that the contents of received -# packets be printed, and 4 to request that the contents of transmitted -# packets be printed. -#kdebug n - -# Set the MTU [Maximum Transmit Unit] value to <n>. Unless the peer -# requests a smaller value via MRU negotiation, pppd will request that -# the kernel networking code send data packets of no more than n bytes -# through the PPP network interface. -#mtu <n> - -# Set the name of the local system for authentication purposes to <n>. -# This is a privileged option. With this option, pppd will use lines in the -# secrets files which have <n> as the second field when looking for a -# secret to use in authenticating the peer. In addition, unless overridden -# with the user option, <n> will be used as the name to send to the peer -# when authenticating the local system to the peer. (Note that pppd does -# not append the domain name to <n>.) -#name <n> - -# Enforce the use of the hostname as the name of the local system for -# authentication purposes (overrides the name option). -#usehostname - -# Set the assumed name of the remote system for authentication purposes -# to <n>. -#remotename <n> - -# Add an entry to this system's ARP [Address Resolution Protocol] -# table with the IP address of the peer and the Ethernet address of this -# system. -proxyarp - -# Use the system password database for authenticating the peer using -# PAP. Note: mgetty already provides this option. If this is specified -# then dialin from users using a script under Linux to fire up ppp wont work. -# login - -# If this option is given, pppd will send an LCP echo-request frame to the -# peer every n seconds. Normally the peer should respond to the echo-request -# by sending an echo-reply. This option can be used with the -# lcp-echo-failure option to detect that the peer is no longer connected. -lcp-echo-interval 30 - -# If this option is given, pppd will presume the peer to be dead if n -# LCP echo-requests are sent without receiving a valid LCP echo-reply. -# If this happens, pppd will terminate the connection. Use of this -# option requires a non-zero value for the lcp-echo-interval parameter. -# This option can be used to enable pppd to terminate after the physical -# connection has been broken (e.g., the modem has hung up) in -# situations where no hardware modem control lines are available. -lcp-echo-failure 4 - -# Set the LCP restart interval (retransmission timeout) to <n> seconds -# (default 3). -#lcp-restart <n> - -# Set the maximum number of LCP terminate-request transmissions to <n> -# (default 3). -#lcp-max-terminate <n> - -# Set the maximum number of LCP configure-request transmissions to <n> -# (default 10). -#lcp-max-configure <n> - -# Set the maximum number of LCP configure-NAKs returned before starting -# to send configure-Rejects instead to <n> (default 10). -#lcp-max-failure <n> - -# Set the IPCP restart interval (retransmission timeout) to <n> -# seconds (default 3). -#ipcp-restart <n> - -# Set the maximum number of IPCP terminate-request transmissions to <n> -# (default 3). -#ipcp-max-terminate <n> - -# Set the maximum number of IPCP configure-request transmissions to <n> -# (default 10). -#ipcp-max-configure <n> - -# Set the maximum number of IPCP configure-NAKs returned before starting -# to send configure-Rejects instead to <n> (default 10). -#ipcp-max-failure <n> - -# Set the PAP restart interval (retransmission timeout) to <n> seconds -# (default 3). -#pap-restart <n> - -# Set the maximum number of PAP authenticate-request transmissions to -# <n> (default 10). -#pap-max-authreq <n> - -# Set the maximum time that pppd will wait for the peer to authenticate -# itself with PAP to <n> seconds (0 means no limit). -#pap-timeout <n> - -# Set the CHAP restart interval (retransmission timeout for -# challenges) to <n> seconds (default 3). -#chap-restart <n> - -# Set the maximum number of CHAP challenge transmissions to <n> -# (default 10). -#chap-max-challenge - -# If this option is given, pppd will rechallenge the peer every <n> -# seconds. -#chap-interval <n> - -# With this option, pppd will accept the peer's idea of our local IP -# address, even if the local IP address was specified in an option. -#ipcp-accept-local - -# With this option, pppd will accept the peer's idea of its (remote) IP -# address, even if the remote IP address was specified in an option. -#ipcp-accept-remote - -# Disable the IPXCP and IPX protocols. -# To let pppd pass IPX packets comment this out --- you'll probably also -# want to install ipxripd, and have the Internal IPX Network option enabled -# in your kernel. /usr/doc/HOWTO/IPX-HOWTO.gz contains more info. -noipx - -# Exit once a connection has been made and terminated. This is the default, -# unless the `persist' or `demand' option has been specified. -#nopersist - -# Do not exit after a connection is terminated; instead try to reopen -# the connection. -#persist - -# Terminate after n consecutive failed connection attempts. -# A value of 0 means no limit. The default value is 10. -#maxfail <n> - -# Initiate the link only on demand, i.e. when data traffic is present. -# With this option, the remote IP address must be specified by the user on -# the command line or in an options file. Pppd will initially configure -# the interface and enable it for IP traffic without connecting to the peer. -# When traffic is available, pppd will connect to the peer and perform -# negotiation, authentication, etc. When this is completed, pppd will -# commence passing data packets (i.e., IP packets) across the link. -#demand - -# Specifies that pppd should disconnect if the link is idle for <n> seconds. -# The link is idle when no data packets (i.e. IP packets) are being sent or -# received. Note: it is not advisable to use this option with the persist -# option without the demand option. If the active-filter option is given, -# data packets which are rejected by the specified activity filter also -# count as the link being idle. -#idle <n> - -# Specifies how many seconds to wait before re-initiating the link after -# it terminates. This option only has any effect if the persist or demand -# option is used. The holdoff period is not applied if the link was -# terminated because it was idle. -#holdoff <n> - -# Wait for up n milliseconds after the connect script finishes for a valid -# PPP packet from the peer. At the end of this time, or when a valid PPP -# packet is received from the peer, pppd will commence negotiation by -# sending its first LCP packet. The default value is 1000 (1 second). -# This wait period only applies if the connect or pty option is used. -#connect-delay <n> - -# Packet filtering: for more information, see pppd(8) -# Any packets matching the filter expression will be interpreted as link -# activity, and will cause a "demand" connection to be activated, and reset -# the idle connection timer. (idle option) -# The filter expression is akin to that of tcpdump(1) -#active-filter <filter-expression> - -# uncomment the line below this if you use PPPoE -#plugin /usr/lib/pppd/plugins/pppoe.so - -# ---<End of File>--- diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/rc.local b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/rc.local deleted file mode 100755 index 2d488a2..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/rc.local +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/bash -# -# /etc/rc.local: Local multi-user startup script. -# -. /etc/rc.conf -. /etc/rc.d/functions -. /etc/profile -. ${MV_ROOT}/bin/install_functions.sh - -function mysql_check { - mysql -e "show databases;" 2>/dev/null >/dev/null - return $? -} - -function mythconverg_check { - mysql mythconverg -e "describe settings;" 2>/dev/null >/dev/null - return $? -} - -function install_db { - pacman --noconfirm -R mythdb-initial 2>/dev/null > /dev/null - pacman -S --noconfirm mythdb-initial 2>/dev/null > /dev/null -} - - - - -#check to see if mysql is running -stat_busy "Checking Mysql" -ATTEMPT=0 -mysql_check && printhl " Installing the initial database" &&install_db -mythconverg_check -status=$? -while [ ! $status = 0 ] -do - ((ATTEMPT=ATTEMPT+1)) - /etc/rc.d/mysqld stop - sleep 2 - /etc/rc.d/mysqld start - mysqlstatus=$? - if [ $mysqlstatus = 0 ] - then - mysql_check && install_db - mythconverg_check - status=$? - fi - if [ $ATTEMPT = 20 ] - then - printhl " Could not start mysql or install mythconverg within 20 attempts" - printhl " Aborting install" - exit 20 - fi -done -stat_done - -#check network parms -stat_busy "Checking network" -init_network -stat_done - -stat_busy "Probing network" -request_dhcp & -stat_done - -#save some cmdline options -stat_busy "Parsing command line" -parse_cmdline_2_db -bootsplash_setup -stat_done - -#search for remote -stat_busy "Checking for remote" -init_remote -stat_done -printhl "Finished" - - -echo $CMDLINE | grep -qi NoX -if [ $? = 0 ] -then - echo "" - printhl "No auto X option found" - # /usr/bin/chvt 2 -else - /root/startx & -fi - - -# Set up automatically logged in user -if [ -f /.livesys/autologin ]; then - cp /.livesys/autologin /tmp/newuser -fi - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/rc.local.orig b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/rc.local.orig deleted file mode 100755 index 47b24ef..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/rc.local.orig +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -# -# /etc/rc.local: Local multi-user startup script. -# - -# Restore saved sound volume, etc. -alsactl restore diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/rc.local.shutdown b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/rc.local.shutdown deleted file mode 100755 index 2b5f735..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/rc.local.shutdown +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -# -# /etc/rc.local.shutdown: Local shutdown script. -# - -# Save sound volume, etc. -alsactl store diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/skel/.bash_profile b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/skel/.bash_profile deleted file mode 100644 index 600bd9b..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/skel/.bash_profile +++ /dev/null @@ -1,3 +0,0 @@ -. $HOME/.bashrc - -. /etc/X11/xinit/startx.custom diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/skel/.bashrc b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/skel/.bashrc deleted file mode 100644 index fcabce0..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/skel/.bashrc +++ /dev/null @@ -1,3 +0,0 @@ -alias ls='ls --color=auto' -PS1='[\u@\h \W]\$ ' - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/skel/.xinitrc b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/skel/.xinitrc deleted file mode 100644 index c6febe5..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/skel/.xinitrc +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -# -# ~/.xinitrc -# -# Executed by startx (run your window manager from here) -# - -# exec gnome-session -# exec startkde -# exec startxfce4 -# exec icewm -# exec openbox -# exec blackbox -exec fluxbox -# exec ratpoison -# exec dwm diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/skel/.xsession b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/skel/.xsession deleted file mode 100755 index a16dc0b..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/skel/.xsession +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -# -# ~/.xsession -# -# Executed by xdm/gdm/kdm at login -# - -/bin/bash --login -i ~/.xinitrc - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/slim.conf b/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/slim.conf deleted file mode 100644 index 35ed579..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/etc/slim.conf +++ /dev/null @@ -1,79 +0,0 @@ -# Path, X server and arguments (if needed) -# Note: -xauth $authfile is automatically appended -default_path ./:/bin:/usr/bin:/usr/local/bin:/usr/bin -default_xserver /usr/bin/X -xserver_arguments -nolisten tcp vt07 - -# Commands for halt, login, etc. -halt_cmd /sbin/shutdown -h now -reboot_cmd /sbin/shutdown -r now -console_cmd /usr/bin/terminal -x /bin/sh -c "/bin/cat /etc/issue; exec /bin/login" -#suspend_cmd /usr/sbin/suspend - -# Full path to the xauth binary -xauth_path /usr/bin/xauth - -# Xauth file for server -authfile /var/run/slim.auth - - -# Activate numlock when slim starts. Valid values: on|off -# numlock on - -# Hide the mouse cursor (note: does not work with some WMs). -# Valid values: true|false -# hidecursor false - -# This command is executed after a succesful login. -# you can place the %session and %theme variables -# to handle launching of specific commands in .xinitrc -# depending of chosen session and slim theme -# -# NOTE: if your system does not have bash you need -# to adjust the command according to your preferred shell, -# i.e. for freebsd use: -# login_cmd exec /bin/sh - ~/.xinitrc %session -login_cmd exec /bin/bash -login ~/.xinitrc %session - -# Commands executed when starting and exiting a session. -# They can be used for registering a X11 session with -# sessreg. You can use the %user variable -# -# sessionstart_cmd some command -# sessionstop_cmd some command - -# Start in daemon mode. Valid values: yes | no -# Note that this can overridden by the command line -# option "-d" -# daemon yes - -# Available sessions (first one is the default). -# The current chosen session name is replaced in the login_cmd -# above, so your login command can handle different sessions. -# see the xinitrc.sample file shipped with slim sources -sessions xfce4,icewm,wmaker,blackbox - -# Executed when pressing F11 (requires imagemagick) -screenshot_cmd import -window root /slim.png - -# welcome message. Available variables: %host, %domain -welcome_msg Welcome to %host - -# shutdown / reboot messages -shutdown_msg The system is halting... -reboot_msg The system is rebooting... - -# default user, leave blank or remove this line -# for avoid pre-loading the username. -#default_user simone - -# current theme, use comma separated list to specify a set to -# randomly choose from -current_theme dlarch - -# Lock file -lockfile /var/lock/slim.lock - -# Log file -logfile /var/log/slim.log - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/root/.fluxbox/apps b/build_tools/l7/larch0/profiles/l7/rootoverlay/root/.fluxbox/apps deleted file mode 100644 index 68fae0a..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/root/.fluxbox/apps +++ /dev/null @@ -1,2 +0,0 @@ -[startup] {feh --bg-scale ~/.fluxbox/wallpaper.png} - diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/root/LinHES-install.sh b/build_tools/l7/larch0/profiles/l7/rootoverlay/root/LinHES-install.sh deleted file mode 100755 index 6acd24a..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/root/LinHES-install.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash -#redirect stderr to stdout, then rediret stdout to file -. /etc/profile -exec 2>&1 -exec > /tmp/mythvantage_install.log -#/usr/bin/nvidia-settings -a InitialPixmapPlacement=2 -#keylaunch & -#/usr/bin/tilda & -#/usr/X11R6/bin/unclutter -root -idle 0 -jitter 400 -noevents & -export MALLOC_CHECK_=0 -xset s off -xset -dpms -xhost + - -CMDLINE=$(cat /proc/cmdline) -echo $CMDLINE |grep -q nfsroot -NFSROOT=$? -echo $CMDLINE |grep -q clean_upgrade -if [ $? = 0 ] -then - export CLEAN_UPGRADE=YES -else - export CLEAN_UPGRADE=NO -fi -MythVantage -r - -if [ x$NFSROOT = x1 ] -then - unbuffer MythVantage & -else - NETBOOT=YES MythVantage & -fi - -exec fluxbox > /var/log/fluxbox.log 2>&1 diff --git a/build_tools/l7/larch0/profiles/l7/rootoverlay/root/startx b/build_tools/l7/larch0/profiles/l7/rootoverlay/root/startx deleted file mode 100755 index 9274703..0000000 --- a/build_tools/l7/larch0/profiles/l7/rootoverlay/root/startx +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -. /etc/profile - -export USER=root -export HOME=/root - -CMDLINE=$(cat /proc/cmdline) -TEMPVAR=${CMDLINE#*ip=} -IP=${TEMPVAR%% *} -echo $CMDLINE |grep -q vnc -USEVNC=$? - -if [ x$USEVNC = x1 ] -then - $MV_ROOT/bin/xconfig.sh 2>/dev/null - cat /etc/X11/xorg.conf | sed -e 's/dev\/mouse/dev\/psaux/g'> /root/xorg.conf.install - startx /root/LinHES-install.sh -- -logverbose 6 -config /root/xorg.conf.install -allowMouseOpenFail 2>/tmp/x.log - else - #VNC - pacman -Sf --noconfirm tightvnc - cd /root - mkdir .vnc - echo mythvantage |vncpasswd -f > /root/.vnc/passwd - chmod 500 /root/.vnc/passwd - rm /root/.vnc/xstartup - ln -s /root/LinHES-install.sh /root/.vnc/xstartup - vncserver -fi diff --git a/build_tools/l7/larch0/profiles/l7/vetopacks b/build_tools/l7/larch0/profiles/l7/vetopacks deleted file mode 100644 index 2bb19ee..0000000 --- a/build_tools/l7/larch0/profiles/l7/vetopacks +++ /dev/null @@ -1 +0,0 @@ -#xorg-twm diff --git a/build_tools/l7/larch0/profiles/l7/vetopacks.orig b/build_tools/l7/larch0/profiles/l7/vetopacks.orig deleted file mode 100644 index f85fa2d..0000000 --- a/build_tools/l7/larch0/profiles/l7/vetopacks.orig +++ /dev/null @@ -1,6 +0,0 @@ -xterm -xorg-twm -xorg-fonts-75dpi -xorg-fonts-100dpi -xorg-docs -xorg-res-utils diff --git a/build_tools/l7/larch0/profiles/mini/addedpacks b/build_tools/l7/larch0/profiles/mini/addedpacks deleted file mode 100644 index 9bd654d..0000000 --- a/build_tools/l7/larch0/profiles/mini/addedpacks +++ /dev/null @@ -1,16 +0,0 @@ -# Useful for use as installer, etc. -ntfsprogs -parted - -# generally useful tools which don't require X -openssh -sshfs -rsync -dosfstools -lynx -mc -unzip -zip - -lsof -dvd+rw-tools diff --git a/build_tools/l7/larch0/profiles/mini/cachepacks b/build_tools/l7/larch0/profiles/mini/cachepacks deleted file mode 100644 index 729af65..0000000 --- a/build_tools/l7/larch0/profiles/mini/cachepacks +++ /dev/null @@ -1,11 +0,0 @@ -# Useful for use as installer, etc. - -# generally useful tools which don't require X -openssh -sshfs -rsync -dosfstools -lynx -mc -unzip -zip diff --git a/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/conf.d/dhcpcd b/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/conf.d/dhcpcd deleted file mode 100644 index ab53c30..0000000 --- a/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/conf.d/dhcpcd +++ /dev/null @@ -1,6 +0,0 @@ -# -# Arguments to be passed to the DHCP client daemon -# - -DHCPCD_ARGS="-t 10 -h $HOSTNAME" - diff --git a/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/hosts.allow b/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/hosts.allow deleted file mode 100644 index f8cc8f5..0000000 --- a/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/hosts.allow +++ /dev/null @@ -1,13 +0,0 @@ -# -# /etc/hosts.allow -# - -ALL: 127.0.0.1 - -# To allow ssh in from anywhere -#sshd: ALL - -# To allow ssh in from local net (example) -#sshd: 192.168.178.0/255.255.255.0 - -# End of file diff --git a/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/inittab.larch b/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/inittab.larch deleted file mode 100644 index 4b5bb7a..0000000 --- a/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/inittab.larch +++ /dev/null @@ -1,42 +0,0 @@ -# -# /etc/inittab -# - -# Runlevels: -# 0 Halt -# 1(S) Single-user -# 2 Not used -# 3 Multi-user -# 4 Not used -# 5 X11 -# 6 Reboot - -## Only one of the following two lines can be uncommented! -# Boot to console -id:3:initdefault: -# Boot to X11 -#id:5:initdefault: - -rc::sysinit:/etc/rc.sysinit -rs:S1:wait:/etc/rc.single -rm:2345:wait:/etc/rc.multi -rh:06:wait:/etc/rc.shutdown -su:S:wait:/sbin/sulogin -p - -# -8 options fixes umlauts problem on login -c1:2345:respawn:/sbin/agetty -8 38400 tty1 linux -n -l /usr/sbin/loginroot -c2:2345:respawn:/sbin/agetty -8 38400 tty2 linux -c3:2345:respawn:/sbin/agetty -8 38400 tty3 linux -c4:2345:respawn:/sbin/agetty -8 38400 tty4 linux -c5:2345:respawn:/sbin/agetty -8 38400 tty5 linux -c6:2345:respawn:/sbin/agetty -8 38400 tty6 linux - -ca::ctrlaltdel:/sbin/shutdown -t3 -r now - -# Example lines for starting a login manager -x:5:respawn:/usr/bin/xdm -nodaemon -#x:5:respawn:/usr/sbin/gdm -nodaemon -#x:5:respawn:/opt/kde/bin/kdm -nodaemon -#x:5:respawn:/usr/bin/slim >& /dev/null - -# End of file diff --git a/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/locale.gen b/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/locale.gen deleted file mode 100644 index a3276b1..0000000 --- a/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/locale.gen +++ /dev/null @@ -1,8 +0,0 @@ -# locales for larch (/etc/locale.gen) - -en_US ISO-8859-1 -en_US.UTF-8 UTF-8 -de_DE ISO-8859-1 -de_DE@euro ISO-8859-15 -de_DE.UTF-8 UTF-8 - diff --git a/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/ppp/options b/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/ppp/options deleted file mode 100644 index 237c390..0000000 --- a/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/ppp/options +++ /dev/null @@ -1,352 +0,0 @@ -# /etc/ppp/options -# -# Originally created by Jim Knoble <jmknoble@mercury.interpath.net> -# Modified for Debian by alvar Bray <alvar@meiko.co.uk> -# Modified for PPP Server setup by Christoph Lameter <clameter@debian.org> -# Modified for ArchLinux by Manolis Tzanidakis <manolis@archlinux.org> -# -# To quickly see what options are active in this file, use this command: -# egrep -v '#|^ *$' /etc/ppp/options - -# Specify which DNS Servers the incoming Win95 or WinNT Connection should use -# Two Servers can be remotely configured -# ms-dns 192.168.1.1 -# ms-dns 192.168.1.2 - -# Specify which WINS Servers the incoming connection Win95 or WinNT should use -# ms-wins 192.168.1.50 -# ms-wins 192.168.1.51 - -# Run the executable or shell command specified after pppd has -# terminated the link. This script could, for example, issue commands -# to the modem to cause it to hang up if hardware modem control signals -# were not available. -#disconnect "chat -- \d+++\d\c OK ath0 OK" - -# async character map -- 32-bit hex; each bit is a character -# that needs to be escaped for pppd to receive it. 0x00000001 -# represents '\x01', and 0x80000000 represents '\x1f'. -asyncmap 0 - -# Require the peer to authenticate itself before allowing network -# packets to be sent or received. -# Please do not disable this setting. It is expected to be standard in -# future releases of pppd. Use the call option (see manpage) to disable -# authentication for specific peers. -#auth - -# Use hardware flow control (i.e. RTS/CTS) to control the flow of data -# on the serial port. -crtscts - -# Use software flow control (i.e. XON/XOFF) to control the flow of data -# on the serial port. -#xonxoff - -# Specifies that certain characters should be escaped on transmission -# (regardless of whether the peer requests them to be escaped with its -# async control character map). The characters to be escaped are -# specified as a list of hex numbers separated by commas. Note that -# almost any character can be specified for the escape option, unlike -# the asyncmap option which only allows control characters to be -# specified. The characters which may not be escaped are those with hex -# values 0x20 - 0x3f or 0x5e. -#escape 11,13,ff - -# Don't use the modem control lines. -#local - -# Specifies that pppd should use a UUCP-style lock on the serial device -# to ensure exclusive access to the device. -lock - -# Don't show the passwords when logging the contents of PAP packets. -# This is the default. -hide-password - -# When logging the contents of PAP packets, this option causes pppd to -# show the password string in the log message. -#show-password - -# Use the modem control lines. On Ultrix, this option implies hardware -# flow control, as for the crtscts option. (This option is not fully -# implemented.) -modem - -# Set the MRU [Maximum Receive Unit] value to <n> for negotiation. pppd -# will ask the peer to send packets of no more than <n> bytes. The -# minimum MRU value is 128. The default MRU value is 1500. A value of -# 296 is recommended for slow links (40 bytes for TCP/IP header + 256 -# bytes of data). -#mru 542 - -# Set the interface netmask to <n>, a 32 bit netmask in "decimal dot" -# notation (e.g. 255.255.255.0). -#netmask 255.255.255.0 - -# Disables the default behaviour when no local IP address is specified, -# which is to determine (if possible) the local IP address from the -# hostname. With this option, the peer will have to supply the local IP -# address during IPCP negotiation (unless it specified explicitly on the -# command line or in an options file). -#noipdefault - -# Enables the "passive" option in the LCP. With this option, pppd will -# attempt to initiate a connection; if no reply is received from the -# peer, pppd will then just wait passively for a valid LCP packet from -# the peer (instead of exiting, as it does without this option). -#passive - -# With this option, pppd will not transmit LCP packets to initiate a -# connection until a valid LCP packet is received from the peer (as for -# the "passive" option with old versions of pppd). -#silent - -# Don't request or allow negotiation of any options for LCP and IPCP -# (use default values). -#-all - -# Disable Address/Control compression negotiation (use default, i.e. -# address/control field disabled). -#-ac - -# Disable asyncmap negotiation (use the default asyncmap, i.e. escape -# all control characters). -#-am - -# Don't fork to become a background process (otherwise pppd will do so -# if a serial device is specified). -#-detach - -# Disable IP address negotiation (with this option, the remote IP -# address must be specified with an option on the command line or in -# an options file). -#-ip - -# Disable IPCP negotiation and IP communication. This option should -# only be required if the peer is buggy and gets confused by requests -# from pppd for IPCP negotiation. -#noip - -# Disable magic number negotiation. With this option, pppd cannot -# detect a looped-back line. -#-mn - -# Disable MRU [Maximum Receive Unit] negotiation (use default, i.e. -# 1500). -#-mru - -# Disable protocol field compression negotiation (use default, i.e. -# protocol field compression disabled). -#-pc - -# Require the peer to authenticate itself using PAP. -#+pap - -# Don't agree to authenticate using PAP. -#-pap - -# Require the peer to authenticate itself using CHAP [Cryptographic -# Handshake Authentication Protocol] authentication. -#+chap - -# Don't agree to authenticate using CHAP. -#-chap - -# Disable negotiation of Van Jacobson style IP header compression (use -# default, i.e. no compression). -#-vj - -# Increase debugging level (same as -d). If this option is given, pppd -# will log the contents of all control packets sent or received in a -# readable form. The packets are logged through syslog with facility -# daemon and level debug. This information can be directed to a file by -# setting up /etc/syslog.conf appropriately (see syslog.conf(5)). (If -# pppd is compiled with extra debugging enabled, it will log messages -# using facility local2 instead of daemon). -#debug - -# Append the domain name <d> to the local host name for authentication -# purposes. For example, if gethostname() returns the name porsche, -# but the fully qualified domain name is porsche.Quotron.COM, you would -# use the domain option to set the domain name to Quotron.COM. -#domain <d> - -# Enable debugging code in the kernel-level PPP driver. The argument n -# is a number which is the sum of the following values: 1 to enable -# general debug messages, 2 to request that the contents of received -# packets be printed, and 4 to request that the contents of transmitted -# packets be printed. -#kdebug n - -# Set the MTU [Maximum Transmit Unit] value to <n>. Unless the peer -# requests a smaller value via MRU negotiation, pppd will request that -# the kernel networking code send data packets of no more than n bytes -# through the PPP network interface. -#mtu <n> - -# Set the name of the local system for authentication purposes to <n>. -# This is a privileged option. With this option, pppd will use lines in the -# secrets files which have <n> as the second field when looking for a -# secret to use in authenticating the peer. In addition, unless overridden -# with the user option, <n> will be used as the name to send to the peer -# when authenticating the local system to the peer. (Note that pppd does -# not append the domain name to <n>.) -#name <n> - -# Enforce the use of the hostname as the name of the local system for -# authentication purposes (overrides the name option). -#usehostname - -# Set the assumed name of the remote system for authentication purposes -# to <n>. -#remotename <n> - -# Add an entry to this system's ARP [Address Resolution Protocol] -# table with the IP address of the peer and the Ethernet address of this -# system. -proxyarp - -# Use the system password database for authenticating the peer using -# PAP. Note: mgetty already provides this option. If this is specified -# then dialin from users using a script under Linux to fire up ppp wont work. -# login - -# If this option is given, pppd will send an LCP echo-request frame to the -# peer every n seconds. Normally the peer should respond to the echo-request -# by sending an echo-reply. This option can be used with the -# lcp-echo-failure option to detect that the peer is no longer connected. -lcp-echo-interval 30 - -# If this option is given, pppd will presume the peer to be dead if n -# LCP echo-requests are sent without receiving a valid LCP echo-reply. -# If this happens, pppd will terminate the connection. Use of this -# option requires a non-zero value for the lcp-echo-interval parameter. -# This option can be used to enable pppd to terminate after the physical -# connection has been broken (e.g., the modem has hung up) in -# situations where no hardware modem control lines are available. -lcp-echo-failure 4 - -# Set the LCP restart interval (retransmission timeout) to <n> seconds -# (default 3). -#lcp-restart <n> - -# Set the maximum number of LCP terminate-request transmissions to <n> -# (default 3). -#lcp-max-terminate <n> - -# Set the maximum number of LCP configure-request transmissions to <n> -# (default 10). -#lcp-max-configure <n> - -# Set the maximum number of LCP configure-NAKs returned before starting -# to send configure-Rejects instead to <n> (default 10). -#lcp-max-failure <n> - -# Set the IPCP restart interval (retransmission timeout) to <n> -# seconds (default 3). -#ipcp-restart <n> - -# Set the maximum number of IPCP terminate-request transmissions to <n> -# (default 3). -#ipcp-max-terminate <n> - -# Set the maximum number of IPCP configure-request transmissions to <n> -# (default 10). -#ipcp-max-configure <n> - -# Set the maximum number of IPCP configure-NAKs returned before starting -# to send configure-Rejects instead to <n> (default 10). -#ipcp-max-failure <n> - -# Set the PAP restart interval (retransmission timeout) to <n> seconds -# (default 3). -#pap-restart <n> - -# Set the maximum number of PAP authenticate-request transmissions to -# <n> (default 10). -#pap-max-authreq <n> - -# Set the maximum time that pppd will wait for the peer to authenticate -# itself with PAP to <n> seconds (0 means no limit). -#pap-timeout <n> - -# Set the CHAP restart interval (retransmission timeout for -# challenges) to <n> seconds (default 3). -#chap-restart <n> - -# Set the maximum number of CHAP challenge transmissions to <n> -# (default 10). -#chap-max-challenge - -# If this option is given, pppd will rechallenge the peer every <n> -# seconds. -#chap-interval <n> - -# With this option, pppd will accept the peer's idea of our local IP -# address, even if the local IP address was specified in an option. -#ipcp-accept-local - -# With this option, pppd will accept the peer's idea of its (remote) IP -# address, even if the remote IP address was specified in an option. -#ipcp-accept-remote - -# Disable the IPXCP and IPX protocols. -# To let pppd pass IPX packets comment this out --- you'll probably also -# want to install ipxripd, and have the Internal IPX Network option enabled -# in your kernel. /usr/doc/HOWTO/IPX-HOWTO.gz contains more info. -noipx - -# Exit once a connection has been made and terminated. This is the default, -# unless the `persist' or `demand' option has been specified. -#nopersist - -# Do not exit after a connection is terminated; instead try to reopen -# the connection. -#persist - -# Terminate after n consecutive failed connection attempts. -# A value of 0 means no limit. The default value is 10. -#maxfail <n> - -# Initiate the link only on demand, i.e. when data traffic is present. -# With this option, the remote IP address must be specified by the user on -# the command line or in an options file. Pppd will initially configure -# the interface and enable it for IP traffic without connecting to the peer. -# When traffic is available, pppd will connect to the peer and perform -# negotiation, authentication, etc. When this is completed, pppd will -# commence passing data packets (i.e., IP packets) across the link. -#demand - -# Specifies that pppd should disconnect if the link is idle for <n> seconds. -# The link is idle when no data packets (i.e. IP packets) are being sent or -# received. Note: it is not advisable to use this option with the persist -# option without the demand option. If the active-filter option is given, -# data packets which are rejected by the specified activity filter also -# count as the link being idle. -#idle <n> - -# Specifies how many seconds to wait before re-initiating the link after -# it terminates. This option only has any effect if the persist or demand -# option is used. The holdoff period is not applied if the link was -# terminated because it was idle. -#holdoff <n> - -# Wait for up n milliseconds after the connect script finishes for a valid -# PPP packet from the peer. At the end of this time, or when a valid PPP -# packet is received from the peer, pppd will commence negotiation by -# sending its first LCP packet. The default value is 1000 (1 second). -# This wait period only applies if the connect or pty option is used. -#connect-delay <n> - -# Packet filtering: for more information, see pppd(8) -# Any packets matching the filter expression will be interpreted as link -# activity, and will cause a "demand" connection to be activated, and reset -# the idle connection timer. (idle option) -# The filter expression is akin to that of tcpdump(1) -#active-filter <filter-expression> - -# uncomment the line below this if you use PPPoE -#plugin /usr/lib/pppd/plugins/pppoe.so - -# ---<End of File>--- diff --git a/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/rc.conf b/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/rc.conf deleted file mode 100644 index 0273696..0000000 --- a/build_tools/l7/larch0/profiles/mini/rootoverlay/etc/rc.conf +++ /dev/null @@ -1,92 +0,0 @@ -# -# /etc/rc.conf - Main Configuration for Arch Linux -# - -# ----------------------------------------------------------------------- -# LOCALIZATION -# ----------------------------------------------------------------------- -# -# LOCALE: available languages can be listed with the 'locale -a' command -# HARDWARECLOCK: set to "UTC" or "localtime" -# USEDIRECTISA: use direct I/O requests instead of /dev/rtc for hwclock -# TIMEZONE: timezones are found in /usr/share/zoneinfo -# KEYMAP: keymaps are found in /usr/share/kbd/keymaps -# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US) -# CONSOLEMAP: found in /usr/share/kbd/consoletrans -# USECOLOR: use ANSI color sequences in startup messages -# -LOCALE="en_US.utf8" -HARDWARECLOCK="UTC" -USEDIRECTISA="no" -TIMEZONE="Europe/Berlin" -KEYMAP="de" -CONSOLEFONT= -CONSOLEMAP= -USECOLOR="yes" - -# ----------------------------------------------------------------------- -# HARDWARE -# ----------------------------------------------------------------------- -# -# MOD_AUTOLOAD: Allow autoloading of modules at boot and when needed -# MOD_BLACKLIST: Prevent udev from loading these modules -# MODULES: Modules to load at boot-up. Prefix with a ! to blacklist. -# -# NOTE: Use of 'MOD_BLACKLIST' is deprecated. Please use ! in the MODULES array. -# -MOD_AUTOLOAD="yes" -#MOD_BLACKLIST=() #deprecated -MODULES=() - -# Scan for LVM volume groups at startup, required if you use LVM -USELVM="no" - -# ----------------------------------------------------------------------- -# NETWORKING -# ----------------------------------------------------------------------- -# -# HOSTNAME: Hostname of machine. Should also be put in /etc/hosts -# -HOSTNAME="larch7-mini" - -# Use 'ifconfig -a' or 'ls /sys/class/net/' to see all available interfaces. -# -# Interfaces to start at boot-up (in this order) -# Declare each interface then list in INTERFACES -# - prefix an entry in INTERFACES with a ! to disable it -# - no hyphens in your interface names - Bash doesn't like it -# -# DHCP: Set your interface to "dhcp" (eth0="dhcp") -# Wireless: See network profiles below -# -#eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" -eth0="dhcp" -INTERFACES=(eth0) - -# Routes to start at boot-up (in this order) -# Declare each route then list in ROUTES -# - prefix an entry in ROUTES with a ! to disable it -# -gateway="default gw 192.168.0.1" -ROUTES=(!gateway) - -# Enable these network profiles at boot-up. These are only useful -# if you happen to need multiple network configurations (ie, laptop users) -# - set to 'menu' to present a menu during boot-up (dialog package required) -# - prefix an entry with a ! to disable it -# -# Network profiles are found in /etc/network.d -# -# This now requires the netcfg package -# -#NETWORKS=(main) - -# ----------------------------------------------------------------------- -# DAEMONS -# ----------------------------------------------------------------------- -# -# Daemons to start at boot-up (in this order) -# - prefix a daemon with a ! to disable it -# - prefix a daemon with a @ to start it up in the background -# -DAEMONS=(syslog-ng network crond) diff --git a/build_tools/l7/larch0/profiles/mini/rootoverlay/root/.bashrc b/build_tools/l7/larch0/profiles/mini/rootoverlay/root/.bashrc deleted file mode 100644 index 3e5c29c..0000000 --- a/build_tools/l7/larch0/profiles/mini/rootoverlay/root/.bashrc +++ /dev/null @@ -1,2 +0,0 @@ -alias ls='ls --color=auto' -PS1='[\u@\h \W]\$ ' diff --git a/build_tools/l7/larch0/profiles/mini/rootoverlay/root/.ssh/id_rsa.pub b/build_tools/l7/larch0/profiles/mini/rootoverlay/root/.ssh/id_rsa.pub deleted file mode 100644 index e69de29..0000000 --- a/build_tools/l7/larch0/profiles/mini/rootoverlay/root/.ssh/id_rsa.pub +++ /dev/null diff --git a/build_tools/l7/larch0/profiles/mini/vetopacks b/build_tools/l7/larch0/profiles/mini/vetopacks deleted file mode 100644 index 714851c..0000000 --- a/build_tools/l7/larch0/profiles/mini/vetopacks +++ /dev/null @@ -1,3 +0,0 @@ -xfsprogs -xfsdump -jfsutils diff --git a/build_tools/l7/larch0/scripts/gen_repo b/build_tools/l7/larch0/scripts/gen_repo deleted file mode 100755 index 86e7b85..0000000 --- a/build_tools/l7/larch0/scripts/gen_repo +++ /dev/null @@ -1,206 +0,0 @@ -#!/usr/bin/env python - -# gen_repo - build a repository db file from a set of packages -# -# Author: Michael Towers (gradgrind) <mt.42@web.de> -# -# This file is part of the larch project. -# -# larch is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# -# Version 1.5 // 7th July 2007 - -import os -import os.path -import sys -import tarfile -from types import * -import re -from subprocess import check_call - -# to add a package: -#check_call(["repo-add", dbfile, pkg, pkg, pkg, ...]) - -# Regex to remove version comparison from package dependency -onlyname = re.compile("([^=><]+).*") - -def create_db(dbname, packagesdir, dep_ignore_list): - os.chdir(packagesdir) - dbfile = dbname + ".db.tar.gz" - if os.path.exists(dbfile): - os.remove(dbfile) - - # Get a list of packages - packages = filter(lambda s: s.endswith(".pkg.tar.gz"), os.listdir(".")) - packages.sort() - - # Use 'repo-add' to build the repo - check_call(["repo-add", dbfile] + packages) - - # Make a dict for keeping track of dependencies - dep_dict = {} - for p in packages: - pkg_dict = get_pkg_info(p) - pkg_name = pkg_dict["pkgname"] - pkg_dbname = pkg_name + "-" + pkg_dict["pkgver"] - # Add dependency info to dependency dict - for d in pkg_dict["depend"]: - # But also need to cater for versioning!!! - # I will just ignore it here ... - dm = onlyname.match(d) - if not dm: - if d: - print "DEBUG: package %s, dependency = '%s'" % (pkg_name, d) - continue - d = dm.group(1) - if not dep_dict.has_key(d): - dep_dict[d] = [False] - dep_dict[d].append(pkg_name) - # Mark packages provided by this one - for p in (pkg_dict["provides"] + [pkg_name]): - if dep_dict.has_key(p): - dep_dict[p][0] = True - else: - dep_dict[p] = [True] - # Mark packages in ignore list - for p in dep_ignore_list: - if dep_dict.has_key(p): - dep_dict[p][0] = True - - # Now display unsatisfied dependencies - # Should add the possibility of declaring a list of packages - # available (e.g. the base set, or all those on the live CD ..." - print "-------------\nUnsatisfied dependencies:" - for d, r in dep_dict.items(): - if not r[0]: - print " ", d, "- needed by: ", - for p in r[1:]: - print p, " ", - print "" - - - -def get_pkg_info(pkg): - tf = tarfile.open(pkg, "r:gz") - pkginfo = tf.extractfile(".PKGINFO") - pkg_dict = {# the first ones go to 'desc' - "pkgname" : None, - "pkgver" : None, - # from here they are optional, and can occur more than once - "depend" : [], - "provides" : [], - } - while True: - l = pkginfo.readline().strip() - if not l: break - if l[0] == "#": continue - split3 = l.split(None, 2) - while len(split3) < 3: split3.append("") - key, eq, value = split3 - if not pkg_dict.has_key(key): continue - val = pkg_dict[key] - if val == None: - pkg_dict[key] = value - continue - if not isinstance(val, ListType): - print "Unexpected situation ...\n key [oldvalue] <- newvalue" - print key, "[%s]" % val, "<-", value - sys.exit(1) - pkg_dict[key].append(value) - pkginfo.close() - return pkg_dict - -def cat(path): - """Python version of 'cat'""" - fp = open(path, "r") - op = "" - for l in fp: - op += l - fp.close() - return op - -def usage(): - print """ - gen_repo package-dir [repo-name] [-- ignore-list] - - Generate a pacman db file for the packages in package-dir. - - If repo-name is given, this will be used as the name for the repository, - otherwise the name of the directory containing the packages will be used. - - All dependencies of the packages in the repository will be listed to - standard output, but a list of packages not to be included in this list - can be specified: - ignore-list should be either a file containing the names of packages - not to be listed as dependencies (separated by space or newline), or a - directory containing 'package directories', like /var/abs/base or - /var/lib/pacman/local - """ - sys.exit(1) - -if __name__ == "__main__": - - if len(sys.argv) < 2: - usage() - if os.getuid() != 0: - print "Must be root to run this" - sys.exit(1) - pkgdir = sys.argv[1] - if (len(sys.argv) == 2) or (sys.argv[2] == "--"): - dbname = os.path.basename(os.path.abspath(pkgdir)) - i = 2 - else: - dbname = sys.argv[2] - i = 3 - if len(sys.argv) == i: - ignore_list = [] - elif (len(sys.argv) == i+2) and (sys.argv[i] == "--"): - ignore_list = sys.argv[i+1] - else: - usage() - if not os.path.isdir(pkgdir): - print "\n1st argument must be a directory" - sys.exit(1) - print "\nCreating pacman database (%s.db.tar.gz) file in %s" % (dbname, pkgdir) - - if ignore_list: - # Get list of packages to be ignored in dependency list - if os.path.isfile(ignore_list): - # A simple file containing the names of packages to ignore - # separated by space or newline. - ignore_list = cat(ignore_list).split() - elif os.path.isdir(ignore_list): - # A directory containing packages or package-directories (like in abs) - l = os.listdir(ignore_list) - # See if there are packages in this directory - lp = filter(lambda s: s.endswith(".pkg.tar.gz"), l) - if lp: - l = map(lambda s: s.replace(".pkg.tar.gz", ""), lp) - re1 = re.compile("(.+)-[^-]+?-[0-9]+") - ignore_list = [] - for f in l: - m = re1.match(f) - if m: - ignore_list.append(m.group(1)) - else: - # the directory contains just the package names (like abs) - ignore_list.append(m) - else: - print "!!! Invalid ignore-list" - usage() - - create_db(dbname, pkgdir, ignore_list) diff --git a/build_tools/l7/larch0/scripts/repos.sh b/build_tools/l7/larch0/scripts/repos.sh deleted file mode 100755 index 731a1d5..0000000 --- a/build_tools/l7/larch0/scripts/repos.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -# Script to build repository database archives from the current state of -# the pacman/sync database on the running system. - -# $1 (optional) is the directory within which subdirectories for each -# repository will be built. The default is the current directory. - -if [ -z "$1" ]; then - d="." -else - d="$1" -fi - -for f in core extra community; do - mkdir -p ${d}/${f} - echo "Compressing $f db ..." - tar -czf ${d}/${f}/${f}.db.tar.gz -C /var/lib/pacman/sync/${f} . -done |