Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kwabena Antwi-Boasiako
slapos
Commits
9278d2c2
Commit
9278d2c2
authored
Nov 30, 2012
by
Viktor Horvath
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Makefile separation : instantiation part (work in progress)
parent
deabf912
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
77 additions
and
25 deletions
+77
-25
slapos/recipe/mioga/instantiate.py
slapos/recipe/mioga/instantiate.py
+17
-15
software/mioga/instance-apacheperl.cfg
software/mioga/instance-apacheperl.cfg
+7
-5
software/mioga/mioga-patch
software/mioga/mioga-patch
+52
-5
software/mioga/software.cfg
software/mioga/software.cfg
+1
-0
No files found.
slapos/recipe/mioga/instantiate.py
View file @
9278d2c2
...
...
@@ -54,15 +54,14 @@ class Recipe(GenericBaseRecipe):
self
.
instantiate
(
False
)
def
instantiate
(
self
,
isNewInstall
):
print
"This is the Mioga recipe"
print
"Looking for compile folder:"
print
self
.
options
[
'mioga_compile_dir'
]
# TODO: this will only work for a SINGLE instance in the Slaprunner.
# In a real environment we cannot mess around with the compile directory
# like that.
# Copy the build/ and var/lib/Mioga2 folders into the instance
mioga_location
=
self
.
options
[
'mioga_location'
]
var_dir
=
self
.
options
[
'var_directory'
]
if
not
os
.
path
.
exists
(
var_dir
):
shutil
.
copytree
(
os
.
path
.
join
(
mioga_location
,
'var'
),
var_dir
,
True
)
former_directory
=
os
.
getcwd
()
os
.
chdir
(
self
.
options
[
'mioga_
compile_dir
'
])
os
.
chdir
(
self
.
options
[
'mioga_
buildinst
'
])
vardir
=
self
.
options
[
'var_directory'
]
mioga_base
=
os
.
path
.
join
(
vardir
,
'lib'
,
'Mioga2'
)
...
...
@@ -91,12 +90,15 @@ class Recipe(GenericBaseRecipe):
if
os
.
path
.
isdir
(
'web/conf/apache'
):
shutil
.
rmtree
(
'web/conf/apache'
)
for
key
in
self
.
options
.
keys
():
print
"Found option: "
+
key
environ
=
os
.
environ
environ
[
'PATH'
]
=
':'
.
join
([
self
.
options
[
'perl_bin'
],
# priority!
# Mioga scripts in Makefiles and shell scripts
self
.
options
[
'bin_dir'
],
self
.
options
[
'mioga_add_to_path'
],
self
.
options
[
'libxslt_bin'
],
self
.
options
[
'libxml2_bin'
],
self
.
options
[
'postgres_bin'
],
environ
[
'PATH'
]
])
...
...
@@ -115,7 +117,7 @@ class Recipe(GenericBaseRecipe):
# environ = self.options['
mioga_compile_env
']
print pprint.pformat(environ)
# We must call "make
installall
" in the SAME environment that
# We must call "make" in the SAME environment that
# "perl Makefile.PL" left!
cmd = subprocess.Popen(self.options['
perl_bin
'] + '
/
perl
Makefile
.
PL
disable_check
'
...
...
@@ -211,11 +213,12 @@ Include conf/extra/httpd-autoindex.conf
else
:
os
.
mkfifo
(
fifo
,
0600
)
site_perl_bin
=
os
.
path
.
join
(
self
.
options
[
'site_perl'
],
'bin'
)
mioga_conf_path
=
os
.
path
.
join
(
mioga_base
,
'conf'
,
'Mioga.conf'
)
notifier_wrapper
=
self
.
createPythonScript
(
os
.
path
.
join
(
services_dir
,
'notifier'
),
'slapos.recipe.librecipe.execute.execute'
,
[
os
.
path
.
join
(
s
elf
.
options
[
'mioga_compile_dir'
],
'bin'
,
'notifier'
,
'notifier.pl'
),
[
os
.
path
.
join
(
s
ite_perl_bin
,
'notifier.pl'
),
mioga_conf_path
]
)
path_list
.
append
(
notifier_wrapper
)
...
...
@@ -223,18 +226,17 @@ Include conf/extra/httpd-autoindex.conf
searchengine_wrapper
=
self
.
createPythonScript
(
os
.
path
.
join
(
services_dir
,
'searchengine'
),
'slapos.recipe.librecipe.execute.execute'
,
[
os
.
path
.
join
(
s
elf
.
options
[
'mioga_compile_dir'
],
'bin'
,
'notifier'
,
'searchengine.pl'
),
[
os
.
path
.
join
(
s
ite_perl_bin
,
'searchengine.pl'
),
mioga_conf_path
]
)
path_list
.
append
(
searchengine_wrapper
)
crawl_fm
=
FileModifier
(
os
.
path
.
join
(
self
.
options
[
'mioga_compile_dir'
],
'bin'
,
'search'
,
'crawl_sample.sh'
)
)
crawl_fm
=
FileModifier
(
os
.
path
.
join
(
'bin'
,
'search'
,
'crawl_sample.sh'
)
)
# TODO: The crawl script will still call the shell command "date"
crawl_fm
.
modify
(
r'/var/tmp/crawl'
,
self
.
options
[
'log_dir'
]
+
'/crawl'
)
crawl_fm
.
modify
(
r'/var/lib/Mioga2/conf'
,
mioga_base
+
'/conf'
)
crawl_fm
.
modify
(
r'/usr/local/bin/(mioga2_(?:info|crawl|index).pl)'
,
s
elf
.
options
[
'site_perl'
]
+
'/bin/'
+
r"
\
g<
1>"
)
s
ite_perl_bin
+
r"/
\
g<
1>"
)
crawl_path
=
os
.
path
.
join
(
self
.
options
[
'bin_dir'
],
'crawl.sh'
)
crawl_fm
.
save
(
crawl_path
)
os
.
chmod
(
crawl_path
,
stat
.
S_IRWXU
)
...
...
software/mioga/instance-apacheperl.cfg
View file @
9278d2c2
...
...
@@ -16,7 +16,6 @@ bin = $${buildout:directory}/bin
etc = $${buildout:directory}/etc
srv = $${buildout:directory}/srv
log = $${buildout:directory}/log
var = $${buildout:directory}/var
[basedirectory]
recipe = slapos.cookbook:mkdirectory
...
...
@@ -80,11 +79,14 @@ symlink_base = ${postgresql:location}/bin
[mioga-instance]
recipe = slapos.cookbook:mioga.instantiate
mioga_compile_dir = ${template-apacheperl:compile-directory}
#
mioga_compile_dir = ${template-apacheperl:compile-directory}
# Pity that the following line does not work. Or does it?
# mioga_compile_env = ${mioga:environment}
mioga_add_to_path = ${libxslt:location}/bin:${libxml2:location}/bin
var_directory = $${rootdirectory:var}
mioga_location = ${mioga:location}
mioga_buildinst = ${mioga:buildinst}
libxslt_bin = ${libxslt:location}/bin
libxml2_bin = ${libxml2:location}/bin
var_directory = $${buildout:directory}/var
instance_root = $${buildout:directory}
perl_bin = ${perl:location}/bin
postgres_bin = ${postgresql:location}/bin
...
...
@@ -103,7 +105,7 @@ htdocs = $${basedirectory:htdocs}
httpd_conf = $${rootdirectory:etc}/httpd.conf
pid_file = $${basedirectory:services}/apache.pid
lock_file = $${basedirectory:services}/apache.lock
dav_locks = $${
rootdirectory:var}
/dav_locks
dav_locks = $${
buildout:directory}/var
/dav_locks
services_dir = $${basedirectory:services}
error_log = $${rootdirectory:log}/error.log
access_log = $${rootdirectory:log}/access.log
...
...
software/mioga/mioga-patch
View file @
9278d2c2
...
...
@@ -12,10 +12,36 @@ index ef0f369..b275a48 100644
This script must be run by cron in a day basis with apache user (www-data for Debian)
diff --git a/Makefile.PL b/Makefile.PL
index 3582d20..
0d9ef77
100644
index 3582d20..
262e2c2
100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -115,7 +115,7 @@
my $docsubdirs = "docs";
@@ -22,6 +22,7 @@
use ExtUtils::MakeMaker;
use ExtUtils::MakeMaker::Config;
+use File::Find;
# ****************************************************************************
#
@@ -67,6 +68,7 @@
sub CheckPreDepends {
my $disable_check = grep {lc($_) eq 'disable_check'} @ARGV;
+if (! $disable_check) {
CheckPreDepends({ # 'Data::Dumper' => '2.101',
# 'DBI' => '1.13',
# 'DBD::Pg' => '1.01',
@@ -75,7 +77,8 @@
CheckPreDepends({ # 'Data::Dumper' => '2.101',
'Error' => '0.15',
# 'Net::LDAP' => '0.25',
# 'Unicode::String' => '2.06',
- });
+ })
+}
require MiogaConf;
@@ -115,7 +118,7 @@
my $docsubdirs = "docs";
# ----------------------------------------------------------------------------
sub MY::processPL {
return '
...
...
@@ -24,7 +50,7 @@ index 3582d20..0d9ef77 100644
# between "all" and next "tardist"
include config.mk
@@ -124,10 +12
4
,7 @@
tardist: doc
@@ -124,10 +12
7
,7 @@
tardist: doc
dist: doc
install ::
if test -e $(TMP_DIR) ; then \
...
...
@@ -36,7 +62,7 @@ index 3582d20..0d9ef77 100644
echo "===> File $(TMP_DIR) exists but is not a directory ..." ; \
exit 1 ; \
fi \
@@ -156,6 +15
3,29
@@
install-all ::
@@ -156,6 +15
6,31
@@
install-all ::
(cd web && $(MAKE) setperms) || exit 1;
...
...
@@ -53,7 +79,9 @@ index 3582d20..0d9ef77 100644
+ done
+ # copy a minimal build system into mioga/build
+ mkdir -p "$(MIOGA_BUILDINST)"
+ cp -R --parents Makefile.PL sql web/conf conf "$(MIOGA_BUILDINST)"
+ cp -R --parents \
+ Makefile.PL sql web/conf conf bin/search/crawl_sample.sh \
+ "$(MIOGA_BUILDINST)"
+
+slapos-instantiation ::
+ for i in web/conf conf sql ; \
...
...
@@ -66,6 +94,25 @@ index 3582d20..0d9ef77 100644
doc:
for i in ' . $docsubdirs . ' ; \
do \
@@ -176,9 +201,17 @@
installall: install install-all
#
# ----------------------------------------------------------------------------
+my $Mioga2_pm = 'lib/Mioga2.pm';
+if ((not -e $lib_Mioga2_pm) and exists($ENV{MIOGA_SITEPERL})) {
+ my $findfile = sub {
+ $Mioga2_pm = $File::Find::name if $_ eq 'Mioga2.pm';
+ };
+ find($findfile, $ENV{MIOGA_SITEPERL});
+};
+
WriteMakefile(
'NAME' => 'Mioga',
'DIR' => ['bin', 'web', 'locales', 'docs', 'sql'],
- 'VERSION_FROM' => 'lib/Mioga2.pm',
+ 'VERSION_FROM' => $Mioga2_pm,
);
diff --git a/bin/mailinglist/miogamailinglist.pl b/bin/mailinglist/miogamailinglist.pl
index 80668e2..fa1603a 100755
--- a/bin/mailinglist/miogamailinglist.pl
...
...
software/mioga/software.cfg
View file @
9278d2c2
...
...
@@ -102,6 +102,7 @@ environment =
MIOGA_BASE=${mioga:location}
MIOGA_BUILDINST=${mioga:buildinst}
MIOGA_STATIC=${mioga:static}
MIOGA_SITEPERL=${perl:siteprefix}
PATH=${libxslt:location}/bin:${libxml2:location}/bin:${perl:location}/bin:${perl:siteprefix}/bin:%(PATH)s
patch-options = -p1
patches =
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment