matrix.git
12 years agocustom: evaluate the style makefile with plug to get the phony target specs
Timo Savola [Tue, 8 Jul 2008 14:03:44 +0000 (17:03 +0300)]
custom: evaluate the style makefile with plug to get the phony target specs

12 years agoautotools: support custom autogen scripts
Timo Savola [Tue, 8 Jul 2008 13:33:01 +0000 (16:33 +0300)]
autotools: support custom autogen scripts

use meta/autogen.sh if it exists.  can be explicitly overridden in plug by
setting MATRIX_AUTOGEN.

12 years agoconfig: fix ConfigDir() for Python 2.3
Timo Savola [Tue, 8 Jul 2008 13:01:48 +0000 (16:01 +0300)]
config: fix ConfigDir() for Python 2.3

12 years agoAdd matrix-rootfs to install since it now works again
Kalle Vahlman [Sat, 28 Jun 2008 09:05:31 +0000 (12:05 +0300)]
Add matrix-rootfs to install since it now works again

12 years agoUse the new rootfs configuration style. Remove the sb1-isms from root
Kalle Vahlman [Tue, 24 Jun 2008 19:49:45 +0000 (22:49 +0300)]
Use the new rootfs configuration style. Remove the sb1-isms from root
path and target name, the configuration allows specifying them now.

12 years agoAdd RootFS configuration
Kalle Vahlman [Tue, 24 Jun 2008 19:49:24 +0000 (22:49 +0300)]
Add RootFS configuration

12 years agoGit doesn't create the destination directory structure for you in
Kalle Vahlman [Mon, 23 Jun 2008 18:54:17 +0000 (21:54 +0300)]
Git doesn't create the destination directory structure for you in
version 1.5.6, probably due to the clone command being rewritten in C.

If it's a bug this commit can be reverted, but since creating the
destination structure before cloning doesn't really break anything
I'm not sure if it's worth it.

12 years agoAdd "meta" command that fetches only the metadata (for dry-run testing)
Kalle Vahlman [Sun, 22 Jun 2008 18:37:23 +0000 (21:37 +0300)]
Add "meta" command that fetches only the metadata (for dry-run testing)

12 years agoUse "string" instead of the str object (for python2.3 compat)
Kalle Vahlman [Sun, 22 Jun 2008 18:36:27 +0000 (21:36 +0300)]
Use "string" instead of the str object (for python2.3 compat)

13 years agoconfig: don't add optional config dirs twice
Timo Savola [Thu, 19 Jun 2008 09:51:53 +0000 (12:51 +0300)]
config: don't add optional config dirs twice

13 years agofix and rename --confdir to --config-dir
Timo Savola [Thu, 19 Jun 2008 09:28:30 +0000 (12:28 +0300)]
fix and rename --confdir to --config-dir

13 years agoconfig: optional config dir support
Timo Savola [Thu, 19 Jun 2008 08:26:39 +0000 (11:26 +0300)]
config: optional config dir support

13 years agoupdate examples
Timo Savola [Wed, 18 Jun 2008 13:58:17 +0000 (16:58 +0300)]
update examples

13 years agomove examples under documentation
Timo Savola [Wed, 18 Jun 2008 13:52:39 +0000 (16:52 +0300)]
move examples under documentation

13 years agorepositories doc
Timo Savola [Wed, 18 Jun 2008 13:43:32 +0000 (16:43 +0300)]
repositories doc

13 years agometadata doc
Timo Savola [Wed, 18 Jun 2008 13:20:39 +0000 (16:20 +0300)]
metadata doc

13 years agoconfig doc
Timo Savola [Wed, 18 Jun 2008 12:06:10 +0000 (15:06 +0300)]
config doc

13 years agoconfig: SB2*() functions and sb2_* variables
Timo Savola [Fri, 13 Jun 2008 11:50:16 +0000 (14:50 +0300)]
config: SB2*() functions and sb2_* variables

'sb2_target' and 'sb2_compiler' variables enable Scratchbox 2 support:

    * SB2Target(name), sb2_target:
      sets the name of the target to be created/used

    * SB2Compiler(path), sb2_compiler:
      sets the path of the compiler executable to be used with the target

    * SB2InitOptions(sequence), sb2_init_options:
      additional command-line parameters for the sb2-init command

it's an error to set only one of 'sb_target' and 'sb_compiler'.

13 years agoconfig: Set/ClearFlag() for modifying flags
Timo Savola [Fri, 13 Jun 2008 08:24:34 +0000 (11:24 +0300)]
config: Set/ClearFlag() for modifying flags

13 years agoconfig: UseBoard() for setting board name
Timo Savola [Fri, 13 Jun 2008 08:23:55 +0000 (11:23 +0300)]
config: UseBoard() for setting board name

13 years agoconfig: move config variables behind GetVariables()
Timo Savola [Fri, 13 Jun 2008 08:21:38 +0000 (11:21 +0300)]
config: move config variables behind GetVariables()

local variables in scripts are now truly local.

13 years agoconfig: remove 'libc' variable
Timo Savola [Fri, 13 Jun 2008 07:59:47 +0000 (10:59 +0300)]
config: remove 'libc' variable

13 years agobuild: say "Done" instead of "Finished"
Timo Savola [Thu, 12 Jun 2008 10:21:43 +0000 (13:21 +0300)]
build: say "Done" instead of "Finished"

(it stands out better among "Building" and "Installing")

13 years agosilence git-ls-remote errors
Timo Savola [Thu, 12 Jun 2008 10:20:18 +0000 (13:20 +0300)]
silence git-ls-remote errors

13 years agostrip trailing slashes from roots
Timo Savola [Thu, 12 Jun 2008 10:19:22 +0000 (13:19 +0300)]
strip trailing slashes from roots

13 years agoconfig: Root function
Timo Savola [Wed, 11 Jun 2008 12:09:10 +0000 (15:09 +0300)]
config: Root function

13 years agobuild: don't skip installation on an unrelated error
Timo Savola [Wed, 11 Jun 2008 11:08:07 +0000 (14:08 +0300)]
build: don't skip installation on an unrelated error

13 years agoconfig: confdirs renamed to config_dirs; ConfigDir() added
Timo Savola [Wed, 11 Jun 2008 08:54:01 +0000 (11:54 +0300)]
config: confdirs renamed to config_dirs; ConfigDir() added

ConfigDir(path=<config dir>, url=<git repository>, branch=<branch>) can be
used to clone a <git repository> (and check out <branch>) if <config dir>
doesn't already exist.

13 years agoconfig: 'flags' is now a set
Timo Savola [Tue, 10 Jun 2008 12:50:17 +0000 (15:50 +0300)]
config: 'flags' is now a set

the 'set' type is exported for config files for Python 2.3 compatibility.

13 years agoMerge branch 'master' of http://git.pingu.fi/matrix
Timo Savola [Tue, 10 Jun 2008 11:44:50 +0000 (14:44 +0300)]
Merge branch 'master' of git.pingu.fi/matrix

13 years agoUse ACLOCAL_FLAGS instead of just ACLOCAL_ARGS, since that is AFAIK the de
Kalle Vahlman [Tue, 3 Jun 2008 10:13:42 +0000 (13:13 +0300)]
Use ACLOCAL_FLAGS instead of just ACLOCAL_ARGS, since that is AFAIK the de
facto standard. Keeping ACLOCAL_ARGS for backward compability.

13 years agoconfig: unify 'confdirs' and 'roots' semantics
Timo Savola [Tue, 10 Jun 2008 11:31:15 +0000 (14:31 +0300)]
config: unify 'confdirs' and 'roots' semantics

both lists are ordered from generic to specific - appending does The Right
Thing in normal situations:

    * confdirs specified on the command-line are in a separate list, and
      they are always handled as "more specific" locations than the normal
      confdirs.

    * since roots are now in "most generic first" order, they can simply be
      appended in config files (which are parsed in "most generic first"
      order).

13 years agoMATRIX_WRAP_*, MATRIX_SB2_* and MATRIX_FAKEROOT variables
Timo Savola [Tue, 10 Jun 2008 10:27:49 +0000 (13:27 +0300)]
MATRIX_WRAP_*, MATRIX_SB2_* and MATRIX_FAKEROOT variables

the following variables may be set in component plug-files or in the
environment:

    * MATRIX_WRAP_AUTOGEN,
    * MATRIX_WRAP_CONFIGURE,
    * MATRIX_WRAP_BUILD and
    * MATRIX_WRAP_INSTALL replace CCTOOL_INSTALL and CCTOOL_BUILD.  Their
      values are prepended to commands used in the respective make target
      invocation.

    * MATRIX_SB2_TARGET enables Scratchbox 2 support.  an appropriate sb2
      invocation is appended to the MATRIX_WRAP_* variables.
    * MATRIX_SB2_DISABLE can be used to disable sb2 invocation for some or
      all make targets (see below).

    * MATRIX_FAKEROOT enables fakeroot for some or all make targets
      (see below).

MATRIX_SB2_DISABLE and MATRIX_FAKEROOT may contain a whitespace-separated
list of the following keywords:

    * autogen
    * configure
    * build
    * install
    * all       - same as specifying all of the above

13 years agoParse the new style configuration files.
Tuomas Kulve [Wed, 4 Jun 2008 05:49:39 +0000 (08:49 +0300)]
Parse the new style configuration files.

13 years agoconfig: Parse gives an error if file(s) not found
Timo Savola [Wed, 4 Jun 2008 08:22:43 +0000 (11:22 +0300)]
config: Parse gives an error if file(s) not found

Parse(<pattern>, require=False) can be used to parse optional files.

13 years agoconfig: rename parse as Parse
Timo Savola [Fri, 30 May 2008 10:28:34 +0000 (13:28 +0300)]
config: rename parse as Parse

13 years agoconfig: ProvideComponent replaces PlatformProvidedComponent
Timo Savola [Fri, 30 May 2008 09:37:22 +0000 (12:37 +0300)]
config: ProvideComponent replaces PlatformProvidedComponent

ProvideComponent(name) can be called for an existing component.

13 years agoconfig: parse all files instead of just the last
Timo Savola [Fri, 30 May 2008 08:55:32 +0000 (11:55 +0300)]
config: parse all files instead of just the last

now config files found in the last confdir doesn't shadow the ones in
previous confdirs, and the config files must work incrementally.

13 years agoconfig: move top_dir as the last confdir
Timo Savola [Fri, 30 May 2008 10:17:11 +0000 (13:17 +0300)]
config: move top_dir as the last confdir

this allows users to override things locally.

13 years agouse correct remote when comparing changes
Timo Savola [Tue, 27 May 2008 21:30:15 +0000 (00:30 +0300)]
use correct remote when comparing changes

13 years agocache: debug print when skipping cache update
Timo Savola [Mon, 26 May 2008 15:34:31 +0000 (18:34 +0300)]
cache: debug print when skipping cache update

13 years agoTODO: list components in roots
Timo Savola [Mon, 26 May 2008 12:40:33 +0000 (15:40 +0300)]
TODO: list components in roots

13 years agoTODO: add pull/rebase/reset related items and reorganize
Timo Savola [Mon, 26 May 2008 11:13:31 +0000 (14:13 +0300)]
TODO: add pull/rebase/reset related items and reorganize

13 years agoTODO update
Timo Savola [Thu, 22 May 2008 15:56:17 +0000 (18:56 +0300)]
TODO update

13 years agorun autogen with CCTOOL
Timo Savola [Thu, 22 May 2008 15:54:54 +0000 (18:54 +0300)]
run autogen with CCTOOL

