Dear all,

 I just received a kind reply from David suggesting to publicly discuss the 
consequences of my patch to the <server code directories>/Makefile.am files. 
The current "make install" instructions are incomplete in that they do not copy 
all the files that need to by copied - most prominently the html directory but 
also various others in sched and tools. And it copies files to directories 
where "make_project" does not expect them. The attached patch (against 
yesterday's HEAD of the git repository) fixes all that, but David indicated 
that it may interfere with other ideas on how the "make install" for the server 
parts would be used.

 The motivation behind the patch was to have at $(prefix)/$(somewhere) with 
somewhere=lib/boinc-server-maker (should become a configure option, I propose) 
a collection of all files that "make_project" expects, i.e. also the html files 
which do not even have a Makefile.am and hence are not installed anywhere. More 
severely, files expected separately by make_project in sched, tools and vda are 
today found together in /usr/bin. Many hours were previously sunk into 
separating them for the boinc-server-maker package that we once uploaded, and 
with build instructions which then were soon rendered obsolete with any later 
release. With the patch, the Debian packaging would instead take everything for 
the boinc-server-maker package from a single location and that is it: the 
boinc-server-maker package is ready, server packaging issues solved by "rm *", 
basically. This means, all the server logics for the Debian/Ubuntu packages 
remain within the BOINC source tree, which should considera
 bly help the adoption of those ready-to-use server packages.

 With my testing (and consequently also with the tutorial on 
http://wiki.debian.org/BOINC/ServerGuide) I did not get any much further than 
calling 'make_project'. This now works like a charm - without access to the 
checked-out source tree. Reasons speaking against any such approach please 
summarise in a quick reply.

 Many thanks and best wishes for 2013+

 Steffen
Index: boinc_upstream/Makefile.am
===================================================================
--- boinc_upstream.orig/Makefile.am
+++ boinc_upstream/Makefile.am
@@ -13,7 +13,7 @@
 endif
 
 if ENABLE_SERVER
-   SERVER_SUBDIRS = db test py sched apps tools vda
+   SERVER_SUBDIRS = db test py sched apps tools vda html
 ## once contained samples/example_app which breaks out-of-source-tree builds
 endif
 
Index: boinc_upstream/html/Makefile.am
===================================================================
--- /dev/null
+++ boinc_upstream/html/Makefile.am
@@ -0,0 +1,5 @@
+
+htmldir=$(DESTDIR)/$(prefix)/share/boinc-server-maker/html
+install-data-local:
+	mkdir -p $(htmldir)
+	cp -r bt  drupal  inc  languages  ops  project.sample  queue  user $(htmldir)
Index: boinc_upstream/sched/Makefile.am
===================================================================
--- boinc_upstream.orig/sched/Makefile.am
+++ boinc_upstream/sched/Makefile.am
@@ -87,11 +87,12 @@
 
 if ENABLE_SERVER
 
-cgidir = $(libexecdir)/cgi-bin
-scheddir = $(libexecdir)/sched
+schedcgidir = $(prefix)/lib/boinc-server-maker/sched
+schedsharedir = $(prefix)/lib/boinc-server-maker/sched
+schedbindir = $(prefix)/lib/boinc-server-maker/sched
 
-bin_PROGRAMS = \
-	adjust_user_priority \
+schedbin_PROGRAMS = \
+    adjust_user_priority \
     delete_file \
     get_file \
     make_work \
@@ -100,9 +101,9 @@
     show_shmem \
     wu_check
 
-sched_PROGRAMS = \
+schedshare_PROGRAMS = \
     census \
-	credit_test \
+    credit_test \
     db_dump \
     db_purge \
     feeder \
@@ -120,12 +121,18 @@
     trickle_echo \
     update_stats
 
-cgi_PROGRAMS= \
+schedcgi_PROGRAMS= \
     cgi \
     file_upload_handler
 
+schedshare_DATA = \
+    db_dump_spec.xml \
+    assimilator.py \
+    pymw_assimilator.py \
+    transitioner_catchup.php
+
 # scripts that 'make install' should put in bindir
-bin_SCRIPTS = start stop status
+schedshare_SCRIPTS = start stop status
 
 noinst_HEADERS = \
     assimilate_handler.h \
@@ -275,8 +282,7 @@
 
 if ENABLE_FCGI
 
-cgi_PROGRAMS += fcgi \
-                fcgi_file_upload_handler
+schedcgi_PROGRAMS += fcgi fcgi_file_upload_handler
 
 fcgi_SOURCES = $(cgi_sources)
 fcgi_CPPFLAGS = -D_USING_FCGI_ $(AM_CPPFLAGS)
Index: boinc_upstream/configure.ac
===================================================================
--- boinc_upstream.orig/configure.ac
+++ boinc_upstream/configure.ac
@@ -969,6 +969,7 @@
                  db/Makefile
                  doc/Makefile
                  doc/manpages/Makefile
+                 html/Makefile
                  lib/Makefile
                  locale/Makefile
                  Makefile
Index: boinc_upstream/db/Makefile.am
===================================================================
--- boinc_upstream.orig/db/Makefile.am
+++ boinc_upstream/db/Makefile.am
@@ -9,4 +9,5 @@
 endif
 
 ## other stuff to go into the distribution
-EXTRA_DIST = constraints.sql schema.sql init_db
+extradir = $(prefix)/share/boinc-server-maker/db
+dist_extra_DATA = constraints.sql schema.sql init_db
Index: boinc_upstream/tools/Makefile.am
===================================================================
--- boinc_upstream.orig/tools/Makefile.am
+++ boinc_upstream/tools/Makefile.am
@@ -1,11 +1,13 @@
 ## -*- mode: makefile; tab-width: 4 -*-
 include $(top_srcdir)/Makefile.incl
 
-scheddir = $(libexecdir)/sched
+scheddir = $(prefix)/lib/boinc-server-maker/sched
+toolsdir = $(prefix)/lib/boinc-server-maker/tools
+toolbindir = $(prefix)/lib/boinc-server-maker/tools
 
-bin_PROGRAMS = create_work sign_executable dir_hier_path dir_hier_move cancel_jobs
+toolbin_PROGRAMS = create_work sign_executable dir_hier_path dir_hier_move cancel_jobs
 
-dist_bin_SCRIPTS = \
+dist_toolbin_SCRIPTS = \
 	    boinc_submit \
 		dbcheck_files_exist \
 		demo_submit \
@@ -23,6 +25,15 @@
 		makelog.sh \
 		run_in_ops
 
+dist_tools_SCRIPTS = \
+    appmgr \
+    db_query \
+    manage_privileges \
+    run_in_ops \
+    stage_file \
+    watch_tcp \
+    project.xml
+
 AM_CXXFLAGS += $(MYSQL_CFLAGS)
 AM_LDFLAGS += -static -L../sched -L../lib/.libs
 
Index: boinc_upstream/vda/Makefile.am
===================================================================
--- boinc_upstream.orig/vda/Makefile.am
+++ boinc_upstream/vda/Makefile.am
@@ -1,6 +1,7 @@
 include $(top_srcdir)/Makefile.incl
 
-bin_PROGRAMS = vda vdad ssim
+vdadir=$(prefix)/lib/boinc-server-maker/vda
+vda_PROGRAMS = vda vdad ssim
 
 AM_CXXFLAGS += $(MYSQL_CFLAGS)
 AM_LDFLAGS += -static -L../lib/.libs -L../sched
Index: boinc_upstream/samples/wrapper/Makefile
===================================================================
--- boinc_upstream.orig/samples/wrapper/Makefile
+++ boinc_upstream/samples/wrapper/Makefile
@@ -38,4 +38,4 @@
 
 wrapper: wrapper.o libstdc++.a $(BOINC_LIB_DIR)/libboinc.a $(BOINC_API_DIR)/libboinc_api.a $(REGEXP_OBJS)
 	g++ $(CXXFLAGS) -o wrapper wrapper.o $(REGEXP_OBJS) libstdc++.a -pthread -lboinc_api -lboinc -lboinc_zip
-	g++ $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o wrapper wrapper.o $(REGEXP_OBJS) libstdc++.a -pthread -lboinc_api -lboinc -lboinc_zip
+	g++ $(CXXFLAGS) $(CPPFLAGS) -o wrapper wrapper.o $(REGEXP_OBJS) libstdc++.a -pthread -lboinc_api -lboinc -lboinc_zip
Index: boinc_upstream/apps/Makefile.am
===================================================================
--- boinc_upstream.orig/apps/Makefile.am
+++ boinc_upstream/apps/Makefile.am
@@ -3,7 +3,7 @@
 
 include $(top_srcdir)/Makefile.incl
 
-exampledir = $(libexecdir)/examples
+exampledir = $(prefix)/lib/boinc-apps-examples
 example_PROGRAMS = upper_case concat 1sec
 
 upper_case_SOURCES = upper_case.cpp
Index: boinc_upstream/lib/Makefile.am
===================================================================
--- boinc_upstream.orig/lib/Makefile.am
+++ boinc_upstream/lib/Makefile.am
@@ -8,7 +8,8 @@
 # Stuff needed for server builds goes here.
 if ENABLE_SERVER
 
-bin_PROGRAMS += crypt_prog parse_test
+serverbindir = $(prefix)/lib/boinc-server-maker/lib
+serverbin_PROGRAMS = crypt_prog parse_test
 
 endif
 # end of "if ENABLE_SERVER"
Index: boinc_upstream/py/Makefile.am
===================================================================
--- boinc_upstream.orig/py/Makefile.am
+++ boinc_upstream/py/Makefile.am
@@ -19,6 +19,10 @@
 	Boinc/tools.py \
 	Boinc/util.py
 
+pydir=$(prefix)/usr/share/boinc-server-maker/py/Boinc
+py_SCRIPTS=$(EXTRA_DIST)
+
+
 $(srcdir)/Boinc/boinc_db.py: $(top_srcdir)/db/boinc_db.h $(top_srcdir)/lib/common_defs.h
 	cat $^ | $(top_srcdir)/py/db_def_to_py > $@
 
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.

Reply via email to