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
Xiaowu Zhang
slapos
Commits
a0000542
Commit
a0000542
authored
Dec 05, 2012
by
Viktor Horvath
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Makefile separation: instantiation
parent
37670e11
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
41 additions
and
25 deletions
+41
-25
slapos/recipe/mioga/instantiate.py
slapos/recipe/mioga/instantiate.py
+19
-12
software/mioga/instance-apacheperl.cfg
software/mioga/instance-apacheperl.cfg
+5
-1
software/mioga/mioga-patch
software/mioga/mioga-patch
+14
-11
software/mioga/software.cfg
software/mioga/software.cfg
+3
-1
No files found.
slapos/recipe/mioga/instantiate.py
View file @
a0000542
...
...
@@ -53,15 +53,27 @@ class Recipe(GenericBaseRecipe):
def
update
(
self
):
self
.
instantiate
(
False
)
def
rsync_dir
(
self
,
src
,
target
):
if
os
.
path
.
isdir
(
src
)
and
not
src
.
endswith
(
'/'
):
src
+=
'/'
cmd
=
subprocess
.
Popen
(
self
.
options
[
'rsync_bin'
]
+
'/rsync -a --specials '
+
src
+
' '
+
target
,
env
=
os
.
environ
,
shell
=
True
)
cmd
.
communicate
()
def
instantiate
(
self
,
isNewInstall
):
# 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
)
self
.
rsync_dir
(
os
.
path
.
join
(
mioga_location
,
'var'
),
var_dir
)
buildinst_dir
=
self
.
options
[
'buildinst_directory'
]
self
.
rsync_dir
(
self
.
options
[
'mioga_buildinst'
],
buildinst_dir
)
former_directory
=
os
.
getcwd
()
os
.
chdir
(
self
.
options
[
'mioga_buildinst'
]
)
os
.
chdir
(
buildinst_dir
)
vardir
=
self
.
options
[
'var_directory'
]
mioga_base
=
os
.
path
.
join
(
vardir
,
'lib'
,
'Mioga2'
)
...
...
@@ -87,11 +99,8 @@ class Recipe(GenericBaseRecipe):
fm
.
save
()
# Ensure no old data is kept
self
.
removeIfExisting
(
'config.mk'
)
if
os
.
path
.
isdir
(
'web/conf/apache'
):
shutil
.
rmtree
(
'web/conf/apache'
)
for
key
in
self
.
options
.
keys
():
print
"Found option: "
+
key
# if os.path.isdir('web/conf/apache'):
# shutil.rmtree('web/conf/apache')
environ
=
os
.
environ
environ
[
'PATH'
]
=
':'
.
join
([
self
.
options
[
'perl_bin'
],
# priority!
...
...
@@ -100,6 +109,7 @@ class Recipe(GenericBaseRecipe):
self
.
options
[
'libxslt_bin'
],
self
.
options
[
'libxml2_bin'
],
self
.
options
[
'postgres_bin'
],
self
.
options
[
'rsync_bin'
],
environ
[
'PATH'
]
])
environ
[
'MIOGA_SITEPERL'
]
=
self
.
options
[
'mioga_siteperl'
]
...
...
@@ -115,9 +125,6 @@ class Recipe(GenericBaseRecipe):
os.chmod(pgpassfilepath, stat.S_IRUSR | stat.S_IWUSR)
environ['
PGPASSFILE
'] = pgpassfilepath
# environ = self.options['
mioga_compile_env
']
print pprint.pformat(environ)
# We must call "make" in the SAME environment that
# "perl Makefile.PL" left!
...
...
software/mioga/instance-apacheperl.cfg
View file @
a0000542
...
...
@@ -16,6 +16,8 @@ bin = $${buildout:directory}/bin
etc = $${buildout:directory}/etc
srv = $${buildout:directory}/srv
log = $${buildout:directory}/log
var = $${buildout:directory}/var
buildinst = $${buildout:directory}/buildinst
[basedirectory]
recipe = slapos.cookbook:mkdirectory
...
...
@@ -86,7 +88,9 @@ mioga_location = ${mioga:location}
mioga_buildinst = ${mioga:buildinst}
libxslt_bin = ${libxslt:location}/bin
libxml2_bin = ${libxml2:location}/bin
var_directory = $${buildout:directory}/var
rsync_bin = ${rsync:location}/bin
var_directory = $${rootdirectory:var}
buildinst_directory = $${rootdirectory:buildinst}
instance_root = $${buildout:directory}
perl_bin = ${perl:location}/bin
postgres_bin = ${postgresql:location}/bin
...
...
software/mioga/mioga-patch
View file @
a0000542
...
...
@@ -12,7 +12,7 @@ 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..
46608ca
100644
index 3582d20..
80ea444
100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -20,8 +20,10 @@
...
...
@@ -87,7 +87,7 @@ index 3582d20..46608ca 100644
+ "$(MIOGA_BUILDINST)"
+
+slapos-instantiation ::
+ for i in web/conf conf sql ; \
+ for i in web/conf conf
web/skel
sql ; \
+ do \
+ (cd $$i && $(MAKE) install) || exit 1;\
+ done
...
...
@@ -97,27 +97,19 @@ index 3582d20..46608ca 100644
doc:
for i in ' . $docsubdirs . ' ; \
do \
@@ -176,9 +202,
26
@@
installall: install install-all
@@ -176,9 +202,
18
@@
installall: install install-all
#
# ----------------------------------------------------------------------------
+my $Mioga2_pm = 'lib/Mioga2.pm';
+foreach my $envkey (keys %ENV) {
+ print "VHH DEBUG: found envvar $envkey\n";
+}
+if ((not -e $Mioga2_pm) and exists($ENV{MIOGA_SITEPERL})) {
+ print "VHH DEBUG: looking into SITEPERL\n";
+ my $findfile = sub {
+ if ($_ eq 'Mioga2.pm') {
+ $Mioga2_pm = $File::Find::name;
+ print "VHH DEBUG: Found Mioga2.pm in $Mioga2_pm\n";
+ }
+ };
+ find($findfile, $ENV{MIOGA_SITEPERL});
+};
+print "VHH DEBUG: Found finally: $Mioga2_pm\n";
+print 'VHH DEBUG: SIZE = ' . ( stat($Mioga2_pm) )[8] . "\n";
+print "VHH DEBUG: Current directory is ".getcwd."\n";
WriteMakefile(
'NAME' => 'Mioga',
'DIR' => ['bin', 'web', 'locales', 'docs', 'sql'],
...
...
@@ -649,6 +641,17 @@ index 66af45f..9649a02 100644
mkdir -p $(TMP_DIR)
mkdir -p $(DESTDIR)$(INSTALL_DIR)/$(INSTANCE_IDENT)/$(MIOGA_FILES)
diff --git a/web/conf/Makefile b/web/conf/Makefile
index 1573e5c..189f2fd 100644
--- a/web/conf/Makefile
+++ b/web/conf/Makefile
@@ -14,5 +14,6 @@
install:
# is done in ../Makefile
clean:
+ echo "VHH DEBUG: web/conf make clean, deleting apache/ !"
rm -Rf apache Mioga.conf .memdump
diff --git a/web/conf/startup.pl b/web/conf/startup.pl
index a9dc968..6558061 100644
--- a/web/conf/startup.pl
...
...
software/mioga/software.cfg
View file @
a0000542
...
...
@@ -4,6 +4,7 @@ develop =
/opt/slapdev_build
extends =
../../component/rsync/buildout.cfg
../../component/apache-perl/buildout.cfg
../../component/perl-Crypt-SSLeay/buildout.cfg
../../component/perl-XML-Parser/buildout.cfg
...
...
@@ -35,6 +36,7 @@ parts =
perl-String-Checker-mioga
perl-Search-Xapian
cpan-simple-modules
rsync
mioga
template
template-apacheperl
...
...
@@ -103,7 +105,7 @@ environment =
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
PATH=${libxslt:location}/bin:${libxml2:location}/bin:${perl:location}/bin:${perl:siteprefix}/bin:
${rsync:location}/bin:
%(PATH)s
patch-options = -p1
patches =
${mioga-patch:location}/${mioga-patch:filename}
...
...
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