13 years agodon't configure custom-style components twice
Timo Savola [Thu, 22 May 2008 13:40:19 +0000 (16:40 +0300)]
don't configure custom-style components twice

13 years agoBoard's gcc_options parameter can be a sequence
Timo Savola [Thu, 22 May 2008 11:43:05 +0000 (14:43 +0300)]
Board's gcc_options parameter can be a sequence

the attribute is always a list for later manipulated.

13 years agoallow scripts in bin to be executed via symlinks
Timo Savola [Wed, 21 May 2008 19:53:42 +0000 (22:53 +0300)]
allow scripts in bin to be executed via symlinks

13 years agoreverse the invocation order of CCTOOL_INSTALL and fakeroot
Timo Savola [Wed, 21 May 2008 16:21:46 +0000 (19:21 +0300)]
reverse the invocation order of CCTOOL_INSTALL and fakeroot

13 years agodocumentation
Timo Savola [Wed, 21 May 2008 14:04:28 +0000 (17:04 +0300)]
documentation

13 years agodon't rely on ls-remote return status for checking repository existence
Timo Savola [Tue, 20 May 2008 13:26:35 +0000 (16:26 +0300)]
don't rely on ls-remote return status for checking repository existence

new versions of git-ls-remote have changed the behaviour (which was
undocumented to begin with).  now the existence of a remote repo is
detected if there is any normal output (= heads are listed).

13 years agoinstall using fakeroot only when component requests it
Timo Savola [Tue, 20 May 2008 12:49:18 +0000 (15:49 +0300)]
install using fakeroot only when component requests it

13 years agorootfs.py: Added support for creating UBI images.
Tuomas Kulve [Sun, 11 May 2008 09:38:35 +0000 (12:38 +0300)]
rootfs.py: Added support for creating UBI images.

13 years agorootfs.py: Typofixes in comments and prints.
Tuomas Kulve [Sat, 10 May 2008 16:50:22 +0000 (19:50 +0300)]
rootfs.py: Typofixes in comments and prints.

13 years agofix local repositories
Timo Savola [Tue, 20 May 2008 08:09:33 +0000 (11:09 +0300)]
fix local repositories

also use ls-remote instead of the deprecated peek-remote, and show its
output when debug enabled.

13 years agoinstall in fakeroot and save database
Timo Savola [Fri, 16 May 2008 12:58:20 +0000 (15:58 +0300)]
install in fakeroot and save database

13 years agoroot URL must be accompanied with branch name
Timo Savola [Fri, 16 May 2008 12:23:42 +0000 (15:23 +0300)]
root URL must be accompanied with branch name

'URL' -> ('URL', 'branch')

also, Component() no longer takes tag/tags parameters but a branch
parameter which overrides root's branch.  the specified branch will be
checked out after cloning.

13 years agoDon't bomb old values with Nones in setters for rootfs Builder
Kalle Vahlman [Wed, 7 May 2008 16:36:29 +0000 (19:36 +0300)]
Don't bomb old values with Nones in setters for rootfs Builder

13 years agoFix config handling in rootfs creation
Kalle Vahlman [Wed, 7 May 2008 16:29:44 +0000 (19:29 +0300)]
Fix config handling in rootfs creation

13 years agoFix setting scriptdir for non-installed running
Kalle Vahlman [Mon, 5 May 2008 18:39:20 +0000 (21:39 +0300)]
Fix setting scriptdir for non-installed running

13 years agoImplement quiet flag to be passed to configure, a small speed gain
Kalle Vahlman [Tue, 29 Apr 2008 19:06:55 +0000 (22:06 +0300)]
Implement quiet flag to be passed to configure, a small speed gain

13 years agouse isinstance()
Timo Savola [Fri, 2 May 2008 08:19:12 +0000 (11:19 +0300)]
use isinstance()

13 years agoupdate example scripts
Timo Savola [Wed, 30 Apr 2008 10:34:57 +0000 (13:34 +0300)]
update example scripts

