Ludovic Courtès
b607593533
hydra: Add jobs for the self-contained tarball.
...
* build-aux/hydra/gnu-system.scm (tarball-jobs): New procedure.
(hydra-jobs): Use it.
2015-04-14 23:26:41 +02:00
Ludovic Courtès
e87f0591f3
monads: Move '%store-monad' and related procedures where they belong.
...
This turns (guix monads) into a generic module for monads, and moves the
store monad and related monadic procedures in their corresponding
module.
* guix/monads.scm (store-return, store-bind, %store-monad, store-lift,
text-file, interned-file, package-file, package->derivation,
package->cross-derivation, origin->derivation, imported-modules,
compiled, modules, built-derivations, run-with-store): Move to...
* guix/store.scm (store-return, store-bind, %store-monad, store-lift,
text-file, interned-file): ... here.
(%guile-for-build): New variable.
(run-with-store): Moved from monads.scm. Remove default value for
#:guile-for-build.
* guix/packages.scm (default-guile): Export.
(set-guile-for-build): New procedure.
(package-file, package->derivation, package->cross-derivation,
origin->derivation): Moved from monads.scm.
* guix/derivations.scm (%guile-for-build): Remove.
(imported-modules): Rename to...
(%imported-modules): ... this.
(compiled-modules): Rename to...
(%compiled-modules): ... this.
(built-derivations, imported-modules, compiled-modules): New
procedures.
* gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm,
gnu/services/dmd.scm, gnu/services/networking.scm,
gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm,
gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm,
guix/gexp.scm, guix/git-download.scm, guix/profiles.scm,
guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly.
* guix/monad-repl.scm (default-guile-derivation): New procedure.
(store-monad-language, run-in-store): Use it.
* build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit
'set-guile-for-build' call.
* guix/scripts/archive.scm (derivation-from-expression): Likewise.
* guix/scripts/build.scm (options/resolve-packages): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* doc/guix.texi (The Store Monad): Adjust module names accordingly.
2015-01-14 13:34:52 +01:00
Ludovic Courtès
9cd0dfaa46
system: Change "en_US.UTF-8" to "en_US.utf8".
...
* build-aux/hydra/demo-os.scm (locale): Change to "en_US.utf8".
* gnu/system/install.scm (installation-os)[locale]: Ditto.
2014-11-29 11:37:53 +01:00
Ludovic Courtès
9c960731d6
hydra: Build only non-grafted variants of the packages.
...
* build-aux/hydra/gnu-system.scm (package->alist): Pass #:graft? #f.
(package-cross-job): Adjust last argument of 'package->alist' to
accept #:graft?. This fixes the problem reported in commit a480307
.
2014-11-21 16:33:53 +01:00
Ludovic Courtès
a480307449
Revert "hydra: Build only non-grafted variants of the packages."
...
This reverts commit 9de1defe79
.
Passing #:graft? was not possible because of the use of 'cut' on call
sites.
2014-11-13 17:46:57 +01:00
Ludovic Courtès
9de1defe79
hydra: Build only non-grafted variants of the packages.
...
* build-aux/hydra/gnu-system.scm (package->alist): Pass #:graft? #f to
PACKAGE-DERIVATION.
2014-11-13 14:21:09 +01:00
Ludovic Courtès
91781e0268
hydra: Make USB installation image bigger.
...
* build-aux/hydra/gnu-system.scm (qemu-jobs): Require 800 MiB for the
USB disk image.
2014-11-12 13:52:09 +01:00
Ludovic Courtès
7c3c0374de
packages: Add 'package-transitive-supported-systems'.
...
* guix/packages.scm (package-transitive-supported-systems): New procedure.
* tests/packages.scm ("package-transitive-supported-systems"): New test.
* build-aux/hydra/gnu-system.scm (package->job): Use it.
2014-10-17 23:23:21 +02:00
Ludovic Courtès
4e097f8606
hydra: Honor 'package-supported-systems'.
...
* guix/packages.scm (%supported-systems): New variable.
(<package>)[platforms]: Rename to...
[supported-systems]: ... this. Change default to %SUPPORTED-SYSTEMS.
* build-aux/hydra/gnu-system.scm (job-name, package->job): New
procedures, formerly in 'hydra-jobs'. Honor 'package-supported-systems'.
(hydra-jobs): Use them.
2014-10-06 19:34:27 +02:00
Mark H Weaver
9e9cb0c7ba
hydra: Adjust to (gnu packages commencement) split from (gnu packages base).
...
* build-aux/hydra/gnu-system.scm: Import (gnu packages commencement).
2014-08-28 13:57:08 -04:00
Ludovic Courtès
a69576ea85
system: Add '%devtmpfs-file-system' for udev, and '%base-file-systems'.
...
Suggested by Adam Pribyl <pribyl@lowlevel.cz>.
* gnu/services/base.scm (udev-service)[requirement]: Add
'file-system-/dev'.
* gnu/system/file-systems.scm (%devtmpfs-file-system,
%base-file-systems): New variables.
* gnu/system/install.scm (installation-services)[file-systems]: Use
%base-file-systems.
* build-aux/hydra/demo-os.scm (file-systems): Likewise.
* doc/guix.texi (System Installation): Show %BASE-FILE-SYSTEMS in the
example.
(Using the Configuration System): Likewise.
(File Systems): Document %base-file-systems, %devtmpfs-file-system,
%binary-format-file-system, and %fuse-control-file-system.
2014-07-22 16:59:10 +02:00
Ludovic Courtès
927097effd
services: Add Tor service.
...
* gnu/services/networking.scm (tor-service): New procedure.
* doc/guix.texi (Networking Services): Document it.
* build-aux/hydra/demo-os.scm: Use it. Add TOR and TORSOCKS to
'packages'.
2014-07-12 23:17:54 +02:00
Ludovic Courtès
a94546ecc4
gnu: linux-libre: Add i686 and x86_64 full-blown configs.
...
Thanks to Jason Self <jself@gnu.org> for the kernel configs.
* gnu/packages/linux.scm (kernel-config): New procedure.
(linux-libre)[build-phase]: Copy it to .config. Reduce the list of
things appended to .config.
[native-inputs]: Add "kconfig" input.
* gnu/packages/linux-libre-i686.conf,
gnu/packages/linux-libre-x86_64.conf: New files, from
<http://jxself.org/x86-32.txt > and <http://jxself.org/x86-64.txt >.
* Makefile.am (KCONFIGS): New variable.
(nobase_dist_guilemodule_DATA): Add it.
2014-07-10 00:35:27 +02:00
Ludovic Courtès
b76a384715
system: Use the default 'groups' field.
...
* gnu/system/install.scm (installation-os): Remove 'groups' field.
* build-aux/hydra/demo-os.scm: Likewise.
2014-06-22 22:28:24 +02:00
Ludovic Courtès
72507e23b5
system: Remove useless 'members' field of 'user-group'.
...
* gnu/system/shadow.scm (<user-group>)[members]: Remove field.
* gnu/system/install.scm (installation-os)[users]: Remove 'members'
fields. Use 'supplementary-groups' for 'guest'.
* build-aux/hydra/demo-os.scm (users): Likewise.
* gnu/services/base.scm (guix-service): Remove 'members' field.
2014-06-22 21:48:35 +02:00
Ludovic Courtès
6f436c54d6
system: Define '%base-packages' and use it.
...
* gnu/system.scm (<operating-system>)[packages]: Change default value to
%BASE-PACKAGES.
(%base-packages): New variable.
* gnu/system/install.scm (installation-os): Use it when defining the
'packages' field.
* doc/guix.texi (Using the Configuration System): Use %BASE-PACKAGES in
example. Remove now unneeded module imports. Explain this.
2014-06-04 18:15:50 +02:00
Ludovic Courtès
a549ab4bcf
hydra: Add Avahi to the demo OS.
...
* build-aux/hydra/demo-os.scm: Use 'avahi-service' and 'dbus-service'.
Add AVAHI to 'packages'.
2014-06-03 11:49:28 +02:00
Ludovic Courtès
9e69b09857
hydra: Make USB installation image smaller.
...
* build-aux/hydra/gnu-system.scm (qemu-jobs): Reduce size of 'usb-image'
to 630 MiB.
2014-06-01 23:50:39 +02:00
Ludovic Courtès
10d86d54f0
hydra: Build the installation image.
...
* build-aux/hydra/gnu-system.scm (demo-os): New procedure.
(qemu-jobs): Build for both x86_64-linux and i686-linux. Add
'usb-image' job that builds INSTALLATION-OS.
2014-05-31 22:15:06 +02:00
Ludovic Courtès
548d4c1395
system: Add 'issue' field.
...
* gnu/system.scm (<operating-system>)[issue]: New field.
(%default-issue): New variable.
(etc-directory): Add #:issue parameter and honor it.
(operating-system-etc-directory): Adjust call accordingly.
* build-aux/hydra/demo-os.scm: Add 'issue' field.
2014-05-31 22:01:05 +02:00
Ludovic Courtès
411fc81d63
hydra: Don't cross-build from MIPS to MIPS.
...
* build-aux/hydra/gnu-system.scm (hydra-jobs)[same?, either]: New
procedure. Use it in 'remove' call.
2014-05-29 23:32:47 +02:00
Ludovic Courtès
0ba10e086f
hydra: Build for mips64el-linux.
...
* build-aux/hydra/gnu-system.scm (hydra-jobs)[systems]: Add
mips64el-linux.
2014-05-28 23:33:58 +02:00
Ludovic Courtès
c938494598
Add (gnu) module.
...
* gnu.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* build-aux/hydra/demo-os.scm: Use (gnu) and strip import list
accordingly.
* doc/guix.texi (Using the Configuration System): Adjust example
accordingly.
2014-05-22 23:24:13 +02:00
Ludovic Courtès
c5df183956
Add (gnu system file-systems).
...
This fixes a circular dependency between (gnu system) and (gnu system
linux-initrd), where the latter could end up being compiled before
'file-system-type' was defined as a macro.
* gnu/system.scm (<file-system>, %fuse-control-file-system,
%binary-format-file-system): Move to...
* gnu/system/file-systems.scm: ... here. New file.
* build-aux/hydra/demo-os.scm, gnu/system/linux-initrd.scm,
gnu/system/vm.scm: Use it.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2014-05-20 23:37:11 +02:00
Ludovic Courtès
d5b429abda
system: Add 'grub-configuration' record.
...
* gnu/system/grub.scm (<grub-configuration>): New record type.
(grub-configuration-file): Add 'config' parameter; remove
#:default-entry and #:timeout. Honor CONFIG.
* gnu/system.scm (<operating-system>): Remove 'bootloader-entries'
field; remove default value for 'bootloader' field.
(operating-system-grub.cfg): Pass the 'bootloader' field to
'grub-configuration-file'.
* build-aux/hydra/demo-os.scm (bootloader): New field.
2014-05-18 22:27:23 +02:00
Ludovic Courtès
d216323f0a
hydra: Add dummy root file system declaration.
...
* build-aux/hydra/demo-os.scm (file-systems): Add "/" file system.
2014-05-16 21:57:11 +02:00
Ludovic Courtès
c336a66fe8
build: Remove fusectl from the default file systems in the demo OS.
...
* build-aux/hydra/demo-os.scm (file-systems): Comment out
%FUSE-CONTROL-FILE-SYSTEM, since fuse.ko is missing by default in the
freestanding VM image.
2014-05-15 22:47:53 +02:00
Ludovic Courtès
2717a89a84
system: Provide declarations for the 'fusectl' and 'binfmt_misc' file systems.
...
* gnu/system.scm (%fuse-control-file-system,
%binary-format-file-system): New variables.
* build-aux/hydra/demo-os.scm (file-systems): New field.
2014-05-14 23:17:03 +02:00
Ludovic Courtès
ab6a279abb
system: Make accounts and groups at activation time.
...
* gnu/services/base.scm (guix-build-accounts): Remove #:gid parameter;
add #:group. Remove 'password' and 'gid' fields in 'user-account'
form, and add 'group'.
(guix-service): Remove #:build-user-gid parameter. Remove 'id' field
in 'user-group' form.
* gnu/system.scm (etc-directory): Remove #:groups and #:accounts. No
longer produce files "passwd", "shadow", and "group". Adjust caller
accordingly.
(%root-account): New variable.
(operating-system-accounts): Add 'users' variable. Add %ROOT-ACCOUNT
only of 'operating-system-users' doesn't already contain a root
account.
(user-group->gexp, user-account->gexp): New procedures.
(operating-system-boot-script): Add calls to 'setenv' and
'activate-users+groups' in gexp.
* gnu/system/linux.scm (base-pam-services): Add PAM services for
"user{add,del,mode}" and "group{add,del,mod}".
* gnu/system/shadow.scm (<user-account>)[gid]: Rename to...
[group]: ... this.
[supplementary-groups]: New field.
[uid, password]: Default to #f.
(<user-group>)[id]: Default to #f.
(group-file, passwd-file): Remove.
* gnu/system/vm.scm (operating-system-default-contents)[user-directories]:
Remove. Add "/home" to the directives.
* guix/build/activation.scm (add-group, add-user,
activate-users+groups): New procedures.
2014-05-11 22:41:58 +02:00
Ludovic Courtès
696893801c
system: Add 'sudo' to the setuid programs, and handle /etc/sudoers.
...
* gnu/system.scm (<operating-system>)[groups]: Change default to just
the 'root' group.
[sudoers]: New field.
(etc-directory): Add #:sudoers parameter. Add 'sudoers' to the
file union.
(operating-system-etc-directory): Pass #:sudoers to 'etc-directory'.
(%setuid-programs): Add 'sudo'.
(%sudoers-specification): New variable.
* gnu/system/linux.scm (base-pam-services): Add 'sudo'.
* build-aux/hydra/demo-os.scm: Add 'groups' field; add 'guest' to the
'wheel' group.
2014-05-01 22:31:36 +02:00
Ludovic Courtès
09e028f45f
system: Add support for setuid binaries.
...
* gnu/system.scm (<operating-system>)[pam-services, setuid-programs]:
New fields.
(etc-directory)[bashrc]: Prepend /run/setuid-programs to $PATH.
(operating-system-etc-directory): Honor
'operating-system-pam-services'.
(%setuid-programs): New variable.
(operating-system-boot-script): Add (guix build utils) to the set of
imported modules. Call 'activate-setuid-programs' in boot script.
* gnu/system/linux.scm (base-pam-services): New procedure.
* guix/build/activation.scm (%setuid-directory): New variable.
(activate-setuid-programs): New procedure.
* build-aux/hydra/demo-os.scm: Add 'pam-services' field.
2014-04-30 23:16:23 +02:00
Ludovic Courtès
616d9e1d2c
hydra: Specify the image size of the QEMU image.
...
* build-aux/hydra/gnu-system.scm (qemu-jobs): Specify
#:disk-image-size.
2014-04-11 19:08:25 +02:00
Ludovic Courtès
e5c88dd739
hydra: Make demo OS smaller.
...
* build-aux/hydra/demo-os.scm: Replace Emacs with Zile. Enable
auto-login as "guest". This is the configuration used for the Guix
0.6 VM image.
2014-04-09 20:54:10 +02:00
Ludovic Courtès
0ec6237b2e
hydra: qemu-jobs: Return a derivation file name, not a derivation.
...
* build-aux/hydra/gnu-system.scm (qemu-jobs)[->alist]: Return the
derivation file name, not the derivation.
2014-04-06 21:18:13 +02:00
Ludovic Courtès
1b282ea849
hydra: Change 'qemu-jobs' to return name/thunk pairs.
...
* build-aux/hydra/gnu-system.scm (qemu-jobs)[->job]: Change the cdr to a
thunk.
2014-04-05 22:57:06 +02:00
Ludovic Courtès
731b996255
hydra: Add 'qemu-image' job.
...
* build-aux/hydra/demo-os.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
* build-aux/hydra/gnu-system.scm (qemu-jobs): New procedure.
(hydra-jobs): Use it.
* guix/scripts/system.scm (read-operating-system): Export.
2014-04-05 22:40:16 +02:00
Ludovic Courtès
1971737f2b
hydra: Hard-code target systems.
...
* build-aux/hydra/gnu-system.scm (hydra-jobs)[systems]: Define locally,
independently of ARGUMENTS. This matches the new Hydra convention,
where using a 'system' input is deprecated.
2014-03-25 18:57:07 +01:00
Ludovic Courtès
d452b595f9
hydra: Fix typo in core package list.
...
* build-aux/hydra/gnu-system.scm: Use (gnu packages gcc).
(%core-packages): Remove nonexistent 'gcc'; add GCC-4.8 and GCC-4.7.
2014-03-25 13:57:51 +01:00
Ludovic Courtès
e795890212
hydra: Remove cross-builds from i686-linux to mips64el-linux-gnuabi64.
...
* build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs]: Define
'from-32-to-64?'. Filter out %CROSS-TARGETS that match.
2014-03-25 13:55:56 +01:00
Ludovic Courtès
707c8b2ca7
hydra: Build GCC and glibc, not their '-final' variant.
...
* build-aux/hydra/gnu-system.scm (%core-packages): Replace GCC-FINAL and
GLIBC-FINAL with GCC and GLIBC.
2014-03-25 13:40:27 +01:00
Ludovic Courtès
829ecd002e
Merge branch 'master' into core-updates
...
Conflicts:
gnu/packages/libwebsockets.scm
2014-02-27 23:49:30 +01:00
Ludovic Courtès
65f7c35d02
hydra: Set the default absolute build timeout to 20h.
...
* build-aux/hydra/gnu-system.scm (package->alist): Add 'timeout' item.
2014-02-27 22:24:02 +01:00
Ludovic Courtès
200a97e64f
Merge branch 'master' into core-updates
2014-01-25 17:07:21 +01:00
Ludovic Courtès
a8bcd6eb6f
hydra: Add debugging for the Guix job set.
...
* build-aux/hydra/guix.scm: Set '%load-verbosely'.
2014-01-18 14:41:58 +01:00
Ludovic Courtès
1731596792
hydra: Add GCC, Binutils, and libc to the core package set.
...
* build-aux/hydra/gnu-system.scm (%core-packages): Add GCC-FINAL,
GLIBC-FINAL, and BINUTILS.
2014-01-11 11:47:38 +01:00
Ludovic Courtès
dfb74e50b7
hydra: Add zlib, gzip, and xz to the core package set.
...
* build-aux/hydra/gnu-system.scm (%core-packages): Add zlib, gzip, and xz.
2013-12-10 13:56:26 +01:00
Ludovic Courtès
a2b154d7cb
hydra: Adjust to gettext package rename.
...
* build-aux/hydra/gnu-system.scm (%core-packages): Change 'gettext' to
'gnu-gettext'.
2013-11-20 23:55:38 +01:00
Ludovic Courtès
72d9148fbf
hydra: Pass the directory name of the Nix checkout.
...
* build-aux/hydra/guix.scm (hydra-jobs): Extract the 'file-name' item
from NIX-CHECKOUT, and pass that to 'tarball-package'.
2013-09-18 23:07:45 +02:00
Ludovic Courtès
1210c32ecc
hydra: Fix typo.
...
* build-aux/hydra/guix.scm (tarball-package): Unquote 'nix-checkout'.
2013-09-18 20:58:49 +02:00
Ludovic Courtès
97d010b7f8
hydra: Add missing import.
...
* build-aux/hydra/gnu-system.scm, build-aux/hydra/guix.scm: Use (guix
derivations).
2013-09-18 20:49:47 +02:00
Ludovic Courtès
3301f17970
hydra: Return the .drv file names, not the <derivation> objects.
...
* build-aux/hydra/gnu-system.scm (package->alist): Call
'derivation-file-name' on the result of 'package-derivation'.
* build-aux/hydra/guix.scm (package->alist): Likewise.
2013-09-18 19:37:50 +02:00
Ludovic Courtès
37c0ce3d27
hydra: Point the Git submodule to our local copy.
...
* build-aux/hydra/guix.scm (tarball-package): Add 'nix-checkout'
parameter. Replace 'patch-bootstrap-script' phase by
'set-nix-module'.
(hydra-jobs): Get the 'nix' value from ARGUMENTS, and pass it to
'tarball-package'.
2013-09-18 19:00:13 +02:00
Ludovic Courtès
6bf25b7b05
hydra: Support a 'subset' argument.
...
* build-aux/hydra/gnu-system.scm (%core-packages): New variable.
(%packages-to-cross-build): Make an alias for %CORE-PACKAGES.
(hydra-jobs): Check for the 'subset' argument, and honor it for values
"all" and "core".
2013-09-08 12:10:25 +02:00
Ludovic Courtès
0280ef2203
hydra: Add Graphviz as an input to the "tarball" job.
...
* build-aux/hydra/guix.scm (tarball-package): Add GRAPHVIZ to
`native-inputs'.
2013-09-03 22:21:48 +02:00
Ludovic Courtès
7eed1d0438
hydra: Add Git as an input to the "tarball" job.
...
* build-aux/hydra/guix.scm (tarball-package): Add `native-inputs' field.
2013-09-03 22:07:21 +02:00
Ludovic Courtès
ef4eca529b
hydra: Comment out all Git invocations in `bootstrap'.
...
* build-aux/hydra/guix.scm (tarball-package): Comment out all `git'
invocations.
2013-08-25 20:37:59 +02:00
Ludovic Courtès
d29aa3b5a3
hydra: Add missing import.
...
* build-aux/hydra/guix.scm: Use (srfi srfi-26).
2013-08-25 18:58:15 +02:00
Ludovic Courtès
6ad507ae54
hydra: Return a symbol/thunk pair.
...
* build-aux/hydra/guix.scm (hydra-jobs): Return a symbol/thunk pair.
2013-08-25 16:48:10 +02:00
Ludovic Courtès
f29f066439
hydra: Extract the actual file name from the Guix checkout.
...
* build-aux/hydra/guix.scm (hydra-jobs): Extract the `file-name' part of
CHECKOUT.
2013-08-24 18:24:17 +02:00
Ludovic Courtès
59e6ae6cf1
hydra: Add job to run "make distcheck" on Guix.
...
* build-aux/hydra/guix.scm: New file.
* Makefile.am (EXTRA_DIST): Add it.
2013-08-24 17:30:32 +02:00
Ludovic Courtès
4ec09bb410
hydra: Fix typo.
...
* build-aux/hydra/gnu-system.scm (hydra-jobs): Use `cons', not `append'.
2013-07-16 15:27:15 +02:00
Ludovic Courtès
77bed84246
hydra: Build for all the specified systems.
...
* build-aux/hydra/gnu-system.scm (hydra-jobs): Pick all the `system'
keys in ARGUMENTS.
[cross-jobs]: Turn into a procedure, with a `system' parameter.
Build packages for all of SYSTEMS and %CROSS-TARGETS.
2013-07-16 13:42:34 +02:00
Ludovic Courtès
195e81aa52
hydra: Distinguish between jobs for different system types.
...
* build-aux/hydra/gnu-system.scm (package-job, package-cross-job):
Append `.SYSTEM' to the job name.
2013-07-16 09:59:25 +02:00
Ludovic Courtès
4b7f3407e9
hydra: Honor the `system' argument.
...
* build-aux/hydra/gnu-system.scm (hydra-jobs): Really look up the
`system' symbol in ARGUMENTS.
2013-07-16 09:47:48 +02:00
Ludovic Courtès
58ab9f9b8e
build: Add "mips64el-linux-gnuabi64" as a cross build target.
...
* build-aux/hydra/gnu-system.scm (%packages-to-cross-build): Add
%bootstrap-tarballs.
(%cross-targets): Add "mips64el-linux-gnuabi64".
2013-06-26 22:41:09 +02:00
Ludovic Courtès
9306d350b2
build: Build the bootstrap tarballs on Hydra.
...
* build-aux/hydra/gnu-system.scm (%packages-to-cross-build): Uncomment
the bootstrap tarball packages.
2013-06-25 23:45:34 +02:00
Ludovic Courtès
f3211ef386
build: Move Hydra recipe to build-aux/hydra.
...
* hydra.scm: Rename to...
* build-aux/hydra/gnu-system.scm: ... this.
* Makefile.am (EXTRA_DIST): Adjust accordingly.
2013-06-20 23:41:31 +02:00