Milan, 15 June 2001WP1 Meeting - F. Donno1 GRID Packaging and Code Management for WP1 F. Donno INFN - Pisa
Milan, 15 June 2001WP1 Meeting - F. Donno2 GRID CVS Repository CVS repository browsable via WEB and with ssh-agent authentication Directory structure: gdmp/Commongdmp/config gdmp/ControlMsgsgdmp/doc gdmp/DataMovergdmp/etc gdmp/FlatFilegdmp/lib …gdmp/test gdmp/Maingdmp/utils
Milan, 15 June 2001WP1 Meeting - F. Donno3 GRID Build/Distribution Tools Use GNU Autotools (it helps configure automatically the software source code packages to adapt to many kind of UNIX-like systems). autoconf, automake and libtool configure.in and Makefile.am A bootstrap file to execute preliminary steps.
Milan, 15 June 2001WP1 Meeting - F. Donno4 GRID Build/Distribution Tools bootstrap configure –prefix= --with-package= make make test make install make dist make clean make distclean
Milan, 15 June 2001WP1 Meeting - F. Donno5 GRID An example of configure.in dnl Process this file with autoconf to dnl produce a configure script. AC_INIT(Common/gdmp_common.C) dnl set config options AM_CONFIG_AUX_DIR(config) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE(gdmp,1.2.2) dnl Checks for programs. AC_PROG_CXX dnl Checks for use of libtool AM_PROG_LIBTOOL dnl Define required variables. AC_SUBST(GLOBUS_INSTALL_PATH) AC_SUBST(GDMP_INSTALL_DIR) AC_SUBST(NCFTP_SRC_DIR) AC_SUBST(GLOBUS_REP_CAT_DIR) dnl Checks for libraries. dnl Replace `main' with a function dnl in -lpthread: AC_CHECK_LIB(pthread, main) dnl Checks for header files. AC_HEADER_DIRENT AC_HEADER_STDC AC_CHECK_HEADERS(fcntl.h malloc.h sys/file.h unistd.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_SIZE_T dnl Checks for library functions. AC_FUNC_UTIME_NULL AC_CHECK_FUNCS(putenv strdup strtoul) AC_OUTPUT(Common/Makefile Threads/Makefile DataMover/Makefile ControlMsgs/Makefile RequestManager/Makefile Security/Makefile DBManager/Makefile ReplicaCatalogue/Makefile StagingPlugins/Makefile Misc/Makefile lib/Makefile Main/Makefile Makefile etc/gdmp_environment etc/Makefile utils/gdmp_server_start utils/Makefile)
Milan, 15 June 2001WP1 Meeting - F. Donno6 GRID An example of Makefile.am include $(top_srcdir)/makefile_header Commonincdir = $(prefix)/include/gdmp Commoninc_HEADERS = gdmp_common.h noinst_LTLIBRARIES = libCommon.la libCommon_la_SOURCES = gdmp_common.C gdmp_common.h
Milan, 15 June 2001WP1 Meeting - F. Donno7 GRID Other configuration files RPM.specs gdmp_start_server.in gdmp.conf.in etc
Milan, 15 June 2001WP1 Meeting - F. Donno8 GRID Coding Rules Quite important issue ? WP2 thinks it is! Still a decision to be taken. It will be broght to the attention of ATF, WP12, other WPs Here it is: 1.Use Java Naming Conventions * 2.Use Java comment conventions 3.Use D0 preprocessor conventions** 4.Use D0 class layout conventions 5.Adopt D0 recommendations for coding style (function lenght, initialization, pointers & reference, scopes, …) * **
Milan, 15 June 2001WP1 Meeting - F. Donno9 GRID Proposal to the group WP1 Code Management Team: F. Donno, F. Giacomini, E. Ronchieri Tasks: a) Code Guidelines Proposal b) Code Review c) CVS Repository structure operative proposal d) GNU Autotools in place e) Automatic Distribution Timescale: a) 2Wks, b) 2Wks, c) 1Wk, d) 2Wks, e) 1-2Wks