(the primary config file is called "main" as of
commit f892fc215329868f3e3d1932078429f4b00efb8f.)

13 years agoconfigurable config file lookup path
Timo Savola [Wed, 30 Apr 2008 09:53:41 +0000 (12:53 +0300)]
configurable config file lookup path

config.confdirs lists directories to look for parse()'d files (last will
be searched first).  --confdir command-line option can be used to append
directories (it obviously takes effect before parsing any config files).
the top-level directory is always last on the search path.

parse() now takes a glob-pattern.

13 years agofinish board attribute changes
Timo Savola [Tue, 29 Apr 2008 20:25:04 +0000 (23:25 +0300)]
finish board attribute changes

13 years agofix option parsing
Timo Savola [Tue, 29 Apr 2008 20:00:13 +0000 (23:00 +0300)]
fix option parsing

13 years agoflexible config scripts
Timo Savola [Tue, 29 Apr 2008 18:28:30 +0000 (21:28 +0300)]
flexible config scripts

changes:

    * only the "config" script is parsed by default (which must exist)

    * scripts can parse other scripts (such as "config.local", "boards"
      and "components") by calling parse()

    * command-line options override scripts' settings

    * as a special case, the debug command-line option takes effect before
      parsing scripts

13 years agouse optparse
Timo Savola [Tue, 29 Apr 2008 16:16:40 +0000 (19:16 +0300)]
use optparse

13 years agorootfs: better help message
Timo Savola [Tue, 29 Apr 2008 14:49:19 +0000 (17:49 +0300)]
rootfs: better help message

13 years agonew matrix-rootfs script replaces the "rootfs" action of matrix
Timo Savola [Tue, 29 Apr 2008 12:27:51 +0000 (15:27 +0300)]
new matrix-rootfs script replaces the "rootfs" action of matrix

the rootfs module now uses the optparse module.

13 years agosupport installation under arbitrary prefix
Timo Savola [Tue, 29 Apr 2008 10:48:11 +0000 (13:48 +0300)]
support installation under arbitrary prefix

hacks to work around shortcomings of distutils:

    * intercept --prefix by filtering command-line options through optparse
      before passing them to distutils

    * guess module location from installation prefix and Python version

    * modify installed scripts in-place

13 years agooptimize dirty files check
Timo Savola [Wed, 16 Apr 2008 14:04:40 +0000 (17:04 +0300)]
optimize dirty files check

13 years agosort component list
Timo Savola [Tue, 15 Apr 2008 14:49:08 +0000 (17:49 +0300)]
sort component list

13 years agonew matrix-upload script for copying the source/meta repos to a server
Timo Savola [Mon, 14 Apr 2008 18:34:52 +0000 (21:34 +0300)]
new matrix-upload script for copying the source/meta repos to a server

13 years agoupdate the matrixify script and move it to bin
Timo Savola [Sun, 13 Apr 2008 12:47:58 +0000 (15:47 +0300)]
update the matrixify script and move it to bin

13 years agoshow an arbitrary counter during build cache processing
Timo Savola [Mon, 14 Apr 2008 16:01:44 +0000 (19:01 +0300)]
show an arbitrary counter during build cache processing

13 years agoexception-safe Component.is_dirty()
Timo Savola [Mon, 14 Apr 2008 15:48:48 +0000 (18:48 +0300)]
exception-safe Component.is_dirty()

13 years agoprimary repository is now called "source" instead of "repo"
Timo Savola [Sat, 12 Apr 2008 11:25:51 +0000 (14:25 +0300)]
primary repository is now called "source" instead of "repo"

remote repository layout:
    host:/path/source/component.git
    host:/path/meta/component.git

13 years agomake repository location error clearer
Timo Savola [Sat, 12 Apr 2008 10:47:12 +0000 (13:47 +0300)]
make repository location error clearer

