Jo-Philipp Wich
d87c303b58
include/kernel.mk: flag kmod packages as nonshared by default
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-06 22:37:58 +02:00
Jo-Philipp Wich
be575fdc9d
include: remove now unused PACKAGE_SUBDIR variable
...
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-13 15:37:34 +02:00
Felix Fietkau
fefe200a00
include/kernel: sort module lists for reproducibility
...
This is to get reproducible builds of, eg, the kmod-sched ipkg.
Locale preferences can change build order, but the locale is already been
defined for the entire build process, so it doesn't need to be specified here.
Signed-off-by: bryan newbold <bnewbold@robocracy.org>
SVN-Revision: 48540
2016-01-28 22:42:29 +00:00
Jo-Philipp Wich
4e14a27799
include: restrict separate kmod repo handling to base packages
...
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 48479
2016-01-24 18:01:43 +00:00
Jo-Philipp Wich
0333da8943
include: group kmod ipk files into a "kernel" subdirectory
...
This is useful to just use the kmods from an official build while supplying
base packages from a custom feed or the other way around; for just overriding
the kmods with a local repo while using official repos for the rest.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 48475
2016-01-24 15:36:05 +00:00
Felix Fietkau
f301086eca
build: remove SDK special case for kernel module packages
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48207
2016-01-11 23:11:13 +00:00
Felix Fietkau
576621f1e3
linux: add support of Synopsys ARC770-based boards
...
This patch introduces support of new boards with ARC cores.
[1] Synopsys SDP board
This is a new-generation development board from Synopsys that
consists of base-board and CPU tile-board (which might have a real
ASIC or FPGA with CPU image).
It sports a lot of DesignWare peripherals like GMAC, USB, SPI, I2C
etc and is intended to be used for early development of ARC-based
products.
[2] nSIM
This is a virtual board implemented in Synopsys proprietary
software simulator (even though available for free for open source
community). This board has only serial port as a peripheral and so
it is meant to be used for runtime testing which is especially
useful during bring-up of new tools and platforms.
What's also important ARC cores are very configurable so there're
many variations of options like cache sizes, their line lengths,
additional hardware blocks like multipliers, dividers etc. And this
board could be used to make sure built software still runs on
different HW configurations.
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: Jo-Philipp Wich <jow@openwrt.org>
Cc: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
SVN-Revision: 47589
2015-11-22 19:06:07 +00:00
Felix Fietkau
120a88b9da
include/kernel.mk - better search for ARCH
...
If "findstring" is used without leading and trailing spaces unexpected matches
may happen. For example consider ARC=arc then "findstring $(ARCH)" will
report a false match with "aarch64".
But "findstring $ARCH " (note trailing space) will correctly skip
matches for both "aarch64" and "aarch64_be".
This patch is built-tested against NetGear WNDR3800.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 47359
2015-11-02 18:12:29 +00:00
Jonas Gorski
a6b2271f5d
kernel: assume modules.builtin is always present
...
We do not support old kernel versions not generating modules.builtin
anymore, so assume it will always be present and check for modules
to be built in first.
This prevents old modules being packages up after changing the kernel
config to include them in the kernel without cleaning the kernel tree.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 46182
2015-07-05 21:31:34 +00:00
John Crispin
bbad3f360e
modules: fix postinst generation for kernel modules
...
Fixes ticket #19352 .
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 45367
2015-04-10 20:39:44 +00:00
Nicolas Thill
5b1d880949
include/kernel.mk: add KernelPackage/conffiles macro
...
Signed-off-by: Nicolas Thill <nico@openwrt.org>
SVN-Revision: 45245
2015-04-02 14:53:34 +00:00
Felix Fietkau
ed1e783aa1
kernel: only run kernel module list through version filter where version specific items are present - cuts package/kernel/linux/compile time in half
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 45131
2015-03-29 07:35:42 +00:00
Luka Perkov
7002f6326e
include: remove trailing whitespaces
...
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 45127
2015-03-29 07:29:18 +00:00
Michael Büsch
921bc1cc54
Fix download URL of the 4.x kernel.
...
SVN-Revision: 44589
2015-03-01 20:44:33 +00:00
Jo-Philipp Wich
f942a9b82a
include: apply version filter on AutoLoad and AutoProbe arguments
...
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 44228
2015-01-31 13:55:44 +00:00
Jo-Philipp Wich
cb846dae0c
include: apply version filter on kmod file list
...
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 44190
2015-01-29 15:51:05 +00:00
Felix Fietkau
47e651e2eb
kernel: drop obsolete kernel version checks
...
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 44113
2015-01-24 22:13:22 +00:00
Felix Fietkau
256d49be3c
kernel.mk: Handle the x86_64 LINUX_KARCH case
...
x64 is handled by the x86 architecture in Linux, add a case for it in
LINUX_KARCH.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
SVN-Revision: 43672
2014-12-12 18:28:13 +00:00
Felix Fietkau
fb5e8d203b
kernel.mk: Refactor LINUX_KARCH affectation
...
Switch to a dumber implementation that will be easier to maintain in the long
run, with only if statements instead of having nested subst calls.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
SVN-Revision: 43671
2014-12-12 18:28:03 +00:00
Jonas Gorski
e0342d2684
sdk: don't try to build in-kernel kmods
...
We don't ship the kernel sources, so using the base git as a feed will
fail when trying to build kernel modules with separate install steps.
Instead of trying to fixup the install steps, let's just skip building
kernel modules alltogether and just create empty packages.
Out-of-kernel modules are still expected to exist and are packaged, as
for these sources are fetched during the normal build steps.
Reported-by: Jo-Philipp Wich <jow@openwrt.org>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 43525
2014-12-05 11:50:42 +00:00
Florian Fainelli
dd8d7188ee
aarch64: add initial support
...
Add initial support for the AArch64 architecture
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 43353
2014-11-24 06:33:13 +00:00
Felix Fietkau
ab92a23394
build: allow AutoLoad and AutoProbe to specify modules not included in the package
...
On out-of-tree modules depending on other out-of-tree modules from a
different tree, module dependencies are not filled properly.
This change helps with adding those dependencies in the AutoLoad call
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43323
2014-11-19 20:16:50 +00:00
John Crispin
4b47d5b732
kernel: remove debug code from module insert script
...
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 38340
2013-10-08 15:08:23 +00:00
John Crispin
022cadd64e
include: add AutoProbe support
...
This is needed to make modprobe work
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 38020
2013-09-17 21:45:05 +00:00
Jo-Philipp Wich
6a559ff95e
include: modify kernel.mk to build empty kmod packages if the referenced symbols do not exist in the config
...
SVN-Revision: 37400
2013-07-18 15:41:09 +00:00
John Crispin
43a3d87b83
package: fix insmod on install
...
the procd changes broke the postinst insmod.
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 37015
2013-06-22 22:09:40 +00:00
Jonas Gorski
88ff7e3f23
include/kernel.mk: print warnings/errors to stderr
...
Makes warnings/errors visible when building with V=w/V=1.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 35713
2013-02-21 11:45:16 +00:00
Felix Fietkau
76f0fd210f
kernel: fix module packages postinst by pointing to the new functions.sh location
...
SVN-Revision: 34804
2012-12-20 15:29:37 +00:00
John Crispin
e9c0b95829
fixes uapi helper define
...
SVN-Revision: 34715
2012-12-16 11:04:27 +00:00
John Crispin
0803171cd1
adds wrapper for uapi directory
...
SVN-Revision: 34683
2012-12-15 01:59:14 +00:00
Felix Fietkau
720ccbd95d
kernel: move KERNEL_BUILD_DIR under BUILD_DIR to properly fix gcc/libc based dependencies
...
SVN-Revision: 34450
2012-12-02 15:26:24 +00:00
Jo-Philipp Wich
9079032833
include: use $(DIR_SUFFIX) in $(KERNEL_BUILD_DIR) to separate build_dir/linux-* directories when building different libc implementations in the same buildroot
...
SVN-Revision: 34299
2012-11-22 13:43:24 +00:00
Imre Kaloz
0fa21ec3eb
use xz compressed kernel tarballs
...
SVN-Revision: 34228
2012-11-18 08:49:08 +00:00
Imre Kaloz
996f48b4a3
we only support v3.x kernels
...
SVN-Revision: 34225
2012-11-18 08:38:26 +00:00
Jo-Philipp Wich
97af76a920
include: calculate md5sum over sorted kernel config symbol list and incorperate it into the kernel metapackage version, make kmods depend on this specific version. The aim of this change is to invalidate kmods which are built against a different kernel config on the opkg metadata level. Manual copying and insmod of custom *.ko files, e.g. for development purpose, is still possible.
...
SVN-Revision: 29686
2012-01-08 15:23:11 +00:00
Jonas Gorski
14482ced5e
include/kernel.mk: don't check for modules.builtin on 2.6.32-
...
modules.builtin is only available in 2.6.33 and later, so fall back to
assuming it's built-in for older kernels.
SVN-Revision: 29018
2011-11-13 11:45:09 +00:00
Nicolas Thill
7de2766a02
include/kernel.mk: enhance built-in/missing modules detection when packaging kmods
...
SVN-Revision: 28856
2011-11-08 14:00:36 +00:00
Nicolas Thill
3bcb16b305
package/blockmount: simplify extroot module loading logic
...
SVN-Revision: 28650
2011-10-28 13:10:50 +00:00
Nicolas Thill
b5af64c529
kernel: build kmod even for modules built-in
...
SVN-Revision: 28649
2011-10-28 13:10:43 +00:00
Michael Büsch
69853cc4e8
Fix kernel version check macro typo
...
SVN-Revision: 28627
2011-10-27 16:56:22 +00:00
Jo-Philipp Wich
b292524c13
kernel.mk: also do not download Linux if CONFIG_KERNEL_GIT_CLONE_URI is set
...
SVN-Revision: 28360
2011-10-03 10:19:25 +00:00
Jonas Gorski
a5f2fd6359
include/kernel.mk: fix download path for linux 3.x
...
SVN-Revision: 27939
2011-08-09 12:19:38 +00:00
Felix Fietkau
5820306407
only export GCC_HONOUR_COPTS for the built-in toolchain, fixes missing-fhonour-copts warnings with external toolchains
...
SVN-Revision: 27771
2011-07-25 10:32:38 +00:00
Jonas Gorski
b197196bc8
kernel.mk: Fix kernel module path for 3.0
...
Linux 3.0 calls itself 3.0.0, so insmod expects the modules in
/lib/modules/3.0.0.
SVN-Revision: 27761
2011-07-24 21:42:33 +00:00
Felix Fietkau
9acb81d9af
kernel.mk: add a new helper for comparing kernel versions, which can take 1 - 4 field kernel versions
...
implement CompareKernelPatchVer using this new helper
implement kernel_patchver_{gt,ge,eq,le,lt}, which are more convenient for use with inline $(if)
SVN-Revision: 27087
2011-06-01 18:08:17 +00:00
Felix Fietkau
0cf265ed06
remove kernel major version specific kernelpackage overrides
...
SVN-Revision: 27032
2011-05-30 23:07:48 +00:00
Florian Fainelli
8a6ee777b0
make ModuleAutoLoad more readable
...
When doing a build with tracing on, the expansion of ModuleAutoLoad can get a
little hairy.
Using intermediate variables to name the arguments makes tracing more readable.
One side effect is that if an argument is accidentally left out, we won't get
all of the parameters shifted one over thanks to quoting (done in AutoLoad).
Signed-of-by: Philip Prindeville <philipp@redfish-solutions.com>
SVN-Revision: 23513
2010-10-18 06:58:11 +00:00
Felix Fietkau
a9136c0892
speed up the build system by including include/shell.sh on shell commands only where necessary
...
SVN-Revision: 22720
2010-08-19 12:49:37 +00:00
Nicolas Thill
5cc5f15047
partially revert [22145], keep LINUX_KMOD_SUFFIX, needed to build external modules in ./packages
...
SVN-Revision: 22146
2010-07-12 16:01:13 +00:00
Claudio Mignanti
2d86ea7bf3
massive: replace occurences of .$(LINUX_KMOD_SUFFIX) with .ko after r21950
...
SVN-Revision: 22145
2010-07-12 14:06:13 +00:00
Felix Fietkau
965f770083
prevent kernel.mk from defining PATCH_DIR and FILES_DIR for regular packages
...
SVN-Revision: 20569
2010-03-29 03:07:54 +00:00
Felix Fietkau
93489b721e
add support for marking specific kernel module packages as potentially being required for mounting the rootfs (patch by cshore)
...
SVN-Revision: 19878
2010-02-26 22:45:54 +00:00
Felix Fietkau
3c74d0b385
do not download kernel sources when using an external kernel tree
...
SVN-Revision: 18777
2009-12-14 13:54:03 +00:00
Felix Fietkau
cba2a6b1fd
fix one more instance of r18295
...
SVN-Revision: 18301
2009-11-04 22:51:07 +00:00
Felix Fietkau
7a75347b26
fix platform specific overrides for kernel modules, fixes lp on brcm-2.4
...
SVN-Revision: 18295
2009-11-04 21:54:53 +00:00
Felix Fietkau
3b61c2c2b1
now that $(BOARD) is part of the opkg ARCH, there's no reason to keep the board name around in kmod-* package versions anymore
...
SVN-Revision: 17528
2009-09-06 17:26:37 +00:00
Florian Fainelli
7f36797bb7
ensure CONTROL directory is created ( #5683 )
...
SVN-Revision: 17293
2009-08-17 10:14:25 +00:00
Felix Fietkau
56164a5815
add a modified version of the mips64 patch from #4603
...
SVN-Revision: 15249
2009-04-18 17:03:55 +00:00
Felix Fietkau
015dff9d7d
get rid of one more $(shell) instance
...
SVN-Revision: 14741
2009-03-03 15:28:57 +00:00
Felix Fietkau
431c9267b4
replace a few unnecessary $(shell) calls
...
SVN-Revision: 14739
2009-03-03 14:55:53 +00:00
Felix Fietkau
f3c14b3de8
avoid repeating the same dependency multiple times
...
SVN-Revision: 14738
2009-03-03 14:54:19 +00:00
Felix Fietkau
cdca343745
fix LINUX_KARCH for x86
...
SVN-Revision: 13986
2009-01-11 21:35:26 +00:00
Felix Fietkau
1e570a9288
change the way ./files* and the generic kernel files are applied. ./files now applies to *ALL* kernel versions, and is copied along with ./files-* - this gets rid of quite a bit of redundancy in the extra kernel drivers.
...
SVN-Revision: 13010
2008-10-18 21:43:30 +00:00
Felix Fietkau
096531f61e
make sure that when the kernel config changes, compile is triggered for all kernel dependent packages
...
SVN-Revision: 12503
2008-09-02 15:50:09 +00:00
Felix Fietkau
38b96e6b68
fix kconfig for packages that only define =y, =m or =n rules
...
SVN-Revision: 12414
2008-08-27 21:34:01 +00:00
Travis Kemen
7c7bd6f61c
This patch makes kernel modules check if config is defined and creates a config passthrough target which will evaluate the original config in the generated package. This is done so kernel modules can have configuration menus like busybox, etc... Signed-off-by: Axel Gembe <ago@bastart.eu.org>
...
SVN-Revision: 11139
2008-05-15 00:57:50 +00:00
Nicolas Thill
e93e293b41
add a macro to compare kernel patch versions and use it for crypto and watchdog changes in 2.6.24+ kernels ( closes : #3402 )
...
SVN-Revision: 11115
2008-05-11 20:56:51 +00:00
Felix Fietkau
2448cb8a15
add optional version suffix to kernel files/ directories
...
SVN-Revision: 10972
2008-04-28 22:01:14 +00:00
Felix Fietkau
5526395594
fix kernel config related build error
...
SVN-Revision: 9640
2007-11-30 17:22:44 +00:00
Felix Fietkau
d1b4f5b54f
include the kernel config for kernel related packages (should fix some b43 compile issues)
...
SVN-Revision: 9635
2007-11-30 09:43:08 +00:00
Felix Fietkau
4bb2c88f4e
don't specify "CC=<nothing>" on kernel build command line
...
If KERNEL_CC isn't set, we end up with a "CC=" on the kernel build
command-line. We don't always need CC, as the CROSS_COMPILE flag does
the job instead. In fact, specifying CC messes up the build when we're
using a biarch compiler.
This change doesn't specify CC= if the KERNEL_CC variable is empty.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
SVN-Revision: 9408
2007-10-23 06:23:23 +00:00
Felix Fietkau
d8e032edef
don't replace powerpc arch with ppc
...
'powerpc' is a valid arch for the LINUX_KARCH variable, but the build
system unconditionally replaces LIUNUX_KARCH=powerpc with
LINUX_KARCH=ppc.
This change only does the replacement if LINUX_KARCH isn't set. This
allows us to use the powerpc architecture.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
SVN-Revision: 9405
2007-10-23 06:23:12 +00:00
Nicolas Thill
892b16a352
revert CONFIG_* symbols set m enforcement introduced in [8591], it can't work when symbols from different kernel versions are mixed in KCONFIG
...
SVN-Revision: 8798
2007-09-16 16:10:37 +00:00
Felix Fietkau
e83d637f65
fix kernel build with quilt
...
SVN-Revision: 8727
2007-09-10 04:21:21 +00:00
Felix Fietkau
0c9b23594d
fix kmod-crypto, emit warning messages for kmod packages that cannot be built due to missing kernel config options
...
SVN-Revision: 8697
2007-09-08 23:33:01 +00:00
Felix Fietkau
a9d683ca91
major target cleanup. it is now possible to have subtargets that can override many target settings, including arch - merge adm5120, adm5120eb. target profiles still need to be adapted for subtargets
...
SVN-Revision: 8694
2007-09-08 19:55:42 +00:00
Felix Fietkau
56231056ea
strip the kernel version suffix from target directories, except for brcm-2.4 (the -2.4 will be included in the board name here). CONFIG_LINUX_<ver>_<board> becomes CONFIG_TARGET_<board>, same for profiles.
...
SVN-Revision: 8653
2007-09-06 16:27:37 +00:00
Nicolas Thill
8dc7ced4d4
require all CONFIG_* symbols listed in its KCONFIG to be set to m in order to actually build a kmod package, tweak and fix kernel package definitions.
...
SVN-Revision: 8591
2007-09-03 08:58:14 +00:00
Nicolas Thill
6a6fa5a4ab
provide default PKG_BUILD_DIR for packages missing a PKG_VERSION
...
SVN-Revision: 8583
2007-09-03 07:51:56 +00:00
Nicolas Thill
02cd6d278f
use a default VERSION field for kmod packages
...
SVN-Revision: 8575
2007-09-02 16:39:27 +00:00
Nicolas Thill
1b226e4de1
add a '@KERNEL' download facility, tweak script
...
SVN-Revision: 8495
2007-08-26 18:21:24 +00:00
Nicolas Thill
b35e6fe3ba
include kernel-version.mk from kernel.mk so that a correct KERNEL_PATCHVER is always available
...
SVN-Revision: 8494
2007-08-26 13:26:02 +00:00
Nicolas Thill
615a81cb65
move KERNEL_PATCHVER from kernel.mk to kernel-version.mk so that it is defined when dumping target infos
...
SVN-Revision: 8485
2007-08-25 14:50:17 +00:00
Nicolas Thill
655a446b17
add support for KernelPackage/*/description
...
SVN-Revision: 8484
2007-08-25 14:43:15 +00:00
Felix Fietkau
3df35f0b09
revert [8415], seems to be causing problems for the kernel build
...
SVN-Revision: 8418
2007-08-16 13:44:57 +00:00
Felix Fietkau
c2d5c1c0c2
always include kernel config for kernel packages
...
SVN-Revision: 8415
2007-08-15 23:33:37 +00:00
Felix Fietkau
c6bc77ea36
build system cleanup/restructuring as described in http://lists.openwrt.org/pipermail/openwrt-devel/2007-August/001159.html
...
SVN-Revision: 8362
2007-08-07 00:04:25 +00:00
Felix Fietkau
0f74fa296c
fix kmod packages that don't use KCONFIG
...
SVN-Revision: 8323
2007-08-02 23:49:31 +00:00
Felix Fietkau
21075a17f7
fix kmod packaging for packages where some KCONFIG symbols are set to y
...
SVN-Revision: 8316
2007-08-02 13:38:03 +00:00
Felix Fietkau
99368862e4
Port the mbsd_multi patch from freewrt, which adds -fhonour-copts. This will emit warnings in packages that don't use our target cflags properly
...
SVN-Revision: 8256
2007-07-31 00:52:27 +00:00
Felix Fietkau
7ff45c5adb
disable kmod packages where the KCONFIG options are =y
...
SVN-Revision: 8086
2007-07-20 22:25:14 +00:00
Felix Fietkau
8e42553971
dynamically enable/disable kernel config options for kmod packages based on build system config
...
SVN-Revision: 8026
2007-07-18 11:31:01 +00:00
Gabor Juhos
259ff05f84
reordered GENERIC_PATCH_DIR variable
...
SVN-Revision: 7824
2007-07-01 11:44:50 +00:00
Felix Fietkau
6c4ee48f92
fix kernel config feature autodetection
...
SVN-Revision: 7811
2007-06-30 21:42:57 +00:00
Felix Fietkau
f019ac4dc9
prepare for the transition to linux 2.6.22 - make it possible to override the kernel version in the target makefile
...
SVN-Revision: 7644
2007-06-16 01:56:04 +00:00
Felix Fietkau
56220b258b
fix kmod-* build error when wildcards are being used in $(FILES)
...
SVN-Revision: 7052
2007-04-26 08:06:52 +00:00
Felix Fietkau
4c6c987f09
Improved autorebuild for kernel related stuff. - make modules_install in the kernel tree is no longer called - make modules is called on every target/compile run - kmod packages pull the kernel modules directly out of the kernel tree and have proper file depends on them
...
SVN-Revision: 6998
2007-04-18 12:28:38 +00:00
Felix Fietkau
1d307eea87
add a default for PKG_BUILD_DIR and PKG_INSTALL_DIR (will use KERNEL_BUILD_DIR if kernel.mk is included, BUILD_DIR otherwise)
...
SVN-Revision: 6580
2007-03-16 19:18:55 +00:00
Felix Fietkau
d398dc0309
always dereference symbolic links when copying kernel modules into the packaging directory (fixes alsa build, patch from #1392 )
...
SVN-Revision: 6350
2007-02-23 14:52:50 +00:00
Felix Fietkau
dc6794b88c
some platform support path name cleanup
...
SVN-Revision: 5846
2006-12-18 18:30:29 +00:00