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  | 