13 years agoadd "install-only" command for building specific component quickly
Timo Savola [Fri, 11 Apr 2008 18:49:36 +0000 (21:49 +0300)]
add "install-only" command for building specific component quickly

13 years agonew "changes" command for listing unpushed commits
Timo Savola [Fri, 11 Apr 2008 18:07:00 +0000 (21:07 +0300)]
new "changes" command for listing unpushed commits

13 years agofix build error detection in verbose mode
Timo Savola [Fri, 11 Apr 2008 16:22:44 +0000 (19:22 +0300)]
fix build error detection in verbose mode

this change makes the shell script bash-specific.

13 years agofix "make" build style
Timo Savola [Thu, 10 Apr 2008 21:08:54 +0000 (00:08 +0300)]
fix "make" build style

13 years agoadd "make" build style
Timo Savola [Thu, 10 Apr 2008 21:03:26 +0000 (00:03 +0300)]
add "make" build style

13 years agoinitialize repository url on demand
Timo Savola [Thu, 10 Apr 2008 20:28:38 +0000 (23:28 +0300)]
initialize repository url on demand

13 years agorename makefiles for automatic syntax highlight etc.
Timo Savola [Thu, 10 Apr 2008 20:23:31 +0000 (23:23 +0300)]
rename makefiles for automatic syntax highlight etc.

13 years agogenerate list of valid build styles automatically
Timo Savola [Thu, 10 Apr 2008 20:13:57 +0000 (23:13 +0300)]
generate list of valid build styles automatically

13 years agomove config parsing out of the matrix module (and fix the graph module)
Timo Savola [Thu, 10 Apr 2008 19:46:34 +0000 (22:46 +0300)]
move config parsing out of the matrix module (and fix the graph module)

13 years agoredirect output using a shell script instead of make
Timo Savola [Wed, 9 Apr 2008 17:29:38 +0000 (20:29 +0300)]
redirect output using a shell script instead of make

* removes ugly (and useless) make errors when a build fails.

* matrix.mak is now simpler because it contains logic for only one layer
  of make invocations.

13 years agosave log in verbose mode
Timo Savola [Tue, 8 Apr 2008 20:01:23 +0000 (23:01 +0300)]
save log in verbose mode

13 years agoremove dirty components from cache
Timo Savola [Tue, 8 Apr 2008 19:36:54 +0000 (22:36 +0300)]
remove dirty components from cache

13 years agofix cleaning
Timo Savola [Tue, 8 Apr 2008 17:31:17 +0000 (20:31 +0300)]
fix cleaning

13 years agodirty files after a clean is not really an error
Timo Savola [Tue, 8 Apr 2008 17:20:14 +0000 (20:20 +0300)]
dirty files after a clean is not really an error

13 years agomove -j and -mj to global config
Timo Savola [Tue, 8 Apr 2008 15:26:55 +0000 (18:26 +0300)]
move -j and -mj to global config

13 years agoprefix logged errors instead of separating them with an empty line
Timo Savola [Tue, 8 Apr 2008 15:11:07 +0000 (18:11 +0300)]
prefix logged errors instead of separating them with an empty line

13 years agoprint path to relevant log file on build failure
Timo Savola [Tue, 8 Apr 2008 15:08:34 +0000 (18:08 +0300)]
print path to relevant log file on build failure

13 years ago-k option builds as many components as possible
Timo Savola [Tue, 8 Apr 2008 14:59:48 +0000 (17:59 +0300)]
-k option builds as many components as possible

13 years agofix dirty files reporting
Timo Savola [Tue, 8 Apr 2008 14:35:47 +0000 (17:35 +0300)]
fix dirty files reporting

13 years agoadd more buildable components after built component has been installed
Timo Savola [Tue, 8 Apr 2008 14:32:24 +0000 (17:32 +0300)]
add more buildable components after built component has been installed

13 years agosort initially built components
Timo Savola [Tue, 8 Apr 2008 14:29:57 +0000 (17:29 +0300)]
sort initially built components