diff --git a/ChangeLog b/ChangeLog index c5d2c3612..5210b726a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -298,7 +298,7 @@ Bug # Short Description 5752 ERROR 138 (HY000) at line 2: Sub-query failed: error code 2003 error for query that exceeded TotalUmMemory 5753 When PrimProc restarts, DML statement didn't reset the connections to PrimProc in connector 5757 addModule for UM failed on Amazon system - remote_command error -5759 Must use -p option for hadoop fs -mkdir when creating /usr/local/Calpont +5759 Must use -p option for hadoop fs -mkdir when creating /usr/local/MariaDB/Columnstore 5764 select count(*) from a complex view is returning an incorrect answer. 5765 truncate statement does not show schema in the debug.log 5767 'create table' creates table in front end when spaces are in the table name. diff --git a/ChangeLog~ b/ChangeLog~ new file mode 100644 index 000000000..c5d2c3612 --- /dev/null +++ b/ChangeLog~ @@ -0,0 +1,445 @@ +/*********************************************************************** +* +* Copyright (C) 2013 InfiniDB Corp +* All Rights Reserved +* +***********************************************************************/ + +July 7, 2014 +Version 4.6 + + +ENHANCEMENTS INCLUDED IN THIS RELEASE +------------------------------------- +Enh # Short Description +1505 Implement temp file based LargeHashJoin for tuple joins +3683 Allow function(column) = function(column) join +5308 Improve performance of load data infile and insert into select from + + +ISSUES RESOLVED IN THIS RELEASE +------------------------------- +Bug # Short Description + +3858 While "load data infile" is in progress, PrimProc fails to read compressed chunk and retries for more than a minute +4295 CPimport Mode 2: Should check for input files on all PMs before starting loading +4737 Distributed cpimport does not support a list of import files to a single table +4789 InfiniDB came up normally after encountering an critical sessionManager::rollback() error +5134 Source package: After compilation and installation, InfiniDB reported lib not found error during startup +5140 second and subsequent load data infiles have 30 second delay with auto increment +5523 Mysql is resetting when running a query on a information_schema.table and an InfiniDB table. +5727 Improve logging around controllernode start up +5756 After a failed addModule command movePmDbrootConfig did not fail +5758 when amazon UM modules are removed, their associated EBS storages are not removed +5761 Support additional versions of Java for Hadoop installations +5762 Need a method to handle MySQL port conflict on a multi-server install +5773 Startsystem is failing when shutdown has not completed. +5847 IDB-2021 on query using multiple pseudo column functions against same column and aggregation +5848 No CP elimination from idbPartition(col) in the where clause +5865 ERROR 138 (HY000): IDB-1000: 'orders' and 'sub-query' are not joined on a query with an or condition and not in condition +5891 getsystemdisk reporting minus value +5894 Performance issue when inserting a value in an autoincrement column +5930 Not in group by error on query grouping by idbPm and idbDbRoot functions +5931 current builds do not support a non-root / hdfs install +5946 load data infile error: ERROR 122 (HY000): CAL0006: Error verifying compression headers +5947 calonlinealter always creates non compressed columns +5950 getModuleHostNames command on AWS returned a segmentation fault error +5954 calpontSupport for Windows does not recognize options +5958 Query with a subselect is getting an assertion error +5963 configxml.sh fails to set CrossEngineSupport Password from the default setting +5978 crash with prepared statements +5987 hadoop test failed on install, hadoop not install where setenv was looking and not a parcel +5992 Bulk load fails on long schema name, long table name, and long column name combination. +5993 IDB-2016: Non supported item 'c2' on the GROUP BY list. +5996 Table reporting errors after a LDI +5997 standard mysql and infinidb mysql incorrectly starting/stopping each other +6000 New MySQL port test is insufficient +6001 cpimport performance improvement for tables with many dictionary columns +6005 addModule command failed to add an UM +6010 InfiniDB mysql replication doesn't work when UM mysql Port address is not 3306 +6013 HW 2.1 testing with 4.5.1-2 - different JAVA_HOME's are setup +6017 Queries with "where date(col) in (select dtCol)" not finding rows +6026 Prevent potential infinite loops reading input in postConfigure +6027 post-install message for a non-root hadoop install is incorrect.. +6029 when autocommit off, batchinsert set hwm of dictionary store file to 0 +6041 When loading 4160825419 rows cpimport reported as -134141877 rows +6044 'union all' query generates tupleconstantstep.cpp@731: assertion 'fRowConst.getSize() == fRowOut.getSize()' failed +6061 window function returned incorrect results +6066 query with alias is returning IDB-3009: Unknown column error. +6073 setenv scripts issues on Ubuntu + +/*********************************************************************** +* +* Copyright (C) 2013 InfiniDB Corp +* All Rights Reserved +* +***********************************************************************/ + +June 23, 2014 +Version 4.5.1 + + +ENHANCEMENTS INCLUDED IN THIS RELEASE +------------------------------------- +Enh # Short Description + + + +ISSUES RESOLVED IN THIS RELEASE +------------------------------- +Bug # Short Description + +4438 Implement -j option with simple usage to create a specific job log file +4638 Update from 2.2.x to 3.0 is not supported with multiple dbroots +5501 update with subquery using a view with an order by receives an error when using infinidb tables +5523 Mysql is resetting when running a query on a information_schema.table and an InfiniDB table. +5739 install-infinidb.sh script should be removed +5756 After a failed addModule command movePmDbrootConfig did not fail +5758 when amazon UM modules are removed, their associated EBS storages aren't +5761 Add support for additional Java versions with installation on HDFS +5762 Need a method to handle MySQL port conflict on a multi-server install +5785 While running a complex query a Control C aborts the query but may not clear ExeMgr memory +5804 mysql reset occurring following an install when /dev/shm permissions were not set correctly +5838 no prompt postConfigure does not work when mysql password is required. +5873 install failure - No Calpont.xml: failed to be written in config api +5881 with replication, delete with idbpm(colname) in where clause failed with an error. +5884 query returns incorrect results when using an on clause filter involving a table not directly involved in the outer join +5887 " Incorrect results of Is Null " +5891 getsystemdisk returns minus value +5893 Pseudo column functions return an "BPS not created 1" error when used as the 2nd expression in a where clause +5896 getConfig has no linefeed after returning value +5900 PrimProc crashes if NumBlocksPct has '%' in value +5903 startsystem reported successful system start when mysqld aborted +5904 Changing dbroot-to-pm assignment during postConfigure causes double-mounted storage devices +5906 Diagnostic messages logged in the err.log file during new installation +5907 After installation, a rsync error was report in UM1 but the stack seems to be in working state +5908 4.5 non-root install problems +5909 On a stack with replication and local query enabled, rerunning postConfigure caused the two features to become disabled +5910 Object names > 64 cause replication errors +5913 Renaming an autoincrement column is resetting the next value +5915 On hadoop system, SYSTABLE's update was not flushed to disk when implementing split dbroots for systables +5916 query using a view on a view causes ERROR 2013 (HY000): Lost connection to MySQL server during query +5917 non-root gluster / hadoop installs fail - storage types not being offered in postConfigure +5919 Warning of future deprecated "default-character-set" setting on Windows install +5923 ERROR 122 (HY000): Lost connection to DDLProc +5925 Add the two new options to postConfigure -h +5932 Queries with limits sometimes set the extent map min / max incorrectly +5943 mysql daemon fails to start on pm2 of a non-root install local-query configured system +5944 Incorrect schema name in error message +5946 load data infile error: ERROR 122 (HY000): CAL0006: Error verifying compression headers +5947 calonlinealter always creates non compressed columns +5956 Error Code: 138 IDB-2015: Sorting length exceeded when using a view +5958 Query with a subselect is getting an assertion error +5973 large system (1um-30pm) failing to start, ProcMgr incorrect stopping with ProcMons not active +5981 postconfigure upgrade when enabling local-query fails +5983 all the hdfs settings are not in the .bashrc file after install +5993 IDB-2016: Non supported item 'c2' on the GROUP BY list. +5996 Table reporting errors after a LDI +6001 cpimport performance improvement for tables with many dictionary columns +6029 with autocommit off, batchinsert set hwm of dictionary store file to 0 + +/*********************************************************************** +* +* Copyright (C) 2013 InfiniDB Corp +* All Rights Reserved +* +***********************************************************************/ + +March 31, 2014 +Version 4.5 + + +ENHANCEMENTS INCLUDED IN THIS RELEASE +------------------------------------- +Enh # Short Description + +4021 Selectable pseudo columns for row/PM identification +4578 Upgrade to latest MySQL 5.1.73 +5572 Optimizations to cpimport with Hadoop +5634 Optimization: Project only the necessary columns from views with union all or union +5635 Optimization: Use partition elimination for from clause sub queries and views with union / union all +5657 Local PM query interface +5660 Local PM Sqoop Import +5740 Enable use of MySQL Replication on UMs with InfiniDB +5799 Enhancement request to not provide information when performing a non-hadoop install on a system with hadoop + + +ISSUES RESOLVED IN THIS RELEASE +------------------------------- +Bug # Short Description + +5443 An error is not issued when changing a column's datatype +5444 alter table will not allow an autoincrement column to be renamed. +5611 Windows MySQL doesn't build out of github +5640 Hadoop: dumpcol and eval returned a java error with stack trace when non-existing file is supplied +5647 cpimport -i option doesn't work with modes 1 and 2 +5745 hadoop: unknown bulk rollback error on 4PM stack +5748 startsystem failure when user-module is disabled +5805 Query with avg windowing function returning the average at the wrong decimal scale +5806 cpimport loads data incorrectly on a multi-server stack when the table has a mix of compressed and non-compressed columns +5807 concat producing an incorrect count when using a view +5808 colxml error reported on Windows system. +5811 selecting from a view which has a cross engine join produces an ERROR 122 (HY000): fatal error executing query in crossengine client lib(17)(17) +5817 addModule / altersystem-enablemodule fails on amazon with InfiniDB 4.x +5819 Calpont.xml and Calpont.xml.singleserver do not have the same parameters. +5820 Inconsistent rounding on percentile_cont windowing function +5861 post-install reported to have run the setenv-hdfs-12 script on a CDH 4 install +5864 Include calpontSupport in the standard edition +5874 Reset of ProcessMonitor on PM2 on a combo system left mysqld as man_offline + + + + +/*********************************************************************** +* +* Copyright (C) 2014 InfiniDB Corp +* All Rights Reserved +* +***********************************************************************/ + +April 14, 2014 +Version 4.0.3 + + +ENHANCEMENTS INCLUDED IN THIS RELEASE +------------------------------------- +Enh # Short Description + + + +ISSUES RESOLVED IN THIS RELEASE +------------------------------- +Bug # Short Description + +4638 Update from 2.2.x to 3.0 is not supported with multiple dbroots +5610 The MySQL front end no longer outputs a descriptive messages when version buffer is full +5748 startsystem failure when user-module is disabled +5778 Distributed import error message for auto increment overflow is not friendly +5793 Remove O/S version checking in glusterconf +5801 Queries with string comparison in where clause occasionally causes a PM to hang +5805 Query with avg windowing function returning the average at the wrong decimal scale +5806 cpimport loads data incorrectly on a multi-server stack when the table has a mix of compressed and non-compressed columns +5807 concat producing an incorrect count when using a view +5808 colxml error reported on Windows system. +5810 update doesn't flush string file with table oid 3000 +5811 selecting from a view which has a cross engine join produces an ERROR 122 (HY000): fatal error executing query in crossengine client lib(17)(17) +5817 addModule / altersystem-enablemodule fails on amazon 4.x +5820 Inconsistent rounding on percentile_cont windowing function +5821 PM join with F & E in-join filter + a UM join will crash ExeMgr +5823 System hung when running concurrent queries with autocommit off +5838 no prompt postConfigure does not work when mysql password is required. +5874 Reset of ProcessMonitor on PM2 on a combo system left mysqld as man_offline +5877 After loading 1 extent worth of data into a table, select count(*) failed. +5882 cleartablelock fails on a multi server system. +5884 query returns incorrect results when using an on clause filter involving a table not directly involved in the outer join +5887 " Incorrect results of Is Null " +5870 select following delete statement is encountering a rid error. +5896 getConfig has no linefeed after returning value +5900 PrimProc crashes if NumBlocksPct has '%' in value +5904 Changing dbroot-to-pm assignment during postConfigure causes double-mounted storage devices +5915 On hadoop system, SYSTABLE's update was not flushed to disk when implementing split dbroots for systables +5916 query using a view on a view causes ERROR 2013 (HY000): Lost connection to MySQL server during query +5917 non-root gluster / hadoop installs fail - storage types not being offered in postConfigure +5932 Queries with limits sometimes set the extent map min / max incorrectly + + + + +/*********************************************************************** +* +* Copyright (C) 2013 Calpont Corp +* All Rights Reserved +* +***********************************************************************/ + +February 10, 2014 +Version 4.0.2 + + +ENHANCEMENTS INCLUDED IN THIS RELEASE +------------------------------------- +Enh # Short Description + +5760 Hadoop with Cloudera parcel-based install +5769 Optimization to not preallocate database column files in HDFS +5732 Add ability to report compressed bytes used rather than file size on disk + + +ISSUES RESOLVED IN THIS RELEASE +------------------------------- +Bug # Short Description + +2437 When expression results in data overflow, no error or warning was returned +4930 no prompt install on AWS had an error when it did not use the volume information. +5363 HAVING statement regression on 4.0 with COUNT DISTINCT +5383 NOT NULL constraint cpimport issues +5604 cpimport jobs hanging on HDFS installs +5617 Invalid Package error reported during the running of calpontSupport - incorrect error message +5636 query gives ERROR 1054 (42S22): Unknown column +5678 ERROR 138 (HY000): 'date_last_update_tk' isn't in tuple. +5682 HDFS updating a row that was inserted sometimes does not update the row +5687 TIMESTAMPADD(SECOND,2147483647, returns incorrect information. +5696 insert statement not providing a warning for truncated data +5697 IDB produces different results for equivalent calculations +5705 hadoop: HdfsFileSystem::listDirectory() not returning all files in directory; bulk rollback not deleting db files +5712 left('unsigned int',6) provides incorrect result +5715 incorrect calculation provided in result set +5716 union sql statement not displaying correct result +5717 create table with invalid Infinidb option does not provide an error or warning +5718 cross engine join results in ERROR 122 (HY000): InetStreamSocket::readToMagic: Remote is closed +5721 amazon upgrade 4.0.0 to 4.0.1 issues +5722 cpimport failing on table to PM17; not handling a boundary case where 2 DBRoots have partial HWM extents +5726 amazon 3.6.3 to 4.0.1 upgrade issue - the ebs storage data not given in postConfigure +5728 update Server cpu-info and disk scheduler in calpontSupport output +5733 databaseSizeReport doesn't report the size of dictionary string files in calpontsys tables +5735 Launching simultaneous databaseSizeReports at virtually the same time can sometimes yield incorrect results +5749 addModule for failed on Amazon system - user_installer password error +5750 dbrm halt/resumes need to be put around the load of dbrm files +5752 ERROR 138 (HY000) at line 2: Sub-query failed: error code 2003 error for query that exceeded TotalUmMemory +5753 When PrimProc restarts, DML statement didn't reset the connections to PrimProc in connector +5757 addModule for UM failed on Amazon system - remote_command error +5759 Must use -p option for hadoop fs -mkdir when creating /usr/local/Calpont +5764 select count(*) from a complex view is returning an incorrect answer. +5765 truncate statement does not show schema in the debug.log +5767 'create table' creates table in front end when spaces are in the table name. +5775 Windows does not log when PrimProc goes down or restarts +5777 LAG function returns invalid answer on a float column + + + + +/*********************************************************************** +* +* Copyright (C) 2013 Calpont Corp +* All Rights Reserved +* +***********************************************************************/ + +December 2, 2013 +Version 4.0.1 + + +ENHANCEMENTS INCLUDED IN THIS RELEASE +------------------------------------- +Enh # Short Description + +5619 Support VPC environment with AMI + + +ISSUES RESOLVED IN THIS RELEASE +------------------------------- +Bug # Short Description + +4996 removeDbroot should be disabled when GlusterFS is configured +5268 Incorrect date_format answer from infindb table +5402 OAM getSystemStatus message in Windows log +5429 LDI updated casual partitioning min/max values for an extent when where is no update to the actual column value. +5454 assignDbrootPmConfig needs to error out when the system is shutdown +5463 calpontSupport is not including the -c option when -a is selected. +5499 'Memory leak of ExeMgr' +5529 _CpNoTf_ is reported in results set +5549 update on two columns with an AND causes mysql reset +5555 HDFS tools installed on non-Hadoop system +5558 Issuing Ctrl-C on a repetitive OAM command will set terminal session to echo off +5566 hdfs error message printed to screen in calpontConsole - run before hdfs is up +5573 hadoop: update a string column is very slow. +5588 Delete statement left table locked. +5596 postConfigure/glusterconf is creating gluster brick directories owned by root user +5614 "hdfsCheck failed" message logged in crit.log when the stack came up normal +5621 can't create large (20+ pm) amazon systems using 4.0 AMI +5626 PrimProc crash running on HDFS +5628 Bug joining against unsigned tinyint data type +5631 After applying the row_number() function the table content is going to be lost. +5638 issue with using a constant in group by column +5642 system hung during distributed import +5646 Left outer join on varchar column and date datetime column to date column not returning all matching rows +5651 Query wrapped in a select * () returns invalid results. +5652 alter table add dictionary column doesn’t set Number of allocated blocks correctly +5667 Gluster Install with debian - 'glusterctl status' returns with NOTINSTALLED +5669 gluster install - dbroot setup in gluster was mismatched to OAM setup per pm +5670 DecomSrv is restarting after upgrade to 4.0 +5672 dbroot gets unmounted during upgrade when a softlink is used and disk type is internal +5681 cpimport sometimes fails during concurrent query / import test on HDFS +5683 HdfsRdwrMemBuffer: unable to write all bytes error in cpimport +5689 rename table leaves table inaccessible in HDFS + +/*********************************************************************** +* +* Copyright (C) 2013 Calpont Corp +* All Rights Reserved +* +***********************************************************************/ + +October 15, 2013 +Version 4.0 + + +ENHANCEMENTS INCLUDED IN THIS RELEASE +------------------------------------- +Enh # Short Description + +3581 Optimize Memory Utilization for wide string columns +4531 Add support for Windowing Functions +4568 Add ability to report database, schema, and table sizes +4901 Improve performance of concat function +4902 Improve performance of insert() and replace() string functions +4919 Improve performance of makedate() and maketime() functions +4920 Improve performance of adddate(), date_add(), subdate(), date_sub() functions. +5087 Enhance InfiniDB to support over 32 PMs. +5208 Change the Status Updates messages to have state show an ASCII value +5237 Remove restriction preventing user from dropping a logical partition (segment file) in the last physical partition for a DBRoot +5243 Add setting in Calpont.xml for enable/disable corefiles +5300 calpontSupport script performance improvement and additional features +5316 Include schema name in SQL statement debug log entries +5410 Add support for InfiniDB on Apache Hadoop +5414 Add Infinidb support for Apache Sqoop +5421 Add support for running InfiniDB under a Linux Control Group + + + +ISSUES RESOLVED IN THIS RELEASE +------------------------------- +Bug # Launchpad Short Description + +2871 Exceeding aggregation limits can block session +4208 'drop table' cannot delete files on NFS +4345 Specific SQL statements exhausts memory in seconds +4552 1025340 Load data infile and cpimport produce different results + 1025247 +4757 Incorrect results with correlated subquery +4774 Port Data Duplication to debian & Ubuntu +5160 Incorrect result on query with "DATE(IF(t1.`end_date` - INTERVAL 30 DAY < t1.`start_date`, t1.`start_date`, t1.`end_date` - INTERVAL 30 DAY))" expression +5222 Update errors out when dealing with out-of-range date and datetime values +5256 OAM ops returning without DDLProc fully up +5269 swap limit exceeded and not cleared by OAM restart of the system +5272 cast function returns incorrect result +5274 alter table add column returned "Constraints are currently not supported in InfiniDB" error +5287 system came up Active while a pm was disabled and dbroot was assigned to it +5299 stopsystem with Force Option is incorrectly resetting dbrm and save_brm too early +5301 startsystem command system status ended up in MAN_OFFLINE instead of ACTIVE +5304 Windows command prompt exit hangs after cpimport on upgraded database from 3.0.x and earlier +5321 Delete from table command fails when pm1 is down on a combo 2pm system +5322 query failed after disabling and enabling partitions +5323 Backup error opening column file for OID-3132 on a multi node cpimport +5331 select calshowpartitions not showing limits incorrectly for char fields in empty table +5332 shutdownSystem command incorrectly reported 'success' +5349 ERR : Backup error for column file error message occurred running cpimport +5356 Default syslog.conf to the asynchronous option +5374 Data mismatch occurred running query via view +5379 LPAD is not functioning correctly when using a Japanese character +5391 ERROR 138 (HY000): IDB-1000: 'c1, c2' and 'c3' are not joined error message on a query +5392 Reset invalid locale alarm when locale has been corrected +5426 calshowprocesslist issue hard-coded to look for host in first 13 bytes +5427 Distributed cpimport not handling connection failure with WriteEngineServer +5429 Load data infile cleared the min/max values for an extent that was not updated +5436 ERROR 122 (HY000): CAL0001: Alter table Failed: AlterTableProcessor::addColumn Failed to set offset in a compressed data file. +5438 query filters issue +5447 cpimport is reporting that -i is an invalid option +5448 Bug in date_add() with InfiniDB table +5455 PrimProc resets during a particular sql statement +5463 calpontSupport is not including the -c option when -a is selected. +5481 Maintain DBBC/NumThreads setting through upgrade +5488 PrimProc hangs when DecomSvr dies +5494 calpontSupport -a option is not capturing the logs from PM1 +5495 DB occasionally hangs querying old data loaded in 3.5.0 or prior release + diff --git a/INSTALL b/INSTALL index 0f12f143b..9825f3e10 100644 --- a/INSTALL +++ b/INSTALL @@ -43,10 +43,10 @@ the entire Calpont directory tree there. After untaring the sofware or installing the RPM's, setup the software to run (this script needs to run with root privileges). Check the Installation Guide for addition details on using postConfigure: -/usr/local/Calpont/bin/postConfigure +/usr/local/MariaDB/Columnstore/bin/postConfigure Setup some aliases: -. /usr/local/Calpont/bin/calpontAlias +. /usr/local/MariaDB/Columnstore/bin/calpontAlias Connect to MySQL: idbmysql @@ -70,7 +70,7 @@ To use bulk load: 200|2002| 2. Save/place this file in a directory. 3. From that same directory, import the rows: - /usr/local/Calpont/bin/cpimport calpont caltest caltest.tbl + /usr/local/MariaDB/Columnstore/bin/cpimport calpont caltest caltest.tbl And check the import: calpontmysql calpont diff --git a/INSTALL~ b/INSTALL~ new file mode 100644 index 000000000..0f12f143b --- /dev/null +++ b/INSTALL~ @@ -0,0 +1,306 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free +Software Foundation, Inc. + +Copyright (C) 2014 InfiniDB, Inc. + +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +InfiniDB, Inc. also gives unlimited permission to copy, distribute and +modify it. + +Basic Installation from source +============================== + +**** InfiniDB source build instructions **** + +Consult the generic installation instructions +that follow for detailed information. The short version is: + +cd $HOME +git clone http://github.com/infinidb/mysql +git clone http://github.com/infinidb/infinidb +-- or -- +tar -zxf +cd mysql +./configure --prefix=$HOME +make +make install +cd ../infinidb +./configure --prefix=$HOME +make +make install + +This will create a directory called Calpont in $HOME which conatins +all the software you need. + +Install the InfiniDB software into /usr/local (for example) by copying +the entire Calpont directory tree there. + +After untaring the sofware or installing the RPM's, setup the software +to run (this script needs to run with root privileges). Check the Installation +Guide for addition details on using postConfigure: +/usr/local/Calpont/bin/postConfigure + +Setup some aliases: +. /usr/local/Calpont/bin/calpontAlias + +Connect to MySQL: +idbmysql + +A suggested test scenario: +create database calpont; +use calpont; +create table caltest (col1 int, col2 int) engine=infinidb; +show create table caltest; +set autocommit=0; +insert into caltest values (1, 2); +insert into caltest values (3, 4); +commit; +select * from caltest; + +To use bulk load: +1. A delimited import file should be created to match the table that + you want to import data to similar to the following. In this + example, the file will be saved as idbtest.tbl: + 100|1001| + 200|2002| +2. Save/place this file in a directory. +3. From that same directory, import the rows: + /usr/local/Calpont/bin/cpimport calpont caltest caltest.tbl + +And check the import: +calpontmysql calpont +select * from caltest; + + +That's it. Enjoy. + + +These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + +You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + +By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + +Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + +Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). Here is a another example: + + /bin/bash ./configure CONFIG_SHELL=/bin/bash + +Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent +configuration-related scripts to be executed by `/bin/bash'. + +`configure' Invocation +====================== + +`configure' recognizes the following options to control how it operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/Makefile.tar b/Makefile.tar index 4e6cff933..a641451b9 100644 Binary files a/Makefile.tar and b/Makefile.tar differ diff --git a/README b/README index 2aa1663a5..66a452622 100644 --- a/README +++ b/README @@ -3,8 +3,8 @@ To build the software from source, consult the file INSTALL. Brief Install Instructions: 1. Install the 3 Calpont InfiniDB RPMs. -2. Install and start the software, run: /usr/local/Calpont/bin/postConfigure -3. Setup some aliases: . /usr/local/Calpont/bin/calpontAlias +2. Install and start the software, run: /usr/local/MariaDB/Columnstore/bin/postConfigure +3. Setup some aliases: . /usr/local/MariaDB/Columnstore/bin/calpontAlias 4. Connect to MySQL: idbmysql 5. Try the test in step 12 below @@ -21,7 +21,7 @@ Detailed Installation Instructions: tar xvf calpont-2.2.0-2.x86_64.rpm.tar.gz 4. Install the 3 RPMs in this order, the Calpont InfiniDB software will be installed in - /usr/local/Calpont. + /usr/local/MariaDB/Columnstore. rpm -ivh infinidb-libs-2.2.0-2.x86_64.rpm rpm -ivh infinidb-platform-2.2.0-2.x86_64.rpm @@ -31,19 +31,19 @@ Detailed Installation Instructions: 5a.To configure and run on a single server system utilizing local disk storage, run install script: - /usr/local/Calpont/bin/postConfigure + /usr/local/MariaDB/Columnstore/bin/postConfigure 5b.To configure and run on a multi-server system and/or to utilize a SAN storage system, follow the instructions in the Calpont InfiniDB Installation Guide. - /usr/local/Calpont/bin/postConfigure + /usr/local/MariaDB/Columnstore/bin/postConfigure 6. Ports utilized by the Calpont InfiniDB Software The Calpont MySQL daemon utilizes port 3306. To use a different port, update the 2 locations in the following file: - /usr/local/Calpont/mysql/my.cnf + /usr/local/MariaDB/Columnstore/mysql/my.cnf port = 3306 port = 3306 @@ -53,7 +53,7 @@ Detailed Installation Instructions: 8600 - 8622, 8700, and 8800 7. Setup some aliases: -. /usr/local/Calpont/bin/calpontAlias +. /usr/local/MariaDB/Columnstore/bin/calpontAlias 8. To manually start and stop the Calpont InfiniDB Software as the root user run: @@ -127,7 +127,7 @@ Detailed Installation Instructions: mysql> -12. Run the following upgrade script to create calponsys schema and upgrade the syscolumn table: /usr/local/Calpont/bin/upgrade-infinidb.sh +12. Run the following upgrade script to create calponsys schema and upgrade the syscolumn table: /usr/local/MariaDB/Columnstore/bin/upgrade-infinidb.sh 13. As an example to get you started, try this: diff --git a/README~ b/README~ new file mode 100644 index 000000000..2aa1663a5 --- /dev/null +++ b/README~ @@ -0,0 +1,145 @@ +To build the software from source, consult the file INSTALL. + +Brief Install Instructions: + +1. Install the 3 Calpont InfiniDB RPMs. +2. Install and start the software, run: /usr/local/Calpont/bin/postConfigure +3. Setup some aliases: . /usr/local/Calpont/bin/calpontAlias +4. Connect to MySQL: idbmysql +5. Try the test in step 12 below + + +Detailed Installation Instructions: + +1. Download the package calpont-2.2.0-2.x86_64.rpm.tar.gz (RHEL5 64-BIT) + to the server where you are installing Calpont. + +2. Obtain root user access. + +3. Unpack the tarball, which will generate 4 RPMs. + + tar xvf calpont-2.2.0-2.x86_64.rpm.tar.gz + +4. Install the 3 RPMs in this order, the Calpont InfiniDB software will be installed in + /usr/local/Calpont. + + rpm -ivh infinidb-libs-2.2.0-2.x86_64.rpm + rpm -ivh infinidb-platform-2.2.0-2.x86_64.rpm + rpm -ivh infinidb-mysql-2.2.0-2.x86_64.rpm + rpm -ivh infinidb-storage-engine-2.2.0-2.x86_64.rpm + +5a.To configure and run on a single server system utilizing local disk storage, + run install script: + + /usr/local/Calpont/bin/postConfigure + +5b.To configure and run on a multi-server system and/or to utilize a SAN storage + system, follow the instructions in the Calpont InfiniDB Installation Guide. + + /usr/local/Calpont/bin/postConfigure + +6. Ports utilized by the Calpont InfiniDB Software + + The Calpont MySQL daemon utilizes port 3306. To use a different port, update + the 2 locations in the following file: + + /usr/local/Calpont/mysql/my.cnf + + port = 3306 + port = 3306 + + You must reserve the following ports to run the Calpont InfiniDB Software: + + 8600 - 8622, 8700, and 8800 + +7. Setup some aliases: +. /usr/local/Calpont/bin/calpontAlias + +8. To manually start and stop the Calpont InfiniDB Software as the root user run: + + cc startSystem + + To stop the Calpont Software, run: + + cc stopSystem + +9. To start/stop the Calpont InfiniDB Software during system boot/shutdown use the + chkconfig command + + /sbin/chkconfig --add infinidb + /sbin/chkconfig infinidb on + +10. After the Calpont InfiniDB Software has been started, use the following command to + connect to the Calpont OAM Console and watch for the System to go to the + ACTIVE status. The follow will repeatedly run the OAM command getsysteminfo + every 5 seconds. + + calpontOAMconsole getsysteminfo -r + + Here is an example display from a Single Server Install: + + System and Module statuses + + Component Status Last Status Change + ------------ ---------------------- ------------------------ + System ACTIVE Mon Apr 6 18:07:14 2009 + + Module dm1 ACTIVE Mon Apr 6 18:07:12 2009 + + Calpont Process statuses + + Process Module Status Last Status Change Process ID + ------------------ ------ ------------ ------------------------ ---------- + ProcessMonitor dm1 ACTIVE Mon Apr 6 18:06:41 2009 12753 + ProcessManager dm1 ACTIVE Mon Apr 6 18:06:46 2009 12954 + SNMPTrapDaemon dm1 ACTIVE Mon Apr 6 18:06:41 2009 12963 + SNMPAgent dm1 ACTIVE Mon Apr 6 18:06:50 2009 13565 + ServerMonitor dm1 ACTIVE Mon Apr 6 18:06:55 2009 13635 + DBRMWorkerNode dm1 ACTIVE Mon Apr 6 18:06:51 2009 13640 + DBRMControllerNode dm1 ACTIVE Mon Apr 6 18:06:52 2009 13645 + ExeMgr dm1 ACTIVE Mon Apr 6 18:07:05 2009 14578 + PrimProc dm1 ACTIVE Mon Apr 6 18:07:03 2009 13842 + DDLProc dm1 ACTIVE Mon Apr 6 18:07:10 2009 14936 + DMLProc dm1 ACTIVE Mon Apr 6 18:07:13 2009 15114 + + Active Alarm Counts: Critical = 0, Major = 0, Minor = 0, Warning = 0, Info = 0 + + Once the System status is ACTIVE, enter the following to exit back to the + UNIX prompt: + + CNTR + + Or to get back Calpont OAM Console Prompt,enter the following: + + CNTR + +11. Use the following command to access the Calpont InfiniDB MySQL console: + + idbmysql + + Example output: + + Welcome to the Mysql monitor. Commands end with ; or \g. + Your Mysql connection id is 1 + Server version: 5.1.26-Calpont-log Source distribution + + Type 'help;' or '\h' for help. Type '\c' to clear the buffer. + + mysql> + +12. Run the following upgrade script to create calponsys schema and upgrade the syscolumn table: /usr/local/Calpont/bin/upgrade-infinidb.sh + +13. As an example to get you started, try this: + + create database calpont; + use calpont; + create table caltest (col1 int, col2 int) engine=infinidb; + show create table caltest; + insert into caltest values (1, 2); + insert into caltest values (3, 4); + commit; + select * from caltest; + +14. Consult the Admin Guide and Syntax Guide for additional information on how + to get started. + diff --git a/build/bootstrap b/build/bootstrap index df6bce7fd..4079c926c 100755 --- a/build/bootstrap +++ b/build/bootstrap @@ -18,7 +18,7 @@ cp build/libstdc++.so.6.0.14 export/lib cp build/files.lst $HOME/MariaDB_InfiniDB/export/mysql/. cp dbcon/mysql/install_calpont_mysql.sh $HOME/MariaDB_InfiniDB/export/mysql/. cp dbcon/mysql/my.cnf $HOME/MariaDB_InfiniDB/export/mysql/. -cp dbcon/mysql/mysql-Calpont $HOME/MariaDB_InfiniDB/export/mysql/. +cp dbcon/mysql/mysql-Columnstore $HOME/MariaDB_InfiniDB/export/mysql/. if [ ! $$ ]; then exit 1 diff --git a/build/bootstrap~ b/build/bootstrap~ new file mode 100755 index 000000000..df6bce7fd --- /dev/null +++ b/build/bootstrap~ @@ -0,0 +1,62 @@ +#!/bin/bash +# +# $Id: bootstrap 1333 2011-01-18 17:25:26Z rdempsey $ +# +# This script is responsible for setting up a fresh development tree +# following a git checkout. It copies static files and shared include +# files to the export tree prior to building the software. + +mkdir -p export/{include,lib,etc,share,bin,sbin,post} +if [ ! $$ ]; then + exit 1 +fi + +cp build/gdb export/bin +cp build/libgcc_s.so.1 export/lib +cp build/libstdc++.so.6.0.14 export/lib + +cp build/files.lst $HOME/MariaDB_InfiniDB/export/mysql/. +cp dbcon/mysql/install_calpont_mysql.sh $HOME/MariaDB_InfiniDB/export/mysql/. +cp dbcon/mysql/my.cnf $HOME/MariaDB_InfiniDB/export/mysql/. +cp dbcon/mysql/mysql-Calpont $HOME/MariaDB_InfiniDB/export/mysql/. + +if [ ! $$ ]; then + exit 1 +fi + +cp -p -r utils/net-snmp export/include + +if [ `uname -m` == "x86_64" ]; then + cp -p utils/net-snmp-built-libs/lib64/* export/lib + cp -p utils/net-snmp-built-libs/bin64/* export/sbin +else + egrep -qs Constantine /etc/redhat-release + if [ $? -eq 0 ]; then + cp -p utils/net-snmp-built-libs/fc12lib/libnetsnmp*.so.* export/lib + cp -p utils/net-snmp-built-libs/fc12bin/* export/sbin + else + cp -p utils/net-snmp-built-libs/fc6lib/libnetsnmp*.so.* export/lib + cp -p utils/net-snmp-built-libs/fc6bin/* export/sbin + fi +fi + +pushd export/lib >/dev/null +for lib in libnetsnmpagent.so libnetsnmphelpers.so libnetsnmpmibs.so libnetsnmp.so libnetsnmptrapd.so; do + rm -f ${lib} ${lib}.5 + ln -s ${lib}.5.2.1 ${lib}.5 + ln -s ${lib}.5.2.1 ${lib} +done +popd >/dev/null + +./build/genVersion.sh + +for x in \ +$(find . -name '[mM]akefile' \ + | xargs grep -l ^bootstrap: \ + | cut -f 2 -d / \ + | sort -u) +do + echo bootstrapping $x + make BOOTSTRAP=1 -C $x bootstrap +done + diff --git a/build/build.kdevelop b/build/build.kdevelop index a4facc59e..75f369f85 100644 --- a/build/build.kdevelop +++ b/build/build.kdevelop @@ -1,25 +1,25 @@ - + - - - dhill@srvhill04.calpont.com - $VERSION$ - KDevCustomProject - C - - - - - - build - - - - + + dhill@srvhill04.calpont.com + $VERSION$ + KDevCustomProject + C + - - + + + build + executable + + + + + + + + ada ada_bugs_gcc @@ -66,7 +66,7 @@ KDE Libraries (Doxygen) - + @@ -74,4 +74,29 @@ + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + + + + + false + false + + + *.o,*.lo,CVS + false + + diff --git a/build/build.kdevelop.filelist b/build/build.kdevelop.filelist new file mode 100644 index 000000000..240dbec96 --- /dev/null +++ b/build/build.kdevelop.filelist @@ -0,0 +1 @@ +# KDevelop Custom Project File List diff --git a/build/build.kdevelop.pcs b/build/build.kdevelop.pcs new file mode 100644 index 000000000..66ff7ae7c Binary files /dev/null and b/build/build.kdevelop.pcs differ diff --git a/build/build.kdevses b/build/build.kdevses new file mode 100644 index 000000000..68701928f --- /dev/null +++ b/build/build.kdevses @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/columnstore.spec.in b/build/columnstore.spec.in index b5b09cb8a..a0d6c6ed5 100644 --- a/build/columnstore.spec.in +++ b/build/columnstore.spec.in @@ -43,6 +43,7 @@ InfiniDB Enterprise binary files %package storage-engine Summary: MariaDB-Columnstore software MariaDB connector Group: Applications +Obsoletes: columnstore-mysql Requires: columnstore-libs %description storage-engine @@ -341,7 +342,7 @@ rm -rf $RPM_BUILD_ROOT $RPM_BUILD_DIR/%{name}-%{version}-%{release} /usr/local/MariaDB/Columnstore/lib/libcalmysql.so.1.0.0 /usr/local/MariaDB/Columnstore/lib/libudf_mysql.so.1.0.0 -/usr/local/MariaDB/Columnstore/mysql/mysql-Calpont +/usr/local/MariaDB/Columnstore/mysql/mysql-Columnstore /usr/local/MariaDB/Columnstore/mysql/install_calpont_mysql.sh /usr/local/MariaDB/Columnstore/mysql/syscatalog_mysql.sql /usr/local/MariaDB/Columnstore/mysql/dumpcat_mysql.sql diff --git a/build/columnstore.spec.in~ b/build/columnstore.spec.in~ index ae423ea09..e2776558e 100644 --- a/build/columnstore.spec.in~ +++ b/build/columnstore.spec.in~ @@ -1,8 +1,8 @@ # # $Id$ # -Summary: InfiniDB-MariaDB software -Name: infinidb +Summary: MariaDB-Columnstore software +Name: columnstore @@VERSION@@ @@RELEASE@@ Vendor: MariaDB, Inc. @@ -13,44 +13,41 @@ License: Copyright (c) 2016 MariaDB, Inc., all rights reserved; redistributable BuildRoot: %{_tmppath}/%{name}-%{release}-buildroot %description -InfiniDB-MariaDB software meta-package +MariaDB-Columnstore software meta-package %package platform -Summary: InfiniDB-MariaDB software binaries +Summary: MariaDB-Columnstore software binaries Group: Applications -Obsoletes: calpont -Requires: expect, infinidb-libs +Requires: expect, columnstore-libs %description platform -InfiniDB-MariaDB binary files +MariaDB-Columnstore binary files @@BUILDINFO@@ %package libs -Summary: InfiniDB-MariaDB software libraries +Summary: MariaDB-Columnstore software libraries Group: Applications -Obsoletes: calpont %description libs -InfiniDB-MariaDB libraries +MariaDB-Columnstore libraries %package enterprise Summary: InfiniDB Enterprise software binaries Group: Applications -Obsoletes: calpont -Requires: infinidb-libs, infinidb-platform -License: Proprietary; Copyright (c) 2014 InfiniDB, Inc., all rights reserved +Requires: columnstore-libs, columnstore-platform +License: Proprietary; Copyright (c) 2016 MariaDB, Inc., all rights reserved %description enterprise InfiniDB Enterprise binary files %package storage-engine -Summary: InfiniDB-MariaDB software MariaDB connector +Summary: MariaDB-Columnstore software MariaDB connector Group: Applications -Obsoletes: calpont-mysql -Requires: infinidb-libs +Obsoletes: columnstore-mysql +Requires: columnstore-libs %description storage-engine -InfiniDB MariaDB connector binary files +MariaDB Columnstore connector binary files %prep %define _use_internal_dependency_generator 0 @@ -85,15 +82,15 @@ rm -rf $RPM_BUILD_ROOT $RPM_BUILD_DIR/%{name}-%{version}-%{release} /usr/local/MariaDB/Columnstore/bin/pre-uninstall /usr/local/MariaDB/Columnstore/bin/PrimProc /usr/local/MariaDB/Columnstore/bin/DecomSvr -/usr/local/MariaDB/Columnstore/bin/upgrade-infinidb.sh +/usr/local/MariaDB/Columnstore/bin/upgrade-columnstore.sh /usr/local/MariaDB/Columnstore/bin/run.sh -/usr/local/MariaDB/Columnstore/bin/infinidb -/usr/local/MariaDB/Columnstore/bin/calpontSyslog -/usr/local/MariaDB/Columnstore/bin/calpontSyslog7 -/usr/local/MariaDB/Columnstore/bin/calpontSyslog-ng +/usr/local/MariaDB/Columnstore/bin/columnstore +/usr/local/MariaDB/Columnstore/bin/columnstoreSyslog +/usr/local/MariaDB/Columnstore/bin/columnstoreSyslog7 +/usr/local/MariaDB/Columnstore/bin/columnstoreSyslog-ng /usr/local/MariaDB/Columnstore/bin/syslogSetup.sh /usr/local/MariaDB/Columnstore/bin/cplogger -/usr/local/MariaDB/Columnstore/bin/infinidb.def +/usr/local/MariaDB/Columnstore/bin/columnstore.def /usr/local/MariaDB/Columnstore/bin/dbbuilder /usr/local/MariaDB/Columnstore/bin/cpimport.bin /usr/local/MariaDB/Columnstore/bin/load_brm @@ -110,18 +107,14 @@ rm -rf $RPM_BUILD_ROOT $RPM_BUILD_DIR/%{name}-%{version}-%{release} /usr/local/MariaDB/Columnstore/bin/trapHandler /usr/local/MariaDB/Columnstore/bin/remote_command.sh /usr/local/MariaDB/Columnstore/bin/postConfigure -/usr/local/MariaDB/Columnstore/bin/calpontLogRotate +/usr/local/MariaDB/Columnstore/bin/columnstoreLogRotate /usr/local/MariaDB/Columnstore/bin/transactionLog -/usr/local/MariaDB/Columnstore/bin/calpontDBWrite +/usr/local/MariaDB/Columnstore/bin/columnstoreDBWrite /usr/local/MariaDB/Columnstore/bin/transactionLogArchiver.sh /usr/local/MariaDB/Columnstore/bin/system_installer.sh /usr/local/MariaDB/Columnstore/bin/installer /usr/local/MariaDB/Columnstore/bin/module_installer.sh /usr/local/MariaDB/Columnstore/bin/patchInstaller -/usr/local/MariaDB/Columnstore/bin/patch_installer.sh -/usr/local/MariaDB/Columnstore/bin/xm_installer.sh -/usr/local/MariaDB/Columnstore/bin/calpontUninstall.sh -/usr/local/MariaDB/Columnstore/bin/director_installer.sh /usr/local/MariaDB/Columnstore/bin/user_installer.sh /usr/local/MariaDB/Columnstore/bin/performance_installer.sh /usr/local/MariaDB/Columnstore/bin/startupTests.sh @@ -130,10 +123,10 @@ rm -rf $RPM_BUILD_ROOT $RPM_BUILD_DIR/%{name}-%{version}-%{release} /usr/local/MariaDB/Columnstore/bin/remote_scp_put.sh /usr/local/MariaDB/Columnstore/bin/remotessh.exp /usr/local/MariaDB/Columnstore/bin/ServerMonitor -/usr/local/MariaDB/Columnstore/bin/master-rep-infinidb.sh -/usr/local/MariaDB/Columnstore/bin/slave-rep-infinidb.sh +/usr/local/MariaDB/Columnstore/bin/master-rep-columnstore.sh +/usr/local/MariaDB/Columnstore/bin/slave-rep-columnstore.sh /usr/local/MariaDB/Columnstore/bin/rsync.sh -/usr/local/MariaDB/Columnstore/bin/calpontSupport +/usr/local/MariaDB/Columnstore/bin/columnstoreSupport /usr/local/MariaDB/Columnstore/bin/hardwareReport.sh /usr/local/MariaDB/Columnstore/bin/softwareReport.sh /usr/local/MariaDB/Columnstore/bin/configReport.sh @@ -144,7 +137,7 @@ rm -rf $RPM_BUILD_ROOT $RPM_BUILD_DIR/%{name}-%{version}-%{release} /usr/local/MariaDB/Columnstore/bin/alarmReport.sh /usr/local/MariaDB/Columnstore/bin/amazonInstaller /usr/local/MariaDB/Columnstore/bin/remote_command_verify.sh -/usr/local/MariaDB/Columnstore/bin/disable-rep-infinidb.sh +/usr/local/MariaDB/Columnstore/bin/disable-rep-columnstore.sh # @@ -175,7 +168,7 @@ rm -rf $RPM_BUILD_ROOT $RPM_BUILD_DIR/%{name}-%{version}-%{release} /usr/local/MariaDB/Columnstore/bin/hdfsCheck /usr/local/MariaDB/Columnstore/bin/configxml.sh /usr/local/MariaDB/Columnstore/bin/remote_scp_get.sh -/usr/local/MariaDB/Columnstore/bin/calpontAlias +/usr/local/MariaDB/Columnstore/bin/columnstoreAlias /usr/local/MariaDB/Columnstore/bin/autoConfigure /usr/local/MariaDB/Columnstore/bin/ddlcleanup /usr/local/MariaDB/Columnstore/bin/idbmeminfo @@ -186,7 +179,7 @@ rm -rf $RPM_BUILD_ROOT $RPM_BUILD_DIR/%{name}-%{version}-%{release} /usr/local/MariaDB/Columnstore/bin/myCnf-exclude-args.text /usr/local/MariaDB/Columnstore/bin/mycnfUpgrade /usr/local/MariaDB/Columnstore/bin/getMySQLpw -/usr/local/MariaDB/Columnstore/bin/infinidb.conf +/usr/local/MariaDB/Columnstore/bin/columnstore.conf /usr/local/MariaDB/Columnstore/sbin/snmpd /usr/local/MariaDB/Columnstore/sbin/snmptrapd diff --git a/config.log b/config.log index fb9a18023..ea81f8654 100644 --- a/config.log +++ b/config.log @@ -27,9 +27,9 @@ hostinfo = unknown /usr/bin/oslevel = unknown /bin/universe = unknown -PATH: /usr/local/Calpont/bin +PATH: /usr/local/MariaDB/Columnstore/bin PATH: /home/calpont/bin -PATH: /usr/local/Calpont/bin +PATH: /usr/local/MariaDB/Columnstore/bin PATH: /home/calpont/bin PATH: /usr/lib64/qt-3.3/bin PATH: /usr/local/bin diff --git a/config.log~ b/config.log~ new file mode 100644 index 000000000..fb9a18023 --- /dev/null +++ b/config.log~ @@ -0,0 +1,5068 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by infinidb configure 4.6.1, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ ./configure + +## --------- ## +## Platform. ## +## --------- ## + +hostname = srvhall03 +uname -m = x86_64 +uname -r = 2.6.32-431.29.2.el6.x86_64 +uname -s = Linux +uname -v = #1 SMP Tue Sep 9 21:36:05 UTC 2014 + +/usr/bin/uname -p = unknown +/bin/uname -X = unknown + +/bin/arch = x86_64 +/usr/bin/arch -k = unknown +/usr/convex/getsysinfo = unknown +hostinfo = unknown +/bin/machine = unknown +/usr/bin/oslevel = unknown +/bin/universe = unknown + +PATH: /usr/local/Calpont/bin +PATH: /home/calpont/bin +PATH: /usr/local/Calpont/bin +PATH: /home/calpont/bin +PATH: /usr/lib64/qt-3.3/bin +PATH: /usr/local/bin +PATH: /usr/bin +PATH: /bin +PATH: /usr/local/sbin +PATH: /usr/sbin +PATH: /sbin +PATH: /home/calpont/bin + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:1567: checking for a BSD-compatible install +configure:1623: result: /usr/bin/install -p +configure:1634: checking whether build environment is sane +configure:1677: result: yes +configure:1742: checking for gawk +configure:1758: found /usr/bin/gawk +configure:1768: result: gawk +configure:1778: checking whether make sets $(MAKE) +configure:1798: result: yes +configure:2025: checking for gcc +configure:2041: found /usr/bin/gcc +configure:2051: result: gcc +configure:2295: checking for C compiler version +configure:2298: gcc --version &5 +gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11) +Copyright (C) 2010 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:2301: $? = 0 +configure:2303: gcc -v &5 +Using built-in specs. +Target: x86_64-redhat-linux +Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux +Thread model: posix +gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) +configure:2306: $? = 0 +configure:2308: gcc -V &5 +gcc: '-V' option must have argument +configure:2311: $? = 1 +configure:2334: checking for C compiler default output file name +configure:2337: gcc conftest.c >&5 +configure:2340: $? = 0 +configure:2386: result: a.out +configure:2391: checking whether the C compiler works +configure:2397: ./a.out +configure:2400: $? = 0 +configure:2417: result: yes +configure:2424: checking whether we are cross compiling +configure:2426: result: no +configure:2429: checking for suffix of executables +configure:2431: gcc -o conftest conftest.c >&5 +configure:2434: $? = 0 +configure:2459: result: +configure:2465: checking for suffix of object files +configure:2486: gcc -c conftest.c >&5 +configure:2489: $? = 0 +configure:2511: result: o +configure:2515: checking whether we are using the GNU C compiler +configure:2539: gcc -c conftest.c >&5 +configure:2545: $? = 0 +configure:2549: test -z + || test ! -s conftest.err +configure:2552: $? = 0 +configure:2555: test -s conftest.o +configure:2558: $? = 0 +configure:2571: result: yes +configure:2577: checking whether gcc accepts -g +configure:2598: gcc -c -g conftest.c >&5 +configure:2604: $? = 0 +configure:2608: test -z + || test ! -s conftest.err +configure:2611: $? = 0 +configure:2614: test -s conftest.o +configure:2617: $? = 0 +configure:2628: result: yes +configure:2645: checking for gcc option to accept ANSI C +configure:2715: gcc -c conftest.c >&5 +configure:2721: $? = 0 +configure:2725: test -z + || test ! -s conftest.err +configure:2728: $? = 0 +configure:2731: test -s conftest.o +configure:2734: $? = 0 +configure:2752: result: none needed +configure:2770: gcc -c conftest.c >&5 +conftest.c:2: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'me' +configure:2776: $? = 1 +configure: failed program was: +| #ifndef __cplusplus +| choke me +| #endif +configure:2920: checking for style of include used by make +configure:2948: result: GNU +configure:2976: checking dependency style of gcc +configure:3066: result: gcc3 +configure:3140: checking for g++ +configure:3156: found /usr/bin/g++ +configure:3166: result: g++ +configure:3182: checking for C++ compiler version +configure:3185: g++ --version &5 +g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11) +Copyright (C) 2010 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:3188: $? = 0 +configure:3190: g++ -v &5 +Using built-in specs. +Target: x86_64-redhat-linux +Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux +Thread model: posix +gcc version 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) +configure:3193: $? = 0 +configure:3195: g++ -V &5 +g++: '-V' option must have argument +configure:3198: $? = 1 +configure:3201: checking whether we are using the GNU C++ compiler +configure:3225: g++ -c conftest.cc >&5 +configure:3231: $? = 0 +configure:3235: test -z + || test ! -s conftest.err +configure:3238: $? = 0 +configure:3241: test -s conftest.o +configure:3244: $? = 0 +configure:3257: result: yes +configure:3263: checking whether g++ accepts -g +configure:3284: g++ -c -g conftest.cc >&5 +configure:3290: $? = 0 +configure:3294: test -z + || test ! -s conftest.err +configure:3297: $? = 0 +configure:3300: test -s conftest.o +configure:3303: $? = 0 +configure:3314: result: yes +configure:3356: g++ -c conftest.cc >&5 +configure:3362: $? = 0 +configure:3366: test -z + || test ! -s conftest.err +configure:3369: $? = 0 +configure:3372: test -s conftest.o +configure:3375: $? = 0 +configure:3401: g++ -c conftest.cc >&5 +conftest.cc: In function 'int main()': +conftest.cc:15: error: 'exit' was not declared in this scope +configure:3407: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| /* end confdefs.h. */ +| +| int +| main () +| { +| exit (42); +| ; +| return 0; +| } +configure:3356: g++ -c conftest.cc >&5 +conftest.cc:11: error: 'void std::exit(int)' should have been declared inside 'std' +configure:3362: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| /* end confdefs.h. */ +| extern "C" void std::exit (int) throw (); using std::exit; +| #include +| int +| main () +| { +| exit (42); +| ; +| return 0; +| } +configure:3356: g++ -c conftest.cc >&5 +conftest.cc:11: error: 'void std::exit(int)' should have been declared inside 'std' +In file included from conftest.cc:12: +/usr/include/stdlib.h:544: error: declaration of 'void std::exit(int) throw ()' throws different exceptions +conftest.cc:11: error: from previous declaration 'void std::exit(int)' +configure:3362: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| /* end confdefs.h. */ +| extern "C" void std::exit (int); using std::exit; +| #include +| int +| main () +| { +| exit (42); +| ; +| return 0; +| } +configure:3356: g++ -c conftest.cc >&5 +configure:3362: $? = 0 +configure:3366: test -z + || test ! -s conftest.err +configure:3369: $? = 0 +configure:3372: test -s conftest.o +configure:3375: $? = 0 +configure:3401: g++ -c conftest.cc >&5 +configure:3407: $? = 0 +configure:3411: test -z + || test ! -s conftest.err +configure:3414: $? = 0 +configure:3417: test -s conftest.o +configure:3420: $? = 0 +configure:3445: checking dependency style of g++ +configure:3535: result: gcc3 +configure:3635: checking build system type +configure:3653: result: x86_64-unknown-linux-gnu +configure:3661: checking host system type +configure:3675: result: x86_64-unknown-linux-gnu +configure:3683: checking for a sed that does not truncate output +configure:3739: result: /bin/sed +configure:3742: checking for egrep +configure:3752: result: grep -E +configure:3768: checking for ld used by gcc +configure:3835: result: /usr/bin/ld +configure:3844: checking if the linker (/usr/bin/ld) is GNU ld +configure:3859: result: yes +configure:3864: checking for /usr/bin/ld option to reload object files +configure:3871: result: -r +configure:3889: checking for BSD-compatible nm +configure:3938: result: /usr/bin/nm -B +configure:3942: checking whether ln -s works +configure:3946: result: yes +configure:3953: checking how to recognise dependent libraries +configure:4129: result: pass_all +configure:4217: g++ -c conftest.cc >&5 +configure:4220: $? = 0 +configure:4366: checking how to run the C preprocessor +configure:4401: gcc -E conftest.c +configure:4407: $? = 0 +configure:4439: gcc -E conftest.c +conftest.c:14:28: error: ac_nonexistent.h: No such file or directory +configure:4445: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| /* end confdefs.h. */ +| #include +configure:4484: result: gcc -E +configure:4508: gcc -E conftest.c +configure:4514: $? = 0 +configure:4546: gcc -E conftest.c +conftest.c:14:28: error: ac_nonexistent.h: No such file or directory +configure:4552: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| /* end confdefs.h. */ +| #include +configure:4596: checking for ANSI C header files +configure:4621: gcc -c conftest.c >&5 +configure:4627: $? = 0 +configure:4631: test -z + || test ! -s conftest.err +configure:4634: $? = 0 +configure:4637: test -s conftest.o +configure:4640: $? = 0 +configure:4729: gcc -o conftest conftest.c >&5 +conftest.c: In function 'main': +conftest.c:31: warning: incompatible implicit declaration of built-in function 'exit' +configure:4732: $? = 0 +configure:4734: ./conftest +configure:4737: $? = 0 +configure:4752: result: yes +configure:4776: checking for sys/types.h +configure:4792: gcc -c conftest.c >&5 +configure:4798: $? = 0 +configure:4802: test -z + || test ! -s conftest.err +configure:4805: $? = 0 +configure:4808: test -s conftest.o +configure:4811: $? = 0 +configure:4822: result: yes +configure:4776: checking for sys/stat.h +configure:4792: gcc -c conftest.c >&5 +configure:4798: $? = 0 +configure:4802: test -z + || test ! -s conftest.err +configure:4805: $? = 0 +configure:4808: test -s conftest.o +configure:4811: $? = 0 +configure:4822: result: yes +configure:4776: checking for stdlib.h +configure:4792: gcc -c conftest.c >&5 +configure:4798: $? = 0 +configure:4802: test -z + || test ! -s conftest.err +configure:4805: $? = 0 +configure:4808: test -s conftest.o +configure:4811: $? = 0 +configure:4822: result: yes +configure:4776: checking for string.h +configure:4792: gcc -c conftest.c >&5 +configure:4798: $? = 0 +configure:4802: test -z + || test ! -s conftest.err +configure:4805: $? = 0 +configure:4808: test -s conftest.o +configure:4811: $? = 0 +configure:4822: result: yes +configure:4776: checking for memory.h +configure:4792: gcc -c conftest.c >&5 +configure:4798: $? = 0 +configure:4802: test -z + || test ! -s conftest.err +configure:4805: $? = 0 +configure:4808: test -s conftest.o +configure:4811: $? = 0 +configure:4822: result: yes +configure:4776: checking for strings.h +configure:4792: gcc -c conftest.c >&5 +configure:4798: $? = 0 +configure:4802: test -z + || test ! -s conftest.err +configure:4805: $? = 0 +configure:4808: test -s conftest.o +configure:4811: $? = 0 +configure:4822: result: yes +configure:4776: checking for inttypes.h +configure:4792: gcc -c conftest.c >&5 +configure:4798: $? = 0 +configure:4802: test -z + || test ! -s conftest.err +configure:4805: $? = 0 +configure:4808: test -s conftest.o +configure:4811: $? = 0 +configure:4822: result: yes +configure:4776: checking for stdint.h +configure:4792: gcc -c conftest.c >&5 +configure:4798: $? = 0 +configure:4802: test -z + || test ! -s conftest.err +configure:4805: $? = 0 +configure:4808: test -s conftest.o +configure:4811: $? = 0 +configure:4822: result: yes +configure:4776: checking for unistd.h +configure:4792: gcc -c conftest.c >&5 +configure:4798: $? = 0 +configure:4802: test -z + || test ! -s conftest.err +configure:4805: $? = 0 +configure:4808: test -s conftest.o +configure:4811: $? = 0 +configure:4822: result: yes +configure:4848: checking dlfcn.h usability +configure:4860: gcc -c conftest.c >&5 +configure:4866: $? = 0 +configure:4870: test -z + || test ! -s conftest.err +configure:4873: $? = 0 +configure:4876: test -s conftest.o +configure:4879: $? = 0 +configure:4889: result: yes +configure:4893: checking dlfcn.h presence +configure:4903: gcc -E conftest.c +configure:4909: $? = 0 +configure:4929: result: yes +configure:4964: checking for dlfcn.h +configure:4971: result: yes +configure:4994: checking how to run the C++ preprocessor +configure:5025: g++ -E conftest.cc +configure:5031: $? = 0 +configure:5063: g++ -E conftest.cc +conftest.cc:25:28: error: ac_nonexistent.h: No such file or directory +configure:5069: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| #include +configure:5108: result: g++ -E +configure:5132: g++ -E conftest.cc +configure:5138: $? = 0 +configure:5170: g++ -E conftest.cc +conftest.cc:25:28: error: ac_nonexistent.h: No such file or directory +configure:5176: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| #include +configure:5273: checking for g77 +configure:5302: result: no +configure:5273: checking for f77 +configure:5302: result: no +configure:5273: checking for xlf +configure:5302: result: no +configure:5273: checking for frt +configure:5302: result: no +configure:5273: checking for pgf77 +configure:5302: result: no +configure:5273: checking for fort77 +configure:5302: result: no +configure:5273: checking for fl32 +configure:5302: result: no +configure:5273: checking for af77 +configure:5302: result: no +configure:5273: checking for f90 +configure:5302: result: no +configure:5273: checking for xlf90 +configure:5302: result: no +configure:5273: checking for pgf90 +configure:5302: result: no +configure:5273: checking for epcf90 +configure:5302: result: no +configure:5273: checking for f95 +configure:5302: result: no +configure:5273: checking for fort +configure:5302: result: no +configure:5273: checking for xlf95 +configure:5302: result: no +configure:5273: checking for ifc +configure:5302: result: no +configure:5273: checking for efc +configure:5302: result: no +configure:5273: checking for pgf95 +configure:5302: result: no +configure:5273: checking for lf95 +configure:5302: result: no +configure:5273: checking for gfortran +configure:5302: result: no +configure:5314: checking for Fortran 77 compiler version +configure:5317: --version &5 +./configure: line 5318: --version: command not found +configure:5320: $? = 127 +configure:5322: -v &5 +./configure: line 5323: -v: command not found +configure:5325: $? = 127 +configure:5327: -V &5 +./configure: line 5328: -V: command not found +configure:5330: $? = 127 +configure:5338: checking whether we are using the GNU Fortran 77 compiler +configure:5352: -c conftest.F >&5 +./configure: line 5353: -c: command not found +configure:5358: $? = 127 +configure: failed program was: +| program main +| #ifndef __GNUC__ +| choke me +| #endif +| +| end +configure:5384: result: no +configure:5390: checking whether accepts -g +configure:5402: -c -g conftest.f >&5 +./configure: line 5403: -c: command not found +configure:5408: $? = 127 +configure: failed program was: +| program main +| +| end +configure:5433: result: no +configure:5463: checking the maximum length of command line arguments +configure:5572: result: 32768 +configure:5583: checking command to parse /usr/bin/nm -B output from gcc object +configure:5688: g++ -c conftest.cc >&5 +configure:5691: $? = 0 +configure:5695: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm +configure:5698: $? = 0 +configure:5750: g++ -o conftest conftest.cc conftstm.o >&5 +configure:5753: $? = 0 +configure:5791: result: ok +configure:5795: checking for objdir +configure:5810: result: .libs +configure:5900: checking for ar +configure:5916: found /usr/bin/ar +configure:5927: result: ar +configure:5980: checking for ranlib +configure:5996: found /usr/bin/ranlib +configure:6007: result: ranlib +configure:6060: checking for strip +configure:6076: found /usr/bin/strip +configure:6087: result: strip +configure:6359: checking if gcc supports -fno-rtti -fno-exceptions +configure:6377: gcc -c -fno-rtti -fno-exceptions conftest.c >&5 +cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C +configure:6381: $? = 0 +configure:6394: result: no +configure:6409: checking for gcc option to produce PIC +configure:6619: result: -fPIC +configure:6627: checking if gcc PIC flag -fPIC works +configure:6645: gcc -c -fPIC -DPIC conftest.c >&5 +configure:6649: $? = 0 +configure:6662: result: yes +configure:6690: checking if gcc static flag -static works +configure:6718: result: no +configure:6728: checking if gcc supports -c -o file.o +configure:6749: gcc -c -o out/conftest2.o conftest.c >&5 +configure:6753: $? = 0 +configure:6775: result: yes +configure:6801: checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries +configure:7759: result: yes +configure:7780: checking whether -lc should be explicitly linked in +configure:7785: gcc -c conftest.c >&5 +configure:7788: $? = 0 +configure:7803: gcc -shared conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| grep -lc \>/dev/null 2\>\&1 +configure:7806: $? = 0 +configure:7818: result: no +configure:7826: checking dynamic linker characteristics +configure:8219: gcc -c conftest.c >&5 +configure:8222: $? = 0 +configure:8435: result: GNU/Linux ld.so +configure:8444: checking how to hardcode library paths into programs +configure:8469: result: immediate +configure:8483: checking whether stripping libraries is possible +configure:8488: result: yes +configure:9322: checking if libtool supports shared libraries +configure:9324: result: yes +configure:9327: checking whether to build shared libraries +configure:9348: result: yes +configure:9351: checking whether to build static libraries +configure:9355: result: no +configure:9447: creating libtool +configure:10038: checking for ld used by g++ +configure:10105: result: /usr/bin/ld -m elf_x86_64 +configure:10114: checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld +configure:10129: result: yes +configure:10180: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries +configure:11118: result: yes +configure:11136: g++ -c conftest.cpp >&5 +configure:11139: $? = 0 +configure:11258: checking for g++ option to produce PIC +configure:11532: result: -fPIC +configure:11540: checking if g++ PIC flag -fPIC works +configure:11558: g++ -c -fPIC -DPIC conftest.cpp >&5 +configure:11562: $? = 0 +configure:11575: result: yes +configure:11603: checking if g++ static flag -static works +configure:11631: result: no +configure:11641: checking if g++ supports -c -o file.o +configure:11662: g++ -c -o out/conftest2.o conftest.cpp >&5 +configure:11666: $? = 0 +configure:11688: result: yes +configure:11714: checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries +configure:11739: result: yes +configure:11806: checking dynamic linker characteristics +configure:12199: g++ -c conftest.cpp >&5 +configure:12202: $? = 0 +configure:12415: result: GNU/Linux ld.so +configure:12424: checking how to hardcode library paths into programs +configure:12449: result: immediate +configure:18666: checking for a BSD-compatible install +configure:18722: result: /usr/bin/install -p +configure:18737: checking for flex +configure:18753: found /usr/bin/flex +configure:18763: result: flex +configure:18776: checking for yywrap in -lfl +configure:18806: g++ -o conftest conftest.cc -lfl >&5 +configure:18812: $? = 0 +configure:18816: test -z + || test ! -s conftest.err +configure:18819: $? = 0 +configure:18822: test -s conftest +configure:18825: $? = 0 +configure:18838: result: yes +configure:18916: checking lex output file root +configure:18927: flex conftest.l +configure:18930: $? = 0 +configure:18942: result: lex.yy +configure:18947: checking whether yytext is a pointer +configure:18963: g++ -o conftest conftest.cc -lfl >&5 +/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/libfl.a(libmain.o): In function `main': +(.text+0xb): undefined reference to `yylex' +collect2: ld returned 1 exit status +configure:18969: $? = 1 +configure: failed program was: +| +| #line 3 "lex.yy.c" +| +| #define YY_INT_ALIGNED short int +| +| /* A lexical scanner generated by flex */ +| +| #define FLEX_SCANNER +| #define YY_FLEX_MAJOR_VERSION 2 +| #define YY_FLEX_MINOR_VERSION 5 +| #define YY_FLEX_SUBMINOR_VERSION 35 +| #if YY_FLEX_SUBMINOR_VERSION > 0 +| #define FLEX_BETA +| #endif +| +| /* First, we deal with platform-specific or compiler-specific issues. */ +| +| /* begin standard C headers. */ +| #include +| #include +| #include +| #include +| +| /* end standard C headers. */ +| +| /* flex integer type definitions */ +| +| #ifndef FLEXINT_H +| #define FLEXINT_H +| +| /* C99 systems have . Non-C99 systems may or may not. */ +| +| #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +| +| /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, +| * if you want the limit (max/min) macros for int types. +| */ +| #ifndef __STDC_LIMIT_MACROS +| #define __STDC_LIMIT_MACROS 1 +| #endif +| +| #include +| typedef int8_t flex_int8_t; +| typedef uint8_t flex_uint8_t; +| typedef int16_t flex_int16_t; +| typedef uint16_t flex_uint16_t; +| typedef int32_t flex_int32_t; +| typedef uint32_t flex_uint32_t; +| #else +| typedef signed char flex_int8_t; +| typedef short int flex_int16_t; +| typedef int flex_int32_t; +| typedef unsigned char flex_uint8_t; +| typedef unsigned short int flex_uint16_t; +| typedef unsigned int flex_uint32_t; +| #endif /* ! C99 */ +| +| /* Limits of integral types. */ +| #ifndef INT8_MIN +| #define INT8_MIN (-128) +| #endif +| #ifndef INT16_MIN +| #define INT16_MIN (-32767-1) +| #endif +| #ifndef INT32_MIN +| #define INT32_MIN (-2147483647-1) +| #endif +| #ifndef INT8_MAX +| #define INT8_MAX (127) +| #endif +| #ifndef INT16_MAX +| #define INT16_MAX (32767) +| #endif +| #ifndef INT32_MAX +| #define INT32_MAX (2147483647) +| #endif +| #ifndef UINT8_MAX +| #define UINT8_MAX (255U) +| #endif +| #ifndef UINT16_MAX +| #define UINT16_MAX (65535U) +| #endif +| #ifndef UINT32_MAX +| #define UINT32_MAX (4294967295U) +| #endif +| +| #endif /* ! FLEXINT_H */ +| +| #ifdef __cplusplus +| +| /* The "const" storage-class-modifier is valid. */ +| #define YY_USE_CONST +| +| #else /* ! __cplusplus */ +| +| /* C99 requires __STDC__ to be defined as 1. */ +| #if defined (__STDC__) +| +| #define YY_USE_CONST +| +| #endif /* defined (__STDC__) */ +| #endif /* ! __cplusplus */ +| +| #ifdef YY_USE_CONST +| #define yyconst const +| #else +| #define yyconst +| #endif +| +| /* Returned upon end-of-file. */ +| #define YY_NULL 0 +| +| /* Promotes a possibly negative, possibly signed char to an unsigned +| * integer for use as an array index. If the signed char is negative, +| * we want to instead treat it as an 8-bit unsigned char, hence the +| * double cast. +| */ +| #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) +| +| /* Enter a start condition. This macro really ought to take a parameter, +| * but we do it the disgusting crufty way forced on us by the ()-less +| * definition of BEGIN. +| */ +| #define BEGIN (yy_start) = 1 + 2 * +| +| /* Translate the current start state into a value that can be later handed +| * to BEGIN to return to the state. The YYSTATE alias is for lex +| * compatibility. +| */ +| #define YY_START (((yy_start) - 1) / 2) +| #define YYSTATE YY_START +| +| /* Action number for EOF rule of a given start state. */ +| #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) +| +| /* Special action meaning "start processing a new file". */ +| #define YY_NEW_FILE yyrestart(yyin ) +| +| #define YY_END_OF_BUFFER_CHAR 0 +| +| /* Size of default input buffer. */ +| #ifndef YY_BUF_SIZE +| #define YY_BUF_SIZE 16384 +| #endif +| +| /* The state buf must be large enough to hold one state per character in the main buffer. +| */ +| #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) +| +| #ifndef YY_TYPEDEF_YY_BUFFER_STATE +| #define YY_TYPEDEF_YY_BUFFER_STATE +| typedef struct yy_buffer_state *YY_BUFFER_STATE; +| #endif +| +| extern int yyleng; +| +| extern FILE *yyin, *yyout; +| +| #define EOB_ACT_CONTINUE_SCAN 0 +| #define EOB_ACT_END_OF_FILE 1 +| #define EOB_ACT_LAST_MATCH 2 +| +| #define YY_LESS_LINENO(n) +| +| /* Return all but the first "n" matched characters back to the input stream. */ +| #define yyless(n) \ +| do \ +| { \ +| /* Undo effects of setting up yytext. */ \ +| int yyless_macro_arg = (n); \ +| YY_LESS_LINENO(yyless_macro_arg);\ +| *yy_cp = (yy_hold_char); \ +| YY_RESTORE_YY_MORE_OFFSET \ +| (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ +| YY_DO_BEFORE_ACTION; /* set up yytext again */ \ +| } \ +| while ( 0 ) +| +| #define unput(c) yyunput( c, (yytext_ptr) ) +| +| #ifndef YY_TYPEDEF_YY_SIZE_T +| #define YY_TYPEDEF_YY_SIZE_T +| typedef size_t yy_size_t; +| #endif +| +| #ifndef YY_STRUCT_YY_BUFFER_STATE +| #define YY_STRUCT_YY_BUFFER_STATE +| struct yy_buffer_state +| { +| FILE *yy_input_file; +| +| char *yy_ch_buf; /* input buffer */ +| char *yy_buf_pos; /* current position in input buffer */ +| +| /* Size of input buffer in bytes, not including room for EOB +| * characters. +| */ +| yy_size_t yy_buf_size; +| +| /* Number of characters read into yy_ch_buf, not including EOB +| * characters. +| */ +| int yy_n_chars; +| +| /* Whether we "own" the buffer - i.e., we know we created it, +| * and can realloc() it to grow it, and should free() it to +| * delete it. +| */ +| int yy_is_our_buffer; +| +| /* Whether this is an "interactive" input source; if so, and +| * if we're using stdio for input, then we want to use getc() +| * instead of fread(), to make sure we stop fetching input after +| * each newline. +| */ +| int yy_is_interactive; +| +| /* Whether we're considered to be at the beginning of a line. +| * If so, '^' rules will be active on the next match, otherwise +| * not. +| */ +| int yy_at_bol; +| +| int yy_bs_lineno; /**< The line count. */ +| int yy_bs_column; /**< The column count. */ +| +| /* Whether to try to fill the input buffer when we reach the +| * end of it. +| */ +| int yy_fill_buffer; +| +| int yy_buffer_status; +| +| #define YY_BUFFER_NEW 0 +| #define YY_BUFFER_NORMAL 1 +| /* When an EOF's been seen but there's still some text to process +| * then we mark the buffer as YY_EOF_PENDING, to indicate that we +| * shouldn't try reading from the input source any more. We might +| * still have a bunch of tokens to match, though, because of +| * possible backing-up. +| * +| * When we actually see the EOF, we change the status to "new" +| * (via yyrestart()), so that the user can continue scanning by +| * just pointing yyin at a new input file. +| */ +| #define YY_BUFFER_EOF_PENDING 2 +| +| }; +| #endif /* !YY_STRUCT_YY_BUFFER_STATE */ +| +| /* Stack of input buffers. */ +| static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ +| static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ +| static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ +| +| /* We provide macros for accessing buffer states in case in the +| * future we want to put the buffer states in a more general +| * "scanner state". +| * +| * Returns the top of the stack, or NULL. +| */ +| #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ +| ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ +| : NULL) +| +| /* Same as previous macro, but useful when we know that the buffer stack is not +| * NULL or when we need an lvalue. For internal use only. +| */ +| #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] +| +| /* yy_hold_char holds the character lost when yytext is formed. */ +| static char yy_hold_char; +| static int yy_n_chars; /* number of characters read into yy_ch_buf */ +| int yyleng; +| +| /* Points to current character in buffer. */ +| static char *yy_c_buf_p = (char *) 0; +| static int yy_init = 0; /* whether we need to initialize */ +| static int yy_start = 0; /* start state number */ +| +| /* Flag which is used to allow yywrap()'s to do buffer switches +| * instead of setting up a fresh yyin. A bit of a hack ... +| */ +| static int yy_did_buffer_switch_on_eof; +| +| void yyrestart (FILE *input_file ); +| void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); +| YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); +| void yy_delete_buffer (YY_BUFFER_STATE b ); +| void yy_flush_buffer (YY_BUFFER_STATE b ); +| void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); +| void yypop_buffer_state (void ); +| +| static void yyensure_buffer_stack (void ); +| static void yy_load_buffer_state (void ); +| static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); +| +| #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) +| +| YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); +| YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); +| YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); +| +| void *yyalloc (yy_size_t ); +| void *yyrealloc (void *,yy_size_t ); +| void yyfree (void * ); +| +| #define yy_new_buffer yy_create_buffer +| +| #define yy_set_interactive(is_interactive) \ +| { \ +| if ( ! YY_CURRENT_BUFFER ){ \ +| yyensure_buffer_stack (); \ +| YY_CURRENT_BUFFER_LVALUE = \ +| yy_create_buffer(yyin,YY_BUF_SIZE ); \ +| } \ +| YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ +| } +| +| #define yy_set_bol(at_bol) \ +| { \ +| if ( ! YY_CURRENT_BUFFER ){\ +| yyensure_buffer_stack (); \ +| YY_CURRENT_BUFFER_LVALUE = \ +| yy_create_buffer(yyin,YY_BUF_SIZE ); \ +| } \ +| YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ +| } +| +| #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) +| +| /* Begin user sect3 */ +| +| typedef unsigned char YY_CHAR; +| +| FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; +| +| typedef int yy_state_type; +| +| extern int yylineno; +| +| int yylineno = 1; +| +| extern char *yytext; +| #define yytext_ptr yytext +| +| static yy_state_type yy_get_previous_state (void ); +| static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); +| static int yy_get_next_buffer (void ); +| static void yy_fatal_error (yyconst char msg[] ); +| +| /* Done after the current pattern has been matched and before the +| * corresponding action - sets up yytext. +| */ +| #define YY_DO_BEFORE_ACTION \ +| (yytext_ptr) = yy_bp; \ +| yyleng = (size_t) (yy_cp - yy_bp); \ +| (yy_hold_char) = *yy_cp; \ +| *yy_cp = '\0'; \ +| (yy_c_buf_p) = yy_cp; +| +| #define YY_NUM_RULES 1 +| #define YY_END_OF_BUFFER 2 +| /* This struct is not used in this scanner, +| but its presence is necessary. */ +| struct yy_trans_info +| { +| flex_int32_t yy_verify; +| flex_int32_t yy_nxt; +| }; +| static yyconst flex_int16_t yy_accept[6] = +| { 0, +| 0, 0, 2, 1, 0 +| } ; +| +| static yyconst flex_int32_t yy_ec[256] = +| { 0, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +| 1, 1, 1, 1, 1 +| } ; +| +| static yyconst flex_int32_t yy_meta[2] = +| { 0, +| 1 +| } ; +| +| static yyconst flex_int16_t yy_base[7] = +| { 0, +| 0, 0, 2, 3, 3, 0 +| } ; +| +| static yyconst flex_int16_t yy_def[7] = +| { 0, +| 6, 6, 5, 5, 0, 5 +| } ; +| +| static yyconst flex_int16_t yy_nxt[5] = +| { 0, +| 4, 5, 3, 5 +| } ; +| +| static yyconst flex_int16_t yy_chk[5] = +| { 0, +| 6, 3, 5, 5 +| } ; +| +| static yy_state_type yy_last_accepting_state; +| static char *yy_last_accepting_cpos; +| +| extern int yy_flex_debug; +| int yy_flex_debug = 0; +| +| /* The intent behind this definition is that it'll catch +| * any uses of REJECT which flex missed. +| */ +| #define REJECT reject_used_but_not_detected +| #define yymore() yymore_used_but_not_detected +| #define YY_MORE_ADJ 0 +| #define YY_RESTORE_YY_MORE_OFFSET +| char *yytext; +| #line 1 "conftest.l" +| #line 449 "lex.yy.c" +| +| #define INITIAL 0 +| +| #ifndef YY_NO_UNISTD_H +| /* Special case for "unistd.h", since it is non-ANSI. We include it way +| * down here because we want the user's section 1 to have been scanned first. +| * The user has a chance to override it with an option. +| */ +| #include +| #endif +| +| #ifndef YY_EXTRA_TYPE +| #define YY_EXTRA_TYPE void * +| #endif +| +| static int yy_init_globals (void ); +| +| /* Accessor methods to globals. +| These are made visible to non-reentrant scanners for convenience. */ +| +| int yylex_destroy (void ); +| +| int yyget_debug (void ); +| +| void yyset_debug (int debug_flag ); +| +| YY_EXTRA_TYPE yyget_extra (void ); +| +| void yyset_extra (YY_EXTRA_TYPE user_defined ); +| +| FILE *yyget_in (void ); +| +| void yyset_in (FILE * in_str ); +| +| FILE *yyget_out (void ); +| +| void yyset_out (FILE * out_str ); +| +| int yyget_leng (void ); +| +| char *yyget_text (void ); +| +| int yyget_lineno (void ); +| +| void yyset_lineno (int line_number ); +| +| /* Macros after this point can all be overridden by user definitions in +| * section 1. +| */ +| +| #ifndef YY_SKIP_YYWRAP +| #ifdef __cplusplus +| extern "C" int yywrap (void ); +| #else +| extern int yywrap (void ); +| #endif +| #endif +| +| static void yyunput (int c,char *buf_ptr ); +| +| #ifndef yytext_ptr +| static void yy_flex_strncpy (char *,yyconst char *,int ); +| #endif +| +| #ifdef YY_NEED_STRLEN +| static int yy_flex_strlen (yyconst char * ); +| #endif +| +| #ifndef YY_NO_INPUT +| +| #ifdef __cplusplus +| static int yyinput (void ); +| #else +| static int input (void ); +| #endif +| +| #endif +| +| /* Amount of stuff to slurp up with each read. */ +| #ifndef YY_READ_BUF_SIZE +| #define YY_READ_BUF_SIZE 8192 +| #endif +| +| /* Copy whatever the last rule matched to the standard output. */ +| #ifndef ECHO +| /* This used to be an fputs(), but since the string might contain NUL's, +| * we now use fwrite(). +| */ +| #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +| #endif +| +| /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, +| * is returned in "result". +| */ +| #ifndef YY_INPUT +| #define YY_INPUT(buf,result,max_size) \ +| if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ +| { \ +| int c = '*'; \ +| unsigned n; \ +| for ( n = 0; n < max_size && \ +| (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ +| buf[n] = (char) c; \ +| if ( c == '\n' ) \ +| buf[n++] = (char) c; \ +| if ( c == EOF && ferror( yyin ) ) \ +| YY_FATAL_ERROR( "input in flex scanner failed" ); \ +| result = n; \ +| } \ +| else \ +| { \ +| errno=0; \ +| while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ +| { \ +| if( errno != EINTR) \ +| { \ +| YY_FATAL_ERROR( "input in flex scanner failed" ); \ +| break; \ +| } \ +| errno=0; \ +| clearerr(yyin); \ +| } \ +| }\ +| \ +| +| #endif +| +| /* No semi-colon after return; correct usage is to write "yyterminate();" - +| * we don't want an extra ';' after the "return" because that will cause +| * some compilers to complain about unreachable statements. +| */ +| #ifndef yyterminate +| #define yyterminate() return YY_NULL +| #endif +| +| /* Number of entries by which start-condition stack grows. */ +| #ifndef YY_START_STACK_INCR +| #define YY_START_STACK_INCR 25 +| #endif +| +| /* Report a fatal error. */ +| #ifndef YY_FATAL_ERROR +| #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) +| #endif +| +| /* end tables serialization structures and prototypes */ +| +| /* Default declaration of generated scanner - a define so the user can +| * easily add parameters. +| */ +| #ifndef YY_DECL +| #define YY_DECL_IS_OURS 1 +| +| extern int yylex (void); +| +| #define YY_DECL int yylex (void) +| #endif /* !YY_DECL */ +| +| /* Code executed at the beginning of each rule, after yytext and yyleng +| * have been set up. +| */ +| #ifndef YY_USER_ACTION +| #define YY_USER_ACTION +| #endif +| +| /* Code executed at the end of each rule. */ +| #ifndef YY_BREAK +| #define YY_BREAK break; +| #endif +| +| #define YY_RULE_SETUP \ +| YY_USER_ACTION +| +| /** The main scanner function which does all the work. +| */ +| YY_DECL +| { +| register yy_state_type yy_current_state; +| register char *yy_cp, *yy_bp; +| register int yy_act; +| +| #line 1 "conftest.l" +| +| #line 633 "lex.yy.c" +| +| if ( !(yy_init) ) +| { +| (yy_init) = 1; +| +| #ifdef YY_USER_INIT +| YY_USER_INIT; +| #endif +| +| if ( ! (yy_start) ) +| (yy_start) = 1; /* first start state */ +| +| if ( ! yyin ) +| yyin = stdin; +| +| if ( ! yyout ) +| yyout = stdout; +| +| if ( ! YY_CURRENT_BUFFER ) { +| yyensure_buffer_stack (); +| YY_CURRENT_BUFFER_LVALUE = +| yy_create_buffer(yyin,YY_BUF_SIZE ); +| } +| +| yy_load_buffer_state( ); +| } +| +| while ( 1 ) /* loops until end-of-file is reached */ +| { +| yy_cp = (yy_c_buf_p); +| +| /* Support of yytext. */ +| *yy_cp = (yy_hold_char); +| +| /* yy_bp points to the position in yy_ch_buf of the start of +| * the current run. +| */ +| yy_bp = yy_cp; +| +| yy_current_state = (yy_start); +| yy_match: +| do +| { +| register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; +| if ( yy_accept[yy_current_state] ) +| { +| (yy_last_accepting_state) = yy_current_state; +| (yy_last_accepting_cpos) = yy_cp; +| } +| while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) +| { +| yy_current_state = (int) yy_def[yy_current_state]; +| if ( yy_current_state >= 6 ) +| yy_c = yy_meta[(unsigned int) yy_c]; +| } +| yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; +| ++yy_cp; +| } +| while ( yy_base[yy_current_state] != 3 ); +| +| yy_find_action: +| yy_act = yy_accept[yy_current_state]; +| if ( yy_act == 0 ) +| { /* have to back up */ +| yy_cp = (yy_last_accepting_cpos); +| yy_current_state = (yy_last_accepting_state); +| yy_act = yy_accept[yy_current_state]; +| } +| +| YY_DO_BEFORE_ACTION; +| +| do_action: /* This label is used only to access EOF actions. */ +| +| switch ( yy_act ) +| { /* beginning of action switch */ +| case 0: /* must back up */ +| /* undo the effects of YY_DO_BEFORE_ACTION */ +| *yy_cp = (yy_hold_char); +| yy_cp = (yy_last_accepting_cpos); +| yy_current_state = (yy_last_accepting_state); +| goto yy_find_action; +| +| case 1: +| YY_RULE_SETUP +| #line 2 "conftest.l" +| ECHO; +| YY_BREAK +| #line 721 "lex.yy.c" +| case YY_STATE_EOF(INITIAL): +| yyterminate(); +| +| case YY_END_OF_BUFFER: +| { +| /* Amount of text matched not including the EOB char. */ +| int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; +| +| /* Undo the effects of YY_DO_BEFORE_ACTION. */ +| *yy_cp = (yy_hold_char); +| YY_RESTORE_YY_MORE_OFFSET +| +| if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) +| { +| /* We're scanning a new file or input source. It's +| * possible that this happened because the user +| * just pointed yyin at a new source and called +| * yylex(). If so, then we have to assure +| * consistency between YY_CURRENT_BUFFER and our +| * globals. Here is the right place to do so, because +| * this is the first action (other than possibly a +| * back-up) that will match for the new input source. +| */ +| (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; +| YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; +| YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; +| } +| +| /* Note that here we test for yy_c_buf_p "<=" to the position +| * of the first EOB in the buffer, since yy_c_buf_p will +| * already have been incremented past the NUL character +| * (since all states make transitions on EOB to the +| * end-of-buffer state). Contrast this with the test +| * in input(). +| */ +| if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) +| { /* This was really a NUL. */ +| yy_state_type yy_next_state; +| +| (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; +| +| yy_current_state = yy_get_previous_state( ); +| +| /* Okay, we're now positioned to make the NUL +| * transition. We couldn't have +| * yy_get_previous_state() go ahead and do it +| * for us because it doesn't know how to deal +| * with the possibility of jamming (and we don't +| * want to build jamming into it because then it +| * will run more slowly). +| */ +| +| yy_next_state = yy_try_NUL_trans( yy_current_state ); +| +| yy_bp = (yytext_ptr) + YY_MORE_ADJ; +| +| if ( yy_next_state ) +| { +| /* Consume the NUL. */ +| yy_cp = ++(yy_c_buf_p); +| yy_current_state = yy_next_state; +| goto yy_match; +| } +| +| else +| { +| yy_cp = (yy_c_buf_p); +| goto yy_find_action; +| } +| } +| +| else switch ( yy_get_next_buffer( ) ) +| { +| case EOB_ACT_END_OF_FILE: +| { +| (yy_did_buffer_switch_on_eof) = 0; +| +| if ( yywrap( ) ) +| { +| /* Note: because we've taken care in +| * yy_get_next_buffer() to have set up +| * yytext, we can now set up +| * yy_c_buf_p so that if some total +| * hoser (like flex itself) wants to +| * call the scanner after we return the +| * YY_NULL, it'll still work - another +| * YY_NULL will get returned. +| */ +| (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; +| +| yy_act = YY_STATE_EOF(YY_START); +| goto do_action; +| } +| +| else +| { +| if ( ! (yy_did_buffer_switch_on_eof) ) +| YY_NEW_FILE; +| } +| break; +| } +| +| case EOB_ACT_CONTINUE_SCAN: +| (yy_c_buf_p) = +| (yytext_ptr) + yy_amount_of_matched_text; +| +| yy_current_state = yy_get_previous_state( ); +| +| yy_cp = (yy_c_buf_p); +| yy_bp = (yytext_ptr) + YY_MORE_ADJ; +| goto yy_match; +| +| case EOB_ACT_LAST_MATCH: +| (yy_c_buf_p) = +| &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; +| +| yy_current_state = yy_get_previous_state( ); +| +| yy_cp = (yy_c_buf_p); +| yy_bp = (yytext_ptr) + YY_MORE_ADJ; +| goto yy_find_action; +| } +| break; +| } +| +| default: +| YY_FATAL_ERROR( +| "fatal flex scanner internal error--no action found" ); +| } /* end of action switch */ +| } /* end of scanning one token */ +| } /* end of yylex */ +| +| /* yy_get_next_buffer - try to read in a new buffer +| * +| * Returns a code representing an action: +| * EOB_ACT_LAST_MATCH - +| * EOB_ACT_CONTINUE_SCAN - continue scanning from current position +| * EOB_ACT_END_OF_FILE - end of file +| */ +| static int yy_get_next_buffer (void) +| { +| register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; +| register char *source = (yytext_ptr); +| register int number_to_move, i; +| int ret_val; +| +| if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) +| YY_FATAL_ERROR( +| "fatal flex scanner internal error--end of buffer missed" ); +| +| if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) +| { /* Don't try to fill the buffer, so this is an EOF. */ +| if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) +| { +| /* We matched a single character, the EOB, so +| * treat this as a final EOF. +| */ +| return EOB_ACT_END_OF_FILE; +| } +| +| else +| { +| /* We matched some text prior to the EOB, first +| * process it. +| */ +| return EOB_ACT_LAST_MATCH; +| } +| } +| +| /* Try to read more data. */ +| +| /* First move last chars to start of buffer. */ +| number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; +| +| for ( i = 0; i < number_to_move; ++i ) +| *(dest++) = *(source++); +| +| if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) +| /* don't do the read, it's not guaranteed to return an EOF, +| * just force an EOF +| */ +| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; +| +| else +| { +| int num_to_read = +| YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; +| +| while ( num_to_read <= 0 ) +| { /* Not enough room in the buffer - grow it. */ +| +| /* just a shorter name for the current buffer */ +| YY_BUFFER_STATE b = YY_CURRENT_BUFFER; +| +| int yy_c_buf_p_offset = +| (int) ((yy_c_buf_p) - b->yy_ch_buf); +| +| if ( b->yy_is_our_buffer ) +| { +| int new_size = b->yy_buf_size * 2; +| +| if ( new_size <= 0 ) +| b->yy_buf_size += b->yy_buf_size / 8; +| else +| b->yy_buf_size *= 2; +| +| b->yy_ch_buf = (char *) +| /* Include room in for 2 EOB chars. */ +| yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); +| } +| else +| /* Can't grow it, we don't own it. */ +| b->yy_ch_buf = 0; +| +| if ( ! b->yy_ch_buf ) +| YY_FATAL_ERROR( +| "fatal error - scanner input buffer overflow" ); +| +| (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; +| +| num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - +| number_to_move - 1; +| +| } +| +| if ( num_to_read > YY_READ_BUF_SIZE ) +| num_to_read = YY_READ_BUF_SIZE; +| +| /* Read in more data. */ +| YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), +| (yy_n_chars), (size_t) num_to_read ); +| +| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); +| } +| +| if ( (yy_n_chars) == 0 ) +| { +| if ( number_to_move == YY_MORE_ADJ ) +| { +| ret_val = EOB_ACT_END_OF_FILE; +| yyrestart(yyin ); +| } +| +| else +| { +| ret_val = EOB_ACT_LAST_MATCH; +| YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = +| YY_BUFFER_EOF_PENDING; +| } +| } +| +| else +| ret_val = EOB_ACT_CONTINUE_SCAN; +| +| if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { +| /* Extend the array by 50%, plus the number we really need. */ +| yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); +| YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); +| if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) +| YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); +| } +| +| (yy_n_chars) += number_to_move; +| YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; +| YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; +| +| (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; +| +| return ret_val; +| } +| +| /* yy_get_previous_state - get the state just before the EOB char was reached */ +| +| static yy_state_type yy_get_previous_state (void) +| { +| register yy_state_type yy_current_state; +| register char *yy_cp; +| +| yy_current_state = (yy_start); +| +| for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) +| { +| register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); +| if ( yy_accept[yy_current_state] ) +| { +| (yy_last_accepting_state) = yy_current_state; +| (yy_last_accepting_cpos) = yy_cp; +| } +| while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) +| { +| yy_current_state = (int) yy_def[yy_current_state]; +| if ( yy_current_state >= 6 ) +| yy_c = yy_meta[(unsigned int) yy_c]; +| } +| yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; +| } +| +| return yy_current_state; +| } +| +| /* yy_try_NUL_trans - try to make a transition on the NUL character +| * +| * synopsis +| * next_state = yy_try_NUL_trans( current_state ); +| */ +| static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) +| { +| register int yy_is_jam; +| register char *yy_cp = (yy_c_buf_p); +| +| register YY_CHAR yy_c = 1; +| if ( yy_accept[yy_current_state] ) +| { +| (yy_last_accepting_state) = yy_current_state; +| (yy_last_accepting_cpos) = yy_cp; +| } +| while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) +| { +| yy_current_state = (int) yy_def[yy_current_state]; +| if ( yy_current_state >= 6 ) +| yy_c = yy_meta[(unsigned int) yy_c]; +| } +| yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; +| yy_is_jam = (yy_current_state == 5); +| +| return yy_is_jam ? 0 : yy_current_state; +| } +| +| static void yyunput (int c, register char * yy_bp ) +| { +| register char *yy_cp; +| +| yy_cp = (yy_c_buf_p); +| +| /* undo effects of setting up yytext */ +| *yy_cp = (yy_hold_char); +| +| if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) +| { /* need to shift things up to make room */ +| /* +2 for EOB chars. */ +| register int number_to_move = (yy_n_chars) + 2; +| register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ +| YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; +| register char *source = +| &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; +| +| while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) +| *--dest = *--source; +| +| yy_cp += (int) (dest - source); +| yy_bp += (int) (dest - source); +| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = +| (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; +| +| if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) +| YY_FATAL_ERROR( "flex scanner push-back overflow" ); +| } +| +| *--yy_cp = (char) c; +| +| (yytext_ptr) = yy_bp; +| (yy_hold_char) = *yy_cp; +| (yy_c_buf_p) = yy_cp; +| } +| +| #ifndef YY_NO_INPUT +| #ifdef __cplusplus +| static int yyinput (void) +| #else +| static int input (void) +| #endif +| +| { +| int c; +| +| *(yy_c_buf_p) = (yy_hold_char); +| +| if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) +| { +| /* yy_c_buf_p now points to the character we want to return. +| * If this occurs *before* the EOB characters, then it's a +| * valid NUL; if not, then we've hit the end of the buffer. +| */ +| if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) +| /* This was really a NUL. */ +| *(yy_c_buf_p) = '\0'; +| +| else +| { /* need more input */ +| int offset = (yy_c_buf_p) - (yytext_ptr); +| ++(yy_c_buf_p); +| +| switch ( yy_get_next_buffer( ) ) +| { +| case EOB_ACT_LAST_MATCH: +| /* This happens because yy_g_n_b() +| * sees that we've accumulated a +| * token and flags that we need to +| * try matching the token before +| * proceeding. But for input(), +| * there's no matching to consider. +| * So convert the EOB_ACT_LAST_MATCH +| * to EOB_ACT_END_OF_FILE. +| */ +| +| /* Reset buffer status. */ +| yyrestart(yyin ); +| +| /*FALLTHROUGH*/ +| +| case EOB_ACT_END_OF_FILE: +| { +| if ( yywrap( ) ) +| return EOF; +| +| if ( ! (yy_did_buffer_switch_on_eof) ) +| YY_NEW_FILE; +| #ifdef __cplusplus +| return yyinput(); +| #else +| return input(); +| #endif +| } +| +| case EOB_ACT_CONTINUE_SCAN: +| (yy_c_buf_p) = (yytext_ptr) + offset; +| break; +| } +| } +| } +| +| c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ +| *(yy_c_buf_p) = '\0'; /* preserve yytext */ +| (yy_hold_char) = *++(yy_c_buf_p); +| +| return c; +| } +| #endif /* ifndef YY_NO_INPUT */ +| +| /** Immediately switch to a different input stream. +| * @param input_file A readable stream. +| * +| * @note This function does not reset the start condition to @c INITIAL . +| */ +| void yyrestart (FILE * input_file ) +| { +| +| if ( ! YY_CURRENT_BUFFER ){ +| yyensure_buffer_stack (); +| YY_CURRENT_BUFFER_LVALUE = +| yy_create_buffer(yyin,YY_BUF_SIZE ); +| } +| +| yy_init_buffer(YY_CURRENT_BUFFER,input_file ); +| yy_load_buffer_state( ); +| } +| +| /** Switch to a different input buffer. +| * @param new_buffer The new input buffer. +| * +| */ +| void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) +| { +| +| /* TODO. We should be able to replace this entire function body +| * with +| * yypop_buffer_state(); +| * yypush_buffer_state(new_buffer); +| */ +| yyensure_buffer_stack (); +| if ( YY_CURRENT_BUFFER == new_buffer ) +| return; +| +| if ( YY_CURRENT_BUFFER ) +| { +| /* Flush out information for old buffer. */ +| *(yy_c_buf_p) = (yy_hold_char); +| YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); +| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); +| } +| +| YY_CURRENT_BUFFER_LVALUE = new_buffer; +| yy_load_buffer_state( ); +| +| /* We don't actually know whether we did this switch during +| * EOF (yywrap()) processing, but the only time this flag +| * is looked at is after yywrap() is called, so it's safe +| * to go ahead and always set it. +| */ +| (yy_did_buffer_switch_on_eof) = 1; +| } +| +| static void yy_load_buffer_state (void) +| { +| (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; +| (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; +| yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; +| (yy_hold_char) = *(yy_c_buf_p); +| } +| +| /** Allocate and initialize an input buffer state. +| * @param file A readable stream. +| * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. +| * +| * @return the allocated buffer state. +| */ +| YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) +| { +| YY_BUFFER_STATE b; +| +| b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); +| if ( ! b ) +| YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); +| +| b->yy_buf_size = size; +| +| /* yy_ch_buf has to be 2 characters longer than the size given because +| * we need to put in 2 end-of-buffer characters. +| */ +| b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); +| if ( ! b->yy_ch_buf ) +| YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); +| +| b->yy_is_our_buffer = 1; +| +| yy_init_buffer(b,file ); +| +| return b; +| } +| +| /** Destroy the buffer. +| * @param b a buffer created with yy_create_buffer() +| * +| */ +| void yy_delete_buffer (YY_BUFFER_STATE b ) +| { +| +| if ( ! b ) +| return; +| +| if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ +| YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; +| +| if ( b->yy_is_our_buffer ) +| yyfree((void *) b->yy_ch_buf ); +| +| yyfree((void *) b ); +| } +| +| #ifndef __cplusplus +| extern int isatty (int ); +| #endif /* __cplusplus */ +| +| /* Initializes or reinitializes a buffer. +| * This function is sometimes called more than once on the same buffer, +| * such as during a yyrestart() or at EOF. +| */ +| static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) +| +| { +| int oerrno = errno; +| +| yy_flush_buffer(b ); +| +| b->yy_input_file = file; +| b->yy_fill_buffer = 1; +| +| /* If b is the current buffer, then yy_init_buffer was _probably_ +| * called from yyrestart() or through yy_get_next_buffer. +| * In that case, we don't want to reset the lineno or column. +| */ +| if (b != YY_CURRENT_BUFFER){ +| b->yy_bs_lineno = 1; +| b->yy_bs_column = 0; +| } +| +| b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; +| +| errno = oerrno; +| } +| +| /** Discard all buffered characters. On the next scan, YY_INPUT will be called. +| * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. +| * +| */ +| void yy_flush_buffer (YY_BUFFER_STATE b ) +| { +| if ( ! b ) +| return; +| +| b->yy_n_chars = 0; +| +| /* We always need two end-of-buffer characters. The first causes +| * a transition to the end-of-buffer state. The second causes +| * a jam in that state. +| */ +| b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; +| b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; +| +| b->yy_buf_pos = &b->yy_ch_buf[0]; +| +| b->yy_at_bol = 1; +| b->yy_buffer_status = YY_BUFFER_NEW; +| +| if ( b == YY_CURRENT_BUFFER ) +| yy_load_buffer_state( ); +| } +| +| /** Pushes the new state onto the stack. The new state becomes +| * the current state. This function will allocate the stack +| * if necessary. +| * @param new_buffer The new state. +| * +| */ +| void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) +| { +| if (new_buffer == NULL) +| return; +| +| yyensure_buffer_stack(); +| +| /* This block is copied from yy_switch_to_buffer. */ +| if ( YY_CURRENT_BUFFER ) +| { +| /* Flush out information for old buffer. */ +| *(yy_c_buf_p) = (yy_hold_char); +| YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); +| YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); +| } +| +| /* Only push if top exists. Otherwise, replace top. */ +| if (YY_CURRENT_BUFFER) +| (yy_buffer_stack_top)++; +| YY_CURRENT_BUFFER_LVALUE = new_buffer; +| +| /* copied from yy_switch_to_buffer. */ +| yy_load_buffer_state( ); +| (yy_did_buffer_switch_on_eof) = 1; +| } +| +| /** Removes and deletes the top of the stack, if present. +| * The next element becomes the new top. +| * +| */ +| void yypop_buffer_state (void) +| { +| if (!YY_CURRENT_BUFFER) +| return; +| +| yy_delete_buffer(YY_CURRENT_BUFFER ); +| YY_CURRENT_BUFFER_LVALUE = NULL; +| if ((yy_buffer_stack_top) > 0) +| --(yy_buffer_stack_top); +| +| if (YY_CURRENT_BUFFER) { +| yy_load_buffer_state( ); +| (yy_did_buffer_switch_on_eof) = 1; +| } +| } +| +| /* Allocates the stack if it does not exist. +| * Guarantees space for at least one push. +| */ +| static void yyensure_buffer_stack (void) +| { +| int num_to_alloc; +| +| if (!(yy_buffer_stack)) { +| +| /* First allocation is just for 2 elements, since we don't know if this +| * scanner will even need a stack. We use 2 instead of 1 to avoid an +| * immediate realloc on the next call. +| */ +| num_to_alloc = 1; +| (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc +| (num_to_alloc * sizeof(struct yy_buffer_state*) +| ); +| if ( ! (yy_buffer_stack) ) +| YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); +| +| memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); +| +| (yy_buffer_stack_max) = num_to_alloc; +| (yy_buffer_stack_top) = 0; +| return; +| } +| +| if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ +| +| /* Increase the buffer to prepare for a possible push. */ +| int grow_size = 8 /* arbitrary grow size */; +| +| num_to_alloc = (yy_buffer_stack_max) + grow_size; +| (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc +| ((yy_buffer_stack), +| num_to_alloc * sizeof(struct yy_buffer_state*) +| ); +| if ( ! (yy_buffer_stack) ) +| YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); +| +| /* zero only the new slots.*/ +| memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); +| (yy_buffer_stack_max) = num_to_alloc; +| } +| } +| +| /** Setup the input buffer state to scan directly from a user-specified character buffer. +| * @param base the character buffer +| * @param size the size in bytes of the character buffer +| * +| * @return the newly allocated buffer state object. +| */ +| YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) +| { +| YY_BUFFER_STATE b; +| +| if ( size < 2 || +| base[size-2] != YY_END_OF_BUFFER_CHAR || +| base[size-1] != YY_END_OF_BUFFER_CHAR ) +| /* They forgot to leave room for the EOB's. */ +| return 0; +| +| b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); +| if ( ! b ) +| YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); +| +| b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ +| b->yy_buf_pos = b->yy_ch_buf = base; +| b->yy_is_our_buffer = 0; +| b->yy_input_file = 0; +| b->yy_n_chars = b->yy_buf_size; +| b->yy_is_interactive = 0; +| b->yy_at_bol = 1; +| b->yy_fill_buffer = 0; +| b->yy_buffer_status = YY_BUFFER_NEW; +| +| yy_switch_to_buffer(b ); +| +| return b; +| } +| +| /** Setup the input buffer state to scan a string. The next call to yylex() will +| * scan from a @e copy of @a str. +| * @param yystr a NUL-terminated string to scan +| * +| * @return the newly allocated buffer state object. +| * @note If you want to scan bytes that may contain NUL values, then use +| * yy_scan_bytes() instead. +| */ +| YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) +| { +| +| return yy_scan_bytes(yystr,strlen(yystr) ); +| } +| +| /** Setup the input buffer state to scan the given bytes. The next call to yylex() will +| * scan from a @e copy of @a bytes. +| * @param bytes the byte buffer to scan +| * @param len the number of bytes in the buffer pointed to by @a bytes. +| * +| * @return the newly allocated buffer state object. +| */ +| YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) +| { +| YY_BUFFER_STATE b; +| char *buf; +| yy_size_t n; +| int i; +| +| /* Get memory for full buffer, including space for trailing EOB's. */ +| n = _yybytes_len + 2; +| buf = (char *) yyalloc(n ); +| if ( ! buf ) +| YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); +| +| for ( i = 0; i < _yybytes_len; ++i ) +| buf[i] = yybytes[i]; +| +| buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; +| +| b = yy_scan_buffer(buf,n ); +| if ( ! b ) +| YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); +| +| /* It's okay to grow etc. this buffer, and we should throw it +| * away when we're done. +| */ +| b->yy_is_our_buffer = 1; +| +| return b; +| } +| +| #ifndef YY_EXIT_FAILURE +| #define YY_EXIT_FAILURE 2 +| #endif +| +| static void yy_fatal_error (yyconst char* msg ) +| { +| (void) fprintf( stderr, "%s\n", msg ); +| exit( YY_EXIT_FAILURE ); +| } +| +| /* Redefine yyless() so it works in section 3 code. */ +| +| #undef yyless +| #define yyless(n) \ +| do \ +| { \ +| /* Undo effects of setting up yytext. */ \ +| int yyless_macro_arg = (n); \ +| YY_LESS_LINENO(yyless_macro_arg);\ +| yytext[yyleng] = (yy_hold_char); \ +| (yy_c_buf_p) = yytext + yyless_macro_arg; \ +| (yy_hold_char) = *(yy_c_buf_p); \ +| *(yy_c_buf_p) = '\0'; \ +| yyleng = yyless_macro_arg; \ +| } \ +| while ( 0 ) +| +| /* Accessor methods (get/set functions) to struct members. */ +| +| /** Get the current line number. +| * +| */ +| int yyget_lineno (void) +| { +| +| return yylineno; +| } +| +| /** Get the input stream. +| * +| */ +| FILE *yyget_in (void) +| { +| return yyin; +| } +| +| /** Get the output stream. +| * +| */ +| FILE *yyget_out (void) +| { +| return yyout; +| } +| +| /** Get the length of the current token. +| * +| */ +| int yyget_leng (void) +| { +| return yyleng; +| } +| +| /** Get the current token. +| * +| */ +| +| char *yyget_text (void) +| { +| return yytext; +| } +| +| /** Set the current line number. +| * @param line_number +| * +| */ +| void yyset_lineno (int line_number ) +| { +| +| yylineno = line_number; +| } +| +| /** Set the input stream. This does not discard the current +| * input buffer. +| * @param in_str A readable stream. +| * +| * @see yy_switch_to_buffer +| */ +| void yyset_in (FILE * in_str ) +| { +| yyin = in_str ; +| } +| +| void yyset_out (FILE * out_str ) +| { +| yyout = out_str ; +| } +| +| int yyget_debug (void) +| { +| return yy_flex_debug; +| } +| +| void yyset_debug (int bdebug ) +| { +| yy_flex_debug = bdebug ; +| } +| +| static int yy_init_globals (void) +| { +| /* Initialization is the same as for the non-reentrant scanner. +| * This function is called from yylex_destroy(), so don't allocate here. +| */ +| +| (yy_buffer_stack) = 0; +| (yy_buffer_stack_top) = 0; +| (yy_buffer_stack_max) = 0; +| (yy_c_buf_p) = (char *) 0; +| (yy_init) = 0; +| (yy_start) = 0; +| +| /* Defined in main.c */ +| #ifdef YY_STDINIT +| yyin = stdin; +| yyout = stdout; +| #else +| yyin = (FILE *) 0; +| yyout = (FILE *) 0; +| #endif +| +| /* For future reference: Set errno on error, since we are called by +| * yylex_init() +| */ +| return 0; +| } +| +| /* yylex_destroy is for both reentrant and non-reentrant scanners. */ +| int yylex_destroy (void) +| { +| +| /* Pop the buffer stack, destroying each element. */ +| while(YY_CURRENT_BUFFER){ +| yy_delete_buffer(YY_CURRENT_BUFFER ); +| YY_CURRENT_BUFFER_LVALUE = NULL; +| yypop_buffer_state(); +| } +| +| /* Destroy the stack itself. */ +| yyfree((yy_buffer_stack) ); +| (yy_buffer_stack) = NULL; +| +| /* Reset the globals. This is important in a non-reentrant scanner so the next time +| * yylex() is called, initialization will occur. */ +| yy_init_globals( ); +| +| return 0; +| } +| +| /* +| * Internal utility routines. +| */ +| +| #ifndef yytext_ptr +| static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) +| { +| register int i; +| for ( i = 0; i < n; ++i ) +| s1[i] = s2[i]; +| } +| #endif +| +| #ifdef YY_NEED_STRLEN +| static int yy_flex_strlen (yyconst char * s ) +| { +| register int n; +| for ( n = 0; s[n]; ++n ) +| ; +| +| return n; +| } +| #endif +| +| void *yyalloc (yy_size_t size ) +| { +| return (void *) malloc( size ); +| } +| +| void *yyrealloc (void * ptr, yy_size_t size ) +| { +| /* The cast to (char *) in the following accommodates both +| * implementations that use char* generic pointers, and those +| * that use void* generic pointers. It works with the latter +| * because both ANSI C and C++ allow castless assignment from +| * any pointer type to void*, and deal with argument conversions +| * as though doing an assignment. +| */ +| return (void *) realloc( (char *) ptr, size ); +| } +| +| void yyfree (void * ptr ) +| { +| free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ +| } +| +| #define YYTABLES_NAME "yytables" +| +| #line 2 "conftest.l" +| +| +| +| extern char *yytext; +configure:18996: result: no +configure:19016: checking for bison +configure:19032: found /usr/bin/bison +configure:19042: result: bison -y +configure:19063: checking for gawk +configure:19089: result: gawk +configure:19104: checking how to run the C preprocessor +configure:19222: result: gcc -E +configure:19246: gcc -E conftest.c +configure:19252: $? = 0 +configure:19284: gcc -E conftest.c +conftest.c:25:28: error: ac_nonexistent.h: No such file or directory +configure:19290: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| /* end confdefs.h. */ +| #include +configure:19333: checking whether ln -s works +configure:19337: result: yes +configure:19344: checking whether make sets $(MAKE) +configure:19364: result: yes +configure:19378: checking for working alloca.h +configure:19399: g++ -o conftest conftest.cc >&5 +configure:19405: $? = 0 +configure:19409: test -z + || test ! -s conftest.err +configure:19412: $? = 0 +configure:19415: test -s conftest +configure:19418: $? = 0 +configure:19430: result: yes +configure:19440: checking for alloca +configure:19481: g++ -o conftest conftest.cc >&5 +configure:19487: $? = 0 +configure:19491: test -z + || test ! -s conftest.err +configure:19494: $? = 0 +configure:19497: test -s conftest +configure:19500: $? = 0 +configure:19512: result: yes +configure:19735: checking for ANSI C header files +configure:19891: result: yes +configure:19901: checking for sys/wait.h that is POSIX.1 compatible +configure:19932: g++ -c conftest.cc >&5 +configure:19938: $? = 0 +configure:19942: test -z + || test ! -s conftest.err +configure:19945: $? = 0 +configure:19948: test -s conftest.o +configure:19951: $? = 0 +configure:19962: result: yes +configure:20007: checking arpa/inet.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking arpa/inet.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for arpa/inet.h +configure:20130: result: yes +configure:20007: checking fcntl.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking fcntl.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for fcntl.h +configure:20130: result: yes +configure:19998: checking for inttypes.h +configure:20003: result: yes +configure:20007: checking limits.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking limits.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for limits.h +configure:20130: result: yes +configure:20007: checking malloc.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking malloc.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for malloc.h +configure:20130: result: yes +configure:20007: checking netdb.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking netdb.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for netdb.h +configure:20130: result: yes +configure:20007: checking netinet/in.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking netinet/in.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for netinet/in.h +configure:20130: result: yes +configure:20007: checking stddef.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking stddef.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for stddef.h +configure:20130: result: yes +configure:19998: checking for stdint.h +configure:20003: result: yes +configure:19998: checking for stdlib.h +configure:20003: result: yes +configure:19998: checking for string.h +configure:20003: result: yes +configure:19998: checking for strings.h +configure:20003: result: yes +configure:20007: checking sys/file.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking sys/file.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for sys/file.h +configure:20130: result: yes +configure:20007: checking sys/mount.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking sys/mount.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for sys/mount.h +configure:20130: result: yes +configure:20007: checking sys/socket.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking sys/socket.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for sys/socket.h +configure:20130: result: yes +configure:20007: checking sys/statfs.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking sys/statfs.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for sys/statfs.h +configure:20130: result: yes +configure:20007: checking sys/time.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking sys/time.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for sys/time.h +configure:20130: result: yes +configure:20007: checking sys/timeb.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking sys/timeb.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for sys/timeb.h +configure:20130: result: yes +configure:20007: checking syslog.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking syslog.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for syslog.h +configure:20130: result: yes +configure:19998: checking for unistd.h +configure:20003: result: yes +configure:20007: checking utime.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking utime.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for utime.h +configure:20130: result: yes +configure:20007: checking values.h usability +configure:20019: g++ -c conftest.cc >&5 +configure:20025: $? = 0 +configure:20029: test -z + || test ! -s conftest.err +configure:20032: $? = 0 +configure:20035: test -s conftest.o +configure:20038: $? = 0 +configure:20048: result: yes +configure:20052: checking values.h presence +configure:20062: g++ -E conftest.cc +configure:20068: $? = 0 +configure:20088: result: yes +configure:20123: checking for values.h +configure:20130: result: yes +configure:20145: checking whether stat file-mode macros are broken +configure:20193: result: no +configure:20203: checking for stdbool.h that conforms to C99 +configure:20256: g++ -c conftest.cc >&5 +configure:20262: $? = 0 +configure:20266: test -z + || test ! -s conftest.err +configure:20269: $? = 0 +configure:20272: test -s conftest.o +configure:20275: $? = 0 +configure:20286: result: yes +configure:20288: checking for _Bool +configure:20312: g++ -c conftest.cc >&5 +conftest.cc: In function 'int main()': +conftest.cc:88: error: '_Bool' was not declared in this scope +conftest.cc:88: error: expected primary-expression before ')' token +conftest.cc:88: error: expected ')' before numeric constant +conftest.cc:90: error: '_Bool' was not declared in this scope +configure:20318: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| #define HAVE_ALLOCA_H 1 +| #define HAVE_ALLOCA 1 +| #define STDC_HEADERS 1 +| #define HAVE_SYS_WAIT_H 1 +| #define HAVE_ARPA_INET_H 1 +| #define HAVE_FCNTL_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_LIMITS_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_NETDB_H 1 +| #define HAVE_NETINET_IN_H 1 +| #define HAVE_STDDEF_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_SYS_FILE_H 1 +| #define HAVE_SYS_MOUNT_H 1 +| #define HAVE_SYS_SOCKET_H 1 +| #define HAVE_SYS_STATFS_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_SYS_TIMEB_H 1 +| #define HAVE_SYSLOG_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_UTIME_H 1 +| #define HAVE_VALUES_H 1 +| /* end confdefs.h. */ +| #include +| #if HAVE_SYS_TYPES_H +| # include +| #endif +| #if HAVE_SYS_STAT_H +| # include +| #endif +| #if STDC_HEADERS +| # include +| # include +| #else +| # if HAVE_STDLIB_H +| # include +| # endif +| #endif +| #if HAVE_STRING_H +| # if !STDC_HEADERS && HAVE_MEMORY_H +| # include +| # endif +| # include +| #endif +| #if HAVE_STRINGS_H +| # include +| #endif +| #if HAVE_INTTYPES_H +| # include +| #else +| # if HAVE_STDINT_H +| # include +| # endif +| #endif +| #if HAVE_UNISTD_H +| # include +| #endif +| int +| main () +| { +| if ((_Bool *) 0) +| return 0; +| if (sizeof (_Bool)) +| return 0; +| ; +| return 0; +| } +configure:20342: result: no +configure:20361: checking for an ANSI C-conforming const +configure:20428: g++ -c conftest.cc >&5 +configure:20434: $? = 0 +configure:20438: test -z + || test ! -s conftest.err +configure:20441: $? = 0 +configure:20444: test -s conftest.o +configure:20447: $? = 0 +configure:20458: result: yes +configure:20468: checking for inline +configure:20489: g++ -c conftest.cc >&5 +configure:20495: $? = 0 +configure:20499: test -z + || test ! -s conftest.err +configure:20502: $? = 0 +configure:20505: test -s conftest.o +configure:20508: $? = 0 +configure:20520: result: inline +configure:20539: checking for mode_t +configure:20563: g++ -c conftest.cc >&5 +configure:20569: $? = 0 +configure:20573: test -z + || test ! -s conftest.err +configure:20576: $? = 0 +configure:20579: test -s conftest.o +configure:20582: $? = 0 +configure:20593: result: yes +configure:20605: checking for off_t +configure:20629: g++ -c conftest.cc >&5 +configure:20635: $? = 0 +configure:20639: test -z + || test ! -s conftest.err +configure:20642: $? = 0 +configure:20645: test -s conftest.o +configure:20648: $? = 0 +configure:20659: result: yes +configure:20671: checking for pid_t +configure:20695: g++ -c conftest.cc >&5 +configure:20701: $? = 0 +configure:20705: test -z + || test ! -s conftest.err +configure:20708: $? = 0 +configure:20711: test -s conftest.o +configure:20714: $? = 0 +configure:20725: result: yes +configure:20737: checking for C/C++ restrict keyword +configure:20755: g++ -c conftest.cc >&5 +conftest.cc:52: error: expected initializer before 'x' +configure:20761: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| #define HAVE_ALLOCA_H 1 +| #define HAVE_ALLOCA 1 +| #define STDC_HEADERS 1 +| #define HAVE_SYS_WAIT_H 1 +| #define HAVE_ARPA_INET_H 1 +| #define HAVE_FCNTL_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_LIMITS_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_NETDB_H 1 +| #define HAVE_NETINET_IN_H 1 +| #define HAVE_STDDEF_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_SYS_FILE_H 1 +| #define HAVE_SYS_MOUNT_H 1 +| #define HAVE_SYS_SOCKET_H 1 +| #define HAVE_SYS_STATFS_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_SYS_TIMEB_H 1 +| #define HAVE_SYSLOG_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_UTIME_H 1 +| #define HAVE_VALUES_H 1 +| #define HAVE_STDBOOL_H 1 +| /* end confdefs.h. */ +| float * restrict x; +configure:20755: g++ -c conftest.cc >&5 +configure:20761: $? = 0 +configure:20765: test -z + || test ! -s conftest.err +configure:20768: $? = 0 +configure:20771: test -s conftest.o +configure:20774: $? = 0 +configure:20786: result: __restrict +configure:20801: checking for size_t +configure:20825: g++ -c conftest.cc >&5 +configure:20831: $? = 0 +configure:20835: test -z + || test ! -s conftest.err +configure:20838: $? = 0 +configure:20841: test -s conftest.o +configure:20844: $? = 0 +configure:20855: result: yes +configure:20867: checking whether time.h and sys/time.h may both be included +configure:20892: g++ -c conftest.cc >&5 +configure:20898: $? = 0 +configure:20902: test -z + || test ! -s conftest.err +configure:20905: $? = 0 +configure:20908: test -s conftest.o +configure:20911: $? = 0 +configure:20922: result: yes +configure:20932: checking whether struct tm is in sys/time.h or time.h +configure:20955: g++ -c conftest.cc >&5 +configure:20961: $? = 0 +configure:20965: test -z + || test ! -s conftest.err +configure:20968: $? = 0 +configure:20971: test -s conftest.o +configure:20974: $? = 0 +configure:20985: result: time.h +configure:20995: checking for working volatile +configure:21018: g++ -c conftest.cc >&5 +configure:21024: $? = 0 +configure:21028: test -z + || test ! -s conftest.err +configure:21031: $? = 0 +configure:21034: test -s conftest.o +configure:21037: $? = 0 +configure:21048: result: yes +configure:21058: checking for ptrdiff_t +configure:21082: g++ -c conftest.cc >&5 +configure:21088: $? = 0 +configure:21092: test -z + || test ! -s conftest.err +configure:21095: $? = 0 +configure:21098: test -s conftest.o +configure:21101: $? = 0 +configure:21112: result: yes +configure:21125: checking for error_at_line +configure:21146: g++ -o conftest conftest.cc >&5 +conftest.cc: In function 'int main()': +conftest.cc:92: error: 'error_at_line' was not declared in this scope +configure:21152: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| #define HAVE_ALLOCA_H 1 +| #define HAVE_ALLOCA 1 +| #define STDC_HEADERS 1 +| #define HAVE_SYS_WAIT_H 1 +| #define HAVE_ARPA_INET_H 1 +| #define HAVE_FCNTL_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_LIMITS_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_NETDB_H 1 +| #define HAVE_NETINET_IN_H 1 +| #define HAVE_STDDEF_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_SYS_FILE_H 1 +| #define HAVE_SYS_MOUNT_H 1 +| #define HAVE_SYS_SOCKET_H 1 +| #define HAVE_SYS_STATFS_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_SYS_TIMEB_H 1 +| #define HAVE_SYSLOG_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_UTIME_H 1 +| #define HAVE_VALUES_H 1 +| #define HAVE_STDBOOL_H 1 +| #define restrict __restrict +| #define TIME_WITH_SYS_TIME 1 +| #define HAVE_PTRDIFF_T 1 +| /* end confdefs.h. */ +| #include +| #if HAVE_SYS_TYPES_H +| # include +| #endif +| #if HAVE_SYS_STAT_H +| # include +| #endif +| #if STDC_HEADERS +| # include +| # include +| #else +| # if HAVE_STDLIB_H +| # include +| # endif +| #endif +| #if HAVE_STRING_H +| # if !STDC_HEADERS && HAVE_MEMORY_H +| # include +| # endif +| # include +| #endif +| #if HAVE_STRINGS_H +| # include +| #endif +| #if HAVE_INTTYPES_H +| # include +| #else +| # if HAVE_STDINT_H +| # include +| # endif +| #endif +| #if HAVE_UNISTD_H +| # include +| #endif +| int +| main () +| { +| error_at_line (0, 0, "", 0, ""); +| ; +| return 0; +| } +configure:21177: result: no +configure:21190: checking for mbstate_t +configure:21212: g++ -c conftest.cc >&5 +configure:21218: $? = 0 +configure:21222: test -z + || test ! -s conftest.err +configure:21225: $? = 0 +configure:21228: test -s conftest.o +configure:21231: $? = 0 +configure:21242: result: yes +configure:21257: checking for working POSIX fnmatch +configure:21295: g++ -o conftest conftest.cc >&5 +configure:21298: $? = 0 +configure:21300: ./conftest +configure:21303: $? = 0 +configure:21317: result: yes +configure:21676: checking for unistd.h +configure:21681: result: yes +configure:21685: checking vfork.h usability +configure:21697: g++ -c conftest.cc >&5 +conftest.cc:91:19: error: vfork.h: No such file or directory +configure:21703: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| #define HAVE_ALLOCA_H 1 +| #define HAVE_ALLOCA 1 +| #define STDC_HEADERS 1 +| #define HAVE_SYS_WAIT_H 1 +| #define HAVE_ARPA_INET_H 1 +| #define HAVE_FCNTL_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_LIMITS_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_NETDB_H 1 +| #define HAVE_NETINET_IN_H 1 +| #define HAVE_STDDEF_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_SYS_FILE_H 1 +| #define HAVE_SYS_MOUNT_H 1 +| #define HAVE_SYS_SOCKET_H 1 +| #define HAVE_SYS_STATFS_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_SYS_TIMEB_H 1 +| #define HAVE_SYSLOG_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_UTIME_H 1 +| #define HAVE_VALUES_H 1 +| #define HAVE_STDBOOL_H 1 +| #define restrict __restrict +| #define TIME_WITH_SYS_TIME 1 +| #define HAVE_PTRDIFF_T 1 +| #define HAVE_MBSTATE_T 1 +| #define HAVE_UNISTD_H 1 +| /* end confdefs.h. */ +| #include +| #if HAVE_SYS_TYPES_H +| # include +| #endif +| #if HAVE_SYS_STAT_H +| # include +| #endif +| #if STDC_HEADERS +| # include +| # include +| #else +| # if HAVE_STDLIB_H +| # include +| # endif +| #endif +| #if HAVE_STRING_H +| # if !STDC_HEADERS && HAVE_MEMORY_H +| # include +| # endif +| # include +| #endif +| #if HAVE_STRINGS_H +| # include +| #endif +| #if HAVE_INTTYPES_H +| # include +| #else +| # if HAVE_STDINT_H +| # include +| # endif +| #endif +| #if HAVE_UNISTD_H +| # include +| #endif +| #include +configure:21726: result: no +configure:21730: checking vfork.h presence +configure:21740: g++ -E conftest.cc +conftest.cc:57:19: error: vfork.h: No such file or directory +configure:21746: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| #define HAVE_ALLOCA_H 1 +| #define HAVE_ALLOCA 1 +| #define STDC_HEADERS 1 +| #define HAVE_SYS_WAIT_H 1 +| #define HAVE_ARPA_INET_H 1 +| #define HAVE_FCNTL_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_LIMITS_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_NETDB_H 1 +| #define HAVE_NETINET_IN_H 1 +| #define HAVE_STDDEF_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_SYS_FILE_H 1 +| #define HAVE_SYS_MOUNT_H 1 +| #define HAVE_SYS_SOCKET_H 1 +| #define HAVE_SYS_STATFS_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_SYS_TIMEB_H 1 +| #define HAVE_SYSLOG_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_UTIME_H 1 +| #define HAVE_VALUES_H 1 +| #define HAVE_STDBOOL_H 1 +| #define restrict __restrict +| #define TIME_WITH_SYS_TIME 1 +| #define HAVE_PTRDIFF_T 1 +| #define HAVE_MBSTATE_T 1 +| #define HAVE_UNISTD_H 1 +| /* end confdefs.h. */ +| #include +configure:21766: result: no +configure:21801: checking for vfork.h +configure:21808: result: no +configure:21826: checking for fork +configure:21883: g++ -o conftest conftest.cc >&5 +configure:21889: $? = 0 +configure:21893: test -z + || test ! -s conftest.err +configure:21896: $? = 0 +configure:21899: test -s conftest +configure:21902: $? = 0 +configure:21914: result: yes +configure:21826: checking for vfork +configure:21883: g++ -o conftest conftest.cc >&5 +configure:21889: $? = 0 +configure:21893: test -z + || test ! -s conftest.err +configure:21896: $? = 0 +configure:21899: test -s conftest +configure:21902: $? = 0 +configure:21914: result: yes +configure:21925: checking for working fork +configure:21948: g++ -o conftest conftest.cc >&5 +conftest.cc: In function 'int main()': +conftest.cc:9: error: 'fork' was not declared in this scope +conftest.cc:10: error: 'exit' was not declared in this scope +conftest.cc:11: error: 'exit' was not declared in this scope +configure:21951: $? = 1 +configure: program exited with status 1 +configure: failed program was: +| /* By Ruediger Kuhlmann. */ +| #include +| #if HAVE_UNISTD_H +| # include +| #endif +| /* Some systems only have a dummy stub for fork() */ +| int main () +| { +| if (fork() < 0) +| exit (1); +| exit (0); +| } +configure:21970: result: no +configure:21991: checking for working vfork +configure:22124: result: yes +configure:22160: checking for stdlib.h +configure:22165: result: yes +configure:22305: checking for GNU libc compatible malloc +configure:22334: g++ -o conftest conftest.cc >&5 +configure:22337: $? = 0 +configure:22339: ./conftest +configure:22342: $? = 0 +configure:22356: result: yes +configure:22386: checking for working memcmp +configure:22434: g++ -o conftest conftest.cc >&5 +configure:22437: $? = 0 +configure:22439: ./conftest +configure:22442: $? = 0 +configure:22456: result: yes +configure:22474: checking for stdlib.h +configure:22479: result: yes +configure:22474: checking for sys/time.h +configure:22479: result: yes +configure:22474: checking for unistd.h +configure:22479: result: yes +configure:22623: checking for alarm +configure:22680: g++ -o conftest conftest.cc >&5 +configure:22686: $? = 0 +configure:22690: test -z + || test ! -s conftest.err +configure:22693: $? = 0 +configure:22696: test -s conftest +configure:22699: $? = 0 +configure:22711: result: yes +configure:22721: checking for working mktime +configure:22897: g++ -o conftest conftest.cc >&5 +conftest.cc:100: warning: deprecated conversion from string constant to 'char*' +conftest.cc:100: warning: deprecated conversion from string constant to 'char*' +conftest.cc:100: warning: deprecated conversion from string constant to 'char*' +conftest.cc: In function 'void spring_forward_gap()': +conftest.cc:115: warning: deprecated conversion from string constant to 'char*' +conftest.cc: At global scope: +conftest.cc:129: error: variable or field 'mktime_test1' declared void +conftest.cc:129: error: 'now' was not declared in this scope +conftest.cc:131: error: expected unqualified-id before '{' token +conftest.cc:138: error: variable or field 'mktime_test' declared void +conftest.cc:138: error: 'now' was not declared in this scope +conftest.cc:140: error: expected unqualified-id before '{' token +conftest.cc:164: error: variable or field 'bigtime_test' declared void +conftest.cc:164: error: 'j' was not declared in this scope +conftest.cc:166: error: expected unqualified-id before '{' token +configure:22900: $? = 1 +configure: program exited with status 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| #define HAVE_ALLOCA_H 1 +| #define HAVE_ALLOCA 1 +| #define STDC_HEADERS 1 +| #define HAVE_SYS_WAIT_H 1 +| #define HAVE_ARPA_INET_H 1 +| #define HAVE_FCNTL_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_LIMITS_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_NETDB_H 1 +| #define HAVE_NETINET_IN_H 1 +| #define HAVE_STDDEF_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_SYS_FILE_H 1 +| #define HAVE_SYS_MOUNT_H 1 +| #define HAVE_SYS_SOCKET_H 1 +| #define HAVE_SYS_STATFS_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_SYS_TIMEB_H 1 +| #define HAVE_SYSLOG_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_UTIME_H 1 +| #define HAVE_VALUES_H 1 +| #define HAVE_STDBOOL_H 1 +| #define restrict __restrict +| #define TIME_WITH_SYS_TIME 1 +| #define HAVE_PTRDIFF_T 1 +| #define HAVE_MBSTATE_T 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_FORK 1 +| #define HAVE_VFORK 1 +| #define HAVE_WORKING_VFORK 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_MALLOC 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_ALARM 1 +| /* end confdefs.h. */ +| /* Test program from Paul Eggert and Tony Leneis. */ +| #if TIME_WITH_SYS_TIME +| # include +| # include +| #else +| # if HAVE_SYS_TIME_H +| # include +| # else +| # include +| # endif +| #endif +| +| #if HAVE_STDLIB_H +| # include +| #endif +| +| #if HAVE_UNISTD_H +| # include +| #endif +| +| #if !HAVE_ALARM +| # define alarm(X) /* empty */ +| #endif +| +| /* Work around redefinition to rpl_putenv by other config tests. */ +| #undef putenv +| +| static time_t time_t_max; +| static time_t time_t_min; +| +| /* Values we'll use to set the TZ environment variable. */ +| static char *tz_strings[] = { +| (char *) 0, "TZ=GMT0", "TZ=JST-9", +| "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" +| }; +| #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) +| +| /* Fail if mktime fails to convert a date in the spring-forward gap. +| Based on a problem report from Andreas Jaeger. */ +| static void +| spring_forward_gap () +| { +| /* glibc (up to about 1998-10-07) failed this test. */ +| struct tm tm; +| +| /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" +| instead of "TZ=America/Vancouver" in order to detect the bug even +| on systems that don't support the Olson extension, or don't have the +| full zoneinfo tables installed. */ +| putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); +| +| tm.tm_year = 98; +| tm.tm_mon = 3; +| tm.tm_mday = 5; +| tm.tm_hour = 2; +| tm.tm_min = 0; +| tm.tm_sec = 0; +| tm.tm_isdst = -1; +| if (mktime (&tm) == (time_t)-1) +| exit (1); +| } +| +| static void +| mktime_test1 (now) +| time_t now; +| { +| struct tm *lt; +| if ((lt = localtime (&now)) && mktime (lt) != now) +| exit (1); +| } +| +| static void +| mktime_test (now) +| time_t now; +| { +| mktime_test1 (now); +| mktime_test1 ((time_t) (time_t_max - now)); +| mktime_test1 ((time_t) (time_t_min + now)); +| } +| +| static void +| irix_6_4_bug () +| { +| /* Based on code from Ariel Faigon. */ +| struct tm tm; +| tm.tm_year = 96; +| tm.tm_mon = 3; +| tm.tm_mday = 0; +| tm.tm_hour = 0; +| tm.tm_min = 0; +| tm.tm_sec = 0; +| tm.tm_isdst = -1; +| mktime (&tm); +| if (tm.tm_mon != 2 || tm.tm_mday != 31) +| exit (1); +| } +| +| static void +| bigtime_test (j) +| int j; +| { +| struct tm tm; +| time_t now; +| tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; +| now = mktime (&tm); +| if (now != (time_t) -1) +| { +| struct tm *lt = localtime (&now); +| if (! (lt +| && lt->tm_year == tm.tm_year +| && lt->tm_mon == tm.tm_mon +| && lt->tm_mday == tm.tm_mday +| && lt->tm_hour == tm.tm_hour +| && lt->tm_min == tm.tm_min +| && lt->tm_sec == tm.tm_sec +| && lt->tm_yday == tm.tm_yday +| && lt->tm_wday == tm.tm_wday +| && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) +| == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) +| exit (1); +| } +| } +| +| int +| main () +| { +| time_t t, delta; +| int i, j; +| +| /* This test makes some buggy mktime implementations loop. +| Give up after 60 seconds; a mktime slower than that +| isn't worth using anyway. */ +| alarm (60); +| +| for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2) +| continue; +| time_t_max--; +| if ((time_t) -1 < 0) +| for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2) +| continue; +| delta = time_t_max / 997; /* a suitable prime number */ +| for (i = 0; i < N_STRINGS; i++) +| { +| if (tz_strings[i]) +| putenv (tz_strings[i]); +| +| for (t = 0; t <= time_t_max - delta; t += delta) +| mktime_test (t); +| mktime_test ((time_t) 1); +| mktime_test ((time_t) (60 * 60)); +| mktime_test ((time_t) (60 * 60 * 24)); +| +| for (j = 1; 0 < j; j *= 2) +| bigtime_test (j); +| bigtime_test (j - 1); +| } +| irix_6_4_bug (); +| spring_forward_gap (); +| exit (0); +| } +configure:22919: result: no +configure:22947: checking sys/select.h usability +configure:22959: g++ -c conftest.cc >&5 +configure:22965: $? = 0 +configure:22969: test -z + || test ! -s conftest.err +configure:22972: $? = 0 +configure:22975: test -s conftest.o +configure:22978: $? = 0 +configure:22988: result: yes +configure:22992: checking sys/select.h presence +configure:23002: g++ -E conftest.cc +configure:23008: $? = 0 +configure:23028: result: yes +configure:23063: checking for sys/select.h +configure:23070: result: yes +configure:22938: checking for sys/socket.h +configure:22943: result: yes +configure:23083: checking types of arguments for select +configure:23116: g++ -c conftest.cc >&5 +configure:23122: $? = 0 +configure:23126: test -z + || test ! -s conftest.err +configure:23129: $? = 0 +configure:23132: test -s conftest.o +configure:23135: $? = 0 +configure:23151: result: int,fd_set *,struct timeval * +configure:23174: checking for function prototypes +configure:23177: result: yes +configure:23194: checking whether setvbuf arguments are reversed +configure:23219: g++ -o conftest conftest.cc >&5 +/tmp/ccDqgcqp.o: In function `main': +conftest.cc:(.text+0x21): undefined reference to `setvbuf(_IO_FILE*, int, char*, unsigned long)' +collect2: ld returned 1 exit status +configure:23225: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| #define HAVE_ALLOCA_H 1 +| #define HAVE_ALLOCA 1 +| #define STDC_HEADERS 1 +| #define HAVE_SYS_WAIT_H 1 +| #define HAVE_ARPA_INET_H 1 +| #define HAVE_FCNTL_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_LIMITS_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_NETDB_H 1 +| #define HAVE_NETINET_IN_H 1 +| #define HAVE_STDDEF_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_SYS_FILE_H 1 +| #define HAVE_SYS_MOUNT_H 1 +| #define HAVE_SYS_SOCKET_H 1 +| #define HAVE_SYS_STATFS_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_SYS_TIMEB_H 1 +| #define HAVE_SYSLOG_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_UTIME_H 1 +| #define HAVE_VALUES_H 1 +| #define HAVE_STDBOOL_H 1 +| #define restrict __restrict +| #define TIME_WITH_SYS_TIME 1 +| #define HAVE_PTRDIFF_T 1 +| #define HAVE_MBSTATE_T 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_FORK 1 +| #define HAVE_VFORK 1 +| #define HAVE_WORKING_VFORK 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_MALLOC 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_ALARM 1 +| #define HAVE_SYS_SELECT_H 1 +| #define HAVE_SYS_SOCKET_H 1 +| #define SELECT_TYPE_ARG1 int +| #define SELECT_TYPE_ARG234 (fd_set *) +| #define SELECT_TYPE_ARG5 (struct timeval *) +| #define PROTOTYPES 1 +| #define __PROTOTYPES 1 +| /* end confdefs.h. */ +| #include +| # if PROTOTYPES +| int (setvbuf) (FILE *, int, char *, size_t); +| # endif +| int +| main () +| { +| char buf; return setvbuf (stdout, _IOLBF, &buf, 1); +| ; +| return 0; +| } +configure:23346: result: no +configure:23356: checking return type of signal handlers +configure:23387: g++ -c conftest.cc >&5 +configure:23393: $? = 0 +configure:23397: test -z + || test ! -s conftest.err +configure:23400: $? = 0 +configure:23403: test -s conftest.o +configure:23406: $? = 0 +configure:23417: result: void +configure:23425: checking whether lstat dereferences a symlink specified with a trailing slash +configure:23456: g++ -o conftest conftest.cc >&5 +configure:23459: $? = 0 +configure:23461: ./conftest +configure:23464: $? = 0 +configure:23485: result: yes +configure:23506: checking whether stat accepts an empty string +configure:23531: g++ -o conftest conftest.cc >&5 +configure:23534: $? = 0 +configure:23536: ./conftest +configure:23539: $? = 1 +configure: program exited with status 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| #define HAVE_ALLOCA_H 1 +| #define HAVE_ALLOCA 1 +| #define STDC_HEADERS 1 +| #define HAVE_SYS_WAIT_H 1 +| #define HAVE_ARPA_INET_H 1 +| #define HAVE_FCNTL_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_LIMITS_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_NETDB_H 1 +| #define HAVE_NETINET_IN_H 1 +| #define HAVE_STDDEF_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_SYS_FILE_H 1 +| #define HAVE_SYS_MOUNT_H 1 +| #define HAVE_SYS_SOCKET_H 1 +| #define HAVE_SYS_STATFS_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_SYS_TIMEB_H 1 +| #define HAVE_SYSLOG_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_UTIME_H 1 +| #define HAVE_VALUES_H 1 +| #define HAVE_STDBOOL_H 1 +| #define restrict __restrict +| #define TIME_WITH_SYS_TIME 1 +| #define HAVE_PTRDIFF_T 1 +| #define HAVE_MBSTATE_T 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_FORK 1 +| #define HAVE_VFORK 1 +| #define HAVE_WORKING_VFORK 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_MALLOC 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_ALARM 1 +| #define HAVE_SYS_SELECT_H 1 +| #define HAVE_SYS_SOCKET_H 1 +| #define SELECT_TYPE_ARG1 int +| #define SELECT_TYPE_ARG234 (fd_set *) +| #define SELECT_TYPE_ARG5 (struct timeval *) +| #define PROTOTYPES 1 +| #define __PROTOTYPES 1 +| #define RETSIGTYPE void +| #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 +| /* end confdefs.h. */ +| #include +| #if HAVE_SYS_TYPES_H +| # include +| #endif +| #if HAVE_SYS_STAT_H +| # include +| #endif +| #if STDC_HEADERS +| # include +| # include +| #else +| # if HAVE_STDLIB_H +| # include +| # endif +| #endif +| #if HAVE_STRING_H +| # if !STDC_HEADERS && HAVE_MEMORY_H +| # include +| # endif +| # include +| #endif +| #if HAVE_STRINGS_H +| # include +| #endif +| #if HAVE_INTTYPES_H +| # include +| #else +| # if HAVE_STDINT_H +| # include +| # endif +| #endif +| #if HAVE_UNISTD_H +| # include +| #endif +| int +| main () +| { +| struct stat sbuf; +| exit (stat ("", &sbuf) ? 1 : 0); +| ; +| return 0; +| } +configure:23553: result: no +configure:23571: checking whether strerror_r is declared +configure:23595: g++ -c conftest.cc >&5 +configure:23601: $? = 0 +configure:23605: test -z + || test ! -s conftest.err +configure:23608: $? = 0 +configure:23611: test -s conftest.o +configure:23614: $? = 0 +configure:23625: result: yes +configure:23647: checking for strerror_r +configure:23704: g++ -o conftest conftest.cc >&5 +configure:23710: $? = 0 +configure:23714: test -z + || test ! -s conftest.err +configure:23717: $? = 0 +configure:23720: test -s conftest +configure:23723: $? = 0 +configure:23735: result: yes +configure:23745: checking whether strerror_r returns char * +configure:23773: g++ -c conftest.cc >&5 +configure:23779: $? = 0 +configure:23783: test -z + || test ! -s conftest.err +configure:23786: $? = 0 +configure:23789: test -s conftest.o +configure:23792: $? = 0 +configure:23852: result: yes +configure:23866: checking for strftime +configure:23923: g++ -o conftest conftest.cc >&5 +configure:23929: $? = 0 +configure:23933: test -z + || test ! -s conftest.err +configure:23936: $? = 0 +configure:23939: test -s conftest +configure:23942: $? = 0 +configure:23954: result: yes +configure:24038: checking for working strtod +configure:24090: g++ -o conftest conftest.cc >&5 +conftest.cc:84: warning: declaration of 'void exit(int)' with C language linkage +conftest.cc:11: warning: conflicts with previous declaration 'void exit(int)' +conftest.cc:84: warning: due to different exception specifications +configure:24093: $? = 0 +configure:24095: ./conftest +configure:24098: $? = 0 +configure:24112: result: yes +configure:24290: checking whether utime accepts a null argument +configure:24325: g++ -o conftest conftest.cc >&5 +configure:24328: $? = 0 +configure:24330: ./conftest +configure:24333: $? = 1 +configure: program exited with status 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "infinidb" +| #define PACKAGE_TARNAME "infinidb" +| #define PACKAGE_VERSION "4.6.1" +| #define PACKAGE_STRING "infinidb 4.6.1" +| #define PACKAGE_BUGREPORT "support@infinidb.co" +| #define PACKAGE "infinidb" +| #define VERSION "4.6.1" +| #ifdef __cplusplus +| extern "C" void exit (int) throw (); +| #endif +| #define STDC_HEADERS 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_DLFCN_H 1 +| #define HAVE_ALLOCA_H 1 +| #define HAVE_ALLOCA 1 +| #define STDC_HEADERS 1 +| #define HAVE_SYS_WAIT_H 1 +| #define HAVE_ARPA_INET_H 1 +| #define HAVE_FCNTL_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_LIMITS_H 1 +| #define HAVE_MALLOC_H 1 +| #define HAVE_NETDB_H 1 +| #define HAVE_NETINET_IN_H 1 +| #define HAVE_STDDEF_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_SYS_FILE_H 1 +| #define HAVE_SYS_MOUNT_H 1 +| #define HAVE_SYS_SOCKET_H 1 +| #define HAVE_SYS_STATFS_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_SYS_TIMEB_H 1 +| #define HAVE_SYSLOG_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_UTIME_H 1 +| #define HAVE_VALUES_H 1 +| #define HAVE_STDBOOL_H 1 +| #define restrict __restrict +| #define TIME_WITH_SYS_TIME 1 +| #define HAVE_PTRDIFF_T 1 +| #define HAVE_MBSTATE_T 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_FORK 1 +| #define HAVE_VFORK 1 +| #define HAVE_WORKING_VFORK 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_MALLOC 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_ALARM 1 +| #define HAVE_SYS_SELECT_H 1 +| #define HAVE_SYS_SOCKET_H 1 +| #define SELECT_TYPE_ARG1 int +| #define SELECT_TYPE_ARG234 (fd_set *) +| #define SELECT_TYPE_ARG5 (struct timeval *) +| #define PROTOTYPES 1 +| #define __PROTOTYPES 1 +| #define RETSIGTYPE void +| #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 +| #define HAVE_DECL_STRERROR_R 1 +| #define HAVE_STRERROR_R 1 +| #define STRERROR_R_CHAR_P 1 +| #define HAVE_STRFTIME 1 +| /* end confdefs.h. */ +| +| #include +| #include +| #include +| #include +| int +| main() +| { +| struct stat s, t; +| exit (!(stat ("conftest.data", &s) == 0 +| && utime ("conftest.data", (const utimbuf *)0) == 0 +| && stat ("conftest.data", &t) == 0 +| && t.st_mtime >= s.st_mtime +| && t.st_mtime - s.st_mtime < 120)); +| } +| +| +configure:24347: result: no +configure:24394: checking for alarm +configure:24482: result: yes +configure:24394: checking for dup2 +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for floor +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for ftime +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for ftruncate +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for gethostbyname +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for getpagesize +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for gettimeofday +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for inet_ntoa +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for isascii +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for localtime_r +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for memchr +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for memmove +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for memset +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for mkdir +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for pow +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for regcomp +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for rmdir +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for select +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for setenv +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for setlocale +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for socket +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for strcasecmp +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for strchr +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for strcspn +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for strdup +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for strerror +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for strrchr +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for strspn +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for strstr +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for strtol +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for strtoul +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for strtoull +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24394: checking for utime +configure:24451: g++ -o conftest conftest.cc >&5 +configure:24457: $? = 0 +configure:24461: test -z + || test ! -s conftest.err +configure:24464: $? = 0 +configure:24467: test -s conftest +configure:24470: $? = 0 +configure:24482: result: yes +configure:24533: checking for xml2-config +configure:24551: found /usr/bin/xml2-config +configure:24564: result: /usr/bin/xml2-config +configure:24572: checking for libxml - version >= 2.6.26 +configure:24679: g++ -o conftest -I/usr/include/libxml2 conftest.cc -lxml2 -lz -lm >&5 +configure:24682: $? = 0 +configure:24684: ./conftest +configure:24687: $? = 0 +configure:24706: result: yes (version 2.7.6) +configure:24817: checking zlib.h usability +configure:24829: g++ -c conftest.cc >&5 +configure:24835: $? = 0 +configure:24839: test -z + || test ! -s conftest.err +configure:24842: $? = 0 +configure:24845: test -s conftest.o +configure:24848: $? = 0 +configure:24858: result: yes +configure:24862: checking zlib.h presence +configure:24872: g++ -E conftest.cc +configure:24878: $? = 0 +configure:24898: result: yes +configure:24933: checking for zlib.h +configure:24940: result: yes +configure:24973: checking readline/readline.h usability +configure:24985: g++ -c conftest.cc >&5 +configure:24991: $? = 0 +configure:24995: test -z + || test ! -s conftest.err +configure:24998: $? = 0 +configure:25001: test -s conftest.o +configure:25004: $? = 0 +configure:25014: result: yes +configure:25018: checking readline/readline.h presence +configure:25028: g++ -E conftest.cc +configure:25034: $? = 0 +configure:25054: result: yes +configure:25089: checking for readline/readline.h +configure:25096: result: yes +configure:25129: checking ncurses.h usability +configure:25141: g++ -c conftest.cc >&5 +configure:25147: $? = 0 +configure:25151: test -z + || test ! -s conftest.err +configure:25154: $? = 0 +configure:25157: test -s conftest.o +configure:25160: $? = 0 +configure:25170: result: yes +configure:25174: checking ncurses.h presence +configure:25184: g++ -E conftest.cc +configure:25190: $? = 0 +configure:25210: result: yes +configure:25245: checking for ncurses.h +configure:25252: result: yes +configure:25271: checking if g++ supports -Wno-unused-local-typedefs +configure:25291: g++ -c -Werror -Wno-unused-local-typedefs conftest.cc >&5 +configure:25297: $? = 0 +configure:25301: test -z + || test ! -s conftest.err +configure:25304: $? = 0 +configure:25307: test -s conftest.o +configure:25310: $? = 0 +configure:25312: result: yes +configure:25326: checking if g++ supports -Wno-unused-result +configure:25346: g++ -c -Werror -Wno-unused-result conftest.cc >&5 +configure:25352: $? = 0 +configure:25356: test -z + || test ! -s conftest.err +configure:25359: $? = 0 +configure:25362: test -s conftest.o +configure:25365: $? = 0 +configure:25367: result: yes +configure:25381: checking if g++ supports -Wno-format +configure:25401: g++ -c -Werror -Wno-format conftest.cc >&5 +configure:25407: $? = 0 +configure:25411: test -z + || test ! -s conftest.err +configure:25414: $? = 0 +configure:25417: test -s conftest.o +configure:25420: $? = 0 +configure:25422: result: yes +configure:25437: checking whether to enable debugging +configure:25459: result: no +configure:25467: checking for CPU architecture +configure:25476: result: x86_64 +configure:25655: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by infinidb config.status 4.6.1, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on srvhall03 + +config.status:848: creating Makefile +config.status:848: creating utils/Makefile +config.status:848: creating utils/boost_idb/Makefile +config.status:848: creating utils/startup/Makefile +config.status:848: creating utils/common/Makefile +config.status:848: creating utils/configcpp/Makefile +config.status:848: creating utils/loggingcpp/Makefile +config.status:848: creating utils/messageqcpp/Makefile +config.status:848: creating utils/threadpool/Makefile +config.status:848: creating utils/rwlock/Makefile +config.status:848: creating utils/dataconvert/Makefile +config.status:848: creating utils/joiner/Makefile +config.status:848: creating utils/rowgroup/Makefile +config.status:848: creating utils/cacheutils/Makefile +config.status:848: creating utils/net-snmp/Makefile +config.status:848: creating utils/funcexp/Makefile +config.status:848: creating utils/udfsdk/Makefile +config.status:848: creating utils/compress/Makefile +config.status:848: creating utils/ddlcleanup/Makefile +config.status:848: creating utils/batchloader/Makefile +config.status:848: creating utils/mysqlcl_idb/Makefile +config.status:848: creating utils/querystats/Makefile +config.status:848: creating utils/jemalloc/Makefile +config.status:848: creating utils/windowfunction/Makefile +config.status:848: creating utils/idbdatafile/Makefile +config.status:848: creating utils/idbhdfs/Makefile +config.status:848: creating utils/idbhdfs/hdfs-12/Makefile +config.status:848: creating utils/idbhdfs/hdfs-20/Makefile +config.status:848: creating utils/winport/Makefile +config.status:848: creating utils/thrift/Makefile +config.status:848: creating utils/querytele/Makefile +config.status:848: creating exemgr/Makefile +config.status:848: creating ddlproc/Makefile +config.status:848: creating dbcon/Makefile +config.status:848: creating dbcon/ddlpackage/Makefile +config.status:848: creating dbcon/ddlpackageproc/Makefile +config.status:848: creating dbcon/dmlpackage/Makefile +config.status:848: creating dbcon/dmlpackageproc/Makefile +config.status:848: creating dbcon/execplan/Makefile +config.status:848: creating dbcon/joblist/Makefile +config.status:848: creating dbcon/mysql/Makefile +config.status:848: creating dmlproc/Makefile +config.status:848: creating oam/Makefile +config.status:848: creating oam/etc/Makefile +config.status:848: creating oam/install_scripts/Makefile +config.status:848: creating oam/oamcpp/Makefile +config.status:848: creating oam/post/Makefile +config.status:848: creating oam/cloud/Makefile +config.status:848: creating oamapps/Makefile +config.status:848: creating oamapps/calpontConsole/Makefile +config.status:848: creating oamapps/calpontDB/Makefile +config.status:848: creating oamapps/postConfigure/Makefile +config.status:848: creating oamapps/serverMonitor/Makefile +config.status:848: creating oamapps/sessionWalker/Makefile +config.status:848: creating oamapps/traphandler/Makefile +config.status:848: creating oamapps/sendtrap/Makefile +config.status:848: creating oamapps/calpontSupport/Makefile +config.status:848: creating primitives/Makefile +config.status:848: creating primitives/blockcache/Makefile +config.status:848: creating primitives/linux-port/Makefile +config.status:848: creating primitives/primproc/Makefile +config.status:848: creating decomsvr/Makefile +config.status:848: creating procmgr/Makefile +config.status:848: creating procmon/Makefile +config.status:848: creating snmpd/Makefile +config.status:848: creating snmpd/etc/Makefile +config.status:848: creating snmpd/snmpmanager/Makefile +config.status:848: creating tools/Makefile +config.status:848: creating tools/editem/Makefile +config.status:848: creating tools/cplogger/Makefile +config.status:848: creating tools/clearShm/Makefile +config.status:848: creating tools/setConfig/Makefile +config.status:848: creating tools/getConfig/Makefile +config.status:848: creating tools/dbbuilder/Makefile +config.status:848: creating tools/dbloadxml/Makefile +config.status:848: creating tools/configMgt/Makefile +config.status:848: creating tools/viewtablelock/Makefile +config.status:848: creating tools/cleartablelock/Makefile +config.status:848: creating tools/ddlcleanup/Makefile +config.status:848: creating tools/idbmeminfo/Makefile +config.status:848: creating versioning/Makefile +config.status:848: creating versioning/BRM/Makefile +config.status:848: creating writeengine/Makefile +config.status:848: creating writeengine/shared/Makefile +config.status:848: creating writeengine/index/Makefile +config.status:848: creating writeengine/dictionary/Makefile +config.status:848: creating writeengine/wrapper/Makefile +config.status:848: creating writeengine/xml/Makefile +config.status:848: creating writeengine/bulk/Makefile +config.status:848: creating writeengine/client/Makefile +config.status:848: creating writeengine/splitter/Makefile +config.status:848: creating writeengine/server/Makefile +config.status:848: creating writeengine/redistribute/Makefile +config.status:848: creating net-snmp/Makefile +config.status:952: creating config.h +config.status:1594: executing depfiles commands + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_build=x86_64-unknown-linux-gnu +ac_cv_build_alias=x86_64-unknown-linux-gnu +ac_cv_c_compiler_gnu=yes +ac_cv_c_const=yes +ac_cv_c_inline=inline +ac_cv_c_restrict=__restrict +ac_cv_c_volatile=yes +ac_cv_cxx_compiler_gnu=yes +ac_cv_env_CC_set= +ac_cv_env_CC_value= +ac_cv_env_CFLAGS_set= +ac_cv_env_CFLAGS_value= +ac_cv_env_CPPFLAGS_set= +ac_cv_env_CPPFLAGS_value= +ac_cv_env_CPP_set= +ac_cv_env_CPP_value= +ac_cv_env_CXXCPP_set= +ac_cv_env_CXXCPP_value= +ac_cv_env_CXXFLAGS_set= +ac_cv_env_CXXFLAGS_value= +ac_cv_env_CXX_set= +ac_cv_env_CXX_value= +ac_cv_env_F77_set= +ac_cv_env_F77_value= +ac_cv_env_FFLAGS_set= +ac_cv_env_FFLAGS_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_build_alias_set= +ac_cv_env_build_alias_value= +ac_cv_env_host_alias_set= +ac_cv_env_host_alias_value= +ac_cv_env_target_alias_set= +ac_cv_env_target_alias_value= +ac_cv_exeext= +ac_cv_f77_compiler_gnu=no +ac_cv_func_alarm=yes +ac_cv_func_alloca_works=yes +ac_cv_func_dup2=yes +ac_cv_func_floor=yes +ac_cv_func_fnmatch_works=yes +ac_cv_func_fork=yes +ac_cv_func_fork_works=no +ac_cv_func_ftime=yes +ac_cv_func_ftruncate=yes +ac_cv_func_gethostbyname=yes +ac_cv_func_getpagesize=yes +ac_cv_func_gettimeofday=yes +ac_cv_func_inet_ntoa=yes +ac_cv_func_isascii=yes +ac_cv_func_localtime_r=yes +ac_cv_func_lstat_dereferences_slashed_symlink=yes +ac_cv_func_malloc_0_nonnull=yes +ac_cv_func_memchr=yes +ac_cv_func_memcmp_working=yes +ac_cv_func_memmove=yes +ac_cv_func_memset=yes +ac_cv_func_mkdir=yes +ac_cv_func_pow=yes +ac_cv_func_regcomp=yes +ac_cv_func_rmdir=yes +ac_cv_func_select=yes +ac_cv_func_select_args='int,fd_set *,struct timeval *' +ac_cv_func_setenv=yes +ac_cv_func_setlocale=yes +ac_cv_func_setvbuf_reversed=no +ac_cv_func_socket=yes +ac_cv_func_stat_empty_string_bug=no +ac_cv_func_strcasecmp=yes +ac_cv_func_strchr=yes +ac_cv_func_strcspn=yes +ac_cv_func_strdup=yes +ac_cv_func_strerror=yes +ac_cv_func_strerror_r=yes +ac_cv_func_strerror_r_char_p=yes +ac_cv_func_strftime=yes +ac_cv_func_strrchr=yes +ac_cv_func_strspn=yes +ac_cv_func_strstr=yes +ac_cv_func_strtod=yes +ac_cv_func_strtol=yes +ac_cv_func_strtoul=yes +ac_cv_func_strtoull=yes +ac_cv_func_utime=yes +ac_cv_func_utime_null=no +ac_cv_func_vfork=yes +ac_cv_func_vfork_works=yes +ac_cv_func_working_mktime=no +ac_cv_have_decl_strerror_r=yes +ac_cv_header_arpa_inet_h=yes +ac_cv_header_dlfcn_h=yes +ac_cv_header_fcntl_h=yes +ac_cv_header_inttypes_h=yes +ac_cv_header_limits_h=yes +ac_cv_header_malloc_h=yes +ac_cv_header_memory_h=yes +ac_cv_header_ncurses_h=yes +ac_cv_header_netdb_h=yes +ac_cv_header_netinet_in_h=yes +ac_cv_header_readline_readline_h=yes +ac_cv_header_stat_broken=no +ac_cv_header_stdbool_h=yes +ac_cv_header_stdc=yes +ac_cv_header_stddef_h=yes +ac_cv_header_stdint_h=yes +ac_cv_header_stdlib_h=yes +ac_cv_header_string_h=yes +ac_cv_header_strings_h=yes +ac_cv_header_sys_file_h=yes +ac_cv_header_sys_mount_h=yes +ac_cv_header_sys_select_h=yes +ac_cv_header_sys_socket_h=yes +ac_cv_header_sys_stat_h=yes +ac_cv_header_sys_statfs_h=yes +ac_cv_header_sys_time_h=yes +ac_cv_header_sys_timeb_h=yes +ac_cv_header_sys_types_h=yes +ac_cv_header_sys_wait_h=yes +ac_cv_header_syslog_h=yes +ac_cv_header_time=yes +ac_cv_header_unistd_h=yes +ac_cv_header_utime_h=yes +ac_cv_header_values_h=yes +ac_cv_header_vfork_h=no +ac_cv_header_zlib_h=yes +ac_cv_host=x86_64-unknown-linux-gnu +ac_cv_host_alias=x86_64-unknown-linux-gnu +ac_cv_lib_error_at_line=no +ac_cv_lib_fl_yywrap=yes +ac_cv_objext=o +ac_cv_path_XML2_CONFIG=/usr/bin/xml2-config +ac_cv_path_install='/usr/bin/install -p' +ac_cv_prog_AWK=gawk +ac_cv_prog_CPP='gcc -E' +ac_cv_prog_CXXCPP='g++ -E' +ac_cv_prog_LEX=flex +ac_cv_prog_YACC='bison -y' +ac_cv_prog_ac_ct_AR=ar +ac_cv_prog_ac_ct_CC=gcc +ac_cv_prog_ac_ct_CXX=g++ +ac_cv_prog_ac_ct_RANLIB=ranlib +ac_cv_prog_ac_ct_STRIP=strip +ac_cv_prog_cc_g=yes +ac_cv_prog_cc_stdc= +ac_cv_prog_cxx_g=yes +ac_cv_prog_egrep='grep -E' +ac_cv_prog_f77_g=no +ac_cv_prog_lex_root=lex.yy +ac_cv_prog_lex_yytext_pointer=no +ac_cv_prog_make_make_set=yes +ac_cv_struct_tm=time.h +ac_cv_type__Bool=no +ac_cv_type_mbstate_t=yes +ac_cv_type_mode_t=yes +ac_cv_type_off_t=yes +ac_cv_type_pid_t=yes +ac_cv_type_ptrdiff_t=yes +ac_cv_type_signal=void +ac_cv_type_size_t=yes +ac_cv_working_alloca_h=yes +am_cv_CC_dependencies_compiler_type=gcc3 +am_cv_CXX_dependencies_compiler_type=gcc3 +lt_cv_deplibs_check_method=pass_all +lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_ld_reload_flag=-r +lt_cv_objdir=.libs +lt_cv_path_LD=/usr/bin/ld +lt_cv_path_LDCXX='/usr/bin/ld -m elf_x86_64' +lt_cv_path_NM='/usr/bin/nm -B' +lt_cv_path_SED=/bin/sed +lt_cv_prog_compiler_c_o=yes +lt_cv_prog_compiler_c_o_CXX=yes +lt_cv_prog_compiler_rtti_exceptions=no +lt_cv_prog_gnu_ld=yes +lt_cv_prog_gnu_ldcxx=yes +lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\''' +lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr) \&\2},/p'\''' +lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern int \1;/p'\''' +lt_cv_sys_max_cmd_len=32768 +lt_lt_cv_prog_compiler_c_o='"yes"' +lt_lt_cv_prog_compiler_c_o_CXX='"yes"' +lt_lt_cv_sys_global_symbol_pipe='"sed -n -e '\''s/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'\''"' +lt_lt_cv_sys_global_symbol_to_c_name_address='"sed -n -e '\''s/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'\''"' +lt_lt_cv_sys_global_symbol_to_cdecl='"sed -n -e '\''s/^. .* \\(.*\\)\$/extern int \\1;/p'\''"' + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +ACLOCAL='${SHELL} /home/calpont/genii/missing --run aclocal-1.9' +ALLOCA='' +AMDEPBACKSLASH='\' +AMDEP_FALSE='#' +AMDEP_TRUE='' +AMTAR='${SHELL} /home/calpont/genii/missing --run tar' +AR='ar' +AUTOCONF='${SHELL} /home/calpont/genii/missing --run autoconf' +AUTOHEADER='${SHELL} /home/calpont/genii/missing --run autoheader' +AUTOMAKE='${SHELL} /home/calpont/genii/missing --run automake-1.9' +AWK='gawk' +CC='gcc' +CCDEPMODE='depmode=gcc3' +CFLAGS='' +CPP='gcc -E' +CPPFLAGS='' +CXX='g++' +CXXCPP='g++ -E' +CXXDEPMODE='depmode=gcc3' +CXXFLAGS='' +CYGPATH_W='echo' +DEFS='-DHAVE_CONFIG_H' +DEPDIR='.deps' +ECHO='echo' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +EGREP='grep -E' +EXEEXT='' +F77='' +FFLAGS='' +INSTALL_DATA='${INSTALL} -m 644' +INSTALL_PROGRAM='${INSTALL}' +INSTALL_SCRIPT='${INSTALL}' +INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s' +LDFLAGS='' +LEX='flex' +LEXLIB='-lfl' +LEX_OUTPUT_ROOT='lex.yy' +LIBOBJS=' error$U.o mktime$U.o' +LIBS='' +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +LN_S='ln -s' +LTLIBOBJS=' error$U.lo mktime$U.lo' +MAKEINFO='${SHELL} /home/calpont/genii/missing --run makeinfo' +OBJEXT='o' +PACKAGE='infinidb' +PACKAGE_BUGREPORT='support@infinidb.co' +PACKAGE_NAME='infinidb' +PACKAGE_STRING='infinidb 4.6.1' +PACKAGE_TARNAME='infinidb' +PACKAGE_VERSION='4.6.1' +PATH_SEPARATOR=':' +POW_LIB='' +RANLIB='ranlib' +SED='/bin/sed' +SET_MAKE='' +SHELL='/bin/sh' +STRIP='strip' +VERSION='4.6.1' +XML2_CONFIG='/usr/bin/xml2-config' +XML_CPPFLAGS='-I/usr/include/libxml2' +XML_LIBS='-lxml2 -lz -lm' +YACC='bison -y' +ac_ct_AR='ar' +ac_ct_CC='gcc' +ac_ct_CXX='g++' +ac_ct_F77='' +ac_ct_RANLIB='ranlib' +ac_ct_STRIP='strip' +am__fastdepCC_FALSE='#' +am__fastdepCC_TRUE='' +am__fastdepCXX_FALSE='#' +am__fastdepCXX_TRUE='' +am__include='include' +am__leading_dot='.' +am__quote='' +am__tar='${AMTAR} chof - "$$tardir"' +am__untar='${AMTAR} xf -' +bindir='${idbinstall}/bin' +build='x86_64-unknown-linux-gnu' +build_alias='' +build_cpu='x86_64' +build_os='linux-gnu' +build_vendor='unknown' +datadir='${prefix}/share' +etcdir='${idbinstall}/etc' +exec_prefix='${prefix}' +host='x86_64-unknown-linux-gnu' +host_alias='' +host_cpu='x86_64' +host_os='linux-gnu' +host_vendor='unknown' +idb_brm_libs='-lbrm -lidbdatafile -lcacheutils -lrwlock ${idb_oam_libs} ${idb_common_libs}' +idb_cflags='-g0 -O3 -fno-strict-aliasing -Wall' +idb_common_includes='-I${idbinstall}/include -I/usr/local/include -I/usr/local/include/libxml2 -I/usr/include/libxml2' +idb_common_ldflags='-L${idbinstall}/lib -L/usr/local/lib' +idb_common_libs='-lmessageqcpp -lloggingcpp -lconfigcpp -lidbboot -lboost_idb -lxml2 -lpthread -lrt' +idb_cppflags=' ' +idb_cxxflags='-g0 -O3 -fno-strict-aliasing -Wall -Wno-unused-local-typedefs -Wno-unused-result -Wno-format' +idb_exec_libs='-ljoblist -lexecplan -lwindowfunction -ljoiner -lrowgroup -lfuncexp -ludfsdk -ldataconvert -lcommon -lcompress -lmysqlcl_idb -lquerystats -lquerytele -lthrift -lthreadpool ${idb_brm_libs}' +idb_ldflags='-Wl,--rpath -Wl,${idbinstall}/lib -Wl,--no-as-needed -Wl,--add-needed' +idb_oam_libs='-loamcpp -lsnmpmanager ${netsnmp_libs}' +idb_write_libs='-lddlpackageproc -lddlpackage -ldmlpackageproc -ldmlpackage -lwriteengine -lwriteengineclient -lidbdatafile -lcacheutils ${idb_exec_libs}' +idbinstall='${prefix}' +includedir='${idbinstall}/include' +infodir='${prefix}/info' +install_sh='/home/calpont/genii/install-sh' +libdir='${idbinstall}/lib' +libexecdir='${exec_prefix}/libexec' +localdir='${idbinstall}/local' +localstatedir='${prefix}/var' +mandir='${idbinstall}/man' +march_flags=' ' +mibdir='${idbinstall}/share/snmp/mibs' +mkdir_p='mkdir -p --' +mysqldir='${idbinstall}/mysql' +netsnmp_libs='-lnetsnmpmibs -lnetsnmpagent -lnetsnmp -lnetsnmpmibs -lnetsnmphelpers' +netsnmpagntdir='${idbinstall}/include/net-snmp/agent' +netsnmpdir='${idbinstall}/include/net-snmp' +netsnmplibrdir='${idbinstall}/include/net-snmp/library' +netsnmpmachdir='${idbinstall}/include/net-snmp/machine' +netsnmpsysdir='${idbinstall}/include/net-snmp/system' +oldincludedir='/usr/include' +postdir='${idbinstall}/post' +prefix='/usr/local' +program_transform_name='s,x,x,' +sbindir='${idbinstall}/sbin' +sharedir='${idbinstall}/share' +sharedstatedir='${prefix}/com' +sysconfdir='${idbinstall}/etc' +target_alias='' +toolsdir='${idbinstall}/tools' + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +#define HAVE_ALARM 1 +#define HAVE_ALARM 1 +#define HAVE_ALLOCA 1 +#define HAVE_ALLOCA_H 1 +#define HAVE_ARPA_INET_H 1 +#define HAVE_DECL_STRERROR_R 1 +#define HAVE_DLFCN_H 1 +#define HAVE_DUP2 1 +#define HAVE_FCNTL_H 1 +#define HAVE_FLOOR 1 +#define HAVE_FORK 1 +#define HAVE_FTIME 1 +#define HAVE_FTRUNCATE 1 +#define HAVE_GETHOSTBYNAME 1 +#define HAVE_GETPAGESIZE 1 +#define HAVE_GETTIMEOFDAY 1 +#define HAVE_INET_NTOA 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_ISASCII 1 +#define HAVE_LIMITS_H 1 +#define HAVE_LOCALTIME_R 1 +#define HAVE_MALLOC 1 +#define HAVE_MALLOC_H 1 +#define HAVE_MBSTATE_T 1 +#define HAVE_MEMCHR 1 +#define HAVE_MEMMOVE 1 +#define HAVE_MEMORY_H 1 +#define HAVE_MEMSET 1 +#define HAVE_MKDIR 1 +#define HAVE_NCURSES_H 1 +#define HAVE_NETDB_H 1 +#define HAVE_NETINET_IN_H 1 +#define HAVE_POW 1 +#define HAVE_PTRDIFF_T 1 +#define HAVE_READLINE_READLINE_H 1 +#define HAVE_REGCOMP 1 +#define HAVE_RMDIR 1 +#define HAVE_SELECT 1 +#define HAVE_SETENV 1 +#define HAVE_SETLOCALE 1 +#define HAVE_SOCKET 1 +#define HAVE_STDBOOL_H 1 +#define HAVE_STDDEF_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRCASECMP 1 +#define HAVE_STRCHR 1 +#define HAVE_STRCSPN 1 +#define HAVE_STRDUP 1 +#define HAVE_STRERROR 1 +#define HAVE_STRERROR_R 1 +#define HAVE_STRFTIME 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_STRING_H 1 +#define HAVE_STRRCHR 1 +#define HAVE_STRSPN 1 +#define HAVE_STRSTR 1 +#define HAVE_STRTOL 1 +#define HAVE_STRTOUL 1 +#define HAVE_STRTOULL 1 +#define HAVE_SYSLOG_H 1 +#define HAVE_SYS_FILE_H 1 +#define HAVE_SYS_MOUNT_H 1 +#define HAVE_SYS_SELECT_H 1 +#define HAVE_SYS_SOCKET_H 1 +#define HAVE_SYS_SOCKET_H 1 +#define HAVE_SYS_STATFS_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_SYS_TIMEB_H 1 +#define HAVE_SYS_TIME_H 1 +#define HAVE_SYS_TIME_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_SYS_WAIT_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_UTIME 1 +#define HAVE_UTIME_H 1 +#define HAVE_VALUES_H 1 +#define HAVE_VFORK 1 +#define HAVE_WORKING_VFORK 1 +#define HAVE_ZLIB_H 1 +#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 +#define PACKAGE "infinidb" +#define PACKAGE_BUGREPORT "support@infinidb.co" +#define PACKAGE_NAME "infinidb" +#define PACKAGE_STRING "infinidb 4.6.1" +#define PACKAGE_TARNAME "infinidb" +#define PACKAGE_VERSION "4.6.1" +#define PROTOTYPES 1 +#define RETSIGTYPE void +#define SELECT_TYPE_ARG1 int +#define SELECT_TYPE_ARG234 (fd_set *) +#define SELECT_TYPE_ARG5 (struct timeval *) +#define STDC_HEADERS 1 +#define STDC_HEADERS 1 +#define STRERROR_R_CHAR_P 1 +#define TIME_WITH_SYS_TIME 1 +#define VERSION "4.6.1" +#define __PROTOTYPES 1 +#define restrict __restrict +#endif +#ifdef __cplusplus +extern "C" void exit (int) throw (); + +configure: exit 0 + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by infinidb config.status 4.6.1, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on srvhall03 + +config.status:848: creating Makefile +config.status:848: creating utils/Makefile +config.status:848: creating utils/boost_idb/Makefile +config.status:848: creating utils/startup/Makefile +config.status:848: creating utils/common/Makefile +config.status:848: creating utils/configcpp/Makefile +config.status:848: creating utils/loggingcpp/Makefile +config.status:848: creating utils/messageqcpp/Makefile +config.status:848: creating utils/threadpool/Makefile +config.status:848: creating utils/rwlock/Makefile +config.status:848: creating utils/dataconvert/Makefile +config.status:848: creating utils/joiner/Makefile +config.status:848: creating utils/rowgroup/Makefile +config.status:848: creating utils/cacheutils/Makefile +config.status:848: creating utils/net-snmp/Makefile +config.status:848: creating utils/funcexp/Makefile +config.status:848: creating utils/udfsdk/Makefile +config.status:848: creating utils/compress/Makefile +config.status:848: creating utils/ddlcleanup/Makefile +config.status:848: creating utils/batchloader/Makefile +config.status:848: creating utils/mysqlcl_idb/Makefile +config.status:848: creating utils/querystats/Makefile +config.status:848: creating utils/jemalloc/Makefile +config.status:848: creating utils/windowfunction/Makefile +config.status:848: creating utils/idbdatafile/Makefile +config.status:848: creating utils/idbhdfs/Makefile +config.status:848: creating utils/idbhdfs/hdfs-12/Makefile +config.status:848: creating utils/idbhdfs/hdfs-20/Makefile +config.status:848: creating utils/winport/Makefile +config.status:848: creating utils/thrift/Makefile +config.status:848: creating utils/querytele/Makefile +config.status:848: creating exemgr/Makefile +config.status:848: creating ddlproc/Makefile +config.status:848: creating dbcon/Makefile +config.status:848: creating dbcon/ddlpackage/Makefile +config.status:848: creating dbcon/ddlpackageproc/Makefile +config.status:848: creating dbcon/dmlpackage/Makefile +config.status:848: creating dbcon/dmlpackageproc/Makefile +config.status:848: creating dbcon/execplan/Makefile +config.status:848: creating dbcon/joblist/Makefile +config.status:848: creating dbcon/mysql/Makefile +config.status:848: creating dmlproc/Makefile +config.status:848: creating oam/Makefile +config.status:848: creating oam/etc/Makefile +config.status:848: creating oam/install_scripts/Makefile +config.status:848: creating oam/oamcpp/Makefile +config.status:848: creating oam/post/Makefile +config.status:848: creating oam/cloud/Makefile +config.status:848: creating oamapps/Makefile +config.status:848: creating oamapps/calpontConsole/Makefile +config.status:848: creating oamapps/calpontDB/Makefile +config.status:848: creating oamapps/postConfigure/Makefile +config.status:848: creating oamapps/serverMonitor/Makefile +config.status:848: creating oamapps/sessionWalker/Makefile +config.status:848: creating oamapps/traphandler/Makefile +config.status:848: creating oamapps/sendtrap/Makefile +config.status:848: creating oamapps/calpontSupport/Makefile +config.status:848: creating primitives/Makefile +config.status:848: creating primitives/blockcache/Makefile +config.status:848: creating primitives/linux-port/Makefile +config.status:848: creating primitives/primproc/Makefile +config.status:848: creating decomsvr/Makefile +config.status:848: creating procmgr/Makefile +config.status:848: creating procmon/Makefile +config.status:848: creating snmpd/Makefile +config.status:848: creating snmpd/etc/Makefile +config.status:848: creating snmpd/snmpmanager/Makefile +config.status:848: creating tools/Makefile +config.status:848: creating tools/editem/Makefile +config.status:848: creating tools/cplogger/Makefile +config.status:848: creating tools/clearShm/Makefile +config.status:848: creating tools/setConfig/Makefile +config.status:848: creating tools/getConfig/Makefile +config.status:848: creating tools/dbbuilder/Makefile +config.status:848: creating tools/dbloadxml/Makefile +config.status:848: creating tools/configMgt/Makefile +config.status:848: creating tools/viewtablelock/Makefile +config.status:848: creating tools/cleartablelock/Makefile +config.status:848: creating tools/ddlcleanup/Makefile +config.status:848: creating tools/idbmeminfo/Makefile +config.status:848: creating versioning/Makefile +config.status:848: creating versioning/BRM/Makefile +config.status:848: creating writeengine/Makefile +config.status:848: creating writeengine/shared/Makefile +config.status:848: creating writeengine/index/Makefile +config.status:848: creating writeengine/dictionary/Makefile +config.status:848: creating writeengine/wrapper/Makefile +config.status:848: creating writeengine/xml/Makefile +config.status:848: creating writeengine/bulk/Makefile +config.status:848: creating writeengine/client/Makefile +config.status:848: creating writeengine/splitter/Makefile +config.status:848: creating writeengine/server/Makefile +config.status:848: creating writeengine/redistribute/Makefile +config.status:848: creating net-snmp/Makefile +config.status:952: creating config.h +config.status:1278: config.h is unchanged +config.status:1594: executing depfiles commands diff --git a/dbcon/joblist/fdtests.pl b/dbcon/joblist/fdtests.pl index 7ac347b87..8455718b4 100755 --- a/dbcon/joblist/fdtests.pl +++ b/dbcon/joblist/fdtests.pl @@ -6,7 +6,7 @@ use DBI; use DBD::mysql; $databasename='calpont'; -$cnffile='/usr/local/Calpont/mysql/my.cnf'; +$cnffile='/usr/local/MariaDB/Columnstore/mysql/my.cnf'; $data_source = 'DBI:mysql:database=' . $databasename . ':mysql_read_default_file=' . $cnffile . ''; $username = 'root'; diff --git a/dbcon/joblist/largehashjoin.cpp b/dbcon/joblist/largehashjoin.cpp index b9a6a959f..ddab57450 100644 --- a/dbcon/joblist/largehashjoin.cpp +++ b/dbcon/joblist/largehashjoin.cpp @@ -42,7 +42,7 @@ namespace void logDiskIoInfo(uint64_t stepId, const AnyDataListSPtr& spdl) { boost::mutex::scoped_lock lk(fileLock_g); - ofstream umDiskIoFile("/var/log/Calpont/trace/umdiskio.log", ios_base::app); + ofstream umDiskIoFile("/var/log/Columnstore/trace/umdiskio.log", ios_base::app); CalpontSystemCatalog::OID oid; uint64_t maxBuckets = 0; @@ -106,7 +106,7 @@ void logDiskIoInfo(uint64_t stepId, const AnyDataListSPtr& spdl) // move the current file to bak when size above .5 G, so total log is 1 G if (curPos > 0x20000000) { - (void)system("/bin/mv /var/log/Calpont/trace/umdiskio.log /var/log/Calpont/trace/umdiskio.bak"); + (void)system("/bin/mv /var/log/Columnstore/trace/umdiskio.log /var/log/Columnstore/trace/umdiskio.bak"); } } diff --git a/dbcon/mysql/Makefile.am b/dbcon/mysql/Makefile.am index eaccd8f25..de4143c93 100644 --- a/dbcon/mysql/Makefile.am +++ b/dbcon/mysql/Makefile.am @@ -25,7 +25,7 @@ libcalmysql_la_CPPFLAGS = -I/usr/include/libxml2 -I../../../mysql/include -I../. include_HEADERS = idb_mysql.h dist_mysql_DATA = syscatalog_mysql.sql dumpcat_mysql.sql calsetuserpriority.sql calremoveuserpriority.sql calshowprocesslist.sql my.cnf -dist_mysql_SCRIPTS = install_calpont_mysql.sh mysql-Calpont dumpcat.pl +mysql-Columnstore = install_calpont_mysql.sh mysql-Calpont dumpcat.pl test: diff --git a/dbcon/mysql/Makefile.in b/dbcon/mysql/Makefile.in index b7509130f..f1ab264c3 100644 --- a/dbcon/mysql/Makefile.in +++ b/dbcon/mysql/Makefile.in @@ -40,7 +40,7 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = dbcon/mysql -DIST_COMMON = $(dist_mysql_DATA) $(dist_mysql_SCRIPTS) \ +DIST_COMMON = $(dist_mysql_DATA) $(mysql-Columnstore) \ $(include_HEADERS) $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/compilerflags.m4 \ @@ -75,7 +75,7 @@ am_libcalmysql_la_OBJECTS = libcalmysql_la-ha_calpont.lo \ libcalmysql_la-ha_pseudocolumn.lo libcalmysql_la_OBJECTS = $(am_libcalmysql_la_OBJECTS) dist_mysqlSCRIPT_INSTALL = $(INSTALL_SCRIPT) -SCRIPTS = $(dist_mysql_SCRIPTS) +SCRIPTS = $(mysql-Columnstore) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -255,7 +255,7 @@ libcalmysql_la_LDFLAGS = -version-info 1:0:0 $(idb_common_ldflags) $(idb_common_ libcalmysql_la_CPPFLAGS = -I/usr/include/libxml2 -I../../../mysql/include -I../../../mysql/sql -I../../../mysql/regex -DMYSQL_DYNAMIC_PLUGIN $(AM_CPPFLAGS) include_HEADERS = idb_mysql.h dist_mysql_DATA = syscatalog_mysql.sql dumpcat_mysql.sql calsetuserpriority.sql calremoveuserpriority.sql calshowprocesslist.sql my.cnf -dist_mysql_SCRIPTS = install_calpont_mysql.sh mysql-Calpont dumpcat.pl +mysql-Columnstore = install_calpont_mysql.sh mysql-Calpont dumpcat.pl all: all-am .SUFFIXES: @@ -318,10 +318,10 @@ clean-libLTLIBRARIES: done libcalmysql.la: $(libcalmysql_la_OBJECTS) $(libcalmysql_la_DEPENDENCIES) $(CXXLINK) -rpath $(libdir) $(libcalmysql_la_LDFLAGS) $(libcalmysql_la_OBJECTS) $(libcalmysql_la_LIBADD) $(LIBS) -install-dist_mysqlSCRIPTS: $(dist_mysql_SCRIPTS) +install-dist_mysqlSCRIPTS: $(mysql-Columnstore) @$(NORMAL_INSTALL) test -z "$(mysqldir)" || $(mkdir_p) "$(DESTDIR)$(mysqldir)" - @list='$(dist_mysql_SCRIPTS)'; for p in $$list; do \ + @list='$(mysql-Columnstore)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f $$d$$p; then \ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ @@ -332,7 +332,7 @@ install-dist_mysqlSCRIPTS: $(dist_mysql_SCRIPTS) uninstall-dist_mysqlSCRIPTS: @$(NORMAL_UNINSTALL) - @list='$(dist_mysql_SCRIPTS)'; for p in $$list; do \ + @list='$(mysql-Columnstore)'; for p in $$list; do \ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ echo " rm -f '$(DESTDIR)$(mysqldir)/$$f'"; \ rm -f "$(DESTDIR)$(mysqldir)/$$f"; \ diff --git a/dbcon/mysql/dumpcat.pl b/dbcon/mysql/dumpcat.pl index fcbeaddb0..1a4641102 100755 --- a/dbcon/mysql/dumpcat.pl +++ b/dbcon/mysql/dumpcat.pl @@ -5,7 +5,7 @@ use DBI; use DBD::mysql; -$data_source = 'DBI:mysql:database=calpontsys:mysql_read_default_file=/usr/local/Calpont/mysql/my.cnf'; +$data_source = 'DBI:mysql:database=calpontsys:mysql_read_default_file=/usr/local/MariaDB/Columnstore/mysql/my.cnf'; $username = 'root'; $auth = ''; %attr = (); diff --git a/dbcon/mysql/files.lst b/dbcon/mysql/files.lst index 2a063ac54..45621bda5 100644 --- a/dbcon/mysql/files.lst +++ b/dbcon/mysql/files.lst @@ -1,3 +1,3 @@ ./my.cnf -./mysql-Calpont +./mysql-Columnstore ./install_calpont_mysql.sh diff --git a/dbcon/mysql/my.cnf b/dbcon/mysql/my.cnf index 1f47b67de..243c774cc 100644 --- a/dbcon/mysql/my.cnf +++ b/dbcon/mysql/my.cnf @@ -20,15 +20,15 @@ [client] #password = your_password port = 3306 -socket = /usr/local/Calpont/mysql/lib/mysql/mysql.sock +socket = /usr/local/MariaDB/Columnstore/mysql/lib/mysql/mysql.sock # Here follows entries for some specific programs # The MySQL server [mysqld] port = 3306 -socket = /usr/local/Calpont/mysql/lib/mysql/mysql.sock -datadir = /usr/local/Calpont/mysql/db +socket = /usr/local/MariaDB/Columnstore/mysql/lib/mysql/mysql.sock +datadir = /usr/local/MariaDB/Columnstore/mysql/db skip-external-locking key_buffer_size = 512M max_allowed_packet = 1M @@ -62,10 +62,10 @@ infinidb_um_mem_limit=0 infinidb_use_import_for_batchinsert=1 infinidb_import_for_batchinsert_delimiter=7 -basedir = /usr/local/Calpont/mysql/ -character-sets-dir = /usr/local/Calpont/mysql/share/mysql/charsets/ -language = /usr/local/Calpont/mysql/share/mysql/english/ -plugin_dir = /usr/local/Calpont/mysql/lib64/mysql/plugin +basedir = /usr/local/MariaDB/Columnstore/mysql/ +character-sets-dir = /usr/local/MariaDB/Columnstore/mysql/share/mysql/charsets/ +language = /usr/local/MariaDB/Columnstore/mysql/share/mysql/english/ +plugin_dir = /usr/local/MariaDB/Columnstore/mysql/lib64/mysql/plugin # Don't listen on a TCP/IP port at all. This can be a security enhancement, # if all processes that need to connect to mysqld run on the same host. @@ -134,20 +134,20 @@ slave-skip-errors=all #master-port = # # binary logging - not required for slaves, but recommended -log-bin=/usr/local/Calpont/mysql/db/mysql-bin -relay-log=/usr/local/Calpont/mysql/db/relay-bin -relay-log-index = /usr/local/Calpont/mysql/db/relay-bin.index -relay-log-info-file = /usr/local/Calpont/mysql/db/relay-bin.info +log-bin=/usr/local/MariaDB/Columnstore/mysql/db/mysql-bin +relay-log=/usr/local/MariaDB/Columnstore/mysql/db/relay-bin +relay-log-index = /usr/local/MariaDB/Columnstore/mysql/db/relay-bin.index +relay-log-info-file = /usr/local/MariaDB/Columnstore/mysql/db/relay-bin.info # Point the following paths to different dedicated disks #tmpdir = /tmp/ #log-update = /path-to-dedicated-directory/hostname # Uncomment the following if you are using InnoDB tables -#innodb_data_home_dir = /usr/local/Calpont/mysql/lib/mysql/ +#innodb_data_home_dir = /usr/local/MariaDB/Columnstore/mysql/lib/mysql/ #innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend -#innodb_log_group_home_dir = /usr/local/Calpont/mysql/lib/mysql/ -#innodb_log_arch_dir = /usr/local/Calpont/mysql/lib/mysql/ +#innodb_log_group_home_dir = /usr/local/MariaDB/Columnstore/mysql/lib/mysql/ +#innodb_log_arch_dir = /usr/local/MariaDB/Columnstore/mysql/lib/mysql/ # You can set .._buffer_pool_size up to 50 - 80 % # of RAM but beware of setting memory usage too high #innodb_buffer_pool_size = 384M diff --git a/dbcon/mysql/mysql-Calpont b/dbcon/mysql/mysql-Calpont index 3fd3e5d8b..941de2fd5 100755 --- a/dbcon/mysql/mysql-Calpont +++ b/dbcon/mysql/mysql-Calpont @@ -55,7 +55,7 @@ service_startup_timeout=30 # Lock directory for RedHat / SuSE. lockdir='/var/lock/subsys' -lock_file_path="$lockdir/mysql-Calpont" +lock_file_path="$lockdir/mysql-Columnstore" # The following variables are only set for letting mysql.server find things. diff --git a/dbcon/mysql/schemaSync.pl b/dbcon/mysql/schemaSync.pl index 22edb1c10..f10705a4b 100755 --- a/dbcon/mysql/schemaSync.pl +++ b/dbcon/mysql/schemaSync.pl @@ -7,7 +7,7 @@ use DBD::mysql; $| = 1; -$cfgfile='/usr/local/Calpont/mysql/my.cnf'; +$cfgfile='/usr/local/MariaDB/Columnstore/mysql/my.cnf'; $username = 'root'; $auth = ''; diff --git a/export/bin/binary_installer.sh b/export/bin/binary_installer.sh deleted file mode 100755 index c8a20ee38..000000000 --- a/export/bin/binary_installer.sh +++ /dev/null @@ -1,330 +0,0 @@ -#!/usr/bin/expect -# -# $Id$ -# -# Install RPM and custom OS files on system -# Argument 1 - Remote Module Name -# Argument 2 - Remote Server Host Name or IP address -# Argument 3 - User Password of remote server -# Argument 4 - Package name being installed -# Argument 5 - Module type? -# Argument 6 - Install Type, "initial" or "upgrade" -# Argument 7 - Server type? -# Argument 8 - Debug flag 1 for on, 0 for off -# Argument 9 - install dir (optional) -# Argument 10 - user name (optional) -set USERNAME root -set MODULE [lindex $argv 0] -set SERVER [lindex $argv 1] -set PASSWORD [lindex $argv 2] -set CALPONTPKG [lindex $argv 3] -set MODULETYPE [lindex $argv 4] -set INSTALLTYPE [lindex $argv 5] -set PKGTYPE "binary" -set SERVERTYPE [lindex $argv 6] -set MYSQLPORT [lindex $argv 7] -set DEBUG [lindex $argv 8] -set INSTALLDIR "/usr/local/MariaDB/Columnstore" -set IDIR [lindex $argv 9] -if { $IDIR != "" } { - set INSTALLDIR $IDIR -} -set env(INFINIDB_INSTALL_DIR) $INSTALLDIR -set PREFIX [file dirname $INSTALLDIR] -set USERNAME $env(USER) -set UNM [lindex $argv 10] -if { $UNM != "" } { - set USERNAME $UNM -} - -set BASH "/bin/bash " -if { $DEBUG == "1" } { - set BASH "/bin/bash -x " -} - -log_user $DEBUG -spawn -noecho /bin/bash -# - -if { $INSTALLTYPE == "initial" || $INSTALLTYPE == "uninstall" } { - # - # remove Calpont files - # - send_user "Uninstall Calpont Package " - send " \n" - send date\n - send "ssh $USERNAME@$SERVER 'rm -f /etc/init.d/infinidb /etc/init.d/mysql-Calpont $INSTALLDIR/releasenum >/dev/null 2>&1'\n" - set timeout 20 - expect { - "Host key verification failed" { send_user "FAILED: Host key verification failed\n" ; exit 1} - "service not known" { send_user "FAILED: Invalid Host\n" ; exit 1} - "authenticity" { send "yes\n" - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } - "Calpont uninstall completed" { send_user "DONE" } - } - set timeout 30 - expect { - "Read-only file system" { send_user "ERROR: local disk - Read-only file system\n" ; exit 1} - "Calpont uninstall completed" { send_user "DONE" } - } - send_user "\n" -} -if { $INSTALLTYPE == "uninstall" } { - exit 0 -} -sleep 10 -# -# send the Calpont package -# -send_user "Copy New Calpont Package to Module " -send " \n" -send date\n -send "scp $CALPONTPKG $USERNAME@$SERVER:$CALPONTPKG\n" -set timeout 10 -expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } -} -set timeout 120 -expect { - "100%" { send_user "DONE" } - "scp:" { send_user "ERROR\n" ; - send_user "\n*** Installation ERROR\n" ; - exit 1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "No such file or directory" { send_user "ERROR: Invalid package\n" ; exit 1 } - "Read-only file system" { send_user "ERROR: local disk - Read-only file system\n" ; exit 1} - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } - timeout { send_user "ERROR: Timeout\n" ; exit 1 } -} -send_user "\n" -#sleep to make sure it's finished -sleep 5 -# -# install package -# -send_user "Install Calpont Package on Module " -send " \n" -send date\n -send "ssh $USERNAME@$SERVER 'tar -C $PREFIX --exclude db -zxf $CALPONTPKG;cat $INSTALLDIR/releasenum'\n" -set timeout 10 -expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } -} -set timeout 120 -expect { - "release=" { send_user "DONE" } - "No such file" { send_user "ERROR: Binary Install Failed, binary/releasenum not found\n" ; exit 1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "Read-only file system" { send_user "ERROR: local disk - Read-only file system\n" ; exit 1} - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } - timeout { send_user "ERROR: Timeout\n" ; exit 1 } -} -#sleep to give time for cat Calpont/releasenum to complete -sleep 5 - -send_user "\n" -send_user "Run post-install script " -send " \n" -send date\n -send "ssh $USERNAME@$SERVER '$INSTALLDIR/bin/post-install --installdir=$INSTALLDIR'\n" -set timeout 10 -expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } -} -set timeout 60 -# check return -expect { - "InfiniDB syslog logging not working" { send_user "ERROR: InfiniDB System logging not setup\n" ; exit 1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "Read-only file system" { send_user "ERROR: local disk - Read-only file system\n" ; exit 1} - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } - "postConfigure" { send_user "DONE" } -} -send_user "\n" -sleep 10 -# -if { $INSTALLTYPE == "initial"} { - # - # copy over calpont config file - # - send_user "Copy Calpont Config file to Module " - send " \n" - send date\n - send "scp $INSTALLDIR/etc/* $USERNAME@$SERVER:$INSTALLDIR/etc\n" - set timeout 10 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - set timeout 30 - expect { - -re {[$#] } { send_user "DONE" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "Read-only file system" { send_user "ERROR: local disk - Read-only file system\n" ; exit 1} - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } - } - send_user "\n" - # - # copy over custom OS tmp files - # - send_user "Copy Custom OS files to Module " - send " \n" - send date\n - send "scp -r $INSTALLDIR/local/etc $USERNAME@$SERVER:$INSTALLDIR/local\n" - set timeout 10 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - set timeout 60 - expect { - -re {[$#] } { send_user "DONE" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "Read-only file system" { send_user "ERROR: local disk - Read-only file system\n" ; exit 1} - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } - } - send_user "\n" - # - # copy over calpont OS files - # - send_user "Copy Calpont OS files to Module " - send " \n" - send date\n - send "scp $INSTALLDIR/local/etc/$MODULE/* $USERNAME@$SERVER:$INSTALLDIR/local\n" - set timeout 10 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - "Read-only file system" { send_user "ERROR: local disk - Read-only file system\n" ; exit 1} - } - set timeout 60 - expect { - -re {[$#] } { send_user "DONE" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } - } - send_user "\n" - # - # Start module installer to setup Customer OS files - # - send_user "Run Module Installer " - send " \n" - send date\n - send "ssh $USERNAME@$SERVER '$INSTALLDIR/bin/module_installer.sh --module=$MODULETYPE --port=$MYSQLPORT --installdir=$INSTALLDIR $MODULETYPE'\n" - set timeout 10 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - set timeout 60 - expect { - "!!!Module" { send_user "DONE" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "FAILED" { send_user "ERROR: missing module file\n" ; exit 1 } - "Read-only file system" { send_user "ERROR: local disk - Read-only file system\n" ; exit 1} - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } - "No such file" { send_user "ERROR: File Not Found\n" ; exit 1 } - } - send_user "\n" - sleep 10 - if { $MODULETYPE == "um" || $SERVERTYPE == "2" || $SERVERTYPE == "pmwithum" } { - # - # run mysql setup scripts - # - send_user "Run MySQL Setup Scripts on Module " - send " \n" - send date\n - send "ssh $USERNAME@$SERVER '$INSTALLDIR/bin/post-mysqld-install --installdir=$INSTALLDIR'\n" - set timeout 10 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - set timeout 60 - expect { - "ERROR" { send_user "ERROR: Daemon failed to run"; - exit 1 } - "FAILED" { send_user "ERROR: Daemon failed to run"; - exit 1 } - "Read-only file system" { send_user "ERROR: local disk - Read-only file system\n" ; exit 1} - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } - } - - send " \n" - send date\n - send "ssh $USERNAME@$SERVER '$INSTALLDIR/bin/post-mysql-install --installdir=$INSTALLDIR'\n" - set timeout 10 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - set timeout 60 - expect { - "Shutting down mysql." { send_user "DONE" } - timeout { send_user "DONE" } - "ERROR" { send_user "ERROR: Daemon failed to run"; - exit 1 } - "FAILED" { send_user "ERROR: Daemon failed to run"; - exit 1 } - "Read-only file system" { send_user "ERROR: local disk - Read-only file system\n" ; exit 1} - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } - } - send_user "\n" - } -} - -# -# check InfiniDB syslog functionality -# -send_user "Check InfiniDB system logging functionality " -send " \n" -send date\n -send "ssh $USERNAME@$SERVER '$INSTALLDIR/bin/syslogSetup.sh check'\n" -set timeout 10 -expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } -} -set timeout 30 -expect { - "Logging working" { send_user "DONE" } - timeout { send_user "DONE" } - "not working" { send_user "WARNING: InfiniDB system logging functionality not working" } - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } -} -send_user "\n" - -send_user "\nInstallation Successfully Completed on '$MODULE'\n" -exit 0 - diff --git a/export/bin/columnstore b/export/bin/columnstore deleted file mode 100755 index c5d44a947..000000000 --- a/export/bin/columnstore +++ /dev/null @@ -1,184 +0,0 @@ -#!/bin/bash -# -# $Id: columnstore 3704 2013-08-07 03:33:20Z bwilkinson $ -# -# columnstore Starts MariaDB Columnstore database platform -# -# -# chkconfig: 2345 99 99 -# description: MariaDB Columnstore is a database platform that utilizes Mysql -# -### BEGIN INIT INFO -# Provides: columnstore -# Required-Start: $local_fs $remote_fs $network $syslog $all -# Required-Stop: $local_fs $remote_fs $network $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Start/stop InfiniDB DW DBMS -### END INIT INFO - -# Source function library. -if [ -f /etc/init.d/functions ]; then - . /etc/init.d/functions -fi - -if [ -z "$INFINIDB_INSTALL_DIR" ]; then - test -f /etc/default/columnstore && . /etc/default/columnstore -fi - -if [ -z "$INFINIDB_INSTALL_DIR" ]; then - INFINIDB_INSTALL_DIR=/usr/local/MariaDB/Columnstore -fi - -export INFINIDB_INSTALL_DIR=$INFINIDB_INSTALL_DIR - -InstallDir=$INFINIDB_INSTALL_DIR - -if [ $InstallDir != "/usr/local/Calpont" ]; then - export PATH=$InstallDir/bin:$InstallDir/mysql/bin:/bin:/usr/bin - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$InstallDir/lib:$InstallDir/mysql/lib/mysql -fi - -#hadoop -plugin=`$INFINIDB_INSTALL_DIR/bin/getConfig SystemConfig DataFilePlugin` -if [ -n "$plugin" ]; then - setenv=`$InstallDir/bin/getConfig SystemConfig DataFileEnvFile` - . $InstallDir/bin/$setenv >/dev/null 2>&1 -fi - -if [ -e $InstallDir/lib/libjemalloc.so ]; then - export LD_PRELOAD=$InstallDir/lib/libjemalloc.so -elif [ -e $InstallDir/lib/libjemalloc.so.1 ]; then - export LD_PRELOAD=$InstallDir/lib/libjemalloc.so.1 -fi - -test -f $InstallDir/post/functions && . $InstallDir/post/functions - -mt=`module_type` -mid=`module_id` - -has_um=`$InstallDir/bin/getConfig SystemModuleConfig ModuleCount2` -if [ "x$has_um" = x ]; then - has_um=0 -fi - -user=$USER -if [ -z "$user" ]; then - user=root -fi - -checkInstallSetup() { - InitialInstallFlag=`$InstallDir/bin/getConfig -c $InstallDir/etc/Calpont.xml Installation InitialInstallFlag` - if [ $InitialInstallFlag != "y" ]; then - echo "Please run the postConfigure install script, check the Installation Guide" - echo "for additional details" - rm -f /var/lock/subsys/columnstore - exit 1 - fi -} - -[ -f $InstallDir/bin/ProcMon ] || exit 0 - -start() { - if [ -f /var/lock/subsys/columnstore ]; then - echo "MariaDB Columnstore Database Platform already running" - exit 0 - fi - - (mkdir -p /var/lock/subsys && touch /var/lock/subsys/columnstore) >/dev/null 2>&1 - - if [ -x $InstallDir/bin/columnstore.pre-start ]; then - $InstallDir/bin/columnstore.pre-start - if [ $? -ne 0 ]; then - echo "Error running MariaDB Columnstore pre-start script, not starting MariaDB Columnstore" - rm -f /var/lock/subsys/columnstore - exit 1 - fi - fi - checkInstallSetup - - CoreFileFlag=`$InstallDir/bin/getConfig -c $InstallDir/etc/Calpont.xml Installation CoreFileFlag` - if [ $CoreFileFlag = "y" ]; then - SUDO= - if [ "$user" != "root" ]; then - SUDO="sudo" - fi - - #columnstore core files - $SUDO ulimit -c unlimited > /dev/null 2>&1 - $SUDO sysctl -q -w kernel.core_uses_pid=1 > /dev/null 2>&1 - $SUDO sysctl -q -w kernel.core_pattern=/var/log/Calpont/corefiles/core.%e.%p > /dev/null 2>&1 - fi - - RETVAL=0 - echo "Starting MariaDB Columnstore Database Platform" - rm -f /tmp/StopCalpont - exec $InstallDir/bin/run.sh $InstallDir/bin/ProcMon > /dev/null 2>&1 & - - return $RETVAL -} -stop() { - echo "Shutting down MariaDB Columnstore Database Platform" - touch /tmp/StopCalpont - pkill -9 ProcMon - pkill -9 ProcMgr - pkill -9 snmptrapd - sleep 1 - $InstallDir/bin/clearShm - RETVAL=$? - rm -f /var/lock/subsys/columnstore - fuser -k 8604/tcp > /dev/null 2>&1 - test -f $InstallDir/mysql/mysql-Calpont || return $RETVAL - $InstallDir/mysql/mysql-Calpont stop > /dev/null 2>&1 - if [ -x $InstallDir/bin/columnstore.post-stop ]; then - $InstallDir/bin/columnstore.post-stop - fi - return $RETVAL -} -restart() { - stop - start -} -status() { - isrunning=0 - if [ $EUID -eq 0 ]; then - if [ -f /var/lock/subsys/columnstore ]; then - isrunning=1 - fi - else - pgrep ProcMon >/dev/null 2>&1 - if [ $? -eq 0 ]; then - isrunning=1 - fi - fi - if [ $isrunning -ne 0 ]; then - echo "MariaDB Columnstore is running" - else - echo "MariaDB Columnstore is not running" - exit 3 - fi -} - -case "$1" in -start) - start - ;; -stop) - stop - ;; -restart) - restart - ;; -condrestart) - [ -f /var/lock/subsys/columnstore ] && restart || : - ;; -status) - status - ;; -*) - echo $"Usage: $0 {start|stop|restart|condrestart|status}" - exit 1 -esac - -exit $? - diff --git a/export/bin/columnstore.conf b/export/bin/columnstore.conf deleted file mode 100755 index abb2e8fd4..000000000 --- a/export/bin/columnstore.conf +++ /dev/null @@ -1,2 +0,0 @@ -/usr/local/Calpont/lib - diff --git a/export/bin/columnstore.def b/export/bin/columnstore.def deleted file mode 100755 index 4ebfb2019..000000000 --- a/export/bin/columnstore.def +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -# Copy this file to /etc/default and rename it to 'infinidb'. - -# Change this line to your InfiniDB installation directory -INFINIDB_INSTALL_DIR=/usr/local/Calpont - -LD_LIBRARY_PATH=$INFINIDB_INSTALL_DIR/lib:$INFINIDB_INSTALL_DIR/mysql/lib/mysql -export INFINIDB_INSTALL_DIR=$INFINIDB_INSTALL_DIR -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH diff --git a/export/bin/columnstoreAlias b/export/bin/columnstoreAlias deleted file mode 100755 index bf34a4e9a..000000000 --- a/export/bin/columnstoreAlias +++ /dev/null @@ -1,13 +0,0 @@ -# InfiniDB Alias Commands -# -alias mcsmysql='/usr/local/Calpont/mysql/bin/mysql --defaults-file=/usr/local/Calpont/mysql/my.cnf -u root' -alias ma=/usr/local/Calpont/bin/mcsadmin -alias mcsadmin=/usr/local/Calpont/bin/mcsadmin -alias home='cd /usr/local/Calpont/' -alias log='cd /var/log/Calpont/' -alias core='cd /var/log/Calpont/corefiles' -alias tmsg='tail -f /var/log/messages' -alias tdebug='tail -f /var/log/Calpont/debug.log' -alias tinfo='tail -f /var/log/Calpont/info.log' -alias dbrm='cd /usr/local/Calpont/data1/systemFiles/dbrm' -alias module='cat /usr/local/Calpont/local/module' diff --git a/export/bin/columnstoreLogRotate b/export/bin/columnstoreLogRotate deleted file mode 100755 index 48dec8381..000000000 --- a/export/bin/columnstoreLogRotate +++ /dev/null @@ -1,35 +0,0 @@ -# -# Calpont Log Rotate file that gets installed in /etc/logrotate.d -# as part of the RPM installation -# - -/var/log/Calpont/*.log { - missingok - rotate 7 - daily - dateext - copytruncate - olddir /var/log/Calpont/archive -} -/var/log/Calpont/*.log1 { - missingok - rotate 7 - daily - nocreate - compress - olddir /var/log/Calpont/archive -} -/usr/local/Calpont/etc/Calpont.xml { - daily - dateext - copy - olddir /usr/local/Calpont/etc/ -} -/usr/local/Calpont/mysql/db/*.err { - missingok - rotate 7 - daily - dateext - copytruncate - olddir /usr/local/Calpont/mysql/db -} diff --git a/export/bin/columnstoreSyslog b/export/bin/columnstoreSyslog deleted file mode 100755 index 8bc56eb3e..000000000 --- a/export/bin/columnstoreSyslog +++ /dev/null @@ -1,7 +0,0 @@ -# Calpont Database Platform Logging -local1.=crit -/var/log/Calpont/crit.log -local1.=err -/var/log/Calpont/err.log -local1.=warning -/var/log/Calpont/warning.log -local1.=info -/var/log/Calpont/info.log -local1.=debug -/var/log/Calpont/debug.log -local2.=crit -/var/log/Calpont/data/data_mods.log diff --git a/export/bin/columnstoreSyslog-ng b/export/bin/columnstoreSyslog-ng deleted file mode 100755 index 6b7051bf7..000000000 --- a/export/bin/columnstoreSyslog-ng +++ /dev/null @@ -1,78 +0,0 @@ -# Calpont Database Platform Logging - -source s_infinidb { - # message generated by Syslog-NG - internal(); - # standard Linux log source (this is the default place for the syslog() - # function to send logs to) - unix-stream("/dev/log"); - # messages from the kernel - file("/proc/kmsg" log_prefix("kernel: ")); - # use the following line if you want to receive remote UDP logging messages - # (this is equivalent to the "-r" syslogd flag) - # udp(); -}; - -filter f_local1crit { facility(local1) and level(crit); }; -filter f_local1err { facility(local1) and level(err); }; -filter f_local1warning { facility(local1) and level(warning); }; -filter f_local1info { facility(local1) and level(info); }; -filter f_local1debug { facility(local1) and level(debug); }; -filter f_local2crit { facility(local2) and level(crit); }; - -destination d_crit{ - file("/var/log/Calpont/crit.log"); -}; - -destination d_err{ - file("/var/log/Calpont/err.log"); -}; - -destination d_warning{ - file("/var/log/Calpont/warning.log"); -}; - -destination d_info{ - file("/var/log/Calpont/info.log"); -}; - -destination d_debug{ - file("/var/log/Calpont/debug.log"); -}; - -destination d_data_mods{ - file("/var/log/Calpont/data/data_mods.log"); -}; - -log{ - source(s_infinidb); - filter(f_local1crit); - destination(d_crit); -}; - -log{ - source(s_infinidb); - filter(f_local1err); - destination(d_err); -}; -log{ - source(s_infinidb); - filter(f_local1warning); - destination(d_warning); -}; -log{ - source(s_infinidb); - filter(f_local1info); - destination(d_info); -}; -log{ - source(s_infinidb); - filter(f_local1debug); - destination(d_debug); -}; -log{ - source(s_infinidb); - filter(f_local2crit); - destination(d_data_mods); -}; - diff --git a/export/bin/columnstoreSyslog7 b/export/bin/columnstoreSyslog7 deleted file mode 100755 index e5dcd33b9..000000000 --- a/export/bin/columnstoreSyslog7 +++ /dev/null @@ -1,8 +0,0 @@ -# Calpont Database Platform Logging -local1.crit -/var/log/Calpont/crit.log -local1.err -/var/log/Calpont/err.log -local1.warning -/var/log/Calpont/warning.log -local1.info -/var/log/Calpont/info.log -local1.debug -/var/log/Calpont/debug.log -local2.crit -/var/log/Calpont/data/data_mods.log - diff --git a/export/bin/columnstoreUninstall.sh b/export/bin/columnstoreUninstall.sh deleted file mode 100755 index 59c285a72..000000000 --- a/export/bin/columnstoreUninstall.sh +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/bin/expect -# -# $Id$ -# -# Uninstall Package from system - -set INFINIDB_INSTALL_DIR "/usr/local/MariaDB/Columnstore" -set env(INFINIDB_INSTALL_DIR) $INFINIDB_INSTALL_DIR - -set USERNAME $env(USER) -set PASSWORD " " -set DEBUG 0 - -set INFINIDBRPM1 "infinidb-libs" -set INFINIDBRPM2 "infinidb-platform" -set INFINIDBRPM3 "infinidb-enterprise" -set CONNECTORRPM1 "infinidb-mysql" -set CONNECTORRPM2 "infinidb-storage-engine" - -spawn -noecho /bin/bash - -for {set i 0} {$i<[llength $argv]} {incr i} { - set arg($i) [lindex $argv $i] -} - -set i 0 -while true { - if { $i == [llength $argv] } { break } - if { $arg($i) == "-h" } { - send_user "\n" - send_user "'calpontUninstall.sh' performs a system uninstall of the Calpont InfiniDB Packages.\n" - send_user "It will perform a shutdown of the InfiniDB software and the \n" - send_user "remove the Packages from all configured servers of the InfiniDB System.\n" - send_user "\n" - send_user "Usage: calpontUninstall.sh -p 'password' -d\n" - send_user " password - root password of the remote servers being un-installed'\n" - send_user " -d - Debug flag, output verbose information\n" - exit - } elseif { $arg($i) == "-p" } { - incr i - set PASSWORD $arg($i) - } elseif { $arg($i) == "-d" } { - set DEBUG 1 - } elseif { $arg($i) == "-i" } { - incr i - set INSTALLDIR $arg($i) - } elseif { $arg($i) == "-u" } { - incr i - set USERNAME $arg($i) - } - incr i -} - -log_user $DEBUG - -set timeout 2 -set INSTALL 2 -send "$INFINIDB_INSTALL_DIR/bin/getConfig DBRM_Controller NumWorkers\n" -expect { - 1 { set INSTALL 1 } -} - -set PACKAGE "rpm" -send "$INFINIDB_INSTALL_DIR/bin/getConfig Installation EEPackageType\n" -expect { - rpm { set PACKAGE rpm } - deb { set PACKAGE deb } - binary { set PACKAGE binary } -} - -set timeout 60 -log_user $DEBUG -if { $INSTALL == "2" && $PASSWORD == " "} {puts "please enter the remote server root password, enter ./calpontUninstall.sh -h for additional info"; exit -1} - -send_user "\nPerforming InfiniDB System Uninstall\n\n" - -# -# shutdownSystem -# -send_user "Shutdown InfiniDB System " -expect -re {[$#] } -send "$INFINIDB_INSTALL_DIR/bin/mcsadmin shutdownsystem y\n" -expect { - "shutdownSystem " { send_user "DONE" } -} -send_user "\n" - - -if { $INSTALL == "2"} { - set timeout 600 - # - # Run installer - # - send_user "Run System Uninstaller " - send "$INFINIDB_INSTALL_DIR/bin/installer $INFINIDBRPM1 $INFINIDBRPM2 $INFINIDBRPM3 $CONNECTORRPM1 $CONNECTORRPM2 uninstall $PASSWORD n --nodeps dummymysqlpw $DEBUG\n" - expect { - "uninstall request successful" { send_user "DONE" } - "ERROR" { send_user "FAILED" ; exit -1 } - } - send_user "\n" -} - -if { $PACKAGE == "binary" } { - send "$INFINIDB_INSTALL_DIR/bin/pre-uninstall\n" - expect { - -re {[$#] } { } - } - - send_user "\n" - - send_user "\nCalpont Package System Uninstall Completed\n\n" - - exit 0 -} - -send_user "\nCalpont Package System Uninstall Completed\n\n" - -exit 0 diff --git a/export/bin/director_installer.sh b/export/bin/director_installer.sh deleted file mode 100755 index d10bd1cbe..000000000 --- a/export/bin/director_installer.sh +++ /dev/null @@ -1,340 +0,0 @@ -#!/usr/bin/expect -# -# $Id$ -# -# Install RPM and custom OS files on system -# Argument 1 - Remote Module Name -# Argument 2 - Remote Server Host Name or IP address -# Argument 3 - Root Password of remote server -# Argument 4 - Package name being installed -# Argument 5 - Install Type, "initial" or "upgrade" -# Argument 6 - Debug flag 1 for on, 0 for off -set timeout 10 -set MODULE [lindex $argv 0] -set SERVER [lindex $argv 1] -set PASSWORD [lindex $argv 2] -set CALPONTRPM1 [lindex $argv 3] -set CALPONTRPM2 [lindex $argv 4] -set CALPONTRPM3 [lindex $argv 5] -set CALPONTMYSQLRPM [lindex $argv 6] -set CALPONTMYSQLDRPM [lindex $argv 7] -set INSTALLTYPE [lindex $argv 8] -set DEBUG [lindex $argv 9] -set INSTALLDIR "/usr/local/MariaDB/Columnstore" -set IDIR [lindex $argv 10] -if { $IDIR != "" } { - set INSTALLDIR $IDIR -} -set USERNAME "root" -set UNM [lindex $argv 11] -if { $UNM != "" } { - set USERNAME $UNM -} - -log_user $DEBUG -spawn -noecho /bin/bash -# -if { $INSTALLTYPE == "initial" || $INSTALLTYPE == "uninstall" } { - # - # erase InfiniDB MySQL storage engine package - # - send_user "Erase InfiniDB MySQL Storage Engine Package on Module " - expect -re {[$#] } - send "ssh $USERNAME@$SERVER 'rpm -e --nodeps --allmatches calpont-mysql >/dev/null 2>&1; rpm -e --nodeps --allmatches infinidb-storage-engine'\n" - expect { - "Host key verification failed" { send_user "FAILED: Host key verification failed\n" ; exit } - "service not known" { send_user "FAILED: Invalid Host\n" ; exit } - "authenticity" { send "yes\n" - expect { - "word: " { send "$PASSWORD\n" } - } - } - "word: " { send "$PASSWORD\n" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - } - # password for ssh - send "$PASSWORD\n" - expect { - -re {[$#] } { send_user "DONE" } - "uninstall completed" { send_user "DONE" } - "error: Failed dependencies" { send_user "ERROR: Failed dependencies\n" ; exit -1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - "not installed" { send_user "INFO: Package not installed" } - } - send_user "\n" - # - # erase InfiniDB MySQL package - # - send_user "Erase InfiniDB MySQL Package on Module " - expect -re {[$#] } - send "ssh $USERNAME@$SERVER 'rpm -e --nodeps --allmatches calpont-mysqld >/dev/null 2>&1; rpm -e --nodeps --allmatches infinidb-mysql'\n" - expect "word: " - # password for ssh - send "$PASSWORD\n" - expect { - -re {[$#] } { send_user "DONE" } - "uninstall completed" { send_user "DONE" } - "error: Failed dependencies" { send_user "ERROR: Failed dependencies\n" ; exit -1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - "not installed" { send_user "INFO: Package not installed" } - } - send_user "\n" - # - # erase InfiniDB packages - # - send_user "Erase InfiniDB Packages on Module " - expect -re {[$#] } - send "ssh $USERNAME@$SERVER 'rpm -e --nodeps --allmatches calpont >/dev/null 2>&1; rpm -e --nodeps --allmatches infinidb-enterprise >/dev/null 2>&1; rpm -e --nodeps --allmatches infinidb-libs infinidb-platform'\n" - expect "word: " - # password for ssh - send "$PASSWORD\n" - expect { - -re {[$#] } { send_user "DONE" } - "uninstall completed" { send_user "DONE" } - "error: Failed dependencies" { send_user "ERROR: Failed dependencies\n" ; exit -1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - "not installed" { send_user "INFO: Package not installed" } - } - send_user "\n" -} -if { $INSTALLTYPE == "uninstall" } { exit 0 } - -# -# send the InfiniDB package -# -expect -re {[$#] } -set timeout 20 -send_user "Copy New InfiniDB Package to Module " -send "ssh $USERNAME@$SERVER 'rm -f /root/infinidb-*.rpm'\n" -expect "word: " -# password for ssh -send "$PASSWORD\n" -# check return -expect { - -re {[$#] } { } -} -send "scp $CALPONTRPM1 $CALPONTRPM2 $CALPONTRPM3 $USERNAME@$SERVER:.\n" -expect "word: " -# send the password -send "$PASSWORD\n" -# check return -expect { - "100%" { send_user "DONE" } - "scp" { send_user "ERROR\n" ; - send_user "\n*** Installation ERROR\n" ; - exit -1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - "No such file or directory" { send_user "ERROR: Invalid package\n" ; exit -1 } -} -send_user "\n" -# -# send the InfiniDB MySQL sotrage engine package -# -send_user "Copy New InfiniDB MySQL Storage Engine Package to Module " -send "scp $CALPONTMYSQLRPM $USERNAME@$SERVER:$CALPONTMYSQLRPM\n" -expect "word: " -# send the password -send "$PASSWORD\n" -# check return -expect { - "100%" { send_user "DONE" } - "scp" { send_user "ERROR\n" ; - send_user "\n*** Installation ERROR\n" ; - exit -1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - "No such file or directory" { send_user "ERROR: Invalid package\n" ; exit -1 } -} -send_user "\n" -# -# send the InfiniDB MySQL package -# -send_user "Copy New InfiniDB MySQL Package to Module " -send "scp $CALPONTMYSQLDRPM $USERNAME@$SERVER:$CALPONTMYSQLDRPM\n" -expect "word: " -# send the password -send "$PASSWORD\n" -# check return -expect { - "100%" { send_user "DONE" } - "scp" { send_user "ERROR\n" ; - send_user "\n*** Installation ERROR\n" ; - exit -1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - "No such file or directory" { send_user "ERROR: Invalid package\n" ; exit -1 } -} -# -send_user "\n" -expect -re {[$#] } -set timeout 60 -if { $INSTALLTYPE == "initial"} { - # - # install package - # - send_user "Install InfiniDB Packages on Module " - send "ssh $USERNAME@$SERVER 'rpm -ivh $CALPONTRPM1 $CALPONTRPM2 $CALPONTRPM3 $CALPONTMYSQLDRPM $CALPONTMYSQLRPM'\n" - expect "word: " - # password for ssh - send "$PASSWORD\n" - # check return - expect { - -re {[$#] } { send_user "DONE" } - "completed" { send_user "DONE" } - "error: Failed dependencies" { send_user "ERROR: Failed dependencies\n" ; - send_user "\n*** Installation ERROR\n" ; - exit -1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - } - send_user "\n" - expect -re {[$#] } - set timeout 10 - # - # install package - # - send_user "Running InfiniDB MySQL Setup Scripts on Module " - send "ssh $USERNAME@$SERVER '$INSTALLDIR/bin/post-mysql-install'\n" - expect "word: " - # password for ssh - send "$PASSWORD\n" - # check return - expect { - "Shutting down MySQL." { send_user "DONE" } - timeout { send_user "DONE" } - "ERROR" { send_user "ERROR: Daemon failed to run"; - exit -1 } - } - send_user "\n" - expect -re {[$#] } - # - # install package - # - send_user "Running InfiniDB MySQL Setup Scripts on Module " - send "ssh $USERNAME@$SERVER '$INSTALLDIR/bin/post-mysqld-install'\n" - expect "word: " - # password for ssh - send "$PASSWORD\n" - # check return - expect { - "Shutting down MySQL." { send_user "DONE" } - timeout { send_user "DONE" } - "ERROR" { send_user "ERROR: Daemon failed to run"; - exit -1 } - } -} else { - # - # upgrade package - # - expect -re {[$#] } - send_user "Upgrade InfiniDB Packages on Module " - send "ssh $USERNAME@$SERVER ' rpm -Uvh --noscripts $CALPONTRPM1 $CALPONTRPM2 $CALPONTRPM3 $CALPONTMYSQLDRPM $CALPONTMYSQLRPM'\n" - expect "word: " - # password for ssh - send "$PASSWORD\n" - # check return - expect { - -re {[$#] } { send_user "DONE" } - "completed" { send_user "DONE" } - "already installed" { send_user "INFO: Already Installed\n" ; exit -1 } - "error: Failed dependencies" { send_user "ERROR: Failed dependencies\n" ; - send_user "\n*** Installation ERROR\n" ; - exit -1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - } - send_user "\n" - expect -re {[$#] } - set timeout 10 - # - # install package - # - send_user "Running InfiniDB MySQL Setup Scripts on Module " - send "ssh $USERNAME@$SERVER '$INSTALLDIR/bin/post-mysql-install'\n" - expect "word: " - # password for ssh - send "$PASSWORD\n" - # check return - expect { - "Shutting down MySQL." { send_user "DONE" } - timeout { send_user "DONE" } - "ERROR" { send_user "ERROR: Daemon failed to run"; - exit -1 } - } - send_user "\n" - expect -re {[$#] } - # - # install package - # - send_user "Running InfiniDB MySQL Setup Scripts on Module " - send "ssh $USERNAME@$SERVER '$INSTALLDIR/bin/post-mysqld-install'\n" - expect "word: " - # password for ssh - send "$PASSWORD\n" - # check return - expect { - "Shutting down MySQL." { send_user "DONE" } - timeout { send_user "DONE" } - "ERROR" { send_user "ERROR: Daemon failed to run"; - exit -1 } - } -} -send_user "\n" -expect -re {[$#] } -set timeout 30 -# -if { $INSTALLTYPE == "initial"} { - # - # copy over InfiniDB OS files - # - send_user "Copy InfiniDB OS files to Module " - send "scp $INSTALLDIR/local/etc/$MODULE/* $USERNAME@$SERVER:$INSTALLDIR/local/.\n" - expect "word: " - # send the password - send "$PASSWORD\n" - expect { - -re {[$#] } { send_user "DONE" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - } - send_user "\n" - # - # copy over InfiniDB config file - # - send_user "Copy InfiniDB Config file to Module " - send "scp $INSTALLDIR/etc/* $USERNAME@$SERVER:$INSTALLDIR/etc/.\n" - expect "word: " - # send the password - send "$PASSWORD\n" - expect { - -re {[$#] } { send_user "DONE" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - } - send_user "\n" - # - # copy over custom OS tmp files - # - send_user "Copy Custom OS files to Module " - send "scp -r $INSTALLDIR/local/etc $USERNAME@$SERVER:$INSTALLDIR/local/.\n" - expect "word: " - # send the password - send "$PASSWORD\n" - expect { - -re {[$#] } { send_user "DONE" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - } - send_user "\n" - # - # Start module installer to setup Customer OS files - # - send_user "Run Module Installer " - send "ssh $USERNAME@$SERVER '$INSTALLDIR/bin/module_installer.sh'\n" - expect "word: " - # send the password - send "$PASSWORD\n" - expect { - "!!!Module" { send_user "DONE" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - "FAILED" { send_user "ERROR: missing OS file\n" ; exit -1 } - } - send_user "\n" -} -# -send_user "\nInstallation Successfully Completed on '$MODULE'\n" -exit 0 - diff --git a/export/bin/disable-rep-columnstore.sh b/export/bin/disable-rep-columnstore.sh deleted file mode 100755 index edd3fc19a..000000000 --- a/export/bin/disable-rep-columnstore.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -# -# $Id$ -# -# generic InfiniDB Disable Replication script. -# -# Notes: This script gets run by ProcMon: - -# check log for error -checkForError() { - grep ERROR /tmp/disable-rep-status.log > /tmp/error.check - if [ `cat /tmp/error.check | wc -c` -ne 0 ]; then - echo "ERROR: check log file: /tmp/disable-rep-status.log" - rm -f /tmp/error.check - exit 1 - fi - rm -f /tmp/error.check -} - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -pwprompt= -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--password='` -eq 11 ]; then - password="`echo $arg | awk -F= '{print $2}'`" - pwprompt="--password=$password" - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - fi -done - -test -f $installdir/post/functions && . $installdir/post/functions - ->/tmp/disable-rep-status.log - -# -# Run stop slave command -# -echo "Run stop slave command" >>/tmp/disable-rep-status.log -cat >/tmp/idb_disable-rep.sql <>/tmp/disable-rep-status.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/disable-rep-status.log - -checkForError - -# -# Run reset slave command -# -echo "Run start slave command" >>/tmp/disable-rep-status.log -cat >/tmp/idb_disable-rep.sql <>/tmp/disable-rep-status.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/disable-rep-status.log - -checkForError - -#alls good, 'OK' for success -echo "OK" -exit 0 diff --git a/export/bin/disable-rep-infinidb.sh b/export/bin/disable-rep-infinidb.sh deleted file mode 100755 index edd3fc19a..000000000 --- a/export/bin/disable-rep-infinidb.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -# -# $Id$ -# -# generic InfiniDB Disable Replication script. -# -# Notes: This script gets run by ProcMon: - -# check log for error -checkForError() { - grep ERROR /tmp/disable-rep-status.log > /tmp/error.check - if [ `cat /tmp/error.check | wc -c` -ne 0 ]; then - echo "ERROR: check log file: /tmp/disable-rep-status.log" - rm -f /tmp/error.check - exit 1 - fi - rm -f /tmp/error.check -} - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -pwprompt= -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--password='` -eq 11 ]; then - password="`echo $arg | awk -F= '{print $2}'`" - pwprompt="--password=$password" - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - fi -done - -test -f $installdir/post/functions && . $installdir/post/functions - ->/tmp/disable-rep-status.log - -# -# Run stop slave command -# -echo "Run stop slave command" >>/tmp/disable-rep-status.log -cat >/tmp/idb_disable-rep.sql <>/tmp/disable-rep-status.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/disable-rep-status.log - -checkForError - -# -# Run reset slave command -# -echo "Run start slave command" >>/tmp/disable-rep-status.log -cat >/tmp/idb_disable-rep.sql <>/tmp/disable-rep-status.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/disable-rep-status.log - -checkForError - -#alls good, 'OK' for success -echo "OK" -exit 0 diff --git a/export/bin/infinidb b/export/bin/infinidb deleted file mode 100755 index cba5ddd4d..000000000 --- a/export/bin/infinidb +++ /dev/null @@ -1,184 +0,0 @@ -#!/bin/bash -# -# $Id: infinidb 3704 2013-08-07 03:33:20Z bwilkinson $ -# -# infinidb Starts Calpont InfiniDB database platform -# -# -# chkconfig: 2345 99 99 -# description: Calpont InfiniDB is a database platform that utilizes Mysql -# -### BEGIN INIT INFO -# Provides: infinidb -# Required-Start: $local_fs $remote_fs $network $syslog $all -# Required-Stop: $local_fs $remote_fs $network $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Start/stop InfiniDB DW DBMS -### END INIT INFO - -# Source function library. -if [ -f /etc/init.d/functions ]; then - . /etc/init.d/functions -fi - -if [ -z "$INFINIDB_INSTALL_DIR" ]; then - test -f /etc/default/infinidb && . /etc/default/infinidb -fi - -if [ -z "$INFINIDB_INSTALL_DIR" ]; then - INFINIDB_INSTALL_DIR=/usr/local/Calpont -fi - -export INFINIDB_INSTALL_DIR=$INFINIDB_INSTALL_DIR - -InstallDir=$INFINIDB_INSTALL_DIR - -if [ $InstallDir != "/usr/local/Calpont" ]; then - export PATH=$InstallDir/bin:$InstallDir/mysql/bin:/bin:/usr/bin - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$InstallDir/lib:$InstallDir/mysql/lib/mysql -fi - -#hadoop -plugin=`$INFINIDB_INSTALL_DIR/bin/getConfig SystemConfig DataFilePlugin` -if [ -n "$plugin" ]; then - setenv=`$InstallDir/bin/getConfig SystemConfig DataFileEnvFile` - . $InstallDir/bin/$setenv >/dev/null 2>&1 -fi - -if [ -e $InstallDir/lib/libjemalloc.so ]; then - export LD_PRELOAD=$InstallDir/lib/libjemalloc.so -elif [ -e $InstallDir/lib/libjemalloc.so.1 ]; then - export LD_PRELOAD=$InstallDir/lib/libjemalloc.so.1 -fi - -test -f $InstallDir/post/functions && . $InstallDir/post/functions - -mt=`module_type` -mid=`module_id` - -has_um=`$InstallDir/bin/getConfig SystemModuleConfig ModuleCount2` -if [ "x$has_um" = x ]; then - has_um=0 -fi - -user=$USER -if [ -z "$user" ]; then - user=root -fi - -checkInstallSetup() { - InitialInstallFlag=`$InstallDir/bin/getConfig -c $InstallDir/etc/Calpont.xml Installation InitialInstallFlag` - if [ $InitialInstallFlag != "y" ]; then - echo "Please run the postConfigure install script, check the Installation Guide" - echo "for additional details" - rm -f /var/lock/subsys/infinidb - exit 1 - fi -} - -[ -f $InstallDir/bin/ProcMon ] || exit 0 - -start() { - if [ -f /var/lock/subsys/infinidb ]; then - echo "InfiniDB Database Platform already running" - exit 0 - fi - - (mkdir -p /var/lock/subsys && touch /var/lock/subsys/infinidb) >/dev/null 2>&1 - - if [ -x $InstallDir/bin/infinidb.pre-start ]; then - $InstallDir/bin/infinidb.pre-start - if [ $? -ne 0 ]; then - echo "Error running InfiniDB pre-start script, not starting InfiniDB" - rm -f /var/lock/subsys/infinidb - exit 1 - fi - fi - checkInstallSetup - - CoreFileFlag=`$InstallDir/bin/getConfig -c $InstallDir/etc/Calpont.xml Installation CoreFileFlag` - if [ $CoreFileFlag = "y" ]; then - SUDO= - if [ "$user" != "root" ]; then - SUDO="sudo" - fi - - #infinidb core files - $SUDO ulimit -c unlimited > /dev/null 2>&1 - $SUDO sysctl -q -w kernel.core_uses_pid=1 > /dev/null 2>&1 - $SUDO sysctl -q -w kernel.core_pattern=/var/log/Calpont/corefiles/core.%e.%p > /dev/null 2>&1 - fi - - RETVAL=0 - echo "Starting InfiniDB Database Platform" - rm -f /tmp/StopCalpont - exec $InstallDir/bin/run.sh $InstallDir/bin/ProcMon > /dev/null 2>&1 & - - return $RETVAL -} -stop() { - echo "Shutting down InfiniDB Database Platform" - touch /tmp/StopCalpont - pkill -9 ProcMon - pkill -9 ProcMgr - pkill -9 snmptrapd - sleep 1 - $InstallDir/bin/clearShm - RETVAL=$? - rm -f /var/lock/subsys/infinidb - fuser -k 8604/tcp > /dev/null 2>&1 - test -f $InstallDir/mysql/mysql-Calpont || return $RETVAL - $InstallDir/mysql/mysql-Calpont stop > /dev/null 2>&1 - if [ -x $InstallDir/bin/infinidb.post-stop ]; then - $InstallDir/bin/infinidb.post-stop - fi - return $RETVAL -} -restart() { - stop - start -} -status() { - isrunning=0 - if [ $EUID -eq 0 ]; then - if [ -f /var/lock/subsys/infinidb ]; then - isrunning=1 - fi - else - pgrep ProcMon >/dev/null 2>&1 - if [ $? -eq 0 ]; then - isrunning=1 - fi - fi - if [ $isrunning -ne 0 ]; then - echo "InfiniDB is running" - else - echo "InfiniDB is not running" - exit 3 - fi -} - -case "$1" in -start) - start - ;; -stop) - stop - ;; -restart) - restart - ;; -condrestart) - [ -f /var/lock/subsys/infinidb ] && restart || : - ;; -status) - status - ;; -*) - echo $"Usage: $0 {start|stop|restart|condrestart|status}" - exit 1 -esac - -exit $? - diff --git a/export/bin/infinidb.conf b/export/bin/infinidb.conf deleted file mode 100755 index abb2e8fd4..000000000 --- a/export/bin/infinidb.conf +++ /dev/null @@ -1,2 +0,0 @@ -/usr/local/Calpont/lib - diff --git a/export/bin/infinidb.def b/export/bin/infinidb.def deleted file mode 100755 index 4ebfb2019..000000000 --- a/export/bin/infinidb.def +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -# Copy this file to /etc/default and rename it to 'infinidb'. - -# Change this line to your InfiniDB installation directory -INFINIDB_INSTALL_DIR=/usr/local/Calpont - -LD_LIBRARY_PATH=$INFINIDB_INSTALL_DIR/lib:$INFINIDB_INSTALL_DIR/mysql/lib/mysql -export INFINIDB_INSTALL_DIR=$INFINIDB_INSTALL_DIR -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH diff --git a/export/bin/master-rep-columnstore.sh b/export/bin/master-rep-columnstore.sh deleted file mode 100755 index f6a4a5d0f..000000000 --- a/export/bin/master-rep-columnstore.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/bash -# -# $Id$ -# -# generic InfiniDB Master Replication script. -# -# Notes: This script gets run by ProcMon during installs and upgrades: - -# check log for error -checkForError() { - grep ERROR /tmp/master-rep-status-$hostipaddr.log > /tmp/error.check - if [ `cat /tmp/error.check | wc -c` -ne 0 ]; then - echo "ERROR: check log file: /tmp/master-rep-status-$hostipaddr.log" - rm -f /tmp/error.check - exit 1 - fi - rm -f /tmp/error.check -} - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -pwprompt= -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--password='` -eq 11 ]; then - password="`echo $arg | awk -F= '{print $2}'`" - pwprompt="--password=$password" - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - elif [ `expr -- "$arg" : '--hostIP='` -eq 9 ]; then - hostipaddr="`echo $arg | awk -F= '{print $2}'`" - fi -done - -test -f $installdir/post/functions && . $installdir/post/functions - -repUser="idbrep" -password="Calpont1" - ->/tmp/master-rep-status-$hostipaddr.log - -# -# Create Replication User -# -echo "Create Replication User $repUser for node $hostipaddr" >>/tmp/master-rep-status-$hostipaddr.log -cat >/tmp/idb_master-rep.sql <>/tmp/master-rep-status-$hostipaddr.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/master-rep-status-$hostipaddr.log - -checkForError - -# -# Grant table access for created user -# -echo "Grant table access for $repUser for node $hostipaddr" >>/tmp/master-rep-status-$hostipaddr.log -cat >/tmp/idb_master-rep.sql <>/tmp/master-rep-status-$hostipaddr.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/master-rep-status-$hostipaddr.log - -checkForError - -# -# Run SHOW MASTER STATUS -# -echo "Run SHOW MASTER STATUS to node log" >>/tmp/master-rep-status-$hostipaddr.log -cat >/tmp/idb_master-rep.sql <>/tmp/master-rep-status-$hostipaddr.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/master-rep-status-$hostipaddr.log - -checkForError - -echo "Run SHOW MASTER STATUS to master status log /tmp/show-master-status.log" >>/tmp/master-rep-status-$hostipaddr.log -cat >/tmp/idb_master-rep.sql </tmp/show-master-status.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/show-master-status.log - - -#alls good, 'OK' for success -echo "OK" -exit 0 - - diff --git a/export/bin/master-rep-infinidb.sh b/export/bin/master-rep-infinidb.sh deleted file mode 100755 index f6a4a5d0f..000000000 --- a/export/bin/master-rep-infinidb.sh +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/bash -# -# $Id$ -# -# generic InfiniDB Master Replication script. -# -# Notes: This script gets run by ProcMon during installs and upgrades: - -# check log for error -checkForError() { - grep ERROR /tmp/master-rep-status-$hostipaddr.log > /tmp/error.check - if [ `cat /tmp/error.check | wc -c` -ne 0 ]; then - echo "ERROR: check log file: /tmp/master-rep-status-$hostipaddr.log" - rm -f /tmp/error.check - exit 1 - fi - rm -f /tmp/error.check -} - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -pwprompt= -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--password='` -eq 11 ]; then - password="`echo $arg | awk -F= '{print $2}'`" - pwprompt="--password=$password" - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - elif [ `expr -- "$arg" : '--hostIP='` -eq 9 ]; then - hostipaddr="`echo $arg | awk -F= '{print $2}'`" - fi -done - -test -f $installdir/post/functions && . $installdir/post/functions - -repUser="idbrep" -password="Calpont1" - ->/tmp/master-rep-status-$hostipaddr.log - -# -# Create Replication User -# -echo "Create Replication User $repUser for node $hostipaddr" >>/tmp/master-rep-status-$hostipaddr.log -cat >/tmp/idb_master-rep.sql <>/tmp/master-rep-status-$hostipaddr.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/master-rep-status-$hostipaddr.log - -checkForError - -# -# Grant table access for created user -# -echo "Grant table access for $repUser for node $hostipaddr" >>/tmp/master-rep-status-$hostipaddr.log -cat >/tmp/idb_master-rep.sql <>/tmp/master-rep-status-$hostipaddr.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/master-rep-status-$hostipaddr.log - -checkForError - -# -# Run SHOW MASTER STATUS -# -echo "Run SHOW MASTER STATUS to node log" >>/tmp/master-rep-status-$hostipaddr.log -cat >/tmp/idb_master-rep.sql <>/tmp/master-rep-status-$hostipaddr.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/master-rep-status-$hostipaddr.log - -checkForError - -echo "Run SHOW MASTER STATUS to master status log /tmp/show-master-status.log" >>/tmp/master-rep-status-$hostipaddr.log -cat >/tmp/idb_master-rep.sql </tmp/show-master-status.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/show-master-status.log - - -#alls good, 'OK' for success -echo "OK" -exit 0 - - diff --git a/export/bin/module_installer.sh b/export/bin/module_installer.sh deleted file mode 100755 index 8a4ad0c0a..000000000 --- a/export/bin/module_installer.sh +++ /dev/null @@ -1,167 +0,0 @@ -#!/bin/bash -# -# $Id: module_installer.sh 421 2007-04-05 15:46:55Z dhill $ -# -# Setup the Custom OS files during a System install on a module -# -# -# append columnstore OS files to Linux OS file -# -# - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -rpmmode=install -user=$USER -if [ -z "$user" ]; then - user=root -fi -quiet=0 -shiftcnt=0 - -for arg in "$@"; do - if [ $(expr -- "$arg" : '--prefix=') -eq 9 ]; then - prefix="$(echo $arg | awk -F= '{print $2}')" - installdir=$prefix/MariaDB/Columnstore - ((shiftcnt++)) - elif [ $(expr -- "$arg" : '--rpmmode=') -eq 10 ]; then - rpmmode="$(echo $arg | awk -F= '{print $2}')" - ((shiftcnt++)) - elif [ $(expr -- "$arg" : '--installdir=') -eq 13 ]; then - installdir="$(echo $arg | awk -F= '{print $2}')" - prefix=$(dirname $installdir) - ((shiftcnt++)) - elif [ $(expr -- "$arg" : '--user=') -eq 7 ]; then - user="$(echo $arg | awk -F= '{print $2}')" - ((shiftcnt++)) - elif [ $(expr -- "$arg" : '--quiet') -eq 7 ]; then - quiet=1 - ((shiftcnt++)) - elif [ $(expr -- "$arg" : '--port') -eq 6 ]; then - mysqlPort="$(echo $arg | awk -F= '{print $2}')" - ((shiftcnt++)) - elif [ $(expr -- "$arg" : '--module') -eq 8 ]; then - module="$(echo $arg | awk -F= '{print $2}')" - ((shiftcnt++)) - fi -done -shift $shiftcnt - -if [ $installdir != "/usr/local/MariaDB/Columnstore" ]; then - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INFINIDB_INSTALL_DIR/lib:$INFINIDB_INSTALL_DIR/mysql/lib/mysql -fi - -export INFINIDB_INSTALL_DIR=$installdir - -cloud=`$INFINIDB_INSTALL_DIR/bin/getConfig Installation Cloud` -if [ $cloud = "amazon-ec2" ] || [ $cloud = "amazon-vpc" ]; then - cp $INFINIDB_INSTALL_DIR/local/etc/*.pem /root/. > /dev/null 2>&1 - - if test -f $INFINIDB_INSTALL_DIR/local/etc/pm1/fstab ; then - echo "Setup fstab on Module" - touch /etc/fstab - rm -f /etc/fstab.columnstoreSave - mv /etc/fstab /etc/fstab.columnstoreSave - cat $INFINIDB_INSTALL_DIR/local/etc/pm1/fstab >> /etc/fstab - fi -fi - -test -f $INFINIDB_INSTALL_DIR/post/functions && . $INFINIDB_INSTALL_DIR/post/functions - -mid=`module_id` - -#if um, cloud, separate system type, external um storage, then setup mount -if [ $module = "um" ]; then - if [ $cloud = "amazon-ec2" ] || [ $cloud = "amazon-vpc" ]; then - systemtype=`$INFINIDB_INSTALL_DIR/bin/getConfig Installation ServerTypeInstall` - if [ $systemtype = "1" ]; then - umstoragetype=`$INFINIDB_INSTALL_DIR/bin/getConfig Installation UMStorageType` - if [ $umstoragetype = "external" ]; then - echo "Setup UM Volume Mount" - device=`$INFINIDB_INSTALL_DIR/bin/getConfig Installation UMVolumeDeviceName$mid` - mkdir -p $INFINIDB_INSTALL_DIR/mysql/db > /dev/null 2>&1 - mount $device $INFINIDB_INSTALL_DIR/mysql/db -t ext2 -o defaults - chown mysql:mysql -R $INFINIDB_INSTALL_DIR/mysql > /dev/null 2>&1 - fi - fi - fi -fi - -#if pm, create dbroot directories -if [ $module = "pm" ]; then - numdbroots=`$INFINIDB_INSTALL_DIR/bin/getConfig SystemConfig DBRootCount` - for (( id=1; id<$numdbroots+1; id++ )); do - mkdir -p $INFINIDB_INSTALL_DIR/data$id > /dev/null 2>&1 - chmod 755 $INFINIDB_INSTALL_DIR/data$id - done -fi - -echo "Setup rc.local on Module" -if [ $EUID -eq 0 -a -f $INFINIDB_INSTALL_DIR/local/rc.local.columnstore ]; then - if [ $user = "root" ]; then - touch /etc/rc.local - rm -f /etc/rc.local.columnstoreSave - cp /etc/rc.local /etc/rc.local.columnstoreSave - cat $INFINIDB_INSTALL_DIR/local/rc.local.columnstore >> /etc/rc.local - else - sudo touch /etc/rc.local - sudo rm -f /etc/rc.local.columnstoreSave - sudo cp /etc/rc.local /etc/rc.local.columnstoreSave - sudo cat $INFINIDB_INSTALL_DIR/local/rc.local.columnstore >> /etc/rc.local - fi -fi - -if [ $user != "root" ]; then - echo "Setup .bashrc on Module for non-root" - - eval userhome=~$user - bashFile=$userhome/.bashrc - touch ${bashFile} - - echo " " >> ${bashFile} - echo "export INFINIDB_INSTALL_DIR=$INFINIDB_INSTALL_DIR" >> ${bashFile} - echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INFINIDB_INSTALL_DIR/lib:$INFINIDB_INSTALL_DIR/mysql/lib/mysql" >> ${bashFile} -fi - -plugin=`$INFINIDB_INSTALL_DIR/bin/getConfig SystemConfig DataFilePlugin` -if [ -n "$plugin" ]; then - echo "Setup .bashrc on Module for local-query" - - setenv=`$INFINIDB_INSTALL_DIR/bin/getConfig SystemConfig DataFileEnvFile` - - eval userhome=~$user - bashFile=$userhome/.bashrc - touch ${bashFile} - - echo " " >> ${bashFile} - echo ". $INFINIDB_INSTALL_DIR/bin/$setenv" >> ${bashFile} -fi - -# if mysqlrep is on and module has a my.cnf file, upgrade it - -MySQLRep=`$INFINIDB_INSTALL_DIR/bin/getConfig Installation MySQLRep` -if [ $MySQLRep = "y" ]; then - if test -f $INFINIDB_INSTALL_DIR/mysql/my.cnf ; then - echo "Run Upgrade on my.cnf on Module" - $INFINIDB_INSTALL_DIR/bin/mycnfUpgrade > /tmp/mycnfUpgrade.log 2>&1 - fi -fi - -if test -f $INFINIDB_INSTALL_DIR/mysql/my.cnf ; then - echo "Run Mysql Port update on my.cnf on Module" - $INFINIDB_INSTALL_DIR/bin/mycnfUpgrade $mysqlPort > /tmp/mycnfUpgrade_port.log 2>&1 -fi - -# if um, run mysql install scripts -if [ $module = "um" ]; then - echo "Run post-mysqld-install" - $INFINIDB_INSTALL_DIR/bin/post-mysqld-install > /tmp/post-mysqld-install.log 2>&1 - echo "Run post-mysql-install" - $INFINIDB_INSTALL_DIR/bin/post-mysql-install > /tmp/post-mysql-install.log 2>&1 -fi - - -echo " " -echo "!!!Module Installation Successfully Completed!!!" - -exit 0 diff --git a/export/bin/myCnf-exclude-args.text b/export/bin/myCnf-exclude-args.text deleted file mode 100755 index aac98c73a..000000000 --- a/export/bin/myCnf-exclude-args.text +++ /dev/null @@ -1,2 +0,0 @@ -# List of my.cnf arguments that should be ignored during upgrade install -# diff --git a/export/bin/myCnf-include-args.text b/export/bin/myCnf-include-args.text deleted file mode 100755 index bc2c4c74f..000000000 --- a/export/bin/myCnf-include-args.text +++ /dev/null @@ -1,18 +0,0 @@ -# List of my.cnf arguments that should be checked and saved during upgrade install -# -infinidb_local_query -log-bin=mysql-bin -server-id -max_length_for_sort_data -tmpdir -log-error -general_log_file -slow_query_log_file -general-log -slow-query-log -character-set-server -collation-server -init-connect -binlog_format -secure-auth -port \ No newline at end of file diff --git a/export/bin/os_check.sh b/export/bin/os_check.sh deleted file mode 100755 index 620fe447b..000000000 --- a/export/bin/os_check.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -# -# Determine the Linux distribution and version that is being run. -# -# Check for GNU/Linux distributions - if [ -f /etc/SuSE-release ]; then - DISTRIBUTION="suse" - elif [ -f /etc/UnitedLinux-release ]; then - DISTRIBUTION="united" - elif [ -f /etc/debian_version ]; then - DISTRIBUTION="debian" - elif [ -f /etc/lsb_version ]; then - DISTRIBUTION="ubuntu" - elif [ -f /etc/redhat-release ]; then - a=`grep -i 'red.*hat.*enterprise.*linux' /etc/redhat-release` - if test $? = 0; then - DISTRIBUTION=rhel - else - a=`grep -i 'red.*hat.*linux' /etc/redhat-release` - if test $? = 0; then - DISTRIBUTION=rh - else - a=`grep -i 'Fedora' /etc/redhat-release` - if test $? = 0; then - DISTRIBUTION=fedora - else - a=`grep -i 'cern.*e.*linux' /etc/redhat-release` - if test $? = 0; then - DISTRIBUTION=cel - else - a=`grep -i 'scientific linux cern' /etc/redhat-release` - if test $? = 0; then - DISTRIBUTION=slc - else - DISTRIBUTION="unknown" - fi - fi - fi - fi - fi - else - DISTRIBUTION="unknown" - fi -echo ${DISTRIBUTION} diff --git a/export/bin/patch_installer.sh b/export/bin/patch_installer.sh deleted file mode 100755 index 8e21af3a6..000000000 --- a/export/bin/patch_installer.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/expect -# -# $Id: patch_installer.sh 421 2007-04-05 15:46:55Z dhill $ -# -# Install Software Patch on Module -# Argument 1 - Remote Module Name -# Argument 2 - Remote Server Host Name or IP address -# Argument 3 - Root Password of remote server -# Argument 4 - Patch Directory Location -# Argument 5 - Install Directory Location -# Argument 6 - Software File being installed -# Argument 7 - Debug flag 1 for on, 0 for off -set timeout 20 -set MODULE [lindex $argv 0] -set SERVER [lindex $argv 1] -set PASSWORD [lindex $argv 2] -set PATCHLOCATION [lindex $argv 3] -set INSTALLLOCATION [lindex $argv 4] -set FILE [lindex $argv 5] -set DEBUG [lindex $argv 6] -set USERNAME "root" -set UNM [lindex $argv 7] -if { $UNM != "" } { - set USERNAME $UNM -} -log_user $DEBUG -spawn -noecho /bin/bash -# -# mv file being install -# -send_user "Backup Current File on Module" -expect -re "# " -send "ssh $USERNAME@$SERVER 'mv $INSTALLLOCATION$FILE $INSTALLLOCATION$FILE'.patchSave''\n" -# accept the remote host fingerprint (assuming never logged in before) -expect -re "service not known" { send_user " FAILED: Invalid Host\n" ; exit } -expect -re "authenticity" { send "yes\n" } -expect -re "word: " -# password for ssh -send "$PASSWORD\n" -# check return -expect { - -re "# " { send_user " DONE" } - -re "Permission denied" { send_user " FAILED: Invalid password\n" } exit; - -re "mv" { send_user " FAILED: copy filed\n" ; exit} -} -send_user "\n" -# -# send Patch File -# -send_user "Copy New Calpont Software File to Module" -expect -re "# " -send "scp $PATCHLOCATION$FILE $USERNAME@$SERVER:$INSTALLLOCATION$FILE\n" -expect -re "word: " -# send the password -send "$PASSWORD\n" -# check return -expect { - -re "100%" { send_user " DONE" } - -re "scp" { send_user " FAILED\n" ; - send_user "\n*** Installation Failed\n" ; - exit } - -re "Permission denied" { send_user " FAILED: Invalid password\n" ; exit } - -re "No such file or directory" { send_user " FAILED: Invalid package\n" ; exit } -} -send_user "\n" - -send_user "\n!!!Patch Installation Successfully Completed!!!\n" -exit - diff --git a/export/bin/performance_installer.sh b/export/bin/performance_installer.sh deleted file mode 100755 index bc9e7a6ef..000000000 --- a/export/bin/performance_installer.sh +++ /dev/null @@ -1,319 +0,0 @@ -#!/usr/bin/expect -# -# $Id: performance_installer.sh 1128 2009-01-05 16:36:59Z rdempsey $ -# -# Install RPM and custom OS files on system -# Argument 1 - Remote Module Name -# Argument 2 - Remote Server Host Name or IP address -# Argument 3 - Root Password of remote server -# Argument 4 - Package name being installed -# Argument 5 - Install Type, "initial" or "upgrade" -# Argument 6 - Debug flag 1 for on, 0 for off -set timeout 30 -set USERNAME root -set MODULE [lindex $argv 0] -set SERVER [lindex $argv 1] -set PASSWORD [lindex $argv 2] -set VERSION [lindex $argv 3] -set INSTALLTYPE [lindex $argv 4] -set PKGTYPE [lindex $argv 5] -set NODEPS [lindex $argv 6] -set DEBUG [lindex $argv 7] -set INSTALLDIR "/usr/local/MariaDB/Columnstore" -set IDIR [lindex $argv 8] -if { $IDIR != "" } { - set INSTALLDIR $IDIR -} -set USERNAME "root" -set UNM [lindex $argv 13] -if { $UNM != "" } { - set USERNAME $UNM -} - -set BASH "/bin/bash " -if { $DEBUG == "1" } { - set BASH "/bin/bash -x " -} - -set HOME "$env(HOME)" - -log_user $DEBUG -spawn -noecho /bin/bash -# -if { $PKGTYPE == "rpm" } { - set PKGERASE "rpm -e --nodeps \$(rpm -qa | grep '^infinidb')" - set PKGERASE1 "rpm -e --nodeps " - - set PKGINSTALL "rpm -ivh $NODEPS --force infinidb*$VERSION*" - set PKGUPGRADE "rpm -Uvh --noscripts infinidb*$VERSION*" -} else { - if { $PKGTYPE == "deb" } { - set PKGERASE "dpkg -P \$(dpkg --get-selections | grep '^infinidb')" - set PKGERASE1 "dpkg -P " - set PKGINSTALL "dpkg -i --force-confnew infinidb*$VERSION*" - set PKGUPGRADE "dpkg -i --force-confnew infinidb*$VERSION*" - } else { - if { $PKGTYPE != "bin" } { - send_user "Invalid Package Type of $PKGTYPE" - exit 1 - } - } -} - -# check and see if remote server has ssh keys setup, set PASSWORD if so -send_user " " -send "ssh $USERNAME@$SERVER 'time'\n" -set timeout 60 -expect { - "Host key verification failed" { send_user "FAILED: Host key verification failed\n" ; exit 1 } - "service not known" { send_user "FAILED: Invalid Host\n" ; exit 1 } - "authenticity" { send "yes\n" - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - "sys" { set PASSWORD "ssh" } - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } - timeout { send_user "ERROR: Timeout to host\n" ; exit 1 } -} -set timeout 30 -expect { - -re {[$#] } { } - "sys" { } -} -send_user "\n" -#BUG 5749 - SAS: didn't work on their system until I added the sleep 60 - -sleep 60 - -if { $INSTALLTYPE == "initial" || $INSTALLTYPE == "uninstall" } { - # - # erase package - # - send_user "Erase InfiniDB Packages on Module " - send "ssh $USERNAME@$SERVER '$PKGERASE ;$PKGERASE1 dummy'\n" - if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - set timeout 120 - expect { - "package dummy" { send_user "DONE" } - "error: Failed dependencies" { send_user "ERROR: Failed dependencies\n" ; exit 1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } - } - send_user "\n" -} - -if { $INSTALLTYPE == "uninstall" } { exit 0 } - -# -# send the package -# -set timeout 30 -#expect -re {[$#] } -send_user "Copy New InfiniDB Package to Module " -send "ssh $USERNAME@$SERVER 'rm -f /root/infinidb-*.$PKGTYPE'\n" -if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } -} -expect { - -re {[$#] } { } - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } -} -set timeout 30 -expect { - -re {[$#] } { } -} - -send "scp $HOME/infinidb*$VERSION* $USERNAME@$SERVER:.;$PKGERASE dummy\n" -if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } -} -set timeout 180 -expect { - "package dummy" { send_user "DONE" } - "directory" { send_user "ERROR\n" ; - send_user "\n*** Installation ERROR\n" ; - exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } -} -send_user "\n" - -#sleep to make sure it's finished -sleep 5 - -# -if { $INSTALLTYPE == "initial"} { - # - # install package - # - send_user "Install InfiniDB Packages on Module " - - send "ssh $USERNAME@$SERVER '$PKGINSTALL infinidb*$VERSION* ;$PKGERASE dummy'\n" - if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - set timeout 180 - expect { - "package dummy" { send_user "DONE" } - "error: Failed dependencies" { send_user "ERROR: Failed dependencies\n" ; - send_user "\n*** Installation ERROR\n" ; - exit 1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "needs" { send_user "ERROR: disk space issue\n" ; exit 1 } - "conflicts" { send_user "ERROR: File Conflict issue\n" ; exit 1 } - } - -} -send_user "\n" -#sleep to make sure it's finished -sleep 5 -set timeout 30 -#expect -re {[$#] } -if { $INSTALLTYPE == "initial"} { - # - # copy over InfiniDB config file - # - send_user "Copy InfiniDB Config file to Module " - send "scp $INSTALLDIR/etc/* $USERNAME@$SERVER:$INSTALLDIR/etc/.\n" - if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - set timeout 30 - expect { - -re {[$#] } { send_user "DONE" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - } - send_user "\n" - #sleep to make sure it's finished - sleep 5 - # - # copy over custom OS tmp files - # - send_user "Copy Custom OS files to Module " - send "scp -r $INSTALLDIR/local/etc $USERNAME@$SERVER:$INSTALLDIR/local/.\n" - if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - set timeout 30 - expect { - -re {[$#] } { send_user "DONE" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - } - send_user "\n" - #sleep to make sure it's finished - sleep 5 - # - # copy over InfiniDB OS files - # - send_user "Copy InfiniDB OS files to Module " - send "scp $INSTALLDIR/local/etc/$MODULE/* $USERNAME@$SERVER:$INSTALLDIR/local/.\n" - if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - set timeout 30 - expect { - -re {[$#] } { send_user "DONE" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - } - # - send_user "\n" - #sleep to make sure it's finished - sleep 5 - # - # Start module installer to setup Custom OS files - # - send_user "Run Module Installer " - send "ssh $USERNAME@$SERVER '$BASH $INSTALLDIR/bin/module_installer.sh --module=pm'\n" - if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - set timeout 30 - expect { - "!!!Module" { send_user "DONE" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "FAILED" { send_user "ERROR: missing OS file\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No such file" { send_user "ERROR: File Not Found\n" ; exit 1 } - } - send_user "\n" -} - -# -# check InfiniDB syslog functionality -# -set timeout 30 -#expect -re {[$#] } - -send_user "Check InfiniDB system logging functionality " -send " \n" -send date\n -send "ssh $USERNAME@$SERVER '$BASH $INSTALLDIR/bin/syslogSetup.sh check'\n" -if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } -} -set timeout 30 -expect { - "Logging working" { send_user "DONE" } - timeout { send_user "DONE" } - "not working" { send_user "WARNING: InfiniDB system logging functionality not working" } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } -} -send_user "\n" - -# -send_user "\nInstallation Successfully Completed on '$MODULE'\n" -exit 0 -# vim:ts=4 sw=4: - diff --git a/export/bin/post-install b/export/bin/post-install deleted file mode 100755 index c55bab2ec..000000000 --- a/export/bin/post-install +++ /dev/null @@ -1,336 +0,0 @@ -#!/bin/bash -# -# $Id: post-install 3705 2013-08-07 19:47:20Z dhill $ -# -# Post-install steps for columnstore install - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -rpmmode=install -user=$USER -if [ -z "$user" ]; then - user=root -fi -quiet=0 - -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--rpmmode='` -eq 10 ]; then - rpmmode="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - elif [ `expr -- "$arg" : '--user='` -eq 7 ]; then - user="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--quiet'` -eq 7 ]; then - quiet=1 - elif [ `expr -- "$arg" : '--plugin='` -eq 9 ]; then - plugin="`echo $arg | awk -F= '{print $2}'`" - else - echo "post-install: ignoring unknown argument: $arg" 1>&2 - fi -done - -if [ $installdir != "/usr/local/MariaDB/Columnstore" ]; then - export INFINIDB_INSTALL_DIR=$installdir - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$installdir/lib -else - # add library config file - /bin/cp -f $installdir/bin/infinidb.conf /etc/ld.so.conf.d/. - ldconfig -fi - -#check 64-bit OS compatiable -arch=`uname -m` -patcnt=`expr "$arch" : 'i.86'` -is64bitos=1 -if [ $patcnt -ne 0 ]; then - is64bitos=0 -fi -is64bitpkg=1 -file $installdir/bin/PrimProc | grep '64-bit' >/dev/null 2>&1 -if [ $? -ne 0 ]; then - is64bitpkg=0 -fi -if [ $is64bitpkg -eq 1 -a $is64bitos -ne 1 ]; then - echo "ERROR: Incompatiable Version, package is intended for a x86_64 architecture" - echo "exiting...." - exit 1 -fi - -if [ ! -f $installdir/etc/Calpont.xml ]; then - echo "$installdir/etc/Calpont.xml not found, exiting" - exit 1 -fi - -cd $installdir/lib || exit 1 -for lib in *.so.1.0.0; do - blib=`basename $lib .1.0.0` - ln -sf $lib $blib -done -chown -h $user.$user *.so >/dev/null 2>&1 -if [ -f libnetsnmp.so.5.2.1 ]; then - for lib in *.so.5.2.1; do - blib=`basename $lib .5.2.1` - ln -sf $lib $blib - ln -sf $lib ${blib}.5 - done - chown -h $user.$user *.so *.so.5 >/dev/null 2>&1 -fi -if [ -f libstdc++.so.6.0.14 ]; then - ln -sf libstdc++.so.6.0.14 libstdc++.so.6 - chown -h $user.$user libstdc++.so.6 >/dev/null 2>&1 -fi - -ln -sf libjemalloc.so.3.3.0 libjemalloc.so -chown -h $user.$user libjemalloc.so >/dev/null 2>&1 - -# TODO-based on early experience with HDP it doesn't install bigtop -# so the code below will not correctly detect JAVA_HOME. Need to -# decide how to handle -# Autodetect JAVA_HOME if not defined -#if [ -e /usr/libexec/bigtop-detect-javahome ]; then -#. /usr/libexec/bigtop-detect-javahome -#elif [ -e /usr/lib/bigtop-utils/bigtop-detect-javahome ]; then -#. /usr/lib/bigtop-utils/bigtop-detect-javahome -#fi -#ln -sf $JAVA_HOME/jre/lib/amd64/server/libjvm.so -#chown -h $user.$user libjvm.so >/dev/null 2>&1 - -cd / - -test -d /var/log/Calpont || mkdir /var/log/Calpont >/dev/null 2>&1 -test -d /var/log/Calpont/archive || mkdir /var/log/Calpont/archive >/dev/null 2>&1 -test -d /var/log/Calpont/corefiles || mkdir /var/log/Calpont/corefiles >/dev/null 2>&1 -test -d /var/log/Calpont/trace || mkdir /var/log/Calpont/trace >/dev/null 2>&1 -test -h /var/log/Calpont/data && rm -f /var/log/Calpont/data -test -d /var/log/Calpont/data || mkdir /var/log/Calpont/data >/dev/null 2>&1 -# make sure trace dir is world-writable and sticky -chmod 1755 /var/log/Calpont/trace >/dev/null 2>&1 -test -d $installdir/data || mkdir $installdir/data -test -d $installdir/data1 || mkdir $installdir/data1 -test -d $installdir/data1/systemFiles || mkdir $installdir/data1/systemFiles -test -d $installdir/data1/systemFiles/dbrm || mkdir $installdir/data1/systemFiles/dbrm -test -d $installdir/data1/systemFiles/dataTransaction || rmdir $installdir/data1/systemFiles/dataTransaction >/dev/null 2>&1 -test -d $installdir/data1/systemFiles/dataTransaction/archive || rmdir $installdir/data1/systemFiles/dataTransaction/archive >/dev/null 2>&1 -chmod 1755 $installdir/data1 >/dev/null 2>&1 -chmod -R 1755 $installdir/data1/systemFiles >/dev/null 2>&1 -chmod 1755 $installdir/etc > /dev/null 2>&1 - -#create the bulk-load dirs -mkdir -p $installdir/data/bulk/data/import >/dev/null 2>&1 -mkdir -p $installdir/data/bulk/log >/dev/null 2>&1 -mkdir -p $installdir/data/bulk/job >/dev/null 2>&1 -mkdir -p $installdir/data/bulk/rollback >/dev/null 2>&1 -mkdir -p $installdir/data/bulk/tmpjob >/dev/null 2>&1 -rm -f $installdir/data/bulk/tmpjob/* >/dev/null 2>&1 -chmod -R 755 $installdir/data/bulk >/dev/null 2>&1 - -#create infinidb temp file directory -mkdir -p /tmp/infinidb_tmp_files >/dev/null 2>&1 - -#setup core file directory and link -mkdir /var/log/Calpont/corefiles > /dev/null 2>&1 -chmod 755 /var/log/Calpont/corefiles > /dev/null 2>&1 - -#create mount directories -mkdir /mnt/tmp > /dev/null 2>&1 -mkdir /var/log/Calpont/data/archive > /dev/null 2>&1 - -# install Calpont Log Rotate File -test -d $installdir/mysql/db || mkdir -p $installdir/mysql/db -cp $installdir/bin/columnstoreLogRotate /etc/logrotate.d/columnstore > /dev/null 2>&1 -rm -rf $installdir/mysql/db/infinidb_log_archive > /dev/null 2>&1 - -# delete Calpont shared memory segments -$installdir/bin/Calpont/bin/clearShm > /dev/null 2>&1 - -#setup the infinidb service script -rm -f /etc/init.d/infinidb >/dev/null 2>&1 -cp $installdir/bin/infinidb /etc/init.d >/dev/null 2>&1 -if [ -x /sbin/chkconfig ]; then - /sbin/chkconfig --add infinidb > /dev/null 2>&1 - /sbin/chkconfig infinidb on > /dev/null 2>&1 -elif [ -x /usr/sbin/update-rc.d ]; then - /usr/sbin/update-rc.d infinidb defaults 99 > /dev/null 2>&1 -else - echo "" - echo "Package 'chkconfig' or 'update-rc.d' not installed, contact your sysadmin if you want to setup to autostart for infinidb" -fi - -#setup InfiniDB system logging -if [ $user = "root" ]; then - $installdir/bin/syslogSetup.sh install > /tmp/syslog_install.log 2>&1 - chmod 777 -R /dev/shm - rm -f /etc/default/infinidb -else - sudo $installdir/bin/syslogSetup.sh --installdir=$installdir install > /tmp/syslog_install.log 2>&1 - sudo chown $user:$user $installdir/etc/Calpont.xml - sudo chmod 755 /var/log - sudo chmod -R 755 /var/log/Calpont - sudo chmod -R 777 /dev/shm - sudo rm -f /var/lock/subsys/mysql-Calpont - sudo rm -f /tmp/StopCalpont - - sed -i -e s@/usr/local/MariaDB/Columnstore@$installdir@g $installdir/bin/infinidb.def - sudo cp $installdir/bin/infinidb.def /etc/default/infinidb -fi - -#check if InfiniDB system logging was setup -cat /tmp/syslog_install.log | grep 'No System Logging' >/dev/null 2>&1 -if [ $? -eq 0 ]; then - cat /tmp/syslog_install.log -fi - -#setup alias commands -eval userhome=~$user -bashFile=$userhome/.bashrc -touch ${bashFile} -if [ $installdir != "/usr/local/MariaDB/Columnstore" ]; then - sed -i -e s@/usr/local/MariaDB/Columnstore@$installdir@g $installdir/bin/columnstoreAlias -fi -egrep -qs 'Calpont Database Platform Alias Commands' ${bashFile} -rc1=$? -egrep -qs 'InfiniDB Alias Commands' ${bashFile} -rc2=$? -if [ $rc1 -ne 0 -a $rc2 -ne 0 ]; then - rm -f ${bashFile}.columnstoreSave - cp ${bashFile} ${bashFile}.columnstoreSave >/dev/null 2>&1 - cat $installdir/bin/columnstoreAlias >> ${bashFile} - echo " " >> ${bashFile} -fi - -#check and get amazon EC2 env variables -if [ -n "$EC2_HOME" ]; then - $installdir/bin/setConfig -d Installation EC2_HOME $EC2_HOME - - if [ -n "$EC2_HOME" ]; then - $installdir/bin/setConfig -d Installation JAVA_HOME $JAVA_HOME - fi - - $installdir/bin/setConfig -d Installation EC2_PATH $PATH:/home/ec2/bin:/opt/aws/bin -fi - -#log install message -test -f $installdir/post/functions && . $installdir/post/functions -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$installdir/lib $installdir/bin/cplogger -i 19 "***** InfiniDB Installed *****" - -#setup hadoop -hadoop=`which hadoop 2>/dev/null` -if [ -z $hadoop ]; then - #check for non-root user - if [ $installdir != "/usr/local/MariaDB/Columnstore" -a $quiet -eq 0 ]; then -cat < /tmp/hdfs-20-test.log 2>&1 - if [ $? -eq 0 ]; then - #Passed set in config file - $installdir/bin/setConfig -d SystemConfig DataFilePlugin $installdir/lib/hdfs-20.so - $installdir/bin/setConfig -d SystemConfig DataFileEnvFile setenv-hdfs-20 - - #check for non-root user - if [ $installdir != "/usr/local/MariaDB/Columnstore" -a $quiet -eq 0 ]; then -cat < /tmp/hdfs-12-test.log 2>&1 - if [ $? -eq 0 ]; then - #Passed set in config file - $installdir/bin/setConfig -d SystemConfig DataFilePlugin $installdir/lib/hdfs-12.so - $installdir/bin/setConfig -d SystemConfig DataFileEnvFile setenv-hdfs-12 - - if [ $installdir != "/usr/local/MariaDB/Columnstore" -a $quiet -eq 0 ]; then -cat < /tmp/error.check - if [ `cat /tmp/error.check | wc -c` -ne 0 ]; then - password=`$installdir/bin/getMySQLpw` - if [ $? -ne 0 ]; then - echo "MySQL Password missing or incorrect" - rm -f /tmp/error.check - $installdir/mysql/mysql-Calpont stop - sleep 2 - exit 2; - fi - rm -f /tmp/error.check - return 1; - fi - - rm -f /tmp/error.check - - #--------------------------------------------------------------------------- - # See if engine infinidb exist - #--------------------------------------------------------------------------- - echo "checking for engine infinidb..." - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='show engines;' \ - calpontsys | grep -i infinidb - - # - # Add compressiontype column to SYSCOLUMN if applicable - # - if [ $? -ne 0 ]; then - echo "infinidb doesn't exist" - return 1 - fi - - echo "infinidb exist" - - return 0; -} - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -rpmmode=install -password= - -for arg in "$@"; do - if [ $(expr -- "$arg" : '--prefix=') -eq 9 ]; then - prefix="$(echo $arg | awk -F= '{print $2}')" - installdir=$prefix/MariaDB/Columnstore - elif [ $(expr -- "$arg" : '--rpmmode=') -eq 10 ]; then - rpmmode="$(echo $arg | awk -F= '{print $2}')" - elif [ $(expr -- "$arg" : '--password=') -eq 11 ]; then - password="$(echo $arg | awk -F= '{print $2}')" - elif [ $(expr -- "$arg" : '--installdir=') -eq 13 ]; then - installdir="$(echo $arg | awk -F= '{print $2}')" - prefix=$(dirname $installdir) - else - echo "ignoring unknown argument: $arg" 1>&2 - fi -done - -if [ $installdir != "/usr/local/MariaDB/Columnstore" ]; then - export INFINIDB_INSTALL_DIR=$installdir - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INFINIDB_INSTALL_DIR/lib:$INFINIDB_INSTALL_DIR/mysql/lib/mysql -fi - -if [ -f $installdir/lib/libcalmysql.so.1.0.0 ]; then - libcalmysql=$installdir/lib/libcalmysql.so.1.0.0 - libudfsdk=$installdir/lib/libudf_mysql.so.1.0.0 -elif [ -f $installdir/lib/libcalmysql.so.1 ]; then - libcalmysql=$installdir/lib/libcalmysql.so.1 - libudfsdk=$installdir/lib/libudf_mysql.so.1 -else - libcalmysql= -fi - -if [ -d $installdir/mysql/lib64/mysql/plugin -a -n "$libcalmysql" ]; then - cd $installdir/mysql/lib64/mysql/plugin - ln -sf $libcalmysql libcalmysql.so - ln -sf $libcalmysql libcalmysqlent.so - ln -sf $libudfsdk libudf_mysql.so -fi - -if [ $installdir != "/usr/local/MariaDB/Columnstore" ]; then - sed -i -e s@/usr/local/MariaDB/Columnstore@$installdir@g $installdir/mysql/my.cnf -fi - -if [ -x $installdir/mysql/mysql-Calpont ]; then - - # Restart in the same way that mysqld will be started normally. - $installdir/mysql/mysql-Calpont stop >/dev/null 2>&1 - sleep 2 - $installdir/mysql/mysql-Calpont start - - sleep 5 - - # Install various Calpont stuff... - $installdir/mysql/install_calpont_mysql.sh --password=$password --installdir=$installdir - checkForError - if [ $? -ne 0 ]; then - # retry - $installdir/mysql/install_calpont_mysql.sh --password=$password --installdir=$installdir - checkForError - if [ $? -ne 0 ]; then - echo "ERROR: missing or invalid password, or InfiniDB plugin install missing" - $installdir/mysql/mysql-Calpont stop - sleep 2 - exit 1; - fi - fi - - $installdir/mysql/mysql-Calpont stop -fi - -exit 0 - diff --git a/export/bin/post-mysqld-install b/export/bin/post-mysqld-install deleted file mode 100755 index 612055f39..000000000 --- a/export/bin/post-mysqld-install +++ /dev/null @@ -1,107 +0,0 @@ -#!/bin/bash -# -# $Id: post-mysqld-install 3661 2013-06-25 22:04:33Z dhill $ -# -# Post-install steps for infinidb-mysql install - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -rpmmode=install -user=mysql -if [ $EUID -ne 0 ]; then - user=$USER -fi - -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--rpmmode='` -eq 10 ]; then - rpmmode="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - elif [ `expr -- "$arg" : '--user='` -eq 7 ]; then - user="`echo $arg | awk -F= '{print $2}'`" - else - echo "post-mysqld-install: ignoring unknown argument: $arg" 1>&2 - fi -done - -cd $installdir/mysql/lib64 -for file in libmysqlclient libmysqlclient_r; do - ln -sf $file.so.18.0.0 $file.so - ln -sf $file.so.18.0.0 $file.so.18 -done -cd $installdir/mysql/lib64/mysql/plugin -for file in ha_archive ha_blackhole ha_federated ha_innodb; do - ln -sf $file.so $file.so.0 -done - -### taken from MySQL-server-5.1.30-0.glibc23.i386.rpm -mysql_datadir=$installdir/mysql/db - -# Create data directory if needed -if test ! -d $mysql_datadir; then mkdir -m 755 $mysql_datadir; fi -if test ! -d $mysql_datadir/mysql; then mkdir $mysql_datadir/mysql; fi -if test ! -d $mysql_datadir/test; then mkdir $mysql_datadir/test; fi -if test ! -d $installdir/mysql/lib; then mkdir $installdir/mysql/lib; fi -if test ! -d $installdir/mysql/lib/mysql; then mkdir $installdir/mysql/lib/mysql; fi - -# Create a MySQL user and group. Do not report any problems if it already -# exists. -groupadd -r $user 2> /dev/null || true -useradd -m -r -d $mysql_datadir -s /bin/bash -c "MySQL server" -g $user $user 2> /dev/null || true -# The user may already exist, make sure it has the proper group nevertheless (BUG#12823) -usermod -g $user $user 2> /dev/null || true - -# Change permissions so that the user that will run the MySQL daemon -# owns all database files. -chown -R $user:$user $installdir/mysql - -# Initiate databases if needed -if [ $installdir != "/usr/local/MariaDB/Columnstore" ]; then - sed -i -e s@/usr/local/MariaDB/Columnstore@$installdir@g $installdir/mysql/my.cnf -fi - -# InfiniDB testing hook... -test -x /usr/local/bin/idb-testing-mysql-pre-start && /usr/local/bin/idb-testing-mysql-pre-start $installdir/mysql - -### Don't give the user the notes, we'll fix them ourselves... -$installdir/mysql/bin/mysql_install_db --rpm --user=$user --defaults-file=$installdir/mysql/my.cnf --basedir=$installdir/mysql >/dev/null -# Change permissions again to fix any new files. -chown -R $user:$user $mysql_datadir - -# Fix permissions for the permission database so that only the user -# can read them. -chmod -R og-rw $mysql_datadir/mysql - -# Change permissions again to fix any new files. -chown -R $user.$user $installdir/mysql - -test -e /etc/init.d/mysql-Calpont || cp $installdir/mysql/mysql-Calpont /etc/init.d >/dev/null 2>&1 - -if [ -f $installdir/lib/libcalmysql.so.1.0.0 ]; then - libcalmysql=$installdir/lib/libcalmysql.so.1.0.0 - libudfsdk=$installdir/lib/libudf_mysql.so.1.0.0 -elif [ -f $installdir/lib/libcalmysql.so.1 ]; then - libcalmysql=$installdir/lib/libcalmysql.so.1 - libudfsdk=$installdir/lib/libudf_mysql.so.1 -else - libcalmysql= -fi - -if [ -n "$libcalmysql" ]; then - - cd $installdir/mysql/lib64/mysql/plugin - ln -sf $libcalmysql libcalmysql.so - ln -sf $libcalmysql libcalmysqlent.so - ln -sf $libudfsdk libudf_mysql.so -fi - -# cleanup previous install mysql replication files -rm -rf $mysql_datadir/*relay* -rm -rf $mysql_datadir/mysql-bin.* -rm -rf $mysql_datadir/master.info - -exit 0 diff --git a/export/bin/pre-uninstall b/export/bin/pre-uninstall deleted file mode 100755 index 6b73fb5d8..000000000 --- a/export/bin/pre-uninstall +++ /dev/null @@ -1,156 +0,0 @@ -#!/bin/bash -# -# $Id: post-uninstall 421 2007-04-05 15:46:55Z dhill $ -# -# Post-uninstall steps for columnstore install - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -rpmmode=install -user=$USER -sudo=sudo -if [ -z "$user" ]; then - user=root - sudo=" " -fi -quiet=0 - -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--rpmmode='` -eq 10 ]; then - rpmmode="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - elif [ `expr -- "$arg" : '--user='` -eq 7 ]; then - user="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--quiet'` -eq 7 ]; then - quiet=1 - else - echo "post-uninstall: ignoring unknown argument: $arg" 1>&2 - fi -done - -#stop services -$installdir/bin/infinidb stop > /dev/null 2>&1 -if test -f /etc/init.d/columnstore-Mysql ; then - $installdir/myql/columnstore-Mysql stop > /dev/null 2>&1 -fi - -if [ $installdir == "/usr/local/MariaDB/Columnstore" ]; then - # remove library config file - rm -f /etc/ld.so.conf.d/infinidb.conf - rm -f /etc/ld.so.cache - ldconfig -fi - -# uninstall OS scripts updated by postConfigure -if test -f /root/.bashrc.columnstoreSave ; then - $sudo mv -f /root/.bashrc.columnstoreSave /root/.bashrc > /dev/null 2>&1 -fi -if test -f /etc/exports.columnstoreSave ; then - $sudo mv -f /etc/exports.columnstoreSave /etc/exports > /dev/null 2>&1 -else - $sudo rm -f /etc/exports > /dev/null 2>&1 -fi -if test -f /etc/rc.d/rc.local.columnstoreSave ; then - $sudo mv -f /etc/rc.d/rc.local.columnstoreSave /etc/rc.d/rc.local > /dev/null 2>&1 -fi -if test -f /etc/rc.local.columnstoreSave ; then - $sudo mv -f /etc/rc.local.columnstoreSave /etc/rc.local > /dev/null 2>&1 -fi - -export INFINIDB_INSTALL_DIR=$installdir - -cloud=`$INFINIDB_INSTALL_DIR/bin/getConfig Installation Cloud` -if [ $cloud = "amazon-ec2" ] || [ $cloud = "amazon-vpc" ]; then - if test -f /etc/fstab ; then - $sudo sed -i '/Calpont\/data/d' /etc/fstab > /dev/null 2>&1 - fi -fi - -#remove log file directories -#rm -rf /var/log/Calpont > /dev/null 2>&1 -#rm -f $installdir/mysql/db/*.err > /dev/null 2>&1 -rm -f /var/log/Calpont/activeAlarms > /dev/null 2>&1 -rm -f /var/log/Calpont/*.log1 > /dev/null 2>&1 -rm -rf $installdir/mysql/db/infinidb_log_archive > /dev/null 2>&1 -sudo rm -f /etc/default/infinidb - -# remove Calpont Log Rotate File abd Transaction Log File -rm -f /etc/logrotate.d/columnstore > /dev/null 2>&1 -rm -f /etc/cron.d/transactionLog > /dev/null 2>&1 - -# delete Calpont shared memory segments -pkill -9 ProcMon -$installdir/bin/clearShm > /dev/null 2>&1 - -# delete prat files -rm -f /etc/cron.d/ps > /dev/null 2>&1 -rm -f /etc/pscollect > /dev/null 2>&1 -/etc/init.d/crond reload > /dev/null 2>&1 -systemctl reload crond.service > /dev/null 2>&1 - -# delete tmp files -rm -f $installdir/local/*.columnstore -rm -rf $installdir/local/etc/ -rm -rf /tmp/bucketreuse -rm -f /tmp/columnstore.txt -rm -f /tmp/dbbuilder.* -rm -f /tmp/dbrmfiles -rm -f /var/lock/subsys/infinidb -rm -f /tmp/pkgcheck -rm -f /tmp/upgrade-status.log.* -rm -f /tmp/mount.log -rm -f $installdir/data/bulk/tmpjob/* >/dev/null 2>&1 -rm -rf /tmp/infinidb_tmp_files -rm -f $installdir/local/moveDbrootTransactionLog - -#delete any old setenv files under home directory -if [ $user = "root" ]; then - rm -f /root/setenv-hdfs* -else - rm -f /home/$user/setenv-hdfs* -fi - -# delete core files -#rm -f /var/log/Calpont/corefiles/* > /dev/null 2>&1 - -#uninstall InfiniDB system logging -if [ -x $installdir/bin/syslogSetup.sh ]; then - if [ $user = "root" ]; then - $installdir/bin/syslogSetup.sh uninstall >/dev/null 2>&1 - rm -f /etc/init.d/infinidb > /dev/null 2>&1 - else - sudo $installdir/bin/syslogSetup.sh uninstall >/dev/null 2>&1 - fi -fi - -if [ -x /sbin/chkconfig ]; then - /sbin/chkconfig infinidb off > /dev/null 2>&1 - /sbin/chkconfig --del infinidb > /dev/null 2>&1 -elif [ -x /usr/sbin/update-rc.d ]; then - /usr/sbin/update-rc.d -f infinidb remove > /dev/null 2>&1 -fi - -if [ $quiet != 1 ]; then - #make copy of Calpont.xml - /bin/cp -f $installdir/etc/Calpont.xml $installdir/etc/Calpont.xml.rpmsave > /dev/null 2>&1 - /bin/cp -f $installdir/mysql/my.cnf $installdir/mysql/my.cnf.rpmsave > /dev/null 2>&1 -fi - -#umount file systems -if [ $user = "root" ]; then - rm -f $installdir/data*/OAMdbrootCheck > /dev/null 2>&1 -else - sudo rm -f $installdir/data*/OAMdbrootCheck > /dev/null 2>&1 -fi - -#tell user to run post configure script -echo " " -echo "Calpont uninstall completed" - -exit 0 - diff --git a/export/bin/remote_command.sh b/export/bin/remote_command.sh deleted file mode 100755 index 6878bcf22..000000000 --- a/export/bin/remote_command.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/expect -# -# $Id: remote_command.sh 3495 2012-12-17 22:51:40Z dhill $ -# -# Remote command execution script to another server -# Argument 1 - Remote Server Host Name or IP address -# Argument 2 - Remote Server password -# Argument 3 - Command -# Argument 4 - debug flag -# Argument 5 - Remote user name (optional) -# Argument 6 - Force a tty to be allocated (optional) -set stty_init {cols 512 -opost}; -set timeout 30 -set SERVER [lindex $argv 0] -set PASSWORD [lindex $argv 1] -set COMMAND [lindex $argv 2] -set DEBUG [lindex $argv 3] - -if {[info exists env(USER)]} { - set USERNAME $env(USER) -} else { - set USERNAME "root" -} - -set UNM [lindex $argv 4] -if { $UNM != "" && $UNM != "-" } { - set USERNAME "$UNM" -} -set TTY "" -set TTYOPT [lindex $argv 5] -if { $TTYOPT != "" } { - set TTY "-t" -} -log_user $DEBUG -spawn -noecho /bin/bash -expect -re {[$#] } - -if { $PASSWORD == "ssh" } { - set PASSWORD "" -} - -# -# send command -# -send "ssh $TTY $USERNAME@$SERVER $COMMAND\n" -expect { - "Host key verification failed" { send_user "FAILED: Host key verification failed\n" ; exit 1} - "service not known" { send_user " FAILED: Invalid Host\n" ; exit 1} - "ssh: connect to host" { send_user " FAILED: Invalid Host\n" ; exit 1 } - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "authenticity" { send "yes\n" - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - -re {[$#] } { exit 0 } -} -expect { - -re {[$#] } { exit 0 } - "Permission denied" { send_user " FAILED: Invalid password\n" ; exit 1 } - "(y or n)" { send "y\n" - expect -re {[$#] } { exit 0 } - } -} -exit 0 - diff --git a/export/bin/remote_command_verify.sh b/export/bin/remote_command_verify.sh deleted file mode 100755 index d7ceb5207..000000000 --- a/export/bin/remote_command_verify.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/expect -# -# $Id: remote_commend.sh 421 2007-04-05 15:46:55Z dhill $ -# -# Remote command execution script to another server -# Argument 1 - Remote Server Host Name or IP address -# Argument 2 - Remote Server root password -# Argument 3 - Command -# Argument 4 - Good Response -# Argument 5 - Bad Response -# Argument 6 - timeout -# Argument 7 - Debug flag -set timeout 30 -set SERVER [lindex $argv 0] -set USERNAME [lindex $argv 1] -set PASSWORD [lindex $argv 2] -set COMMAND [lindex $argv 3] -set GOOD_RESPONSE [lindex $argv 4] -set BAD_RESPONSE [lindex $argv 5] -set timeout [lindex $argv 6] -set DEBUG [lindex $argv 7] -log_user $DEBUG -spawn -noecho /bin/bash -expect -re {[$#] } -# -# send command -# -send "ssh $USERNAME@$SERVER '$COMMAND'\n" -expect { - -re "authenticity" { send "yes\n" - expect { - timeout { send_user "TIMEOUT\n" ; exit 2 } - -re "word: " { send "$PASSWORD\n" } abort - } - } - timeout { send_user "TIMEOUT\n" ; exit 2 } - -re "service not known" { send_user "FAILED: Invalid Host\n" ; exit 1 } - -re "Permission denied" { send_user "FAILED: Invalid Password\n" ; exit 1 } - -re "word: " { send "$PASSWORD\n" } abort - -re $GOOD_RESPONSE { send_user " " ; exit 0 } - -re $BAD_RESPONSE { send_user "FAILED\n" ; exit 1 } - -re "parser error" { send_user "FAILED: System Calpont.xml parse error\n" ; exit 1 } -} -expect { - timeout { send_user "FAILED-TIMEOUT\n" ; exit 1 } - -re $GOOD_RESPONSE { send_user " " ; exit 0 } - -re $BAD_RESPONSE { send_user "FAILED\n" ; exit 1 } - -re "No such file" { send_user "FAILED\n" ; exit 1 } - -re "parser error" { send_user "FAILED: System Calpont.xml parse error\n" ; exit 1 } -} - -exit 1 - diff --git a/export/bin/remote_scp_get.sh b/export/bin/remote_scp_get.sh deleted file mode 100755 index d361a951f..000000000 --- a/export/bin/remote_scp_get.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/expect -# -# $Id: remote_commend.sh 421 2007-04-05 15:46:55Z dhill $ -# -# Remote command execution script to another server -# Argument 1 - Remote Server Host Name or IP address -# Argument 2 - Remote Server root password -# Argument 3 - Command -set timeout 30 -set USERNAME $env(USER)"@" -set SERVER [lindex $argv 0] -set PASSWORD [lindex $argv 1] -set FILE [lindex $argv 2] -set DEBUG [lindex $argv 3] -log_user $DEBUG -spawn -noecho /bin/bash - -if { $PASSWORD == "ssh" } { - set PASSWORD "" -} - -# -# send command -# -expect -re {[$#] } -send "scp $USERNAME$SERVER:$FILE .\n" -expect { - "authenticity" { send "yes\n" - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - "service not known" { send_user "FAILED: Invalid Host\n" ; exit 1 } - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection timed out" { send_user "FAILED: Connection timed out\n" ; exit 1 } - "lost connection" { send_user "FAILED: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } -} -expect { - "100%" { send_user "DONE\n" } - "scp:" { send_user "FAILED\n" ; exit 1 } - "Permission denied" { send_user "FAILED: Invalid password\n" ; exit 1 } - "No such file or directory" { send_user "FAILED: No such file or directory\n" ; exit 1 } - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } -} -#sleep to make sure it's finished -sleep 5 -exit 0 - diff --git a/export/bin/remote_scp_put.sh b/export/bin/remote_scp_put.sh deleted file mode 100755 index 31b3aa552..000000000 --- a/export/bin/remote_scp_put.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/expect -# -# $Id: remote_commend.sh 421 2007-04-05 15:46:55Z dhill $ -# -# Remote command execution script to another server -# Argument 1 - Remote Server Host Name or IP address -# Argument 2 - Remote Server root password -# Argument 3 - Command -set timeout 30 -set USERNAME $env(USER)"@" -set SERVER [lindex $argv 0] -set PASSWORD [lindex $argv 1] -set FILE [lindex $argv 2] -set DEBUG [lindex $argv 3] -log_user $DEBUG -spawn -noecho /bin/bash - -if { $PASSWORD == "ssh" } { - set PASSWORD "" -} - -# -# send command -# -expect -re "# " -send "scp $FILE $USERNAME$SERVER:$FILE\n" -expect { - -re "authenticity" { send "yes\n" - expect { - -re "word: " { send "$PASSWORD\n" } - -re "passphrase" { send "$PASSWORD\n" } - } - } - -re "service not known" { send_user "FAILED: Invalid Host\n" ; exit 1 } - -re "Connection refused" { send_user "FAILED: Connection refused\n" ; exit 1 } - -re "Connection timed out" { send_user "FAILED: Connection timed out\n" ; exit 1 } - -re "lost connection" { send_user "FAILED: Connection refused\n" ; exit 1 } - -re "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - -re "word: " { send "$PASSWORD\n" } - -re "passphrase" { send "$PASSWORD\n" } - -re "WARNING:" { send "rm -f /root/.ssh/known_hosts" ; exit 1 } -} -expect { - -re "100%" { send_user "DONE\n" } - -re "scp:" { send_user "FAILED\n" ; exit 1 } - -re "Permission denied" { send_user "FAILED: Invalid password\n" ; exit 1 } - -re "No such file or directory" { send_user "FAILED: Invalid file\n" ; exit 1 } - -re "Connection refused" { send_user "FAILED: Connection refused\n" ; exit 1 } - -re "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } -} -#sleep to make sure it's finished -sleep 5 -exit 0 - diff --git a/export/bin/remotessh.exp b/export/bin/remotessh.exp deleted file mode 100755 index 050339323..000000000 --- a/export/bin/remotessh.exp +++ /dev/null @@ -1,89 +0,0 @@ -set PROMPT "(\\$|#) " - -proc auto_ssh_command { username password server commandstr } { - global PROMPT - - # - # send command - # - send "ssh -t $username@$server $commandstr\n" - expect { - -re "Host key verification failed" { send_user "FAILED: Host key verification failed\n" ; exit 1} - -re "service not known" { send_user " FAILED: Invalid Host\n" ; exit 1} - -re "ssh: connect to host" { send_user " FAILED: Invalid Host\n" ; exit 1 } - -re "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - -re "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - -re "authenticity" { send "yes\n" - expect { - -re "word: " { send "$password\n" } abort - -re "passphrase" { send "$password\n" } abort - } - } - -re "word: " { send "$password\n" } abort - -re "passphrase" { send "$password\n" } abort - } - - set needsudopwd 0 - expect { - -re $PROMPT { exit 0 } - -re "Permission denied, please try again" { send_user " FAILED: Invalid password\n" ; exit 1 } - -re ": Permission denied" { send_user " FAILED: Privilege error\n" ; exit 1 } - -re "(y or n)" { send "y\n" - expect -re $PROMPT { exit 0 } - } - -re "sudo\\] password for $username: " { - send "$password\n"; - set needsudopwd 1 - } abort - } - - if {$needsudopwd} { - expect { - -re $PROMPT { exit 0 } - -re "try again" { send_user " FAILED: Invalid sudo password\n" ; exit 1 } - } - } -} - -proc auto_scp_command { username password server srcpath destpath } { - global PROMPT - send "scp $srcpath $username@$server:$destpath\n" - expect { - -re "Host key verification failed" { send_user "FAILED: Host key verification failed\n" ; exit 1} - -re "service not known" { send_user " FAILED: Invalid Host\n" ; exit 1} - -re "ssh: connect to host" { send_user " FAILED: Invalid Host\n" ; exit 1 } - -re "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - -re "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - -re "authenticity" { send "yes\n" - expect { - -re "word: " { send "$password\n" } abort - -re "passphrase" { send "$password\n" } abort - } - } - -re "word: " { send "$password\n" } abort - -re "passphrase" { send "$password\n" } abort - } - - expect { - -re $PROMPT { exit 0 } - -re "Permission denied, please try again" { send_user " FAILED: Invalid password\n" ; exit 1 } - -re ": Permission denied" { send_user " FAILED: Privilege error\n" ; exit 1 } - -re "(y or n)" { send "y\n" - expect -re $PROMPT { exit 0 } - } - } - - set timeout 30 - expect { - -re "100%" { send_user "DONE" } abort - -re "directory" { send_user "ERROR\n" ; - send_user "\n*** Installation ERROR\n" ; - exit 1 } - -re "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - -re "No such file or directory" { send_user "ERROR: Invalid package\n" ; exit 1 } - } - - send_user "\n" - # sleep to make sure it's finished - sleep 5 -} diff --git a/export/bin/rsync.sh b/export/bin/rsync.sh deleted file mode 100755 index 2fa53ee6b..000000000 --- a/export/bin/rsync.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/expect -# -# $Id: rsync.sh 2915 2012-05-23 16:01:34Z dhill $ -# -# Remote Install RPM and custom OS files from postConfigure script -# Argument 1 - Remote Server Host Name or IP address -# Argument 2 - Root Password of remote server -# Argument 3 - Debug flag 1 for on, 0 for off -set USERNAME "root@" -set SERVER [lindex $argv 0] -set PASSWORD [lindex $argv 1] -set INSTALLDIR [lindex $argv 2] -set DEBUG 0 -set DEBUG [lindex $argv 3] -log_user $DEBUG -spawn -noecho /bin/bash - - -if { $PASSWORD == "ssh" } { - set USERNAME "" - set PASSWORD "" -} - -set COMMAND "rsync -vopgr -e ssh --exclude=mysql/ --exclude=test/ --exclude=infinidb_vtable/ --exclude=infinidb_querystats/ --exclude=calpontsys/ --include=*/ --include=*/* --exclude=* $INSTALLDIR/mysql/db/ $USERNAME$SERVER:$INSTALLDIR/mysql/db/" - -# -# run command -# -set timeout 60 -send "$COMMAND\n" -expect { - -re "Host key verification failed" { send_user "FAILED: Host key verification failed\n" ; exit -1} - -re "service not known" { send_user " FAILED: Invalid Host\n" ; exit -1} - -re "ssh: connect to host" { send_user " FAILED: Invalid Host\n" ; exit -1 } - -re "authenticity" { send "yes\n" - expect { - -re "word: " { send "$PASSWORD\n" } - -re "passphrase" { send "$PASSWORD\n" } - } - } - -re "word: " { send "$PASSWORD\n" } - -re "passphrase" { send "$PASSWORD\n" } - -re "failed" { send_user " FAILED: Failure, check tmp log\n" ; exit 1 } - -re "Permission denied" { send_user " FAILED: Invalid password\n" ; exit 1 } - -re "total size" { exit 0 } -} -expect { - -re "failed" { send_user " FAILED: Failure, check tmp log\n" ; exit 1 } - -re "Permission denied" { send_user " FAILED: Invalid password\n" ; exit 1 } - -re "total size" { exit 0 } - } -} - -exit 0 diff --git a/export/bin/run.sh b/export/bin/run.sh deleted file mode 100755 index bcd5dd39e..000000000 --- a/export/bin/run.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/bash -# -# $Id$ -# - -usage="usage: run.sh [-vh] [-s sleep] [-t tries] executable" - -vflg=0 -sopt="5" -topt="0" - -while getopts "vs:t:h" flag; do - case $flag in - v) vflg=1 - ;; - s) sopt=$OPTARG - ;; - t) topt=$OPTARG - ;; - h) echo $usage - exit 0 - ;; - \? | *) echo $usage 1>&2 - exit 1 - ;; - esac -done - -shift $((OPTIND - 1)) - -exename="$1" - -if [ -z "$exename" ]; then - echo $usage 1>&2 - exit 1 -fi - -shift -args="$@" - -retries=1 -keep_going=1 - -if [ $vflg -gt 0 ]; then - echo "starting $exename $args with sleep=$sopt and tries=$topt" -fi - -while [ $keep_going -ne 0 ]; do - $exename $args - if [ -e /tmp/StopCalpont ]; then - exit 0 - fi - if [ $topt -gt 0 -a $retries -ge $topt ]; then - keep_going=0 - fi - ((retries++)) - if [ $keep_going -ne 0 -a $sopt -gt 0 ]; then - sleep $sopt - fi -done - -if [ $vflg -gt 0 ]; then - echo "$exename exceeded its try count, quiting!" 1>&2 -fi - -exit 1 - diff --git a/export/bin/slave-rep-columnstore.sh b/export/bin/slave-rep-columnstore.sh deleted file mode 100755 index 3b3e1bd3c..000000000 --- a/export/bin/slave-rep-columnstore.sh +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/bash -# -# $Id$ -# -# generic InfiniDB Slave Replication script. -# -# Notes: This script gets run by ProcMon during installs and upgrades: - -# check log for error -checkForError() { - grep ERROR /tmp/slave-rep-status.log > /tmp/error.check - if [ `cat /tmp/error.check | wc -c` -ne 0 ]; then - echo "ERROR: check log file: /tmp/slave-rep-status.log" - rm -f /tmp/error.check - exit 1 - fi - rm -f /tmp/error.check -} - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -pwprompt= -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--password='` -eq 11 ]; then - password="`echo $arg | awk -F= '{print $2}'`" - pwprompt="--password=$password" - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - elif [ `expr -- "$arg" : '--masteripaddr='` -eq 15 ]; then - masteripaddr="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--masterlogfile='` -eq 16 ]; then - masterlogfile="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--masterlogpos='` -eq 15 ]; then - masterlogpos="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--port='` -eq 7 ]; then - port="`echo $arg | awk -F= '{print $2}'`" - fi -done - -test -f $installdir/post/functions && . $installdir/post/functions - -repUser="idbrep" -password="Calpont1" - ->/tmp/slave-rep-status.log - -# -# Run stop slave command -# -echo "Run stop slave command" >>/tmp/slave-rep-status.log -cat >/tmp/idb_slave-rep.sql <>/tmp/slave-rep-status.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/slave-rep-status.log - -# -# Run Change Master Command -# -echo "Run Change Master Command" >>/tmp/slave-rep-status.log -cat >/tmp/idb_slave-rep.sql <>/tmp/slave-rep-status.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/slave-rep-status.log - -# -# Run start slave command -# -echo "Run start slave command" >>/tmp/slave-rep-status.log -cat >/tmp/idb_slave-rep.sql <>/tmp/slave-rep-status.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/slave-rep-status.log - -# -# Run SHOW SLAVE STATUS -# -echo "Run SHOW SLAVE STATUS to node log" >>/tmp/slave-rep-status.log -cat >/tmp/idb_slave-rep.sql <>/tmp/slave-rep-status.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/slave-rep-status.log - -checkForError - -#alls good, 'OK' for success -echo "OK" -exit 0 diff --git a/export/bin/slave-rep-infinidb.sh b/export/bin/slave-rep-infinidb.sh deleted file mode 100755 index 3b3e1bd3c..000000000 --- a/export/bin/slave-rep-infinidb.sh +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/bash -# -# $Id$ -# -# generic InfiniDB Slave Replication script. -# -# Notes: This script gets run by ProcMon during installs and upgrades: - -# check log for error -checkForError() { - grep ERROR /tmp/slave-rep-status.log > /tmp/error.check - if [ `cat /tmp/error.check | wc -c` -ne 0 ]; then - echo "ERROR: check log file: /tmp/slave-rep-status.log" - rm -f /tmp/error.check - exit 1 - fi - rm -f /tmp/error.check -} - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -pwprompt= -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--password='` -eq 11 ]; then - password="`echo $arg | awk -F= '{print $2}'`" - pwprompt="--password=$password" - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - elif [ `expr -- "$arg" : '--masteripaddr='` -eq 15 ]; then - masteripaddr="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--masterlogfile='` -eq 16 ]; then - masterlogfile="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--masterlogpos='` -eq 15 ]; then - masterlogpos="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--port='` -eq 7 ]; then - port="`echo $arg | awk -F= '{print $2}'`" - fi -done - -test -f $installdir/post/functions && . $installdir/post/functions - -repUser="idbrep" -password="Calpont1" - ->/tmp/slave-rep-status.log - -# -# Run stop slave command -# -echo "Run stop slave command" >>/tmp/slave-rep-status.log -cat >/tmp/idb_slave-rep.sql <>/tmp/slave-rep-status.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/slave-rep-status.log - -# -# Run Change Master Command -# -echo "Run Change Master Command" >>/tmp/slave-rep-status.log -cat >/tmp/idb_slave-rep.sql <>/tmp/slave-rep-status.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/slave-rep-status.log - -# -# Run start slave command -# -echo "Run start slave command" >>/tmp/slave-rep-status.log -cat >/tmp/idb_slave-rep.sql <>/tmp/slave-rep-status.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/slave-rep-status.log - -# -# Run SHOW SLAVE STATUS -# -echo "Run SHOW SLAVE STATUS to node log" >>/tmp/slave-rep-status.log -cat >/tmp/idb_slave-rep.sql <>/tmp/slave-rep-status.log -$installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/slave-rep-status.log - -checkForError - -#alls good, 'OK' for success -echo "OK" -exit 0 diff --git a/export/bin/startupTests.sh b/export/bin/startupTests.sh deleted file mode 100755 index 5836af965..000000000 --- a/export/bin/startupTests.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -# -# $Id: startupTests.sh 2937 2012-05-30 18:17:09Z rdempsey $ -# -# startupTests - perform sanity testing on system DB at system startup time -# called by Process-Monitor - -if [ -z "$INFINIDB_INSTALL_DIR" ]; then - test -f /etc/default/infinidb && . /etc/default/infinidb -fi - -if [ -z "$INFINIDB_INSTALL_DIR" ]; then - INFINIDB_INSTALL_DIR=/usr/local/MariaDB/Columnstore -fi - -export INFINIDB_INSTALL_DIR=$INFINIDB_INSTALL_DIR - -test -f $INFINIDB_INSTALL_DIR/post/functions && . $INFINIDB_INSTALL_DIR/post/functions - -for testScript in $INFINIDB_INSTALL_DIR/post/*.sh; do - if [ -x $testScript ]; then - eval $testScript - rc=$? - if [ $rc -ne 0 ]; then - cplogger -c 51 $testScript - echo "FAILED, check Critical log for additional info" - exit $rc - fi - fi -done -echo "OK" - -cplogger -i 54 - -exit 0 - diff --git a/export/bin/syslogSetup.sh b/export/bin/syslogSetup.sh deleted file mode 100755 index 549ba01d6..000000000 --- a/export/bin/syslogSetup.sh +++ /dev/null @@ -1,262 +0,0 @@ -#!/bin/bash -# -# $Id: syslogSetup.sh 421 2007-04-05 15:46:55Z dhill $ -# -# syslogSetup.sh - install / uninstall Calpont InfiniDB system logging configuration - -# no point in going any further if not root... (only works in bash) -test $EUID -eq 0 || exit 0 - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -syslog_conf=nofile -rsyslog7=0 - -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - elif [ `expr -- "$arg" : '--..*'` -ge 3 ]; then - echo "ignoring unknown argument: $arg" 1>&2 - elif [ `expr -- "$arg" : '--'` -eq 2 ]; then - shift - break - else - break - fi - shift -done - -if [ $installdir != "/usr/local/MariaDB/Columnstore" ]; then - export INFINIDB_INSTALL_DIR=$installdir - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INFINIDB_INSTALL_DIR/lib -fi - -columnstoreSyslogFile=$installdir/bin/columnstoreSyslog -columnstoreSyslogFile7=$installdir/bin/columnstoreSyslog7 - -checkSyslog() { -#check which syslog daemon is being used -#first check which is running -daemon="nodaemon" -cnt=`ps -ef | grep -v grep | grep syslog-ng | wc -l` -if [ $cnt -gt 0 ]; then - daemon="syslog-ng" -else cnt=`ps -ef | grep -v grep | grep rsyslog | wc -l` - if [ $cnt -ge 1 ]; then - daemon="rsyslog" - else cnt=`ps -ef | grep -v grep | grep syslogd | wc -l` - if [ $cnt -ge 1 ]; then - if [ "$daemon" != "rsyslog" ]; then - daemon=syslog - fi - fi - fi -fi - -#if none running, check installed -if [ "$daemon" = "nodaemon" ]; then - if [ -f /etc/init.d/syslog ]; then - daemon="syslog" - /etc/init.d/syslog start > /dev/null 2>&1 - elif [ -f /etc/init.d/rsyslog ]; then - daemon="rsyslog" - /etc/init.d/rsyslog start > /dev/null 2>&1 - elif [ -f /etc/init.d/syslog-ng ]; then - daemon="syslog-ng" - /etc/init.d/syslog-ng start > /dev/null 2>&1 - fi -fi - -#if none running or installed, exit -if [ "$daemon" = "nodaemon" ]; then - echo "" - echo "*** No System Logging Application found (syslog, rsyslog, or syslog-ng)" - echo "*** For InfiniDB System Logging functionality, install a System Logging package and reinstall InfiniDB" - echo "" - exit 1 -fi - -#check which syslog config file is installed -if [ "$daemon" = "syslog-ng" ]; then - if [ -f /etc/syslog-ng/syslog-ng.conf ]; then - syslog_conf=/etc/syslog-ng/syslog-ng.conf - columnstoreSyslogFile=$installdir/bin/columnstoreSyslog-ng - echo "" - echo "System logging being used: syslog-ng" - echo "" - fi -elif [ "$daemon" = "rsyslog" ]; then - #check if rsyslog version 7 or greater - rsyslogd -v > /tmp/rsyslog.ver - cnt=`grep "rsyslogd 7" /tmp/rsyslog.ver | wc -l` - if [ $cnt -gt 0 ]; then - rsyslog7=1 - fi - cnt=`grep "rsyslogd 8" /tmp/rsyslog.ver | wc -l` - if [ $cnt -gt 0 ]; then - rsyslog7=1 - fi - cnt=`grep "rsyslogd 9" /tmp/rsyslog.ver | wc -l` - if [ $cnt -gt 0 ]; then - rsyslog7=1 - fi - - if [ -f /etc/rsyslog.conf ]; then - cnt=`grep "/etc/rsyslog.d/" /etc/rsyslog.conf | wc -l` - if [ $cnt -gt 0 ]; then - if [ $rsyslog7 == 1 ]; then - syslog_conf=/etc/rsyslog.d/49-calpont.conf - else - syslog_conf=/etc/rsyslog.d/calpont.conf - fi - else - syslog_conf=/etc/rsyslog.conf - fi - echo "" - echo "System logging being used: rsyslog" - echo "" - fi -elif [ "$daemon" = "syslog" ]; then - if [ -f /etc/syslog.conf ]; then - syslog_conf=/etc/syslog.conf - echo "" - echo "System logging being used: syslog" - echo "" - elif [ -d /etc/syslog-ng/syslog-ng.conf ]; then - syslog_conf=/etc/syslog-ng/syslog-ng.conf - columnstoreSyslogFile=$installdir/bin/columnstoreSyslog-ng - echo "" - echo "System logging being used: syslog-ng" - echo "" - fi -else - echo "" - echo "*** No System Logging Application found (syslog, rsyslog, or syslog-ng)" - echo "*** For InfiniDB System Logging functionality, install a System Logging package and reinstall InfiniDB" - echo "" - exit 1 -fi - -} - -install() { -checkSyslog -if [ ! -z "$syslog_conf" ] ; then - $installdir/bin/setConfig -d Installation SystemLogConfigFile ${syslog_conf} >/dev/null 2>&1 - if [ "$syslog_conf" != /etc/rsyslog.d/calpont.conf ]; then - rm -f ${syslog_conf}.calpontSave - cp ${syslog_conf} ${syslog_conf}.calpontSave >/dev/null 2>&1 - sed -i '/# Calpont/,$d' ${syslog_conf}.calpontSave > /dev/null 2>&1 - fi - - egrep -qs 'Calpont Database Platform Logging' ${syslog_conf} - if [ $? -ne 0 ]; then - #set the syslog for calpont logging - # remove older version incase it was installed by previous build - rm -rf /etc/rsyslog.d/calpont.conf - if [ $rsyslog7 == 1 ]; then - rm -f /etc/rsyslog.d/49-calpont.conf - cat ${columnstoreSyslogFile7} >> ${syslog_conf} - chown syslog:adm /var/log/Calpont - else - cat ${columnstoreSyslogFile} >> ${syslog_conf} - fi - fi - - pkill -hup syslogd > /dev/null 2>&1 - pkill -hup syslog-ng > /dev/null 2>&1 - pkill -hup rsyslogd > /dev/null 2>&1 - /etc/init.d/rsyslog restart > /dev/null 2>&1 - systemctl restart rsyslog.service > /dev/null 2>&1 -fi - -} - -uninstall() { -checkSyslog -if [ ! -z "$syslog_conf" ] ; then - if [ "$syslog_conf" != /etc/rsyslog.d/calpont.conf ]; then - if [ "$syslog_conf" != /etc/rsyslog.d/49-calpont.conf ]; then - egrep -qs 'Calpont Database Platform Logging' ${syslog_conf} - if [ $? -eq 0 ]; then - if [ -f ${syslog_conf}.calpontSave ] ; then - #uninstall the syslog for calpont logging - mv -f ${syslog_conf} ${syslog_conf}.calpontBackup - mv -f ${syslog_conf}.calpontSave ${syslog_conf} >/dev/null 2>&1 - if [ ! -f ${syslog_conf} ] ; then - cp ${syslog_conf}.calpontBackup ${syslog_conf} - fi - fi - fi - sed -i '/# Calpont/,$d' ${syslog_conf} > /dev/null 2>&1 - else - rm -f "$syslog_conf" - fi - else - rm -f "$syslog_conf" - fi - - pkill -hup syslogd > /dev/null 2>&1 - pkill -hup syslog-ng > /dev/null 2>&1 - /etc/init.d/rsyslog restart > /dev/null 2>&1 - systemctl restart rsyslog.service > /dev/null 2>&1 - - $installdir/bin/setConfig -d Installation SystemLogConfigFile "unassigned" - -fi - -} - -status() { -checkSyslog -if [ ! -z "$syslog_conf" ] ; then - egrep -qs 'Calpont Database Platform Logging' ${syslog_conf} - if [ $? -eq 0 ]; then - echo $syslog_conf - else - echo "No System Log Config File configured for InfiniDB System Logging" - fi -fi -} - -check() { -test -f $installdir/post/functions && . $installdir/post/functions -number=$RANDOM -cplogger -i 100 "InfiniDB Log Test: $number" -sleep 3 -egrep -qs "InfiniDB Log Test: $number" /var/log/Calpont/info.log -if [ $? -eq 0 ]; then - echo "InfiniDB System Logging working" - exit 0 -else - echo "InfiniDB System Logging not working" - exit 1 -fi -} - - -case "$1" in - install) - install - ;; - uninstall) - uninstall - ;; - status) - status - ;; - check) - check - ;; - *) - echo $"Usage: $0 {install|uninstall|status|check)" - exit 1 -esac - - -exit 0 -/ diff --git a/export/bin/system_installer.sh b/export/bin/system_installer.sh deleted file mode 100755 index aa21998ca..000000000 --- a/export/bin/system_installer.sh +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/expect -# -# $Id: system_installer.sh 2804 2012-03-22 12:57:42Z pleblanc $ -# -# Install RPM and custom OS files on system -# Argument 1 - Remote Module Name -# Argument 2 - Remote Server Host Name or IP address -# Argument 3 - Root Password of remote server -# Argument 4 - Package name being installed -# Argument 5 - Install Type, "initial" or "upgrade" -# Argument 6 - Debug flag 1 for on, 0 for off -set timeout 30 -set USERNAME root -set MODULE [lindex $argv 0] -set SERVER [lindex $argv 1] -set PASSWORD [lindex $argv 2] -set RPMPACKAGE1 [lindex $argv 3] -set RPMPACKAGE2 [lindex $argv 4] -set RPMPACKAGE3 [lindex $argv 5] -set INSTALLTYPE [lindex $argv 6] -set DEBUG [lindex $argv 7] -log_user $DEBUG -spawn -noecho /bin/bash -# -if { $INSTALLTYPE == "initial" || $INSTALLTYPE == "uninstall" } { - # - # erase package - # - send_user "Erase InfiniDB Packages on Module " - expect -re {[$#] } - send "ssh $USERNAME@$SERVER 'rpm -e --nodeps --allmatches calpont >/dev/null 2>&1; rpm -e --nodeps --allmatches infinidb-enterprise >/dev/null 2>&1; rpm -e --nodeps --allmatches infinidb-libs infinidb-platform'\n" - expect { - "Host key verification failed" { send_user "FAILED: Host key verification failed\n" ; exit } - "service not known" { send_user "FAILED: Invalid Host\n" ; exit } - "authenticity" { send "yes\n" - expect { - "word: " { send "$PASSWORD\n" } - } - } - "word: " { send "$PASSWORD\n" } - } - # password for ssh - send "$PASSWORD\n" - expect { - -re {[$#] } { send_user "DONE" } - "uninstall completed" { send_user "DONE" } - "ERROR dependencies" { send_user "ERROR: ERROR dependencies\n" ; exit -1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - "error: package" { send_user "INFO: Package not installed" } - "not installed" { send_user "INFO: Package not installed" } - } - send_user "\n" -} -if { $INSTALLTYPE == "uninstall" } { exit 0 } - -# -# send the package -# -expect -re {[$#] } -send_user "Copy New InfiniDB Packages to Module " -send "ssh $USERNAME@$SERVER 'rm -f /root/infinidb-*.rpm'\n" -expect "word: " -# password for ssh -send "$PASSWORD\n" -# check return -expect { - -re {[$#] } { } -} -send "scp $RPMPACKAGE1 $RPMPACKAGE2 $RPMPACKAGE3 $USERNAME@$SERVER:.\n" -expect "word: " -# send the password -send "$PASSWORD\n" -# check return -expect { - "100%" { send_user "DONE" } - "scp" { send_user "ERROR\n" ; - send_user "\n*** Installation ERROR\n" ; - exit -1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - "No such file or directory" { send_user "ERROR: Invalid package\n" ; exit -1 } -} -send_user "\n" -# -set timeout 60 -if { $INSTALLTYPE == "initial"} { - # - # install package - # - send_user "Install InfiniDB Packages on Module " - send "ssh $USERNAME@$SERVER 'rpm -ivh $RPMPACKAGE1 $RPMPACKAGE2 $RPMPACKAGE3'\n" - expect "word: " - # password for ssh - send "$PASSWORD\n" - # check return - expect { - -re {[$#] } { send_user "DONE" } - "completed" { send_user "DONE" } - "ERROR dependencies" { send_user "ERROR: ERROR dependencies\n" ; - send_user "\n*** Installation ERROR\n" ; - exit -1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - } -} else { - # - # upgrade package - # - send_user "Upgrade InfiniDB Packages on Module " - send "ssh $USERNAME@$SERVER 'rpm -Uvh --noscripts $RPMPACKAGE1 $RPMPACKAGE2 $RPMPACKAGE3'\n" - expect "word: " - # password for ssh - send "$PASSWORD\n" - # check return - expect { - -re {[$#] } { send_user "DONE" } - "completed" { send_user "DONE" } - "already installed" { send_user "INFO: Already Installed\n" ; exit -1 } - "ERROR dependencies" { send_user "ERROR: ERROR dependencies\n" ; - send_user "\n*** Installation ERROR\n" ; - exit -1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - } -} -expect -re {[$#] } -send_user "\n" -set timeout 30 -# -if { $INSTALLTYPE == "initial"} { - # - # copy over InfiniDB OS files - # - send_user "Copy InfiniDB OS files to Module " - send "scp /usr/local/MariaDB/Columnstore/local/etc/$MODULE/* $USERNAME@$SERVER:/usr/local/MariaDB/Columnstore/local/.\n" - expect "word: " - # send the password - send "$PASSWORD\n" - expect { - -re {[$#] } { send_user "DONE" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - } - # - send_user "\n" - set timeout 120 - # - # Start module installer to setup Customer OS files - # - send_user "Run Module Installer " - send "ssh $USERNAME@$SERVER '/usr/local/MariaDB/Columnstore/bin/module_installer.sh'\n" - expect "word: " - # send the password - send "$PASSWORD\n" - expect { - "!!!Module" { send_user "DONE" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit -1 } - "FAILED" { send_user "ERROR: missing OS file\n" ; exit -1 } - } - send_user "\n" -} -# -send_user "\nInstallation Successfully Completed on '$MODULE'\n" -exit 0 - diff --git a/export/bin/transactionLog b/export/bin/transactionLog deleted file mode 100755 index 3763b5cd2..000000000 --- a/export/bin/transactionLog +++ /dev/null @@ -1,12 +0,0 @@ -# -# Calpont version with Daily running at midnight -# - -SHELL=/bin/bash -PATH=/sbin:/bin:/usr/sbin:/usr/bin -MAILTO=root -HOME=/ - -# Translation Log Archiver, default to every 10 minutes -*/10 * * * * root /usr/local/Calpont/bin/transactionLogArchiver.sh - diff --git a/export/bin/transactionLogArchiver.sh b/export/bin/transactionLogArchiver.sh deleted file mode 100755 index 7e5a47f39..000000000 --- a/export/bin/transactionLogArchiver.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash -# -# $Id: transactionLogArchiver.sh 1375 2009-04-30 13:53:06Z rdempsey $ - -DATE=`date +'%s'` -CDATA=/var/log/Calpont/data - -if [ ! -d $CDATA/archive ]; then - echo "Installation error: $CDATA/archive is not a directory." 1>&2 - exit 1 -fi - -if [ -f $CDATA/data_mods.log ]; then - # Don't bother rotating an empty log - if [ ! -s $CDATA/data_mods.log ]; then - exit 0 - fi - cp $CDATA/data_mods.log $CDATA/archive >/dev/null 2>&1 - if [ $? -ne 0 ]; then - echo "Could not copy $CDATA/data_mods.log to $CDATA/archive" 1>&2 - exit 1 - fi -else - # Is this a reportable/fatal error? - echo "No such file: $CDATA/data_mods.log" 1>&2 -fi - -rm -f $CDATA/data_mods.log >/dev/null 2>&1 -touch $CDATA/data_mods.log >/dev/null 2>&1 -if [ $? -ne 0 ]; then - echo "Could not create $CDATA/data_mods.log" 1>&2 - exit 1 -fi - -chmod 666 $CDATA/data_mods.log >/dev/null 2>&1 -if [ $? -ne 0 ]; then - echo "Could not set the perms on $CDATA/data_mods.log" 1>&2 - exit 1 -fi - -pkill -HUP syslog >/dev/null 2>&1 - -mv $CDATA/archive/data_mods.log $CDATA/archive/data_mods.log.$DATE >/dev/null 2>&1 -if [ $? -ne 0 ]; then - echo "Could not move $CDATA/archive/data_mods.log to $CDATA/archive/data_mods.log.$DATE" 1>&2 - exit 1 -fi - diff --git a/export/bin/upgrade-columnstore.sh b/export/bin/upgrade-columnstore.sh deleted file mode 100755 index f56539873..000000000 --- a/export/bin/upgrade-columnstore.sh +++ /dev/null @@ -1,444 +0,0 @@ -#!/bin/bash -# -# $Id$ -# -# generic InfiniDB upgrade script. -# -# Notes: This script gets run every time InfiniDB starts up so it needs to be: -# 1) able to only do stuff once if needed and nothing if not needed -# 2) reasonably fast when there's nothing to do - -# check log for error -checkForError() { - grep ERROR /tmp/upgrade-status.log.$$ > /tmp/error.check - if [ `cat /tmp/error.check | wc -c` -ne 0 ]; then - echo "ERROR: check log file: /tmp/upgrade-status.log.$$" - rm -f /tmp/error.check - exit 1; - fi - rm -f /tmp/error.check -} - -if [ "x$1" != xdoupgrade ]; then - echo "Don't run this script by hand! You probably want to use install-infinidb.sh." 1>&2 - exit 1 -fi - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -pwprompt= -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--password='` -eq 11 ]; then - password="`echo $arg | awk -F= '{print $2}'`" - pwprompt="--password=$password" - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - fi -done - -test -f $installdir/post/functions && . $installdir/post/functions - -mt=`module_type` -mid=`module_id` - -# for CE version -if [ -z "$mt" ]; then - mt=pm -fi -if [ -z "$mid" ]; then - mid=1 -fi - -has_um=`$installdir/bin/getConfig SystemModuleConfig ModuleCount2` -if [ -z "$has_um" ]; then - has_um=0 -fi - ->/tmp/upgrade-status.log.$$ -echo "mt = $mt" >>/tmp/upgrade-status.log.$$ -echo "mid = $mid" >>/tmp/upgrade-status.log.$$ -echo "has_um = $has_um" >>/tmp/upgrade-status.log.$$ - -#This upgrade only for UM or PM with no UM -if [ $has_um -eq 0 -o "x$mt" = xum ]; then - #--------------------------------------------------------------------------- - # See if compressiontype column is in SYSCOLUMN - #--------------------------------------------------------------------------- - echo "checking calpontsys for compressiontype..." >>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe syscolumn;' \ - calpontsys | grep compressiontype >>/tmp/upgrade-status.log.$$ 2>&1 - - # - # Add compressiontype column to SYSCOLUMN if applicable - # - if [ $? -ne 0 ]; then - echo "calpontsys needs upgrade for compressiontype" >>/tmp/upgrade-status.log.$$ - echo "added compressiontype column" >>/tmp/upgrade-status.log.$$ - cat >/tmp/idb_upgrade.sql <>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - - if [ $mid -eq 1 ]; then - echo "update compressiontype to backend" >>/tmp/upgrade-status.log.$$ - cat >/tmp/idb_upgrade.sql <>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - fi - - # - # Verify that compressiontype was successfully added to SYSCOLUMN - # - rm -f /tmp/idb_upgrade.sql - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe syscolumn;' \ - calpontsys | grep compressiontype >/tmp/upgrade-status-1.log 2>&1 - rc=$? - cat /tmp/upgrade-status-1.log >>/tmp/upgrade-status.log.$$ - if [ $rc -ne 0 ]; then - echo "FAILED adding compressiontype to SYSCOLUMN!" - exit 1 - fi - cnt=`wc -l /tmp/upgrade-status-1.log | awk '{print $1}'` - rm -f /tmp/upgrade-status-1.log - if [ -z "$cnt" ]; then - cnt=0 - fi - if [ $cnt -ne 1 ]; then - echo "FAILED adding compressiontype to SYSCOLUMN!" - exit 1 - fi - - # - # Verify that compressiontype (OID 1041) was successfully added to BRM - # - if [ $has_um -eq 0 ]; then - $installdir/bin/editem -o1041 1>/tmp/upgrade-status-1.log 2>/dev/null - rc=$? - cat /tmp/upgrade-status-1.log >>/tmp/upgrade-status.log.$$ - if [ $rc -ne 0 ]; then - echo "FAILED adding compressiontype to BRM!" - exit 1 - fi - cnt=`wc -l /tmp/upgrade-status-1.log | awk '{print $1}'` - rm -f /tmp/upgrade-status-1.log - if [ -z "$cnt" ]; then - cnt=0 - fi - if [ $cnt -lt 2 ]; then - echo "FAILED adding compressiontype to BRM!" - exit 1 - fi - fi - fi - - #--------------------------------------------------------------------------- - # See if autoincrement column is in SYSTABLE - #--------------------------------------------------------------------------- - echo "checking calpontsys for autoincrement..." >>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe systable;' \ - calpontsys | grep autoincrement >>/tmp/upgrade-status.log.$$ 2>&1 - - # - # Add autoincrement column to SYSTABLE if applicable - # - if [ $? -ne 0 ]; then - echo "calpontsys needs upgrade for autoincrement" >>/tmp/upgrade-status.log.$$ - echo "add autoincrement columns" >>/tmp/upgrade-status.log.$$ - cat >/tmp/idb_upgrade.sql <>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - - if [ $mid -eq 1 ]; then - echo "update autoincrement to backend" >>/tmp/upgrade-status.log.$$ - cat >/tmp/idb_upgrade.sql <>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - fi - - # - #Verify that autoincrement was successfully added to SYSTABLE - # - rm -f /tmp/idb_upgrade.sql - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe systable;' \ - calpontsys | grep autoincrement >/tmp/upgrade-status-1.log 2>&1 - rc=$? - cat /tmp/upgrade-status-1.log >>/tmp/upgrade-status.log.$$ - if [ $rc -ne 0 ]; then - echo "FAILED adding autoincrement to SYSTABLE!" - exit 1 - fi - cnt=`wc -l /tmp/upgrade-status-1.log | awk '{print $1}'` - rm -f /tmp/upgrade-status-1.log - if [ -z "$cnt" ]; then - cnt=0 - fi - if [ $cnt -ne 1 ]; then - echo "FAILED adding autoincrement to SYSTABLE!" - exit 1 - fi - - # - # Verify that autoincrement (OID 1011) was successfully added to BRM - # - if [ $has_um -eq 0 ]; then - $installdir/bin/editem -o1011 1>/tmp/upgrade-status-1.log 2>/dev/null - rc=$? - cat /tmp/upgrade-status-1.log >>/tmp/upgrade-status.log.$$ - if [ $rc -ne 0 ]; then - echo "FAILED adding autoincrement to BRM!" - exit 1 - fi - cnt=`wc -l /tmp/upgrade-status-1.log | awk '{print $1}'` - rm -f /tmp/upgrade-status-1.log - if [ "x$cnt" = x ]; then - cnt=0 - fi - if [ $cnt -lt 2 ]; then - echo "FAILED adding autoincrement to BRM!" - exit 1 - fi - fi - fi - - #--------------------------------------------------------------------------- - # See if nextvalue column is in SYSCOLUMN - #--------------------------------------------------------------------------- - echo "checking calpontsys for nextvalue..." >>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe syscolumn;' \ - calpontsys | grep nextvalue >>/tmp/upgrade-status.log.$$ 2>&1 - - # - # Add nextvalue column to SYSCOLUMN if applicable. - # Also set old autoincrement column in SYSCOLUMN to 'n'. - # - if [ $? -ne 0 ]; then - echo "calpontsys needs upgrade for nextvalue" >>/tmp/upgrade-status.log.$$ - echo "add nextvalue columns" >>/tmp/upgrade-status.log.$$ - cat >/tmp/idb_upgrade.sql <>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - - if [ $mid -eq 1 ]; then - echo "update nextvalue to backend" >>/tmp/upgrade-status.log.$$ - cat >/tmp/idb_upgrade.sql <>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - fi - - # - # Verify that nextvalue was successfully added to SYSCOLUMN - # - rm -f /tmp/idb_upgrade.sql - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe syscolumn;' \ - calpontsys | grep nextvalue >/tmp/upgrade-status-1.log 2>&1 - rc=$? - cat /tmp/upgrade-status-1.log >>/tmp/upgrade-status.log.$$ - if [ $rc -ne 0 ]; then - echo "FAILED adding nextvalue to SYSCOLUMN!" - exit 1 - fi - cnt=`wc -l /tmp/upgrade-status-1.log | awk '{print $1}'` - rm -f /tmp/upgrade-status-1.log - if [ -z "$cnt" ]; then - cnt=0 - fi - if [ $cnt -ne 1 ]; then - echo "FAILED adding nextvalue to SYSCOLUMN!" - exit 1 - fi - - # - # Verify that nextvalue (OID 1042) was successfully added to BRM - # - if [ $has_um -eq 0 ]; then - $installdir/bin/editem -o1042 1>/tmp/upgrade-status-1.log 2>/dev/null - rc=$? - cat /tmp/upgrade-status-1.log >>/tmp/upgrade-status.log.$$ - if [ $rc -ne 0 ]; then - echo "FAILED adding nextvalue to BRM!" - exit 1 - fi - cnt=`wc -l /tmp/upgrade-status-1.log | awk '{print $1}'` - rm -f /tmp/upgrade-status-1.log - if [ "x$cnt" = x ]; then - cnt=0 - fi - if [ $cnt -lt 2 ]; then - echo "FAILED adding nextvalue to BRM!" - exit 1 - fi - fi - fi - - #--------------------------------------------------------------------------- - # See if systable schema and tablename columns are varchar(128). - #--------------------------------------------------------------------------- - recreate=0 - echo "checking calpontsys.systable schema and tablename for varchar(128)..." >>/tmp/upgrade-status.log.$$ - colCount=` \ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe systable;' \ - calpontsys | egrep "schema|tablename" | grep "varchar(128)" | wc -l` - if [ $colCount -ne 2 ]; then - recreate=1 - echo "calpontsys needs upgrade to expand systable schema and tablename" >>/tmp/upgrade-status.log.$$ - fi - - #--------------------------------------------------------------------------- - # See if syscolumn schema, tablename, and columname columns are varchar(128). - #--------------------------------------------------------------------------- - if [ $recreate -eq 0 ]; then - echo "checking calpontsys.syscolumn schema, tablename, columnname for varchar(128)..." >>/tmp/upgrade-status.log.$$ - colCount=` \ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe syscolumn;' \ - calpontsys | egrep "schema|tablename|columnname" | grep "varchar(128)" | wc -l` - if [ $colCount -ne 3 ]; then - recreate=1 - echo "calpontsys needs upgrade to expand syscolumn schema, tablename, and columnname" >>/tmp/upgrade-status.log.$$ - fi - fi - - #--------------------------------------------------------------------------- - # See if defaultvalue column in SYSCOLUMN is varchar(64) - #--------------------------------------------------------------------------- - if [ $recreate -eq 0 ]; then - echo "checking calpontsys for defaultvalue varchar(64)..." >>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe syscolumn;' \ - calpontsys | grep defaultvalue | grep 'varchar(64)' >>/tmp/upgrade-status.log.$$ 2>&1 - if [ $? -ne 0 ]; then - recreate=1 - echo "calpontsys needs upgrade to change defaultvalue" >>/tmp/upgrade-status.log.$$ - fi - fi - - # - # Change defaultvalue column to varchar(64) if applicable - # - if [ $recreate -ne 0 ]; then - cat >/tmp/idb_upgrade.sql <>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - - echo "create systable and syscolumn with schema sync only" >>/tmp/upgrade-status.log.$$ - cat $installdir/mysql/syscatalog_mysql.sql >>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys <$installdir/mysql/syscatalog_mysql.sql >>/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - - # - # Verify column widths: - # varchar(64) for syscolumn.defaultvalue - # varchar(128) for systable (schema, tablename) and syscolumn (schema, tablename, and columnname). - # - rm -f /tmp/idb_upgrade.sql - echo "verify column widths" >>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe syscolumn;' \ - calpontsys | grep defaultvalue | grep 'varchar(64)' >/tmp/upgrade-status-1.log 2>&1 - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe systable; describe syscolumn;' \ - calpontsys | egrep "schema|tablename|columnname" | grep 'varchar(128)' >>/tmp/upgrade-status-1.log 2>&1 - cat /tmp/upgrade-status-1.log >>/tmp/upgrade-status.log.$$ - cnt=`wc -l /tmp/upgrade-status-1.log | awk '{print $1}'` - rm -f /tmp/upgrade-status-1.log - if [ -z "$cnt" ]; then - cnt=0 - fi - if [ $cnt -ne 6 ]; then - echo "FAILED width of schema, tablename, columnname, defaultvalue verification!" - exit 1 - fi - fi -fi - -echo "OK" diff --git a/export/bin/upgrade-infinidb.sh b/export/bin/upgrade-infinidb.sh deleted file mode 100755 index f56539873..000000000 --- a/export/bin/upgrade-infinidb.sh +++ /dev/null @@ -1,444 +0,0 @@ -#!/bin/bash -# -# $Id$ -# -# generic InfiniDB upgrade script. -# -# Notes: This script gets run every time InfiniDB starts up so it needs to be: -# 1) able to only do stuff once if needed and nothing if not needed -# 2) reasonably fast when there's nothing to do - -# check log for error -checkForError() { - grep ERROR /tmp/upgrade-status.log.$$ > /tmp/error.check - if [ `cat /tmp/error.check | wc -c` -ne 0 ]; then - echo "ERROR: check log file: /tmp/upgrade-status.log.$$" - rm -f /tmp/error.check - exit 1; - fi - rm -f /tmp/error.check -} - -if [ "x$1" != xdoupgrade ]; then - echo "Don't run this script by hand! You probably want to use install-infinidb.sh." 1>&2 - exit 1 -fi - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -pwprompt= -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--password='` -eq 11 ]; then - password="`echo $arg | awk -F= '{print $2}'`" - pwprompt="--password=$password" - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - fi -done - -test -f $installdir/post/functions && . $installdir/post/functions - -mt=`module_type` -mid=`module_id` - -# for CE version -if [ -z "$mt" ]; then - mt=pm -fi -if [ -z "$mid" ]; then - mid=1 -fi - -has_um=`$installdir/bin/getConfig SystemModuleConfig ModuleCount2` -if [ -z "$has_um" ]; then - has_um=0 -fi - ->/tmp/upgrade-status.log.$$ -echo "mt = $mt" >>/tmp/upgrade-status.log.$$ -echo "mid = $mid" >>/tmp/upgrade-status.log.$$ -echo "has_um = $has_um" >>/tmp/upgrade-status.log.$$ - -#This upgrade only for UM or PM with no UM -if [ $has_um -eq 0 -o "x$mt" = xum ]; then - #--------------------------------------------------------------------------- - # See if compressiontype column is in SYSCOLUMN - #--------------------------------------------------------------------------- - echo "checking calpontsys for compressiontype..." >>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe syscolumn;' \ - calpontsys | grep compressiontype >>/tmp/upgrade-status.log.$$ 2>&1 - - # - # Add compressiontype column to SYSCOLUMN if applicable - # - if [ $? -ne 0 ]; then - echo "calpontsys needs upgrade for compressiontype" >>/tmp/upgrade-status.log.$$ - echo "added compressiontype column" >>/tmp/upgrade-status.log.$$ - cat >/tmp/idb_upgrade.sql <>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - - if [ $mid -eq 1 ]; then - echo "update compressiontype to backend" >>/tmp/upgrade-status.log.$$ - cat >/tmp/idb_upgrade.sql <>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - fi - - # - # Verify that compressiontype was successfully added to SYSCOLUMN - # - rm -f /tmp/idb_upgrade.sql - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe syscolumn;' \ - calpontsys | grep compressiontype >/tmp/upgrade-status-1.log 2>&1 - rc=$? - cat /tmp/upgrade-status-1.log >>/tmp/upgrade-status.log.$$ - if [ $rc -ne 0 ]; then - echo "FAILED adding compressiontype to SYSCOLUMN!" - exit 1 - fi - cnt=`wc -l /tmp/upgrade-status-1.log | awk '{print $1}'` - rm -f /tmp/upgrade-status-1.log - if [ -z "$cnt" ]; then - cnt=0 - fi - if [ $cnt -ne 1 ]; then - echo "FAILED adding compressiontype to SYSCOLUMN!" - exit 1 - fi - - # - # Verify that compressiontype (OID 1041) was successfully added to BRM - # - if [ $has_um -eq 0 ]; then - $installdir/bin/editem -o1041 1>/tmp/upgrade-status-1.log 2>/dev/null - rc=$? - cat /tmp/upgrade-status-1.log >>/tmp/upgrade-status.log.$$ - if [ $rc -ne 0 ]; then - echo "FAILED adding compressiontype to BRM!" - exit 1 - fi - cnt=`wc -l /tmp/upgrade-status-1.log | awk '{print $1}'` - rm -f /tmp/upgrade-status-1.log - if [ -z "$cnt" ]; then - cnt=0 - fi - if [ $cnt -lt 2 ]; then - echo "FAILED adding compressiontype to BRM!" - exit 1 - fi - fi - fi - - #--------------------------------------------------------------------------- - # See if autoincrement column is in SYSTABLE - #--------------------------------------------------------------------------- - echo "checking calpontsys for autoincrement..." >>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe systable;' \ - calpontsys | grep autoincrement >>/tmp/upgrade-status.log.$$ 2>&1 - - # - # Add autoincrement column to SYSTABLE if applicable - # - if [ $? -ne 0 ]; then - echo "calpontsys needs upgrade for autoincrement" >>/tmp/upgrade-status.log.$$ - echo "add autoincrement columns" >>/tmp/upgrade-status.log.$$ - cat >/tmp/idb_upgrade.sql <>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - - if [ $mid -eq 1 ]; then - echo "update autoincrement to backend" >>/tmp/upgrade-status.log.$$ - cat >/tmp/idb_upgrade.sql <>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - fi - - # - #Verify that autoincrement was successfully added to SYSTABLE - # - rm -f /tmp/idb_upgrade.sql - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe systable;' \ - calpontsys | grep autoincrement >/tmp/upgrade-status-1.log 2>&1 - rc=$? - cat /tmp/upgrade-status-1.log >>/tmp/upgrade-status.log.$$ - if [ $rc -ne 0 ]; then - echo "FAILED adding autoincrement to SYSTABLE!" - exit 1 - fi - cnt=`wc -l /tmp/upgrade-status-1.log | awk '{print $1}'` - rm -f /tmp/upgrade-status-1.log - if [ -z "$cnt" ]; then - cnt=0 - fi - if [ $cnt -ne 1 ]; then - echo "FAILED adding autoincrement to SYSTABLE!" - exit 1 - fi - - # - # Verify that autoincrement (OID 1011) was successfully added to BRM - # - if [ $has_um -eq 0 ]; then - $installdir/bin/editem -o1011 1>/tmp/upgrade-status-1.log 2>/dev/null - rc=$? - cat /tmp/upgrade-status-1.log >>/tmp/upgrade-status.log.$$ - if [ $rc -ne 0 ]; then - echo "FAILED adding autoincrement to BRM!" - exit 1 - fi - cnt=`wc -l /tmp/upgrade-status-1.log | awk '{print $1}'` - rm -f /tmp/upgrade-status-1.log - if [ "x$cnt" = x ]; then - cnt=0 - fi - if [ $cnt -lt 2 ]; then - echo "FAILED adding autoincrement to BRM!" - exit 1 - fi - fi - fi - - #--------------------------------------------------------------------------- - # See if nextvalue column is in SYSCOLUMN - #--------------------------------------------------------------------------- - echo "checking calpontsys for nextvalue..." >>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe syscolumn;' \ - calpontsys | grep nextvalue >>/tmp/upgrade-status.log.$$ 2>&1 - - # - # Add nextvalue column to SYSCOLUMN if applicable. - # Also set old autoincrement column in SYSCOLUMN to 'n'. - # - if [ $? -ne 0 ]; then - echo "calpontsys needs upgrade for nextvalue" >>/tmp/upgrade-status.log.$$ - echo "add nextvalue columns" >>/tmp/upgrade-status.log.$$ - cat >/tmp/idb_upgrade.sql <>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - - if [ $mid -eq 1 ]; then - echo "update nextvalue to backend" >>/tmp/upgrade-status.log.$$ - cat >/tmp/idb_upgrade.sql <>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - fi - - # - # Verify that nextvalue was successfully added to SYSCOLUMN - # - rm -f /tmp/idb_upgrade.sql - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe syscolumn;' \ - calpontsys | grep nextvalue >/tmp/upgrade-status-1.log 2>&1 - rc=$? - cat /tmp/upgrade-status-1.log >>/tmp/upgrade-status.log.$$ - if [ $rc -ne 0 ]; then - echo "FAILED adding nextvalue to SYSCOLUMN!" - exit 1 - fi - cnt=`wc -l /tmp/upgrade-status-1.log | awk '{print $1}'` - rm -f /tmp/upgrade-status-1.log - if [ -z "$cnt" ]; then - cnt=0 - fi - if [ $cnt -ne 1 ]; then - echo "FAILED adding nextvalue to SYSCOLUMN!" - exit 1 - fi - - # - # Verify that nextvalue (OID 1042) was successfully added to BRM - # - if [ $has_um -eq 0 ]; then - $installdir/bin/editem -o1042 1>/tmp/upgrade-status-1.log 2>/dev/null - rc=$? - cat /tmp/upgrade-status-1.log >>/tmp/upgrade-status.log.$$ - if [ $rc -ne 0 ]; then - echo "FAILED adding nextvalue to BRM!" - exit 1 - fi - cnt=`wc -l /tmp/upgrade-status-1.log | awk '{print $1}'` - rm -f /tmp/upgrade-status-1.log - if [ "x$cnt" = x ]; then - cnt=0 - fi - if [ $cnt -lt 2 ]; then - echo "FAILED adding nextvalue to BRM!" - exit 1 - fi - fi - fi - - #--------------------------------------------------------------------------- - # See if systable schema and tablename columns are varchar(128). - #--------------------------------------------------------------------------- - recreate=0 - echo "checking calpontsys.systable schema and tablename for varchar(128)..." >>/tmp/upgrade-status.log.$$ - colCount=` \ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe systable;' \ - calpontsys | egrep "schema|tablename" | grep "varchar(128)" | wc -l` - if [ $colCount -ne 2 ]; then - recreate=1 - echo "calpontsys needs upgrade to expand systable schema and tablename" >>/tmp/upgrade-status.log.$$ - fi - - #--------------------------------------------------------------------------- - # See if syscolumn schema, tablename, and columname columns are varchar(128). - #--------------------------------------------------------------------------- - if [ $recreate -eq 0 ]; then - echo "checking calpontsys.syscolumn schema, tablename, columnname for varchar(128)..." >>/tmp/upgrade-status.log.$$ - colCount=` \ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe syscolumn;' \ - calpontsys | egrep "schema|tablename|columnname" | grep "varchar(128)" | wc -l` - if [ $colCount -ne 3 ]; then - recreate=1 - echo "calpontsys needs upgrade to expand syscolumn schema, tablename, and columnname" >>/tmp/upgrade-status.log.$$ - fi - fi - - #--------------------------------------------------------------------------- - # See if defaultvalue column in SYSCOLUMN is varchar(64) - #--------------------------------------------------------------------------- - if [ $recreate -eq 0 ]; then - echo "checking calpontsys for defaultvalue varchar(64)..." >>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe syscolumn;' \ - calpontsys | grep defaultvalue | grep 'varchar(64)' >>/tmp/upgrade-status.log.$$ 2>&1 - if [ $? -ne 0 ]; then - recreate=1 - echo "calpontsys needs upgrade to change defaultvalue" >>/tmp/upgrade-status.log.$$ - fi - fi - - # - # Change defaultvalue column to varchar(64) if applicable - # - if [ $recreate -ne 0 ]; then - cat >/tmp/idb_upgrade.sql <>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys >/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - - echo "create systable and syscolumn with schema sync only" >>/tmp/upgrade-status.log.$$ - cat $installdir/mysql/syscatalog_mysql.sql >>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - calpontsys <$installdir/mysql/syscatalog_mysql.sql >>/tmp/upgrade-status.log.$$ 2>&1 - - checkForError - - # - # Verify column widths: - # varchar(64) for syscolumn.defaultvalue - # varchar(128) for systable (schema, tablename) and syscolumn (schema, tablename, and columnname). - # - rm -f /tmp/idb_upgrade.sql - echo "verify column widths" >>/tmp/upgrade-status.log.$$ - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe syscolumn;' \ - calpontsys | grep defaultvalue | grep 'varchar(64)' >/tmp/upgrade-status-1.log 2>&1 - $installdir/mysql/bin/mysql \ - --defaults-file=$installdir/mysql/my.cnf \ - --user=root $pwprompt \ - --execute='describe systable; describe syscolumn;' \ - calpontsys | egrep "schema|tablename|columnname" | grep 'varchar(128)' >>/tmp/upgrade-status-1.log 2>&1 - cat /tmp/upgrade-status-1.log >>/tmp/upgrade-status.log.$$ - cnt=`wc -l /tmp/upgrade-status-1.log | awk '{print $1}'` - rm -f /tmp/upgrade-status-1.log - if [ -z "$cnt" ]; then - cnt=0 - fi - if [ $cnt -ne 6 ]; then - echo "FAILED width of schema, tablename, columnname, defaultvalue verification!" - exit 1 - fi - fi -fi - -echo "OK" diff --git a/export/bin/user_installer.sh b/export/bin/user_installer.sh deleted file mode 100755 index 1e3986807..000000000 --- a/export/bin/user_installer.sh +++ /dev/null @@ -1,323 +0,0 @@ -#!/usr/bin/expect -# -# $Id: user_installer.sh 1066 20081113 21:44:44Z dhill $ -# -# Install RPM and custom OS files on system -# Argument 1 - Remote Module Name -# Argument 2 - Remote Server Host Name or IP address -# Argument 3 - Root Password of remote server -# Argument 4 - Package name being installed -# Argument 5 - Install Type, "initial" or "upgrade" -# Argument 6 - Debug flag 1 for on, 0 for off -set timeout 30 -set USERNAME root -set MODULE [lindex $argv 0] -set SERVER [lindex $argv 1] -set PASSWORD [lindex $argv 2] -set VERSION [lindex $argv 3] -set INSTALLTYPE [lindex $argv 4] -set PKGTYPE [lindex $argv 5] -set NODEPS [lindex $argv 6] -set MYSQLPW [lindex $argv 7] -set MYSQLPORT [lindex $argv 8] -set DEBUG [lindex $argv 9] -set INSTALLDIR "/usr/local/MariaDB/Columnstore" -set IDIR [lindex $argv 10] -if { $IDIR != "" } { - set INSTALLDIR $IDIR -} -set USERNAME "root" -set UNM [lindex $argv 11] -if { $UNM != "" } { - set USERNAME $UNM -} - -if { $MYSQLPW == "none" } { - set MYSQLPW " " -} - -set BASH "/bin/bash " -#if { $DEBUG == "1" } { -# set BASH "/bin/bash -x " -#} - -set HOME "$env(HOME)" - -log_user $DEBUG -spawn -noecho /bin/bash -# -if { $PKGTYPE == "rpm" } { - set PKGERASE "rpm -e --nodeps \$(rpm -qa | grep '^infinidb')" - set PKGERASE1 "rpm -e --nodeps " - - set PKGINSTALL "rpm -ivh $NODEPS --force infinidb*$VERSION*" - set PKGUPGRADE "rpm -Uvh --noscripts infinidb*$VERSION*" -} else { - if { $PKGTYPE == "deb" } { - set PKGERASE "dpkg -P \$(dpkg --get-selections | grep '^infinidb')" - set PKGERASE1 "dpkg -P " - set PKGINSTALL "dpkg -i --force-confnew infinidb*$VERSION*" - set PKGUPGRADE "dpkg -i --force-confnew infinidb*$VERSION*" - } else { - send_user "Invalid Package Type of $PKGTYPE" - exit 1 - } -} - -# check and see if remote server has ssh keys setup, set PASSWORD if so -send_user " " -send "ssh $USERNAME@$SERVER 'time'\n" -set timeout 60 -expect { - "Host key verification failed" { send_user "FAILED: Host key verification failed\n" ; exit 1 } - "service not known" { send_user "FAILED: Invalid Host\n" ; exit 1 } - "authenticity" { send "yes\n" - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - "sys" { set PASSWORD "ssh" } - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } - timeout { send_user "ERROR: Timeout to host\n" ; exit 1 } -} -set timeout 30 -expect { - -re {[$#] } { } - "sys" { } -} -send_user "\n" -#BUG 5749 - SAS: didn't work on their system until I added the sleep 60 -sleep 60 - -if { $INSTALLTYPE == "initial" || $INSTALLTYPE == "uninstall" } { - # - # erase InfiniDB packages - # - send_user "Erase InfiniDB Packages on Module " - send "ssh $USERNAME@$SERVER '$PKGERASE ;$PKGERASE1 dummy'\n" - if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - set timeout 120 - expect { - "package dummy" { send_user "DONE" } - "error: Failed dependencies" { send_user "ERROR: Failed dependencies\n" ; exit 1 } - "Permission denied, please try again" { send_user "ERROR: Invalid password\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - } - send_user "\n" -} - -if { $INSTALLTYPE == "uninstall" } { exit 0 } - -# -# send the InfinIDB package -# -set timeout 30 -#expect -re {[$#] } -send_user "Copy new InfiniDB Packages to Module " -send "ssh $USERNAME@$SERVER 'rm -f /root/infinidb-*.$PKGTYPE'\n" -if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - } -} -expect { - -re {[$#] } { } - "Connection refused" { send_user "ERROR: Connection refused\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No route to host" { send_user "ERROR: No route to host\n" ; exit 1 } -} -set timeout 30 -expect { - -re {[$#] } { } -} - -send "scp $HOME/infinidb*$VERSION* $USERNAME@$SERVER:.;$PKGERASE dummy\n" -if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } -} -set timeout 120 -expect { - "package dummy" { send_user "DONE" } - "directory" { send_user "ERROR\n" ; - send_user "\n*** Installation ERROR\n" ; - exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } -} -send_user "\n" - -#sleep to make sure it's finished -sleep 5 -# -set timeout 30 -expect -re {[$#] } -if { $INSTALLTYPE == "initial"} { - # - # install package - # - send_user "Install InfinIDB Packages on Module " - send "ssh $USERNAME@$SERVER '$PKGINSTALL ;$PKGERASE dummy'\n" - if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - set timeout 180 - expect { - "package dummy" { send_user "DONE" } - "error: Failed dependencies" { send_user "ERROR: Failed dependencies\n" ; - send_user "\n*** Installation ERROR\n" ; - exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "needs" { send_user "ERROR: disk space issue\n" ; exit 1 } - "conflicts" { send_user "ERROR: File Conflict issue\n" ; exit 1 } - } - send_user "\n" - - set timeout 30 -} -#sleep to make sure it's finished -sleep 5 -# -if { $INSTALLTYPE == "initial"} { - # - # copy over InfiniDB config file - # - send_user "Copy InfiniDB Config file to Module " - send "scp $INSTALLDIR/etc/* $USERNAME@$SERVER:$INSTALLDIR/etc/.\n" - if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - set timeout 30 - expect { - "directory" { send_user "ERROR\n" ; - send_user "\n*** Installation ERROR\n" ; - exit 1 } - -re {[$#] } { send_user "DONE" } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - } - send_user "\n" - #sleep to make sure it's finished - sleep 5 - # - # copy over custom OS tmp files - # - send_user "Copy Custom OS files to Module " - send "scp -r $INSTALLDIR/local/etc $USERNAME@$SERVER:$INSTALLDIR/local/.\n" - if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - set timeout 30 - expect { - "directory" { send_user "ERROR\n" ; - send_user "\n*** Installation ERROR\n" ; - exit 1 } - -re {[$#] } { send_user "DONE" } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - } - send_user "\n" - #sleep to make sure it's finished - sleep 5 - # - # copy over InfiniDB OS files - # - send_user "Copy InfiniDB OS files to Module " - send "scp $INSTALLDIR/local/etc/$MODULE/* $USERNAME@$SERVER:$INSTALLDIR/local/.\n" - if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - set timeout 30 - expect { - "directory" { send_user "ERROR\n" ; - send_user "\n*** Installation ERROR\n" ; - exit 1 } - -re {[$#] } { send_user "DONE" } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - } - send_user "\n" - #sleep to make sure it's finished - sleep 5 - # - # Start module installer to setup Custom OS files - # - send_user "Run Module Installer " - send "ssh $USERNAME@$SERVER '$BASH $INSTALLDIR/bin/module_installer.sh --module=um --port=$MYSQLPORT'\n" - if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } - } - set timeout 200 - expect { - "!!!Module" { send_user "DONE" } - "FAILED" { send_user "ERROR: missing OS file\n" ; exit 1 } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } - "No such file" { send_user "ERROR: File Not Found\n" ; exit 1 } - } - send_user "\n" - set timeout 30 - #expect -re {[$#] } -} - -# -# check InfiniDB syslog functionality -# - -send_user "Check InfiniDB system logging functionality " -send " \n" -send date\n -send "ssh $USERNAME@$SERVER '$BASH $INSTALLDIR/bin/syslogSetup.sh check'\n" -if { $PASSWORD != "ssh" } { - set timeout 30 - expect { - "word: " { send "$PASSWORD\n" } - "passphrase" { send "$PASSWORD\n" } - } -} -set timeout 30 -expect { - "Logging working" { send_user "DONE" } - timeout { send_user "DONE" } - "not working" { send_user "WARNING: InfiniDB system logging functionality not working" } - "Connection closed" { send_user "ERROR: Connection closed\n" ; exit 1 } -} -send_user "\n" - -send_user "\nInstallation Successfully Completed on '$MODULE'\n" -exit 0 -# vim:ts=4 sw=4: - diff --git a/export/bin/xm_installer.sh b/export/bin/xm_installer.sh deleted file mode 100755 index 37d778e39..000000000 --- a/export/bin/xm_installer.sh +++ /dev/null @@ -1,173 +0,0 @@ -#!/usr/bin/expect -# -# $Id$ -# -# Install custom OS files on External Module -# Argument 1 - Remote Module Name -# Argument 2 - Remote Server Host Name or IP address -# Argument 3 - OAM Parent Host Name -# Argument 4 - Root Password of remote server -# Argument 5 - Debug flag 1 for on, 0 for off -set timeout 10 -set USERNAME root -set MODULE [lindex $argv 0] -set SERVER [lindex $argv 1] -set OAMHOSTNAME [lindex $argv 2] -set PASSWORD [lindex $argv 3] -set DEBUG [lindex $argv 4] -log_user $DEBUG -spawn -noecho /bin/bash -# -# Validate Calpont RPM is installed -# -send_user "\n" -send_user "Check Calpont RPM installed " -expect -re "# " -send "ssh $USERNAME@$SERVER 'rpm -iq calpont'\n" -expect { - -re "Host key verification failed" { send_user "FAILED: Host key verification failed\n" ; exit } - -re "service not known" { send_user "FAILED: Invalid Host\n" ; exit } - -re "authenticity" { send "yes\n" - expect { - -re "word: " { send "$PASSWORD\n" } - } - } - -re "word: " { send "$PASSWORD\n" } -} -expect { - -re "tools " { send_user "DONE" } - -re "Permission denied" { send_user "ERROR: Invalid password\n" ; exit -1 } - -re "package calpont" { send_user "ERROR: Calpont RPM not installed on External Module\n" ; exit -1 } -} -# -# Create mount directories -# -send_user "\n" -send_user "Create etc mount directory " -expect -re "# " -send "ssh $USERNAME@$SERVER 'mkdir /mnt/$OAMHOSTNAME\_etc'\n" -expect -re "word: " -# send the password -send "$PASSWORD\n" -expect { - -re "# " { send_user "DONE" } - -re "Permission denied" { send_user "ERROR: Invalid password\n" ; exit -1 } - -re "mkdir: cannot" { send_user "DONE: already installed\n" - send_user "\nInstallation Successfully Completed on '$MODULE'\n"; exit 0 } -} -send_user "\n" -send_user "Create OAM mount directory " -send "ssh $USERNAME@$SERVER 'mkdir /mnt/$OAMHOSTNAME\_OAM'\n" -expect -re "word: " -# send the password -send "$PASSWORD\n" -expect { - -re "# " { send_user "DONE" } - -re "Permission denied" { send_user "ERROR: Invalid password\n" ; exit -1 } - -re "mkdir: cannot" { send_user "DONE: already installed\n" - send_user "\nInstallation Successfully Completed on '$MODULE'\n"; exit 0 } -} -# -# copy over calpont OS files -# -send_user "\n" -send_user "Copy Mount File to Module " -send "scp /tmp/etc/$MODULE/*mount $USERNAME@$SERVER:/mnt/.\n" -expect -re "word: " -# send the password -send "$PASSWORD\n" -expect { - -re "100%" { send_user "DONE" } - -re "scp" { send_user "ERROR\n" ; - send_user "\n*** Installation ERROR\n" ; - exit -1 } - -re "Permission denied" { send_user "ERROR: Invalid password\n" ; exit -1 } - -re "No such file or directory" { send_user "ERROR: Invalid file\n" ; exit -1 } -} -# -send_user "\n" -send_user "Copy Custom inittab to Module " -send "scp /tmp/etc/$MODULE/inittab.calpont $USERNAME@$SERVER:/tmp/.\n" -expect -re "word: " -# send the password -send "$PASSWORD\n" -expect { - -re "100%" { send_user "DONE" } - -re "scp" { send_user "ERROR\n" ; - send_user "\n*** Installation ERROR\n" ; - exit -1 } - -re "Permission denied" { send_user "ERROR: Invalid password\n" ; exit -1 } - -re "No such file or directory" { send_user "ERROR: Invalid file\n" ; exit -1 } -} -# -send_user "\n" -send_user "Copy syslogd.conf to Module " -send "scp /etc/syslog.conf $USERNAME@$SERVER:/etc/.\n" -expect -re "word: " -# send the password -send "$PASSWORD\n" -expect { - -re "100%" { send_user "DONE" } - -re "scp" { send_user "ERROR\n" ; - send_user "\n*** Installation ERROR\n" ; - exit -1 } - -re "Permission denied" { send_user "ERROR: Invalid password\n" ; exit -1 } - -re "No such file or directory" { send_user "ERROR: Invalid file\n" ; exit -1 } -} -# -# chmod of mount file -# -send_user "\n" -send_user "Run chmod on Mount File " -send "ssh $USERNAME@$SERVER 'chmod 755 /mnt/$OAMHOSTNAME\_*mount'\n" -expect -re "word: " -# send the password -send "$PASSWORD\n" -expect { - -re "# " { send_user "DONE" } - -re "Permission denied" { send_user "ERROR: Invalid password\n" ; exit -1 } -} -# -# Update External Module inittab -# -send_user "\n" -send_user "Update inittab " -send "ssh $USERNAME@$SERVER 'cat /tmp/inittab.calpont >> /etc/inittab'\n" -expect -re "word: " -# send the password -send "$PASSWORD\n" -expect { - -re "# " { send_user "DONE" } - -re "Permission denied" { send_user "ERROR: Invalid password\n" ; exit -1 } -} -# -# Restart External Module syslogd -# -send_user "\n" -send_user "Restart syslogd " -send "ssh $USERNAME@$SERVER 'service syslog restart'\n" -expect -re "word: " -# send the password -send "$PASSWORD\n" -expect { - -re "# " { send_user "DONE" } - -re "Permission denied" { send_user "ERROR: Invalid password\n" ; exit -1 } -} -# -# startup ProcMon -# -send_user "\n" -send_user "Startup ProcMon " -send "ssh $USERNAME@$SERVER 'kill -HUP 1'\n" -expect -re "word: " -# send the password -send "$PASSWORD\n" -expect { - -re "# " { send_user "DONE" } - -re "Permission denied" { send_user "ERROR: Invalid password\n" ; exit -1 } -} -send_user "\n" -# -send_user "\nInstallation Successfully Completed on '$MODULE'\n" -exit 0 - diff --git a/export/local/module b/export/local/module deleted file mode 100755 index 1516f1d24..000000000 --- a/export/local/module +++ /dev/null @@ -1 +0,0 @@ -pm1 diff --git a/libtool b/libtool index 7356729f3..e25377724 100755 --- a/libtool +++ b/libtool @@ -331,7 +331,7 @@ link_all_deplibs=unknown sys_lib_search_path_spec=`echo "/lib64 /usr/lib64 /usr/local/lib64" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` # Run-time system search path for libraries -sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /usr/lib64/ctapi /usr/local/Calpont/lib /usr/local/Calpont/mysql/lib/mysql hwcap 1 nosegneg hwcap 1 nosegneg hwcap 1 nosegneg hwcap 1 nosegneg /usr/lib64/mysql /usr/lib64/qt-3.3/lib /usr/lib/vmware-tools/lib32/libvmGuestLib.so /usr/lib/vmware-tools/lib64/libvmGuestLib.so /usr/lib/vmware-tools/lib32/libvmGuestLibJava.so /usr/lib/vmware-tools/lib64/libvmGuestLibJava.so /usr/lib/vmware-tools/lib32/libDeployPkg.so /usr/lib/vmware-tools/lib64/libDeployPkg.so /usr/lib64/xulrunner " +sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /usr/lib64/ctapi /usr/local/MariaDB/Columnstore/lib /usr/local/MariaDB/Columnstore/mysql/lib/mysql hwcap 1 nosegneg hwcap 1 nosegneg hwcap 1 nosegneg hwcap 1 nosegneg /usr/lib64/mysql /usr/lib64/qt-3.3/lib /usr/lib/vmware-tools/lib32/libvmGuestLib.so /usr/lib/vmware-tools/lib64/libvmGuestLib.so /usr/lib/vmware-tools/lib32/libvmGuestLibJava.so /usr/lib/vmware-tools/lib64/libvmGuestLibJava.so /usr/lib/vmware-tools/lib32/libDeployPkg.so /usr/lib/vmware-tools/lib64/libDeployPkg.so /usr/lib64/xulrunner " # Fix the shell variable $srcfile for the compiler. fix_srcfile_path="" @@ -7550,7 +7550,7 @@ link_all_deplibs=unknown sys_lib_search_path_spec=`echo "/lib64 /usr/lib64 /usr/local/lib64" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` # Run-time system search path for libraries -sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /usr/lib64/ctapi /usr/local/Calpont/lib /usr/local/Calpont/mysql/lib/mysql hwcap 1 nosegneg hwcap 1 nosegneg hwcap 1 nosegneg hwcap 1 nosegneg /usr/lib64/mysql /usr/lib64/qt-3.3/lib /usr/lib/vmware-tools/lib32/libvmGuestLib.so /usr/lib/vmware-tools/lib64/libvmGuestLib.so /usr/lib/vmware-tools/lib32/libvmGuestLibJava.so /usr/lib/vmware-tools/lib64/libvmGuestLibJava.so /usr/lib/vmware-tools/lib32/libDeployPkg.so /usr/lib/vmware-tools/lib64/libDeployPkg.so /usr/lib64/xulrunner " +sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /usr/lib64/ctapi /usr/local/MariaDB/Columnstore/lib /usr/local/MariaDB/Columnstore/mysql/lib/mysql hwcap 1 nosegneg hwcap 1 nosegneg hwcap 1 nosegneg hwcap 1 nosegneg /usr/lib64/mysql /usr/lib64/qt-3.3/lib /usr/lib/vmware-tools/lib32/libvmGuestLib.so /usr/lib/vmware-tools/lib64/libvmGuestLib.so /usr/lib/vmware-tools/lib32/libvmGuestLibJava.so /usr/lib/vmware-tools/lib64/libvmGuestLibJava.so /usr/lib/vmware-tools/lib32/libDeployPkg.so /usr/lib/vmware-tools/lib64/libDeployPkg.so /usr/lib64/xulrunner " # Fix the shell variable $srcfile for the compiler. fix_srcfile_path="" diff --git a/libtool~ b/libtool~ new file mode 100755 index 000000000..7356729f3 --- /dev/null +++ b/libtool~ @@ -0,0 +1,7574 @@ +#! /bin/sh + +# libtoolT - Provide generalized library-building support services. +# Generated automatically by (GNU infinidb 4.6.1) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED="/bin/sed" + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="/bin/sed -e 1s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# The names of the tagged configurations supported by this script. +available_tags=" CXX" + +# ### BEGIN LIBTOOL CONFIG + +# Libtool was configured on host srvhall03: + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=no + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=no + +# Whether or not to optimize for fast installation. +fast_install=yes + +# The host system. +host_alias= +host=x86_64-unknown-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=x86_64-unknown-linux-gnu +build_os=linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A C compiler. +LTCC="gcc" + +# LTCC compiler flags. +LTCFLAGS="" + +# A language-specific compiler. +CC="gcc" + +# Is the compiler the GNU C compiler? +with_gcc=yes + +gcc_dir=`gcc -print-file-name=. | /bin/sed 's,/\.$,,'` +gcc_ver=`gcc -dumpversion` + +# An ERE matcher. +EGREP="grep -E" + +# The linker used to build libraries. +LD="/usr/bin/ld -m elf_x86_64" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# A symbol stripping program +STRIP="strip" + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=file + +# Used on cygwin: DLL creation program. +DLLTOOL="dlltool" + +# Used on cygwin: object dumper. +OBJDUMP="objdump" + +# Used on cygwin: assembler. +AS="as" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Shared library suffix (normally ".so"). +shrext_cmds='.so' + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" +pic_mode=default + +# What is the maximum length of a command? +max_cmd_len=32768 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Must we lock files when doing compilation? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen_support=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Compiler flag to prevent dynamic linking. +link_static_flag="" + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ + cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ + \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ + \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds="" +module_expsym_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=`echo "" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=`echo "" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps="" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=`echo "" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="\$MAGIC_CMD" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into +# a binary during linking. This must work even if $libdir does +# not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=no + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=unknown + +# Compile-time system search path for libraries +sys_lib_search_path_spec=`echo "/lib64 /usr/lib64 /usr/local/lib64" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /usr/lib64/ctapi /usr/local/Calpont/lib /usr/local/Calpont/mysql/lib/mysql hwcap 1 nosegneg hwcap 1 nosegneg hwcap 1 nosegneg hwcap 1 nosegneg /usr/lib64/mysql /usr/lib64/qt-3.3/lib /usr/lib/vmware-tools/lib32/libvmGuestLib.so /usr/lib/vmware-tools/lib64/libvmGuestLib.so /usr/lib/vmware-tools/lib32/libvmGuestLibJava.so /usr/lib/vmware-tools/lib64/libvmGuestLibJava.so /usr/lib/vmware-tools/lib32/libDeployPkg.so /usr/lib/vmware-tools/lib64/libDeployPkg.so /usr/lib64/xulrunner " + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" + +# Symbols that must always be exported. +include_expsyms="" + +# ### END LIBTOOL CONFIG + +# ltmain.sh - Provide generalized library-building support services. +# NOTE: Changing this file will not affect anything until you rerun configure. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION=1.5.22 +TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)" + +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi + +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$progpath" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE +fi + +# Global variables. +mode=$default_mode +nonopt= +prev= +prevopt= +run= +show="$echo" +show_help= +execute_dlfiles= +duplicate_deps=no +preserve_args= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" +extracted_archives= +extracted_serial=0 + +##################################### +# Shell function definitions: +# This seems to be the best place for them + +# func_mktempdir [string] +# Make a temporary directory that won't clash with other running +# libtool processes, and avoids race conditions if possible. If +# given, STRING is the basename for that directory. +func_mktempdir () +{ + my_template="${TMPDIR-/tmp}/${1-$progname}" + + if test "$run" = ":"; then + # Return a directory name, but don't create it in dry-run mode + my_tmpdir="${my_template}-$$" + else + + # If mktemp works, use that first and foremost + my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` + + if test ! -d "$my_tmpdir"; then + # Failing that, at least try and use $RANDOM to avoid a race + my_tmpdir="${my_template}-${RANDOM-0}$$" + + save_mktempdir_umask=`umask` + umask 0077 + $mkdir "$my_tmpdir" + umask $save_mktempdir_umask + fi + + # If we're not in dry-run mode, bomb out on failure + test -d "$my_tmpdir" || { + $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 + exit $EXIT_FAILURE + } + fi + + $echo "X$my_tmpdir" | $Xsed +} + + +# func_win32_libid arg +# return the library type of file 'arg' +# +# Need a lot of goo to handle *both* DLLs and import libs +# Has to be a shell function in order to 'eat' the argument +# that is supplied when $file_magic_command is called. +func_win32_libid () +{ + win32_libid_type="unknown" + win32_fileres=`file -L $1 2>/dev/null` + case $win32_fileres in + *ar\ archive\ import\ library*) # definitely import + win32_libid_type="x86 archive import" + ;; + *ar\ archive*) # could be an import, or static + if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + win32_nmres=`eval $NM -f posix -A $1 | \ + $SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'` + case $win32_nmres in + import*) win32_libid_type="x86 archive import";; + *) win32_libid_type="x86 archive static";; + esac + fi + ;; + *DLL*) + win32_libid_type="x86 DLL" + ;; + *executable*) # but shell scripts are "executable" too... + case $win32_fileres in + *MS\ Windows\ PE\ Intel*) + win32_libid_type="x86 DLL" + ;; + esac + ;; + esac + $echo $win32_libid_type +} + + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () +{ + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} + + +# func_extract_an_archive dir oldlib +func_extract_an_archive () +{ + f_ex_an_ar_dir="$1"; shift + f_ex_an_ar_oldlib="$1" + + $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" + $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? + if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 + exit $EXIT_FAILURE + fi +} + +# func_extract_archives gentop oldlib ... +func_extract_archives () +{ + my_gentop="$1"; shift + my_oldlibs=${1+"$@"} + my_oldobjs="" + my_xlib="" + my_xabs="" + my_xdir="" + my_status="" + + $show "${rm}r $my_gentop" + $run ${rm}r "$my_gentop" + $show "$mkdir $my_gentop" + $run $mkdir "$my_gentop" + my_status=$? + if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then + exit $my_status + fi + + for my_xlib in $my_oldlibs; do + # Extract the objects. + case $my_xlib in + [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; + *) my_xabs=`pwd`"/$my_xlib" ;; + esac + my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` + my_xlib_u=$my_xlib + while :; do + case " $extracted_archives " in + *" $my_xlib_u "*) + extracted_serial=`expr $extracted_serial + 1` + my_xlib_u=lt$extracted_serial-$my_xlib ;; + *) break ;; + esac + done + extracted_archives="$extracted_archives $my_xlib_u" + my_xdir="$my_gentop/$my_xlib_u" + + $show "${rm}r $my_xdir" + $run ${rm}r "$my_xdir" + $show "$mkdir $my_xdir" + $run $mkdir "$my_xdir" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then + exit $exit_status + fi + case $host in + *-darwin*) + $show "Extracting $my_xabs" + # Do not bother doing anything if just a dry run + if test -z "$run"; then + darwin_orig_dir=`pwd` + cd $my_xdir || exit $? + darwin_archive=$my_xabs + darwin_curdir=`pwd` + darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` + darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` + if test -n "$darwin_arches"; then + darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` + darwin_arch= + $show "$darwin_base_archive has multiple architectures $darwin_arches" + for darwin_arch in $darwin_arches ; do + mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" + lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" + cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" + func_extract_an_archive "`pwd`" "${darwin_base_archive}" + cd "$darwin_curdir" + $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" + done # $darwin_arches + ## Okay now we have a bunch of thin objects, gotta fatten them up :) + darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` + darwin_file= + darwin_files= + for darwin_file in $darwin_filelist; do + darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` + lipo -create -output "$darwin_file" $darwin_files + done # $darwin_filelist + ${rm}r unfat-$$ + cd "$darwin_orig_dir" + else + cd "$darwin_orig_dir" + func_extract_an_archive "$my_xdir" "$my_xabs" + fi # $darwin_arches + fi # $run + ;; + *) + func_extract_an_archive "$my_xdir" "$my_xabs" + ;; + esac + my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` + done + func_extract_archives_result="$my_oldobjs" +} +# End of Shell function definitions +##################################### + +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + +disable_libs=no + +# Parse our command line options once, thoroughly. +while test "$#" -gt 0 +do + arg="$1" + shift + + case $arg in + -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; + *) optarg= ;; + esac + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + execute_dlfiles) + execute_dlfiles="$execute_dlfiles $arg" + ;; + tag) + tagname="$arg" + preserve_args="${preserve_args}=$arg" + + # Check whether tagname contains only valid characters + case $tagname in + *[!-_A-Za-z0-9,/]*) + $echo "$progname: invalid tag name: $tagname" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $tagname in + CC) + # Don't test for the "default" C tag, as we know, it's there, but + # not specially marked. + ;; + *) + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then + taglist="$taglist $tagname" + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" + else + $echo "$progname: ignoring unknown tag $tagname" 1>&2 + fi + ;; + esac + ;; + *) + eval "$prev=\$arg" + ;; + esac + + prev= + prevopt= + continue + fi + + # Have we seen a non-optional argument yet? + case $arg in + --help) + show_help=yes + ;; + + --version) + $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" + $echo + $echo "Copyright (C) 2005 Free Software Foundation, Inc." + $echo "This is free software; see the source for copying conditions. There is NO" + $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit $? + ;; + + --config) + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath + # Now print the configurations for the tags. + for tagname in $taglist; do + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" + done + exit $? + ;; + + --debug) + $echo "$progname: enabling shell trace mode" + set -x + preserve_args="$preserve_args $arg" + ;; + + --dry-run | -n) + run=: + ;; + + --features) + $echo "host: $host" + if test "$build_libtool_libs" = yes; then + $echo "enable shared libraries" + else + $echo "disable shared libraries" + fi + if test "$build_old_libs" = yes; then + $echo "enable static libraries" + else + $echo "disable static libraries" + fi + exit $? + ;; + + --finish) mode="finish" ;; + + --mode) prevopt="--mode" prev=mode ;; + --mode=*) mode="$optarg" ;; + + --preserve-dup-deps) duplicate_deps="yes" ;; + + --quiet | --silent) + show=: + preserve_args="$preserve_args $arg" + ;; + + --tag) + prevopt="--tag" + prev=tag + preserve_args="$preserve_args --tag" + ;; + --tag=*) + set tag "$optarg" ${1+"$@"} + shift + prev=tag + preserve_args="$preserve_args --tag" + ;; + + -dlopen) + prevopt="-dlopen" + prev=execute_dlfiles + ;; + + -*) + $echo "$modename: unrecognized option \`$arg'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + + *) + nonopt="$arg" + break + ;; + esac +done + +if test -n "$prevopt"; then + $echo "$modename: option \`$prevopt' requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE +fi + +case $disable_libs in +no) + ;; +shared) + build_libtool_libs=no + build_old_libs=yes + ;; +static) + build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` + ;; +esac + +# If this variable is set in any of the actions, the command in it +# will be execed at the end. This prevents here-documents from being +# left over by shells. +exec_cmd= + +if test -z "$show_help"; then + + # Infer the operation mode. + if test -z "$mode"; then + $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 + $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 + case $nonopt in + *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) + mode=link + for arg + do + case $arg in + -c) + mode=compile + break + ;; + esac + done + ;; + *db | *dbx | *strace | *truss) + mode=execute + ;; + *install*|cp|mv) + mode=install + ;; + *rm) + mode=uninstall + ;; + *) + # If we have no mode, but dlfiles were specified, then do execute mode. + test -n "$execute_dlfiles" && mode=execute + + # Just use the default operation mode. + if test -z "$mode"; then + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi + fi + ;; + esac + fi + + # Only execute mode is allowed to have -dlopen flags. + if test -n "$execute_dlfiles" && test "$mode" != execute; then + $echo "$modename: unrecognized option \`-dlopen'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Change the help message to a mode-specific one. + generic_help="$help" + help="Try \`$modename --help --mode=$mode' for more information." + + # These modes are in order of execution frequency so that they run quickly. + case $mode in + # libtool compile mode + compile) + modename="$modename: compile" + # Get the compilation command and the source file. + base_compile= + srcfile="$nonopt" # always keep a non-empty value in "srcfile" + suppress_opt=yes + suppress_output= + arg_mode=normal + libobj= + later= + + for arg + do + case $arg_mode in + arg ) + # do not "continue". Instead, add this to base_compile + lastarg="$arg" + arg_mode=normal + ;; + + target ) + libobj="$arg" + arg_mode=normal + continue + ;; + + normal ) + # Accept any command-line options. + case $arg in + -o) + if test -n "$libobj" ; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit $EXIT_FAILURE + fi + arg_mode=target + continue + ;; + + -static | -prefer-pic | -prefer-non-pic) + later="$later $arg" + continue + ;; + + -no-suppress) + suppress_opt=no + continue + ;; + + -Xcompiler) + arg_mode=arg # the next one goes into the "base_compile" arg list + continue # The current "srcfile" will either be retained or + ;; # replaced later. I would guess that would be a bug. + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` + lastarg= + save_ifs="$IFS"; IFS=',' + for arg in $args; do + IFS="$save_ifs" + + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, so we specify it separately. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + lastarg="$lastarg $arg" + done + IFS="$save_ifs" + lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` + + # Add the arguments to base_compile. + base_compile="$base_compile $lastarg" + continue + ;; + + * ) + # Accept the current argument as the source file. + # The previous "srcfile" becomes the current argument. + # + lastarg="$srcfile" + srcfile="$arg" + ;; + esac # case $arg + ;; + esac # case $arg_mode + + # Aesthetically quote the previous argument. + lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` + + case $lastarg in + # Double-quote args containing other shell metacharacters. + # Many Bourne shells cannot handle close brackets correctly + # in scan sets, and some SunOS ksh mistreat backslash-escaping + # in scan sets (worked around with variable expansion), + # and furthermore cannot handle '|' '&' '(' ')' in scan sets + # at all, so we specify them separately. + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + lastarg="\"$lastarg\"" + ;; + esac + + base_compile="$base_compile $lastarg" + done # for arg + + case $arg_mode in + arg) + $echo "$modename: you must specify an argument for -Xcompile" + exit $EXIT_FAILURE + ;; + target) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit $EXIT_FAILURE + ;; + *) + # Get the name of the library object. + [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + esac + + # Recognize several different file suffixes. + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSifmso]' + case $libobj in + *.ada) xform=ada ;; + *.adb) xform=adb ;; + *.ads) xform=ads ;; + *.asm) xform=asm ;; + *.c++) xform=c++ ;; + *.cc) xform=cc ;; + *.ii) xform=ii ;; + *.class) xform=class ;; + *.cpp) xform=cpp ;; + *.cxx) xform=cxx ;; + *.f90) xform=f90 ;; + *.for) xform=for ;; + *.java) xform=java ;; + *.obj) xform=obj ;; + esac + + libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` + + case $libobj in + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; + *) + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + func_infer_tag $base_compile + + for arg in $later; do + case $arg in + -static) + build_old_libs=yes + continue + ;; + + -prefer-pic) + pic_mode=yes + continue + ;; + + -prefer-non-pic) + pic_mode=no + continue + ;; + esac + done + + qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` + case $qlibobj in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qlibobj="\"$qlibobj\"" ;; + esac + test "X$libobj" != "X$qlibobj" \ + && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ + && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." + objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$obj"; then + xdir= + else + xdir=$xdir/ + fi + lobj=${xdir}$objdir/$objname + + if test -z "$base_compile"; then + $echo "$modename: you must specify a compilation command" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Delete any leftover library objects. + if test "$build_old_libs" = yes; then + removelist="$obj $lobj $libobj ${libobj}T" + else + removelist="$lobj $libobj ${libobj}T" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + + # On Cygwin there's no "real" PIC flag so we must build both object types + case $host_os in + cygwin* | mingw* | pw32* | os2*) + pic_mode=default + ;; + esac + if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then + # non-PIC code in shared libraries is not supported + pic_mode=default + fi + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 + else + output_obj= + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until $run ln "$progpath" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + $echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + $echo "$srcfile" > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" + fi + qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` + case $qsrcfile in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qsrcfile="\"$qsrcfile\"" ;; + esac + + $run $rm "$libobj" "${libobj}T" + + # Create a libtool object file (analogous to a ".la" file), + # but don't create it if we're doing a dry run. + test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed, then go on to compile the next one + if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then + $show "$mv $output_obj $lobj" + if $run $mv $output_obj $lobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the PIC object to the libtool object file. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then + $echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit $EXIT_FAILURE + fi + + # Just move the object if needed + if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Append the name of the non-PIC object the libtool object file. + # Only append if the libtool object file exists. + test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + -static) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=built + ;; + -static-libtool-libs) + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + prefer_static_libs=yes + ;; + esac + build_libtool_libs=no + build_old_libs=yes + break + ;; + esac + done + + # See if our shared archives depend on static archives. + test -n "$old_archive_from_new_cmds" && build_old_libs=yes + + # Go through the arguments, transforming them on the way. + while test "$#" -gt 0; do + arg="$1" + shift + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test + ;; + *) qarg=$arg ;; + esac + libtool_args="$libtool_args $qarg" + + # If the previous option needs an argument, assign it. + if test -n "$prev"; then + case $prev in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac + + case $prev in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case $arg in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + continue + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit $EXIT_FAILURE + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; + inst_prefix) + inst_prefix_dir="$arg" + prev= + continue + ;; + precious_regex) + precious_files_regex="$arg" + prev= + continue + ;; + release) + release="-$arg" + prev= + continue + ;; + objectlist) + if test -f "$arg"; then + save_arg=$arg + moreargs= + for fil in `cat $save_arg` + do +# moreargs="$moreargs $fil" + arg=$fil + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + done + else + $echo "$modename: link input file \`$save_arg' does not exist" + exit $EXIT_FAILURE + fi + arg=$save_arg + prev= + continue + ;; + rpath | xrpath) + # We need an absolute path. + case $arg in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi + prev= + continue + ;; + xcompiler) + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + xlinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $wl$qarg" + prev= + compile_command="$compile_command $wl$qarg" + finalize_command="$finalize_command $wl$qarg" + continue + ;; + xcclinker) + linker_flags="$linker_flags $qarg" + compiler_flags="$compiler_flags $qarg" + prev= + compile_command="$compile_command $qarg" + finalize_command="$finalize_command $qarg" + continue + ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; + darwin_framework|darwin_framework_skip) + test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + prev= + continue + ;; + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac + fi # test -n "$prev" + + prevarg="$arg" + + case $arg in + -all-static) + if test -n "$link_static_flag"; then + compile_command="$compile_command $link_static_flag" + finalize_command="$finalize_command $link_static_flag" + fi + continue + ;; + + -allow-undefined) + # FIXME: remove this flag sometime in the future. + $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 + continue + ;; + + -avoid-version) + avoid_version=yes + continue + ;; + + -dlopen) + prev=dlfiles + continue + ;; + + -dlpreopen) + prev=dlprefiles + continue + ;; + + -export-dynamic) + export_dynamic=yes + continue + ;; + + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: more than one -exported-symbols argument is not allowed" + exit $EXIT_FAILURE + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; + + -framework|-arch|-isysroot) + case " $CC " in + *" ${arg} ${1} "* | *" ${arg} ${1} "*) + prev=darwin_framework_skip ;; + *) compiler_flags="$compiler_flags $arg" + prev=darwin_framework ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -inst-prefix-dir) + prev=inst_prefix + continue + ;; + + # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* + # so, if we see these flags be careful not to treat them like -L + -L[A-Z][A-Z]*:*) + case $with_gcc/$host in + no/*-*-irix* | /*-*-irix*) + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + ;; + esac + continue + ;; + + -L*) + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + notinst_path="$notinst_path $dir" + fi + dir="$absdir" + ;; + esac + case "$deplibs " in + *" -L$dir "*) ;; + *) + deplibs="$deplibs -L$dir" + lib_search_path="$lib_search_path $dir" + ;; + esac + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$dir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + continue + ;; + + -l*) + if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) + # These systems don't actually have a C or math library (as such) + continue + ;; + *-*-os2*) + # These systems don't actually have a C library (as such) + test "X$arg" = "X-lc" && continue + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + test "X$arg" = "X-lc" && continue + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C and math libraries are in the System framework + deplibs="$deplibs -framework System" + continue + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + test "X$arg" = "X-lc" && continue + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + test "X$arg" = "X-lc" && continue + ;; + esac + elif test "X$arg" = "X-lc_r"; then + case $host in + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc_r directly, use -pthread flag. + continue + ;; + esac + fi + deplibs="$deplibs $arg" + continue + ;; + + # Tru64 UNIX uses -model [arg] to determine the layout of C++ + # classes, name mangling, and exception handling. + -model) + compile_command="$compile_command $arg" + compiler_flags="$compiler_flags $arg" + finalize_command="$finalize_command $arg" + prev=xcompiler + continue + ;; + + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + compiler_flags="$compiler_flags $arg" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + continue + ;; + + -module) + module=yes + continue + ;; + + # -64, -mips[0-9] enable 64-bit mode on the SGI compiler + # -r[0-9][0-9]* specifies the processor on the SGI compiler + # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler + # +DA*, +DD* enable 64-bit mode on the HP compiler + # -q* pass through compiler args for the IBM compiler + # -m* pass through architecture-specific compiler args for GCC + # -m*, -t[45]*, -txscale* pass through architecture-specific + # compiler args for GCC + # -pg pass through profiling flag for GCC + # @file GCC response files + -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \ + -t[45]*|-txscale*|@*) + + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + compiler_flags="$compiler_flags $arg" + continue + ;; + + -shrext) + prev=shrext + continue + ;; + + -no-fast-install) + fast_install=no + continue + ;; + + -no-install) + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + # The PATH hackery in wrapper scripts is required on Windows + # in order for the loader to find any dlls it needs. + $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 + $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 + fast_install=no + ;; + *) no_install=yes ;; + esac + continue + ;; + + -no-undefined) + allow_undefined=no + continue + ;; + + -objectlist) + prev=objectlist + continue + ;; + + -o) prev=output ;; + + -precious-files-regex) + prev=precious_regex + continue + ;; + + -release) + prev=release + continue + ;; + + -rpath) + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit $EXIT_FAILURE + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; + + -static | -static-libtool-libs) + # The effects of -static are defined in a previous loop. + # We used to do the same as -all-static on platforms that + # didn't have a PIC flag, but the assumption that the effects + # would be equivalent was wrong. It would break on at least + # Digital Unix and AIX. + continue + ;; + + -thread-safe) + thread_safe=yes + continue + ;; + + -version-info) + prev=vinfo + continue + ;; + -version-number) + prev=vinfo + vinfo_number=yes + continue + ;; + + -Wc,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Wl,*) + args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` + arg= + save_ifs="$IFS"; IFS=',' + for flag in $args; do + IFS="$save_ifs" + case $flag in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + flag="\"$flag\"" + ;; + esac + arg="$arg $wl$flag" + compiler_flags="$compiler_flags $wl$flag" + linker_flags="$linker_flags $flag" + done + IFS="$save_ifs" + arg=`$echo "X$arg" | $Xsed -e "s/^ //"` + ;; + + -Xcompiler) + prev=xcompiler + continue + ;; + + -Xlinker) + prev=xlinker + continue + ;; + + -XCClinker) + prev=xcclinker + continue + ;; + + # Some other compiler flag. + -* | +*) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + + *.$objext) + # A standard object. + objs="$objs $arg" + ;; + + *.lo) + # A libtool-controlled object. + + # Check to see that this really is a libtool object. + if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + pic_object= + non_pic_object= + + # Read the .lo file + # If there is no directory component, then add one. + case $arg in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac + + if test -z "$pic_object" || \ + test -z "$non_pic_object" || + test "$pic_object" = none && \ + test "$non_pic_object" = none; then + $echo "$modename: cannot find name of object for \`$arg'" 1>&2 + exit $EXIT_FAILURE + fi + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + if test "$pic_object" != none; then + # Prepend the subdirectory the object is found in. + pic_object="$xdir$pic_object" + + if test "$prev" = dlfiles; then + if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then + dlfiles="$dlfiles $pic_object" + prev= + continue + else + # If libtool objects are unsupported, then we need to preload. + prev=dlprefiles + fi + fi + + # CHECK ME: I think I busted this. -Ossama + if test "$prev" = dlprefiles; then + # Preload the old-style object. + dlprefiles="$dlprefiles $pic_object" + prev= + fi + + # A PIC object. + libobjs="$libobjs $pic_object" + arg="$pic_object" + fi + + # Non-PIC object. + if test "$non_pic_object" != none; then + # Prepend the subdirectory the object is found in. + non_pic_object="$xdir$non_pic_object" + + # A standard non-PIC object + non_pic_objects="$non_pic_objects $non_pic_object" + if test -z "$pic_object" || test "$pic_object" = none ; then + arg="$non_pic_object" + fi + else + # If the PIC object exists, use it instead. + # $xdir was prepended to $pic_object above. + non_pic_object="$pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + else + # Only an error if not doing a dry-run. + if test -z "$run"; then + $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 + exit $EXIT_FAILURE + else + # Dry-run case. + + # Extract subdirectory from the argument. + xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$xdir" = "X$arg"; then + xdir= + else + xdir="$xdir/" + fi + + pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` + non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` + libobjs="$libobjs $pic_object" + non_pic_objects="$non_pic_objects $non_pic_object" + fi + fi + ;; + + *.$libext) + # An archive. + deplibs="$deplibs $arg" + old_deplibs="$old_deplibs $arg" + continue + ;; + + *.la) + # A libtool-controlled library. + + if test "$prev" = dlfiles; then + # This library was specified with -dlopen. + dlfiles="$dlfiles $arg" + prev= + elif test "$prev" = dlprefiles; then + # The library was specified with -dlpreopen. + dlprefiles="$dlprefiles $arg" + prev= + else + deplibs="$deplibs $arg" + fi + continue + ;; + + # Some other compiler argument. + *) + # Unknown arguments in both finalize_command and compile_command need + # to be aesthetically quoted because they are evaled later. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + ;; + esac # arg + + # Now actually substitute the argument into the commands. + if test -n "$arg"; then + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + done # argument parsing loop + + if test -n "$prev"; then + $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" + fi + + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + + if test -n "$shlibpath_var"; then + # get the directories listed in $shlibpath_var + eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` + else + shlib_search_path= + fi + eval sys_lib_search_path=\"$sys_lib_search_path_spec\" + eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + # Create the object directory. + if test ! -d "$output_objdir"; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then + exit $exit_status + fi + fi + + # Determine the type of output + case $output in + "") + $echo "$modename: you must specify an output file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + *.$libext) linkmode=oldlib ;; + *.lo | *.$objext) linkmode=obj ;; + *.la) linkmode=lib ;; + *) linkmode=prog ;; # Anything else should be a program. + esac + + case $host in + *cygwin* | *mingw* | *pw32*) + # don't eliminate duplications in $postdeps and $predeps + duplicate_compiler_generated_deps=yes + ;; + *) + duplicate_compiler_generated_deps=$duplicate_deps + ;; + esac + specialdeplibs= + + libs= + # Find all interdependent deplibs by searching for libraries + # that are linked more than once (e.g. -la -lb -la) + for deplib in $deplibs; do + if test "X$duplicate_deps" = "Xyes" ; then + case "$libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + libs="$libs $deplib" + done + + if test "$linkmode" = lib; then + libs="$predeps $libs $compiler_lib_search_path $postdeps" + + # Compute libraries that are listed more than once in $predeps + # $postdeps and mark them as special (i.e., whose duplicates are + # not to be eliminated). + pre_post_deps= + if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then + for pre_post_dep in $predeps $postdeps; do + case "$pre_post_deps " in + *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; + esac + pre_post_deps="$pre_post_deps $pre_post_dep" + done + fi + pre_post_deps= + fi + + deplibs= + newdependency_libs= + newlib_search_path= + need_relink=no # whether we're linking any uninstalled libtool libraries + notinst_deplibs= # not-installed libtool libraries + case $linkmode in + lib) + passes="conv link" + for file in $dlfiles $dlprefiles; do + case $file in + *.la) ;; + *) + $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + prog) + compile_deplibs= + finalize_deplibs= + alldeplibs=no + newdlfiles= + newdlprefiles= + passes="conv scan dlopen dlpreopen link" + ;; + *) passes="conv" + ;; + esac + for pass in $passes; do + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan"; then + libs="$deplibs" + deplibs= + fi + if test "$linkmode" = prog; then + case $pass in + dlopen) libs="$dlfiles" ;; + dlpreopen) libs="$dlprefiles" ;; + link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + esac + fi + if test "$pass" = dlopen; then + # Collect dlpreopened libraries + save_deplibs="$deplibs" + deplibs= + fi + for deplib in $libs; do + lib= + found=no + case $deplib in + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe) + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + compiler_flags="$compiler_flags $deplib" + fi + continue + ;; + -l*) + if test "$linkmode" != lib && test "$linkmode" != prog; then + $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 + continue + fi + name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` + for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do + for search_ext in .la $std_shrext .so .a; do + # Search the libtool library + lib="$searchdir/lib${name}${search_ext}" + if test -f "$lib"; then + if test "$search_ext" = ".la"; then + found=yes + else + found=no + fi + break 2 + fi + done + done + if test "$found" != yes; then + # deplib doesn't seem to be a libtool library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + else # deplib is a libtool library + # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, + # We need to do some special things here, and not later. + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $deplib "*) + if (${SED} -e '2q' $lib | + grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + library_names= + old_library= + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + for l in $old_library $library_names; do + ll="$l" + done + if test "X$ll" = "X$old_library" ; then # only static version available + found=no + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + lib=$ladir/$old_library + if test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + deplibs="$deplib $deplibs" + test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" + fi + continue + fi + fi + ;; + *) ;; + esac + fi + fi + ;; # -l + -L*) + case $linkmode in + lib) + deplibs="$deplib $deplibs" + test "$pass" = conv && continue + newdependency_libs="$deplib $newdependency_libs" + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + prog) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + if test "$pass" = scan; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` + ;; + *) + $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 + ;; + esac # linkmode + continue + ;; # -L + -R*) + if test "$pass" = link; then + dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + # Make sure the xrpath contains only unique directories. + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + fi + deplibs="$deplib $deplibs" + continue + ;; + *.la) lib="$deplib" ;; + *.$libext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + continue + fi + case $linkmode in + lib) + valid_a_lib=no + case $deplibs_check_method in + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + if eval $echo \"$deplib\" 2>/dev/null \ + | $SED 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + valid_a_lib=yes + fi + ;; + pass_all) + valid_a_lib=yes + ;; + esac + if test "$valid_a_lib" != yes; then + $echo + $echo "*** Warning: Trying to link with static lib archive $deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because the file extensions .$libext of this argument makes me believe" + $echo "*** that it is just a static archive that I should not used here." + else + $echo + $echo "*** Warning: Linking the shared library $output against the" + $echo "*** static library $deplib is not portable!" + deplibs="$deplib $deplibs" + fi + continue + ;; + prog) + if test "$pass" != link; then + deplibs="$deplib $deplibs" + else + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + fi + continue + ;; + esac # linkmode + ;; # *.$libext + *.lo | *.$objext) + if test "$pass" = conv; then + deplibs="$deplib $deplibs" + elif test "$linkmode" = prog; then + if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + # If there is no dlopen support or we're linking statically, + # we need to preload. + newdlprefiles="$newdlprefiles $deplib" + compile_deplibs="$deplib $compile_deplibs" + finalize_deplibs="$deplib $finalize_deplibs" + else + newdlfiles="$newdlfiles $deplib" + fi + fi + continue + ;; + %DEPLIBS%) + alldeplibs=yes + continue + ;; + esac # case $deplib + if test "$found" = yes || test -f "$lib"; then : + else + $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 + exit $EXIT_FAILURE + fi + + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + + ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` + test "X$ladir" = "X$lib" && ladir="." + + dlname= + dlopen= + dlpreopen= + libdir= + library_names= + old_library= + # If the library was installed with an old release of libtool, + # it will not redefine variables installed, or shouldnotlink + installed=yes + shouldnotlink=no + avoidtemprpath= + + + # Read the .la file + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + + if test "$linkmode,$pass" = "lib,link" || + test "$linkmode,$pass" = "prog,scan" || + { test "$linkmode" != prog && test "$linkmode" != lib; }; then + test -n "$dlopen" && dlfiles="$dlfiles $dlopen" + test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" + fi + + if test "$pass" = conv; then + # Only check for convenience libraries + deplibs="$lib $deplibs" + if test -z "$libdir"; then + if test -z "$old_library"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $ladir/$objdir/$old_library" + old_convenience="$old_convenience $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + elif test "$linkmode" != prog && test "$linkmode" != lib; then + $echo "$modename: \`$lib' is not a convenience library" 1>&2 + exit $EXIT_FAILURE + fi + continue + fi # $pass = conv + + + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + + # This library was specified with -dlopen. + if test "$pass" = dlopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking + # statically, we need to preload. We also need to preload any + # dependent libraries so libltdl's deplib preloader doesn't + # bomb out in the load deplibs phase. + dlprefiles="$dlprefiles $lib $dependency_libs" + else + newdlfiles="$newdlfiles $lib" + fi + continue + fi # $pass = dlopen + + # We need an absolute path. + case $ladir in + [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; + *) + abs_ladir=`cd "$ladir" && pwd` + if test -z "$abs_ladir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + abs_ladir="$ladir" + fi + ;; + esac + laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + + # Find the relevant object directory and library name. + if test "X$installed" = Xyes; then + if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then + $echo "$modename: warning: library \`$lib' was moved." 1>&2 + dir="$ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" + else + dir="$libdir" + absdir="$libdir" + fi + test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + else + if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then + dir="$ladir" + absdir="$abs_ladir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + else + dir="$ladir/$objdir" + absdir="$abs_ladir/$objdir" + # Remove this search path later + notinst_path="$notinst_path $abs_ladir" + fi + fi # $installed = yes + name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + + # This library was specified with -dlpreopen. + if test "$pass" = dlpreopen; then + if test -z "$libdir"; then + $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 + exit $EXIT_FAILURE + fi + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + newdlprefiles="$newdlprefiles $dir/$old_library" + # Otherwise, use the dlname, so that lt_dlopen finds it. + elif test -n "$dlname"; then + newdlprefiles="$newdlprefiles $dir/$dlname" + else + newdlprefiles="$newdlprefiles $dir/$linklib" + fi + fi # $pass = dlpreopen + + if test -z "$libdir"; then + # Link the convenience library + if test "$linkmode" = lib; then + deplibs="$dir/$old_library $deplibs" + elif test "$linkmode,$pass" = "prog,link"; then + compile_deplibs="$dir/$old_library $compile_deplibs" + finalize_deplibs="$dir/$old_library $finalize_deplibs" + else + deplibs="$lib $deplibs" # used for prog,scan pass + fi + continue + fi + + + if test "$linkmode" = prog && test "$pass" != link; then + newlib_search_path="$newlib_search_path $ladir" + deplibs="$lib $deplibs" + + linkalldeplibs=no + if test "$link_all_deplibs" != no || test -z "$library_names" || + test "$build_libtool_libs" = no; then + linkalldeplibs=yes + fi + + tmp_libs= + for deplib in $dependency_libs; do + case $deplib in + -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test + esac + # Need to link against all dependency_libs? + if test "$linkalldeplibs" = yes; then + deplibs="$deplib $deplibs" + else + # Need to hardcode shared library paths + # or/and link against static libraries + newdependency_libs="$deplib $newdependency_libs" + fi + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done # for deplib + continue + fi # $linkmode = prog... + + if test "$linkmode,$pass" = "prog,link"; then + if test -n "$library_names" && + { { test "$prefer_static_libs" = no || + test "$prefer_static_libs,$installed" = "built,yes"; } || + test -z "$old_library"; }; then + # We need to hardcode the library path + if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *" $absdir "*) ;; + *) temp_rpath="$temp_rpath $absdir" ;; + esac + fi + + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi # $linkmode,$pass = prog,link... + + if test "$alldeplibs" = yes && + { test "$deplibs_check_method" = pass_all || + { test "$build_libtool_libs" = yes && + test -n "$library_names"; }; }; then + # We only need to search for static libraries + continue + fi + fi + + link_static=no # Whether the deplib will be linked statically + use_static_libs=$prefer_static_libs + if test "$use_static_libs" = built && test "$installed" = yes ; then + use_static_libs=no + fi + if test -n "$library_names" && + { test "$use_static_libs" = no || test -z "$old_library"; }; then + if test "$installed" = no; then + notinst_deplibs="$notinst_deplibs $lib" + need_relink=yes + fi + # This is a shared library + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then + $echo + if test "$linkmode" = prog; then + $echo "*** Warning: Linking the executable $output against the loadable module" + else + $echo "*** Warning: Linking the shared library $output against the loadable module" + fi + $echo "*** $linklib is not portable!" + fi + if test "$linkmode" = lib && + test "$hardcode_into_libs" = yes; then + # Hardcode the library path. + # Skip directories that are in the system default run-time + # search path. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac + fi + + if test -n "$old_archive_from_expsyms_cmds"; then + # figure out the soname + set dummy $library_names + realname="$2" + shift; shift + libname=`eval \\$echo \"$libname_spec\"` + # use dlname if we got it. it's perfectly good, no? + if test -n "$dlname"; then + soname="$dlname" + elif test -n "$soname_spec"; then + # bleh windows + case $host in + *cygwin* | mingw*) + major=`expr $current - $age` + versuffix="-$major" + ;; + esac + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + # Make a new name for the extract_expsyms_cmds to use + soroot="$soname" + soname=`$echo $soroot | ${SED} -e 's/^.*\///'` + newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" + + # If the library has no export list, then create one now + if test -f "$output_objdir/$soname-def"; then : + else + $show "extracting exported symbol list from \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$extract_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + # Create $newlib + if test -f "$output_objdir/$newlib"; then :; else + $show "generating import library for \`$soname'" + save_ifs="$IFS"; IFS='~' + cmds=$old_archive_from_expsyms_cmds + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + # make sure the library variables are pointing to the new library + dir=$output_objdir + linklib=$newlib + fi # test -n "$old_archive_from_expsyms_cmds" + + if test "$linkmode" = prog || test "$mode" != relink; then + add_shlibpath= + add_dir= + add= + lib_linked=yes + case $hardcode_action in + immediate | unsupported) + if test "$hardcode_direct" = no; then + add="$dir/$linklib" + case $host in + *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; + *-*-sysv4*uw2*) add_dir="-L$dir" ;; + *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ + *-*-unixware7*) add_dir="-L$dir" ;; + *-*-darwin* ) + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | + $EGREP ": [^:]* bundle" >/dev/null ; then + $echo "** Warning, lib $linklib is a module, not a shared library" + if test -z "$old_library" ; then + $echo + $echo "** And there doesn't seem to be a static archive available" + $echo "** The link will probably fail, sorry" + else + add="$dir/$old_library" + fi + fi + esac + elif test "$hardcode_minus_L" = no; then + case $host in + *-*-sunos*) add_shlibpath="$dir" ;; + esac + add_dir="-L$dir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = no; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + add="$dir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$dir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + add_shlibpath="$dir" + add="-l$name" + else + lib_linked=no + fi + ;; + *) lib_linked=no ;; + esac + + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit $EXIT_FAILURE + fi + + if test -n "$add_shlibpath"; then + case :$compile_shlibpath: in + *":$add_shlibpath:"*) ;; + *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; + esac + fi + if test "$linkmode" = prog; then + test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" + test -n "$add" && compile_deplibs="$add $compile_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + if test "$hardcode_direct" != yes && \ + test "$hardcode_minus_L" != yes && \ + test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + fi + fi + fi + + if test "$linkmode" = prog || test "$mode" = relink; then + add_shlibpath= + add_dir= + add= + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + add="$libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + add_dir="-L$libdir" + add="-l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; + esac + add="-l$name" + elif test "$hardcode_automatic" = yes; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then + add="$inst_prefix_dir$libdir/$linklib" + else + add="$libdir/$linklib" + fi + else + # We cannot seem to hardcode it, guess we'll fake it. + add_dir="-L$libdir" + # Try looking first in the location we're being installed to. + if test -n "$inst_prefix_dir"; then + case $libdir in + [\\/]*) + add_dir="$add_dir -L$inst_prefix_dir$libdir" + ;; + esac + fi + add="-l$name" + fi + + if test "$linkmode" = prog; then + test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" + test -n "$add" && finalize_deplibs="$add $finalize_deplibs" + else + test -n "$add_dir" && deplibs="$add_dir $deplibs" + test -n "$add" && deplibs="$add $deplibs" + fi + fi + elif test "$linkmode" = prog; then + # Here we assume that one of hardcode_direct or hardcode_minus_L + # is not unsupported. This is valid on all known static and + # shared platforms. + if test "$hardcode_direct" != unsupported; then + test -n "$old_library" && linklib="$old_library" + compile_deplibs="$dir/$linklib $compile_deplibs" + finalize_deplibs="$dir/$linklib $finalize_deplibs" + else + compile_deplibs="-l$name -L$dir $compile_deplibs" + finalize_deplibs="-l$name -L$dir $finalize_deplibs" + fi + elif test "$build_libtool_libs" = yes; then + # Not a shared library + if test "$deplibs_check_method" != pass_all; then + # We're trying link a shared library against a static one + # but the system doesn't support it. + + # Just print a warning and add the library to dependency_libs so + # that the program can be linked against the static library. + $echo + $echo "*** Warning: This system can not link to static lib archive $lib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have." + if test "$module" = yes; then + $echo "*** But as you try to build a module library, libtool will still create " + $echo "*** a static module, that should work as long as the dlopening application" + $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + else + deplibs="$dir/$old_library $deplibs" + link_static=yes + fi + fi # link shared/static library? + + if test "$linkmode" = lib; then + if test -n "$dependency_libs" && + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || + test "$link_static" = yes; }; then + # Extract -R from dependency_libs + temp_deplibs= + for libdir in $dependency_libs; do + case $libdir in + -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` + case " $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + *) temp_deplibs="$temp_deplibs $libdir";; + esac + done + dependency_libs="$temp_deplibs" + fi + + newlib_search_path="$newlib_search_path $absdir" + # Link against this library + test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" + # ... and its dependency_libs + tmp_libs= + for deplib in $dependency_libs; do + newdependency_libs="$deplib $newdependency_libs" + if test "X$duplicate_deps" = "Xyes" ; then + case "$tmp_libs " in + *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; + esac + fi + tmp_libs="$tmp_libs $deplib" + done + + if test "$link_all_deplibs" != no; then + # Add the search paths of all dependency libraries + for deplib in $dependency_libs; do + case $deplib in + -L*) path="$deplib" ;; + *.la) + dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$deplib" && dir="." + # We need an absolute path. + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + absdir="$dir" + fi + ;; + esac + if grep "^installed=no" $deplib > /dev/null; then + path="$absdir/$objdir" + else + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + if test "$absdir" != "$libdir"; then + $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 + fi + path="$absdir" + fi + depdepl= + case $host in + *-*-darwin*) + # we do not want to link against static libs, + # but need to link against shared + eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` + if test -n "$deplibrary_names" ; then + for tmp in $deplibrary_names ; do + depdepl=$tmp + done + if test -f "$path/$depdepl" ; then + depdepl="$path/$depdepl" + fi + # do not add paths which are already there + case " $newlib_search_path " in + *" $path "*) ;; + *) newlib_search_path="$newlib_search_path $path";; + esac + fi + path="" + ;; + *) + path="-L$path" + ;; + esac + ;; + -l*) + case $host in + *-*-darwin*) + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" + ;; + *) continue ;; + esac + ;; + *) continue ;; + esac + case " $deplibs " in + *" $path "*) ;; + *) deplibs="$path $deplibs" ;; + esac + case " $deplibs " in + *" $depdepl "*) ;; + *) deplibs="$depdepl $deplibs" ;; + esac + done + fi # link_all_deplibs != no + fi # linkmode = lib + done # for deplib in $libs + dependency_libs="$newdependency_libs" + if test "$pass" = dlpreopen; then + # Link the dlpreopened libraries before other libraries + for deplib in $save_deplibs; do + deplibs="$deplib $deplibs" + done + fi + if test "$pass" != dlopen; then + if test "$pass" != conv; then + # Make sure lib_search_path contains only unique directories. + lib_search_path= + for dir in $newlib_search_path; do + case "$lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir" ;; + esac + done + newlib_search_path= + fi + + if test "$linkmode,$pass" != "prog,link"; then + vars="deplibs" + else + vars="compile_deplibs finalize_deplibs" + fi + for var in $vars dependency_libs; do + # Add libraries to $var in reverse order + eval tmp_libs=\"\$$var\" + new_libs= + for deplib in $tmp_libs; do + # FIXME: Pedantically, this is the right thing to do, so + # that some nasty dependency loop isn't accidentally + # broken: + #new_libs="$deplib $new_libs" + # Pragmatically, this seems to cause very few problems in + # practice: + case $deplib in + -L*) new_libs="$deplib $new_libs" ;; + -R*) ;; + *) + # And here is the reason: when a library appears more + # than once as an explicit dependence of a library, or + # is implicitly linked in more than once by the + # compiler, it is considered special, and multiple + # occurrences thereof are not removed. Compare this + # with having the same library being listed as a + # dependency of multiple other libraries: in this case, + # we know (pedantically, we assume) the library does not + # need to be listed more than once, so we keep only the + # last copy. This is not always right, but it is rare + # enough that we require users that really mean to play + # such unportable linking tricks to link the library + # using -Wl,-lname, so that libtool does not consider it + # for duplicate removal. + case " $specialdeplibs " in + *" $deplib "*) new_libs="$deplib $new_libs" ;; + *) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$deplib $new_libs" ;; + esac + ;; + esac + ;; + esac + done + tmp_libs= + for deplib in $new_libs; do + case $deplib in + -L*) + case " $tmp_libs " in + *" $deplib "*) ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + ;; + *) tmp_libs="$tmp_libs $deplib" ;; + esac + done + eval $var=\"$tmp_libs\" + done # for var + fi + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) + tmp_libs= + for i in $dependency_libs ; do + case " $predeps $postdeps $compiler_lib_search_path " in + *" $i "*) + i="" + ;; + esac + if test -n "$i" ; then + tmp_libs="$tmp_libs $i" + fi + done + dependency_libs=$tmp_libs + done # for pass + if test "$linkmode" = prog; then + dlfiles="$newdlfiles" + dlprefiles="$newdlprefiles" + fi + + case $linkmode in + oldlib) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi + + # Now set the variables for building old libraries. + build_libtool_libs=no + oldlibs="$output" + objs="$objs$old_deplibs" + ;; + + lib) + # Make sure we only generate libraries of the form `libNAME.la'. + case $outputname in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + ;; + *) + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval shared_ext=\"$shrext_cmds\" + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi + ;; + esac + + if test -n "$objs"; then + if test "$deplibs_check_method" != pass_all; then + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 + exit $EXIT_FAILURE + else + $echo + $echo "*** Warning: Linking the shared library $output against the non-libtool" + $echo "*** objects $objs is not portable!" + libobjs="$libobjs $objs" + fi + fi + + if test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 + fi + + set dummy $rpath + if test "$#" -gt 2; then + $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 + fi + install_libdir="$2" + + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + # Some compilers have problems with a `.al' extension so + # convenience libraries should have the same extension an + # archive normally would. + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # convert absolute version numbers to libtool ages + # this retains compatibility with .la files and attempts + # to make the code below a bit more comprehensible + + case $vinfo_number in + yes) + number_major="$2" + number_minor="$3" + number_revision="$4" + # + # There are really only two kinds -- those that + # use the current revision as the major version + # and those that subtract age and use age as + # a minor version. But, then there is irix + # which has an extra 1 added just for fun + # + case $version_type in + darwin|linux|osf|windows|none) + current=`expr $number_major + $number_minor` + age="$number_minor" + revision="$number_revision" + ;; + freebsd-aout|freebsd-elf|sunos) + current="$number_major" + revision="$number_minor" + age="0" + ;; + irix|nonstopux) + current=`expr $number_major + $number_minor - 1` + age="$number_minor" + revision="$number_minor" + ;; + esac + ;; + no) + current="$2" + revision="$3" + age="$4" + ;; + esac + + # Check that each of the things are valid numbers. + case $current in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $revision in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + case $age in + 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; + *) + $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test "$age" -gt "$current"; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit $EXIT_FAILURE + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case $version_type in + none) ;; + + darwin) + # Like Linux, but with the current version available in + # verstring for coding it into the library header + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + # Darwin ld doesn't like 0 for these options... + minor_current=`expr $current + 1` + verstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + irix | nonstopux) + major=`expr $current - $age + 1` + + case $version_type in + nonstopux) verstring_prefix=nonstopux ;; + *) verstring_prefix=sgi ;; + esac + verstring="$verstring_prefix$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test "$loop" -ne 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="$verstring_prefix$major.$iface:$verstring" + done + + # Before this point, $major must not contain `.'. + major=.$major + versuffix="$major.$revision" + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=.`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test "$loop" -ne 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + windows) + # Use '-' rather than '.', since we only want one + # extension on DOS 8.3 filesystems. + major=`expr $current - $age` + versuffix="-$major" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + case $version_type in + darwin) + # we can't check for "0.0" in archive_cmds due to quoting + # problems, so we reset it completely + verstring= + ;; + *) + verstring="0.0" + ;; + esac + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + fi + + if test "$mode" != relink; then + # Remove our outputs, but don't remove object files since they + # may have been created when compiling PIC objects. + removelist= + tempremovelist=`$echo "$output_objdir/*"` + for p in $tempremovelist; do + case $p in + *.$objext) + ;; + $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi + fi + removelist="$removelist $p" + ;; + *) ;; + esac + done + if test -n "$removelist"; then + $show "${rm}r $removelist" + $run ${rm}r $removelist + fi + fi + + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` + fi + + # Eliminate all temporary directories. +# for path in $notinst_path; do +# lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` +# deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` +# dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` +# done + + if test -n "$xrpath"; then + # If the user specified any rpath flags, then add them. + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then + dependency_libs="$temp_xrpath $dependency_libs" + fi + fi + + # Make sure dlfiles contains only unique files that won't be dlpreopened + old_dlfiles="$dlfiles" + dlfiles= + for lib in $old_dlfiles; do + case " $dlprefiles $dlfiles " in + *" $lib "*) ;; + *) dlfiles="$dlfiles $lib" ;; + esac + done + + # Make sure dlprefiles contains only unique files + old_dlprefiles="$dlprefiles" + dlprefiles= + for lib in $old_dlprefiles; do + case "$dlprefiles " in + *" $lib "*) ;; + *) dlprefiles="$dlprefiles $lib" ;; + esac + done + + if test "$build_libtool_libs" = yes; then + if test -n "$rpath"; then + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *-*-rhapsody* | *-*-darwin1.[012]) + # Rhapsody C library is in the System framework + deplibs="$deplibs -framework System" + ;; + *-*-netbsd*) + # Don't link with libc until the a.out ld.so is fixed. + ;; + *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) + # Do not include libc due to us having libc/libc_r. + ;; + *-*-sco3.2v5* | *-*-sco5v6*) + # Causes problems with __ctype + ;; + *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) + # Compiler inserts libc in the correct place for threads to work + ;; + *) + # Add libc to deplibs on all other systems if necessary. + if test "$build_libtool_need_lc" = "yes"; then + deplibs="$deplibs -lc" + fi + ;; + esac + fi + + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case $deplibs_check_method in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behavior. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` + case $potliblink in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for file magic test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a file magic. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + match_pattern*) + set dummy $deplibs_check_method + match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` + for a_deplib in $deplibs; do + name=`expr $a_deplib : '-l\(.*\)'` + # If $name is empty we are operating on a -L argument. + if test -n "$name" && test "$name" != "0"; then + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + case " $predeps $postdeps " in + *" $a_deplib "*) + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + ;; + esac + fi + if test -n "$a_deplib" ; then + libname=`eval \\$echo \"$libname_spec\"` + for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do + potential_libs=`ls $i/$libname[.-]* 2>/dev/null` + for potent_lib in $potential_libs; do + potlib="$potent_lib" # see symlink-check above in file_magic test + if eval $echo \"$potent_lib\" 2>/dev/null \ + | ${SED} 10q \ + | $EGREP "$match_pattern_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + fi + if test -n "$a_deplib" ; then + droppeddeps=yes + $echo + $echo "*** Warning: linker path does not have real file for library $a_deplib." + $echo "*** I have the capability to make that library automatically link in when" + $echo "*** you link to this library. But I can only do this if you have a" + $echo "*** shared version of the library, which you do not appear to have" + $echo "*** because I did check the linker path looking for a file starting" + if test -z "$potlib" ; then + $echo "*** with $libname but no candidates were found. (...for regex pattern test)" + else + $echo "*** with $libname and none of the candidates passed a file format test" + $echo "*** using a regex pattern. Last file checked: $potlib" + fi + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g'` + if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then + for i in $predeps $postdeps ; do + # can't use Xsed below, because $i might contain '/' + tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` + done + fi + if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ + | grep . >/dev/null; then + $echo + if test "X$deplibs_check_method" = "Xnone"; then + $echo "*** Warning: inter-library dependencies are not supported in this platform." + else + $echo "*** Warning: inter-library dependencies are not known to be supported." + fi + $echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + $echo + $echo "*** Warning: libtool could not satisfy all declared inter-library" + $echo "*** dependencies of module $libname. Therefore, libtool will create" + $echo "*** a static module, that should work as long as the dlopening" + $echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + $echo + $echo "*** However, this would only work if libtool was able to extract symbol" + $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + $echo "*** not find such a program. So, this module is probably useless." + $echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + $echo "*** The inter-library dependencies that have been dropped here will be" + $echo "*** automatically added whenever a program is linked with this library" + $echo "*** or is declared to -dlopen it." + + if test "$allow_undefined" = no; then + $echo + $echo "*** Since this library must not contain undefined symbols," + $echo "*** because either the platform does not support them or" + $echo "*** it was explicitly requested with -no-undefined," + $echo "*** libtool will only create a static version of it." + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + fi + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + deplibs="$new_libs" + + + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + if test "$hardcode_into_libs" = yes; then + # Hardcode the library paths + hardcode_libdirs= + dep_rpath= + rpath="$finalize_rpath" + test "$mode" != relink && rpath="$compile_rpath$rpath" + for libdir in $rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + dep_rpath="$dep_rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi + fi + if test -n "$runpath_var" && test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" + fi + test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" + fi + + shlibpath="$finalize_shlibpath" + test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" + if test -n "$shlibpath"; then + eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" + fi + + # Get the real and link names of the library. + eval shared_ext=\"$shrext_cmds\" + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + if test -z "$dlname"; then + dlname=$soname + fi + + lib="$output_objdir/$realname" + linknames= + for link + do + linknames="$linknames $link" + done + + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + cmds=$export_symbols_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + if len=`expr "X$cmd" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + $show "$cmd" + $run eval "$cmd" || exit $? + skipped_export=false + else + # The command line is too long to execute in one step. + $show "using reloadable object file for export list..." + skipped_export=: + # Break out early, otherwise skipped_export may be + # set to false by a later but shorter cmd. + break + fi + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi + + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + tmp_deplibs= + for test_deplib in $deplibs; do + case " $convenience " in + *" $test_deplib "*) ;; + *) + tmp_deplibs="$tmp_deplibs $test_deplib" + ;; + esac + done + deplibs="$tmp_deplibs" + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + libobjs="$libobjs $func_extract_archives_result" + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linker_flags="$linker_flags $flag" + fi + + # Make a backup of the uninstalled library when relinking + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? + fi + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + eval test_cmds=\"$module_expsym_cmds\" + cmds=$module_expsym_cmds + else + eval test_cmds=\"$module_cmds\" + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval test_cmds=\"$archive_expsym_cmds\" + cmds=$archive_expsym_cmds + else + eval test_cmds=\"$archive_cmds\" + cmds=$archive_cmds + fi + fi + + if test "X$skipped_export" != "X:" && + len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + : + else + # The command line is too long to link in one step, link piecewise. + $echo "creating reloadable object files..." + + # Save the value of $output and $libobjs because we want to + # use them later. If we have whole_archive_flag_spec, we + # want to use save_libobjs as it was before + # whole_archive_flag_spec was expanded, because we can't + # assume the linker understands whole_archive_flag_spec. + # This may have to be revisited, in case too many + # convenience libraries get linked in and end up exceeding + # the spec. + if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then + save_libobjs=$libobjs + fi + save_output=$output + output_la=`$echo "X$output" | $Xsed -e "$basename"` + + # Clear the reloadable object creation command queue and + # initialize k to one. + test_cmds= + concat_cmds= + objlist= + delfiles= + last_robj= + k=1 + output=$output_objdir/$output_la-${k}.$objext + # Loop over the list of objects to be linked. + for obj in $save_libobjs + do + eval test_cmds=\"$reload_cmds $objlist $last_robj\" + if test "X$objlist" = X || + { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; }; then + objlist="$objlist $obj" + else + # The command $test_cmds is almost too long, add a + # command to the queue. + if test "$k" -eq 1 ; then + # The first file doesn't have a previous command to add. + eval concat_cmds=\"$reload_cmds $objlist $last_robj\" + else + # All subsequent reloadable object files will link in + # the last one created. + eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" + fi + last_robj=$output_objdir/$output_la-${k}.$objext + k=`expr $k + 1` + output=$output_objdir/$output_la-${k}.$objext + objlist=$obj + len=1 + fi + done + # Handle the remaining objects by creating one last + # reloadable object file. All subsequent reloadable object + # files will link in the last one created. + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" + + if ${skipped_export-false}; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + libobjs=$output + # Append the command to create the export file. + eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" + fi + + # Set up a command to remove the reloadable object files + # after they are used. + i=0 + while test "$i" -lt "$k" + do + i=`expr $i + 1` + delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" + done + + $echo "creating a temporary reloadable object file: $output" + + # Loop through the commands generated above and execute them. + save_ifs="$IFS"; IFS='~' + for cmd in $concat_cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + libobjs=$output + # Restore the value of output. + output=$save_output + + if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + fi + # Expand the library linking commands again to reset the + # value of $libobjs for piecewise linking. + + # Do each of the archive commands. + if test "$module" = yes && test -n "$module_cmds" ; then + if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then + cmds=$module_expsym_cmds + else + cmds=$module_cmds + fi + else + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + cmds=$archive_expsym_cmds + else + cmds=$archive_cmds + fi + fi + + # Append the command to remove the reloadable object files + # to the just-reset $cmds. + eval cmds=\"\$cmds~\$rm $delfiles\" + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? + + if test -n "$convenience"; then + if test -z "$whole_archive_flag_spec"; then + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + fi + fi + + exit $EXIT_SUCCESS + fi + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi + fi + ;; + + obj) + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 + fi + + case $output in + *.lo) + if test -n "$objs$old_deplibs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit $EXIT_FAILURE + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; + *) + libobj= + obj="$output" + ;; + esac + + # Delete the old objects. + $run $rm $obj $libobj + + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec and hope we can get by with + # turning comma into space.. + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" + reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` + else + gentop="$output_objdir/${obj}x" + generated="$generated $gentop" + + func_extract_archives $gentop $convenience + reload_conv_objs="$reload_objs $func_extract_archives_result" + fi + fi + + # Create the old-style object. + reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test + + output="$obj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Exit if we aren't doing a library object file. + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + fi + + if test "$build_libtool_libs" != yes; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + # $show "echo timestamp > $libobj" + # $run eval "echo timestamp > $libobj" || exit $? + exit $EXIT_SUCCESS + fi + + if test -n "$pic_flag" || test "$pic_mode" != default; then + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + cmds=$reload_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit $EXIT_SUCCESS + ;; + + prog) + case $host in + *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; + esac + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 + fi + + if test "$preload" = yes; then + if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + case $host in + *-*-rhapsody* | *-*-darwin1.[012]) + # On Rhapsody replace the C library is the System framework + compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` + ;; + esac + + case $host in + *darwin*) + # Don't allow lazy linking, it breaks C++ global constructors + if test "$tagname" = CXX ; then + compile_command="$compile_command ${wl}-bind_at_load" + finalize_command="$finalize_command ${wl}-bind_at_load" + fi + ;; + esac + + + # move library search paths that coincide with paths to not yet + # installed libraries to the beginning of the library search list + new_libs= + for path in $notinst_path; do + case " $new_libs " in + *" -L$path/$objdir "*) ;; + *) + case " $compile_deplibs " in + *" -L$path/$objdir "*) + new_libs="$new_libs -L$path/$objdir" ;; + esac + ;; + esac + done + for deplib in $compile_deplibs; do + case $deplib in + -L*) + case " $new_libs " in + *" $deplib "*) ;; + *) new_libs="$new_libs $deplib" ;; + esac + ;; + *) new_libs="$new_libs $deplib" ;; + esac + done + compile_deplibs="$new_libs" + + + compile_command="$compile_command $compile_deplibs" + finalize_command="$finalize_command $finalize_deplibs" + + if test -n "$rpath$xrpath"; then + # If the user specified any rpath flags, then add them. + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac + done + fi + + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + case $host in + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) + testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` + case :$dllsearchpath: in + *":$libdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$libdir";; + esac + case :$dllsearchpath: in + *":$testbindir:"*) ;; + *) dllsearchpath="$dllsearchpath:$testbindir";; + esac + ;; + esac + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + if test -n "$libobjs" && test "$build_old_libs" = yes; then + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + fi + + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi + fi + + if test -n "$dlsyms"; then + case $dlsyms in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" + + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" + + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" + + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ + +#ifdef __cplusplus +extern \"C\" { +#endif + +/* Prevent the only kind of declaration conflicts we can make. */ +#define lt_preloaded_symbols some_other_symbol + +/* External symbol declarations for the compiler. */\ +" + + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$outputname.exp" + $run $rm $export_symbols + $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' + ;; + esac + else + $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' + $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + case $host in + *cygwin* | *mingw* ) + $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' + $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' + ;; + esac + fi + fi + + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` + $run eval '$echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | + if sort -k 3 /dev/null 2>&1; then + sort -k 3 + else + sort +2 + fi | + uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + $echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols + +#if defined (__STDC__) && __STDC__ +# define lt_ptr void * +#else +# define lt_ptr char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +" + + case $host in + *cygwin* | *mingw* ) + $echo >> "$output_objdir/$dlsyms" "\ +/* DATA imports from DLLs on WIN32 can't be const, because + runtime relocations are performed -- see ld's documentation + on pseudo-relocs */ +struct { +" + ;; + * ) + $echo >> "$output_objdir/$dlsyms" "\ +const struct { +" + ;; + esac + + + $echo >> "$output_objdir/$dlsyms" "\ + const char *name; + lt_ptr address; +} +lt_preloaded_symbols[] = +{\ +" + + eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" + + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif\ +" + fi + + pic_flag_for_symtable= + case $host in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; + esac;; + *-*-hpux*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag";; + esac + esac + + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? + + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + case $host in + *cygwin* | *mingw* ) + if test -f "$output_objdir/${outputname}.def" ; then + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` + else + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + fi + ;; + * ) + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` + ;; + esac + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit $EXIT_FAILURE + ;; + esac + else + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. + + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` + fi + + if test "$need_relink" = no || test "$build_libtool_libs" != yes; then + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` + link_command="$compile_command$compile_rpath" + + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" + exit_status=$? + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" + fi + + exit $exit_status + fi + + if test -n "$shlibpath_var"; then + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case $dir in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" + fi + + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" + fi + if test -n "$finalize_shlibpath"; then + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + fi + + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + fi + + if test "$no_install" = yes; then + # We don't need to create a wrapper script. + link_command="$compile_var$compile_command$compile_rpath" + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Delete the old output file. + $run $rm $output + # Link the executable and exit + $show "$link_command" + $run eval "$link_command" || exit $? + exit $EXIT_SUCCESS + fi + + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi + + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? + + # Now create the wrapper script. + $show "creating $output" + + # Quote the relink command for shipping. + if test -n "$relink_command"; then + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + fi + + # Quote $echo for shipping. + if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then + case $progpath in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; + *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi + + # Only actually do things if our run command is non-null. + if test -z "$run"; then + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; + esac + # test for cygwin because mv fails w/o .exe extensions + case $host in + *cygwin*) + exeext=.exe + outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; + *) exeext= ;; + esac + case $host in + *cygwin* | *mingw* ) + output_name=`basename $output` + output_path=`dirname $output` + cwrappersource="$output_path/$objdir/lt-$output_name.c" + cwrapper="$output_path/$output_name.exe" + $rm $cwrappersource $cwrapper + trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 + + cat > $cwrappersource <> $cwrappersource<<"EOF" +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(PATH_MAX) +# define LT_PATHMAX PATH_MAX +#elif defined(MAXPATHLEN) +# define LT_PATHMAX MAXPATHLEN +#else +# define LT_PATHMAX 1024 +#endif + +#ifndef DIR_SEPARATOR +# define DIR_SEPARATOR '/' +# define PATH_SEPARATOR ':' +#endif + +#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ + defined (__OS2__) +# define HAVE_DOS_BASED_FILE_SYSTEM +# ifndef DIR_SEPARATOR_2 +# define DIR_SEPARATOR_2 '\\' +# endif +# ifndef PATH_SEPARATOR_2 +# define PATH_SEPARATOR_2 ';' +# endif +#endif + +#ifndef DIR_SEPARATOR_2 +# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) +#else /* DIR_SEPARATOR_2 */ +# define IS_DIR_SEPARATOR(ch) \ + (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) +#endif /* DIR_SEPARATOR_2 */ + +#ifndef PATH_SEPARATOR_2 +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) +#else /* PATH_SEPARATOR_2 */ +# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) +#endif /* PATH_SEPARATOR_2 */ + +#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) +#define XFREE(stale) do { \ + if (stale) { free ((void *) stale); stale = 0; } \ +} while (0) + +/* -DDEBUG is fairly common in CFLAGS. */ +#undef DEBUG +#if defined DEBUGWRAPPER +# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) +#else +# define DEBUG(format, ...) +#endif + +const char *program_name = NULL; + +void * xmalloc (size_t num); +char * xstrdup (const char *string); +const char * base_name (const char *name); +char * find_executable(const char *wrapper); +int check_executable(const char *path); +char * strendzap(char *str, const char *pat); +void lt_fatal (const char *message, ...); + +int +main (int argc, char *argv[]) +{ + char **newargz; + int i; + + program_name = (char *) xstrdup (base_name (argv[0])); + DEBUG("(main) argv[0] : %s\n",argv[0]); + DEBUG("(main) program_name : %s\n",program_name); + newargz = XMALLOC(char *, argc+2); +EOF + + cat >> $cwrappersource <> $cwrappersource <<"EOF" + newargz[1] = find_executable(argv[0]); + if (newargz[1] == NULL) + lt_fatal("Couldn't find %s", argv[0]); + DEBUG("(main) found exe at : %s\n",newargz[1]); + /* we know the script has the same name, without the .exe */ + /* so make sure newargz[1] doesn't end in .exe */ + strendzap(newargz[1],".exe"); + for (i = 1; i < argc; i++) + newargz[i+1] = xstrdup(argv[i]); + newargz[argc+1] = NULL; + + for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" + return 127; +} + +void * +xmalloc (size_t num) +{ + void * p = (void *) malloc (num); + if (!p) + lt_fatal ("Memory exhausted"); + + return p; +} + +char * +xstrdup (const char *string) +{ + return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL +; +} + +const char * +base_name (const char *name) +{ + const char *base; + +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + /* Skip over the disk name in MSDOS pathnames. */ + if (isalpha ((unsigned char)name[0]) && name[1] == ':') + name += 2; +#endif + + for (base = name; *name; name++) + if (IS_DIR_SEPARATOR (*name)) + base = name + 1; + return base; +} + +int +check_executable(const char * path) +{ + struct stat st; + + DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); + if ((!path) || (!*path)) + return 0; + + if ((stat (path, &st) >= 0) && + ( + /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ +#if defined (S_IXOTH) + ((st.st_mode & S_IXOTH) == S_IXOTH) || +#endif +#if defined (S_IXGRP) + ((st.st_mode & S_IXGRP) == S_IXGRP) || +#endif + ((st.st_mode & S_IXUSR) == S_IXUSR)) + ) + return 1; + else + return 0; +} + +/* Searches for the full path of the wrapper. Returns + newly allocated full path name if found, NULL otherwise */ +char * +find_executable (const char* wrapper) +{ + int has_slash = 0; + const char* p; + const char* p_next; + /* static buffer for getcwd */ + char tmp[LT_PATHMAX + 1]; + int tmp_len; + char* concat_name; + + DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); + + if ((wrapper == NULL) || (*wrapper == '\0')) + return NULL; + + /* Absolute path? */ +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + else + { +#endif + if (IS_DIR_SEPARATOR (wrapper[0])) + { + concat_name = xstrdup (wrapper); + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } +#if defined (HAVE_DOS_BASED_FILE_SYSTEM) + } +#endif + + for (p = wrapper; *p; p++) + if (*p == '/') + { + has_slash = 1; + break; + } + if (!has_slash) + { + /* no slashes; search PATH */ + const char* path = getenv ("PATH"); + if (path != NULL) + { + for (p = path; *p; p = p_next) + { + const char* q; + size_t p_len; + for (q = p; *q; q++) + if (IS_PATH_SEPARATOR(*q)) + break; + p_len = q - p; + p_next = (*q == '\0' ? q : q + 1); + if (p_len == 0) + { + /* empty path: current directory */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + } + else + { + concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, p, p_len); + concat_name[p_len] = '/'; + strcpy (concat_name + p_len + 1, wrapper); + } + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + } + } + /* not found in PATH; assume curdir */ + } + /* Relative path | not found in path: prepend cwd */ + if (getcwd (tmp, LT_PATHMAX) == NULL) + lt_fatal ("getcwd failed"); + tmp_len = strlen(tmp); + concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); + memcpy (concat_name, tmp, tmp_len); + concat_name[tmp_len] = '/'; + strcpy (concat_name + tmp_len + 1, wrapper); + + if (check_executable(concat_name)) + return concat_name; + XFREE(concat_name); + return NULL; +} + +char * +strendzap(char *str, const char *pat) +{ + size_t len, patlen; + + assert(str != NULL); + assert(pat != NULL); + + len = strlen(str); + patlen = strlen(pat); + + if (patlen <= len) + { + str += len - patlen; + if (strcmp(str, pat) == 0) + *str = '\0'; + } + return str; +} + +static void +lt_error_core (int exit_status, const char * mode, + const char * message, va_list ap) +{ + fprintf (stderr, "%s: %s: ", program_name, mode); + vfprintf (stderr, message, ap); + fprintf (stderr, ".\n"); + + if (exit_status >= 0) + exit (exit_status); +} + +void +lt_fatal (const char *message, ...) +{ + va_list ap; + va_start (ap, message); + lt_error_core (EXIT_FAILURE, "FATAL", message, ap); + va_end (ap); +} +EOF + # we should really use a build-platform specific compiler + # here, but OTOH, the wrappers (shell script and this C one) + # are only useful if you want to execute the "real" binary. + # Since the "real" binary is built for $host, then this + # wrapper might as well be built for $host, too. + $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource + ;; + esac + $rm $output + trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 + + $echo > $output "\ +#! $SHELL + +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# The $output program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='${SED} -e 1s/^X//' +sed_quote_subst='$sed_quote_subst' + +# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). +if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac +fi + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command=\"$relink_command\" + +# This environment variable determines our operation mode. +if test \"\$libtool_install_magic\" = \"$magic\"; then + # install mode needs the following variable: + notinst_deplibs='$notinst_deplibs' +else + # When we are sourced in execute mode, \$file and \$echo are already set. + if test \"\$libtool_execute_magic\" != \"$magic\"; then + echo=\"$qecho\" + file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi + fi\ +" + $echo >> $output "\ + + # Find the directory that this script lives in. + thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` + test \"x\$thisdir\" = \"x\$file\" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` + while test -n \"\$file\"; do + destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` + + # If there was a directory component, then change thisdir. + if test \"x\$destdir\" != \"x\$file\"; then + case \"\$destdir\" in + [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; + *) thisdir=\"\$thisdir/\$destdir\" ;; + esac + fi + + file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` + file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` + done + + # Try to get the absolute directory name. + absdir=\`cd \"\$thisdir\" && pwd\` + test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + + if test "$fast_install" = yes; then + $echo >> $output "\ + program=lt-'$outputname'$exeext + progdir=\"\$thisdir/$objdir\" + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + $echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if relink_command_output=\`eval \$relink_command 2>&1\`; then : + else + $echo \"\$relink_command_output\" >&2 + $rm \"\$progdir/\$file\" + exit $EXIT_FAILURE + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + $echo >> $output "\ + program='$outputname' + progdir=\"\$thisdir/$objdir\" +" + fi + + $echo >> $output "\ + + if test -f \"\$progdir/\$program\"; then" + + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ + # Add our own library path to $shlibpath_var + $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" + + # Some systems cannot cope with colon-terminated $shlibpath_var + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` + + export $shlibpath_var +" + fi + + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ + if test \"\$libtool_execute_magic\" != \"$magic\"; then + # Run the actual program with our arguments. +" + case $host in + # Backslashes separate directories on plain windows + *-*-mingw | *-*-os2*) + $echo >> $output "\ + exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} +" + ;; + + *) + $echo >> $output "\ + exec \"\$progdir/\$program\" \${1+\"\$@\"} +" + ;; + esac + $echo >> $output "\ + \$echo \"\$0: cannot exec \$program \$*\" + exit $EXIT_FAILURE + fi + else + # The program doesn't exist. + \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 + \$echo \"This script is just a wrapper for \$program.\" 1>&2 + $echo \"See the $PACKAGE documentation for more information.\" 1>&2 + exit $EXIT_FAILURE + fi +fi\ +" + chmod +x $output + fi + exit $EXIT_SUCCESS + ;; + esac + + # See if we need to build an old-fashioned archive. + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$old_deplibs $non_pic_objects" + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + func_extract_archives $gentop $addlibs + oldobjs="$oldobjs $func_extract_archives_result" + fi + + # Do each command in the archive commands. + if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then + cmds=$old_archive_from_new_cmds + else + # POSIX demands no paths to be encoded in archives. We have + # to avoid creating archives with duplicate basenames if we + # might have to extract them afterwards, e.g., when creating a + # static archive out of a convenience library, or when linking + # the entirety of a libtool archive into another (currently + # not supported by libtool). + if (for obj in $oldobjs + do + $echo "X$obj" | $Xsed -e 's%^.*/%%' + done | sort | sort -uc >/dev/null 2>&1); then + : + else + $echo "copying selected object files to avoid basename conflicts..." + + if test -z "$gentop"; then + gentop="$output_objdir/${outputname}x" + generated="$generated $gentop" + + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "$mkdir $gentop" + $run $mkdir "$gentop" + exit_status=$? + if test "$exit_status" -ne 0 && test ! -d "$gentop"; then + exit $exit_status + fi + fi + + save_oldobjs=$oldobjs + oldobjs= + counter=1 + for obj in $save_oldobjs + do + objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` + case " $oldobjs " in + " ") oldobjs=$obj ;; + *[\ /]"$objbase "*) + while :; do + # Make sure we don't pick an alternate name that also + # overlaps. + newobj=lt$counter-$objbase + counter=`expr $counter + 1` + case " $oldobjs " in + *[\ /]"$newobj "*) ;; + *) if test ! -f "$gentop/$newobj"; then break; fi ;; + esac + done + $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" + $run ln "$obj" "$gentop/$newobj" || + $run cp "$obj" "$gentop/$newobj" + oldobjs="$oldobjs $gentop/$newobj" + ;; + *) oldobjs="$oldobjs $obj" ;; + esac + done + fi + + eval cmds=\"$old_archive_cmds\" + + if len=`expr "X$cmds" : ".*"` && + test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then + cmds=$old_archive_cmds + else + # the command line is too long to link in one step, link in parts + $echo "using piecewise archive linking..." + save_RANLIB=$RANLIB + RANLIB=: + objlist= + concat_cmds= + save_oldobjs=$oldobjs + + # Is there a better way of finding the last object in the list? + for obj in $save_oldobjs + do + last_oldobj=$obj + done + for obj in $save_oldobjs + do + oldobjs="$objlist $obj" + objlist="$objlist $obj" + eval test_cmds=\"$old_archive_cmds\" + if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && + test "$len" -le "$max_cmd_len"; then + : + else + # the above command should be used before it gets too long + oldobjs=$objlist + if test "$obj" = "$last_oldobj" ; then + RANLIB=$save_RANLIB + fi + test -z "$concat_cmds" || concat_cmds=$concat_cmds~ + eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" + objlist= + fi + done + RANLIB=$save_RANLIB + oldobjs=$objlist + if test "X$oldobjs" = "X" ; then + eval cmds=\"\$concat_cmds\" + else + eval cmds=\"\$concat_cmds~\$old_archive_cmds\" + fi + fi + fi + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + eval cmd=\"$cmd\" + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated + fi + + # Now create the libtool archive. + case $output in + *.la) + old_library= + test "$build_old_libs" = yes && old_library="$libname.$libext" + $show "creating $output" + + # Preserve any variables that may affect compiler behavior + for var in $variables_saved_for_relink; do + if eval test -z \"\${$var+set}\"; then + relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" + elif eval var_value=\$$var; test -z "$var_value"; then + relink_command="$var=; export $var; $relink_command" + else + var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` + relink_command="$var=\"$var_value\"; export $var; $relink_command" + fi + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` + if test "$hardcode_automatic" = yes ; then + relink_command= + fi + + + # Only create the output if not a dry run. + if test -z "$run"; then + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + # Replace all uninstalled libtool libraries with the installed ones + newdependency_libs= + for deplib in $dependency_libs; do + case $deplib in + *.la) + name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` + if test -z "$libdir"; then + $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdependency_libs="$newdependency_libs $libdir/$name" + ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; + esac + done + dependency_libs="$newdependency_libs" + newdlfiles= + for lib in $dlfiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlfiles="$newdlfiles $libdir/$name" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` + if test -z "$libdir"; then + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + exit $EXIT_FAILURE + fi + newdlprefiles="$newdlprefiles $libdir/$name" + done + dlprefiles="$newdlprefiles" + else + newdlfiles= + for lib in $dlfiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlfiles="$newdlfiles $abs" + done + dlfiles="$newdlfiles" + newdlprefiles= + for lib in $dlprefiles; do + case $lib in + [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; + *) abs=`pwd`"/$lib" ;; + esac + newdlprefiles="$newdlprefiles $abs" + done + dlprefiles="$newdlprefiles" + fi + $rm $output + # place dlname in correct position for cygwin + tdlname=$dlname + case $host,$output,$installed,$module,$dlname in + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; + esac + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='$tdlname' + +# Names of this library. +library_names='$library_names' + +# The name of the static archive. +old_library='$old_library' + +# Libraries that this one depends upon. +dependency_libs='$dependency_libs' + +# Version information for $libname. +current=$current +age=$age +revision=$revision + +# Is this an already installed library? +installed=$installed + +# Should we warn about portability when linking against -modules? +shouldnotlink=$module + +# Files to dlopen/dlpreopen +dlopen='$dlfiles' +dlpreopen='$dlprefiles' + +# Directory that this library needs to be installed in: +libdir='$install_libdir'" + if test "$installed" = no && test "$need_relink" = yes; then + $echo >> $output "\ +relink_command=\"$relink_command\"" + fi + done + fi + + # Do a symbolic link so that the libtool archive can be found in + # LD_LIBRARY_PATH before the program is installed. + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? + ;; + esac + exit $EXIT_SUCCESS + ;; + + # libtool install mode + install) + modename="$modename: install" + + # There may be an optional sh(1) argument at the beginning of + # install_prog (especially on Windows NT). + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || + # Allow the use of GNU shtool's install command. + $echo "X$nonopt" | grep shtool > /dev/null; then + # Aesthetically quote it. + arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$arg " + arg="$1" + shift + else + install_prog= + arg=$nonopt + fi + + # The real first argument should be the name of the installation program. + # Aesthetically quote it. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog$arg" + + # We need to accept at least all the BSD install flags. + dest= + files= + opts= + prev= + install_type= + isdir=no + stripme= + for arg + do + if test -n "$dest"; then + files="$files $dest" + dest=$arg + continue + fi + + case $arg in + -d) isdir=yes ;; + -f) + case " $install_prog " in + *[\\\ /]cp\ *) ;; + *) prev=$arg ;; + esac + ;; + -g | -m | -o) prev=$arg ;; + -s) + stripme=" -s" + continue + ;; + -*) + ;; + *) + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest=$arg + continue + fi + ;; + esac + + # Aesthetically quote the argument. + arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + install_prog="$install_prog $arg" + done + + if test -z "$install_prog"; then + $echo "$modename: you must specify an install program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$prev"; then + $echo "$modename: the \`$prev' option requires an argument" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + if test -z "$files"; then + if test -z "$dest"; then + $echo "$modename: no file or destination specified" 1>&2 + else + $echo "$modename: you must specify a destination" 1>&2 + fi + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Strip any trailing slash from the destination. + dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` + + # Check to see that the destination is a directory. + test -d "$dest" && isdir=yes + if test "$isdir" = yes; then + destdir="$dest" + destname= + else + destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` + test "X$destdir" = "X$dest" && destdir=. + destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` + + # Not a directory, so check to see that there is only one file specified. + set dummy $files + if test "$#" -gt 2; then + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + fi + case $destdir in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + for file in $files; do + case $file in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + done + ;; + esac + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + staticlibs= + future_libdirs= + current_libdirs= + for file in $files; do + + # Do each installation. + case $file in + *.$libext) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; + + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + library_names= + old_library= + relink_command= + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" + + if test -n "$relink_command"; then + # Determine the prefix the user has applied to our future dir. + inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` + + # Don't allow the user to place us outside of our expected + # location b/c this prevents finding dependent libraries that + # are installed to the same prefix. + # At present, this check doesn't affect windows .dll's that + # are installed into $libdir/../bin (currently, that works fine) + # but it's something to keep an eye on. + if test "$inst_prefix_dir" = "$destdir"; then + $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 + exit $EXIT_FAILURE + fi + + if test -n "$inst_prefix_dir"; then + # Stick the inst_prefix_dir data into the link command. + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` + else + relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` + fi + + $echo "$modename: warning: relinking \`$file'" 1>&2 + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + exit $EXIT_FAILURE + fi + fi + + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift + + srcname="$realname" + test -n "$relink_command" && srcname="$realname"T + + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$srcname $destdir/$realname" + $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? + if test -n "$stripme" && test -n "$striplib"; then + $show "$striplib $destdir/$realname" + $run eval "$striplib $destdir/$realname" || exit $? + fi + + if test "$#" -gt 0; then + # Delete the old symlinks, and create new ones. + # Try `ln -sf' first, because the `ln' binary might depend on + # the symlink we replace! Solaris /bin/ln does not understand -f, + # so we also need to try rm && ln -s. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" + fi + done + fi + + # Do each command in the postinstall commands. + lib="$destdir/$realname" + cmds=$postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || { + lt_exit=$? + + # Restore the uninstalled library and exit + if test "$mode" = relink; then + $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' + fi + + exit $lt_exit + } + done + IFS="$save_ifs" + fi + + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? + + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; + + *.lo) + # Install (i.e. copy) a libtool object. + + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # Deduce the name of the destination old-style object file. + case $destfile in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.$objext) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi + + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` + + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit $EXIT_SUCCESS + ;; + + *) + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi + + # If the file is missing, and there is a .exe on the end, strip it + # because it is most likely a libtool script we actually want to + # install + stripped_ext="" + case $file in + *.exe) + if test ! -f "$file"; then + file=`$echo $file|${SED} 's,.exe$,,'` + stripped_ext=".exe" + fi + ;; + esac + + # Do a test to see if this is really a libtool program. + case $host in + *cygwin*|*mingw*) + wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` + ;; + *) + wrapper=$file + ;; + esac + if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then + notinst_deplibs= + relink_command= + + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + # Check the variables that should have been set. + if test -z "$notinst_deplibs"; then + $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 + exit $EXIT_FAILURE + fi + + finalize=yes + for lib in $notinst_deplibs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case $lib in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + relink_command= + # Note that it is not necessary on cygwin/mingw to append a dot to + # foo even if both foo and FILE.exe exist: automatic-append-.exe + # behavior happens only for exec(3), not for open(2)! Also, sourcing + # `FILE.' does not work on cygwin managed mounts. + # + # If there is no directory component, then add one. + case $wrapper in + */* | *\\*) . ${wrapper} ;; + *) . ./${wrapper} ;; + esac + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir=`func_mktempdir` + file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. + file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` + fi + fi + + # remove .exe since cygwin /usr/bin/install will append another + # one anyway + case $install_prog,$host in + */usr/bin/install*,*cygwin*) + case $file:$destfile in + *.exe:*.exe) + # this is ok + ;; + *.exe:*) + destfile=$destfile.exe + ;; + *:*.exe) + destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` + ;; + esac + ;; + esac + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; + esac + done + + for file in $staticlibs; do + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + + # Set up the ranlib parameters. + oldlib="$destdir/$name" + + $show "$install_prog $file $oldlib" + $run eval "$install_prog \$file \$oldlib" || exit $? + + if test -n "$stripme" && test -n "$old_striplib"; then + $show "$old_striplib $oldlib" + $run eval "$old_striplib $oldlib" || exit $? + fi + + # Do each command in the postinstall commands. + cmds=$old_postinstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + done + + if test -n "$future_libdirs"; then + $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 + fi + + if test -n "$current_libdirs"; then + # Maybe just do a dry run. + test -n "$run" && current_libdirs=" -n$current_libdirs" + exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' + else + exit $EXIT_SUCCESS + fi + ;; + + # libtool finish mode + finish) + modename="$modename: finish" + libdirs="$nonopt" + admincmds= + + if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then + for dir + do + libdirs="$libdirs $dir" + done + + for libdir in $libdirs; do + if test -n "$finish_cmds"; then + # Do each command in the finish commands. + cmds=$finish_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" + fi + if test -n "$finish_eval"; then + # Do the single finish_eval. + eval cmds=\"$finish_eval\" + $run eval "$cmds" || admincmds="$admincmds + $cmds" + fi + done + fi + + # Exit here if they wanted silent mode. + test "$show" = : && exit $EXIT_SUCCESS + + $echo "X----------------------------------------------------------------------" | $Xsed + $echo "Libraries have been installed in:" + for libdir in $libdirs; do + $echo " $libdir" + done + $echo + $echo "If you ever happen to want to link against installed libraries" + $echo "in a given directory, LIBDIR, you must either use libtool, and" + $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" + $echo "flag during linking and do at least one of the following:" + if test -n "$shlibpath_var"; then + $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" + $echo " during execution" + fi + if test -n "$runpath_var"; then + $echo " - add LIBDIR to the \`$runpath_var' environment variable" + $echo " during linking" + fi + if test -n "$hardcode_libdir_flag_spec"; then + libdir=LIBDIR + eval flag=\"$hardcode_libdir_flag_spec\" + + $echo " - use the \`$flag' linker flag" + fi + if test -n "$admincmds"; then + $echo " - have your system administrator run these commands:$admincmds" + fi + if test -f /etc/ld.so.conf; then + $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" + fi + $echo + $echo "See any operating system documentation about shared libraries for" + $echo "more information, such as the ld(1) and ld.so(8) manual pages." + $echo "X----------------------------------------------------------------------" | $Xsed + exit $EXIT_SUCCESS + ;; + + # libtool execute mode + execute) + modename="$modename: execute" + + # The first argument is the command name. + cmd="$nonopt" + if test -z "$cmd"; then + $echo "$modename: you must specify a COMMAND" 1>&2 + $echo "$help" + exit $EXIT_FAILURE + fi + + # Handle -dlopen flags immediately. + for file in $execute_dlfiles; do + if test ! -f "$file"; then + $echo "$modename: \`$file' is not a file" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + dir= + case $file in + *.la) + # Check to see that this really is a libtool archive. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + # Read the libtool library. + dlname= + library_names= + + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Skip this library if it cannot be dlopened. + if test -z "$dlname"; then + # Warn if it was a shared library. + test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" + continue + fi + + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + + if test -f "$dir/$objdir/$dlname"; then + dir="$dir/$objdir" + else + $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 + exit $EXIT_FAILURE + fi + ;; + + *.lo) + # Just add the directory containing the .lo file. + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "X$dir" = "X$file" && dir=. + ;; + + *) + $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 + continue + ;; + esac + + # Get the absolute pathname. + absdir=`cd "$dir" && pwd` + test -n "$absdir" && dir="$absdir" + + # Now add the directory to shlibpath_var. + if eval "test -z \"\$$shlibpath_var\""; then + eval "$shlibpath_var=\"\$dir\"" + else + eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" + fi + done + + # This variable tells wrapper scripts just to set shlibpath_var + # rather than running their programs. + libtool_execute_magic="$magic" + + # Check if any of the arguments is a wrapper script. + args= + for file + do + case $file in + -*) ;; + *) + # Do a test to see if this is really a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + # If there is no directory component, then add one. + case $file in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac + + # Transform arg to wrapped name. + file="$progdir/$program" + fi + ;; + esac + # Quote arguments (to preserve shell metacharacters). + file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` + args="$args \"$file\"" + done + + if test -z "$run"; then + if test -n "$shlibpath_var"; then + # Export the shlibpath_var. + eval "export $shlibpath_var" + fi + + # Restore saved environment variables + for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES + do + eval "if test \"\${save_$lt_var+set}\" = set; then + $lt_var=\$save_$lt_var; export $lt_var + else + $lt_unset $lt_var + fi" + done + + + # Now prepare to actually exec the command. + exec_cmd="\$cmd$args" + else + # Display what would be done. + if test -n "$shlibpath_var"; then + eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" + $echo "export $shlibpath_var" + fi + $echo "$cmd$args" + exit $EXIT_SUCCESS + fi + ;; + + # libtool clean and uninstall mode + clean | uninstall) + modename="$modename: $mode" + rm="$nonopt" + files= + rmforce= + exit_status=0 + + # This variable tells wrapper scripts just to set variables rather + # than running their programs. + libtool_install_magic="$magic" + + for arg + do + case $arg in + -f) rm="$rm $arg"; rmforce=yes ;; + -*) rm="$rm $arg" ;; + *) files="$files $arg" ;; + esac + done + + if test -z "$rm"; then + $echo "$modename: you must specify an RM program" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + fi + + rmdirs= + + origobjdir="$objdir" + for file in $files; do + dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$file"; then + dir=. + objdir="$origobjdir" + else + objdir="$dir/$origobjdir" + fi + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + test "$mode" = uninstall && objdir="$dir" + + # Remember objdir for removal later, being careful to avoid duplicates + if test "$mode" = clean; then + case " $rmdirs " in + *" $objdir "*) ;; + *) rmdirs="$rmdirs $objdir" ;; + esac + fi + + # Don't error if the file doesn't exist and rm -f was used. + if (test -L "$file") >/dev/null 2>&1 \ + || (test -h "$file") >/dev/null 2>&1 \ + || test -f "$file"; then + : + elif test -d "$file"; then + exit_status=1 + continue + elif test "$rmforce" = yes; then + continue + fi + + rmfiles="$file" + + case $name in + *.la) + # Possibly a libtool archive, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name + + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $objdir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" + + case "$mode" in + clean) + case " $library_names " in + # " " in the beginning catches empty $dlname + *" $dlname "*) ;; + *) rmfiles="$rmfiles $objdir/$dlname" ;; + esac + test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" + ;; + uninstall) + if test -n "$library_names"; then + # Do each command in the postuninstall commands. + cmds=$postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + + if test -n "$old_library"; then + # Do each command in the old_postuninstall commands. + cmds=$old_postuninstall_cmds + save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + eval cmd=\"$cmd\" + $show "$cmd" + $run eval "$cmd" + if test "$?" -ne 0 && test "$rmforce" != yes; then + exit_status=1 + fi + done + IFS="$save_ifs" + fi + # FIXME: should reinstall the best remaining shared library. + ;; + esac + fi + ;; + + *.lo) + # Possibly a libtool object, so verify it. + if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + + # Read the .lo file + . $dir/$name + + # Add PIC object to the list of files to remove. + if test -n "$pic_object" \ + && test "$pic_object" != none; then + rmfiles="$rmfiles $dir/$pic_object" + fi + + # Add non-PIC object to the list of files to remove. + if test -n "$non_pic_object" \ + && test "$non_pic_object" != none; then + rmfiles="$rmfiles $dir/$non_pic_object" + fi + fi + ;; + + *) + if test "$mode" = clean ; then + noexename=$name + case $file in + *.exe) + file=`$echo $file|${SED} 's,.exe$,,'` + noexename=`$echo $name|${SED} 's,.exe$,,'` + # $file with .exe has already been added to rmfiles, + # add $file without .exe + rmfiles="$rmfiles $file" + ;; + esac + # Do a test to see if this is a libtool program. + if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + relink_command= + . $dir/$noexename + + # note $name still contains .exe if it was in $file originally + # as does the version of $file that was added into $rmfiles + rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" + if test "$fast_install" = yes && test -n "$relink_command"; then + rmfiles="$rmfiles $objdir/lt-$name" + fi + if test "X$noexename" != "X$name" ; then + rmfiles="$rmfiles $objdir/lt-${noexename}.c" + fi + fi + fi + ;; + esac + $show "$rm $rmfiles" + $run $rm $rmfiles || exit_status=1 + done + objdir="$origobjdir" + + # Try to remove the ${objdir}s in the directories where we deleted files + for dir in $rmdirs; do + if test -d "$dir"; then + $show "rmdir $dir" + $run rmdir $dir >/dev/null 2>&1 + fi + done + + exit $exit_status + ;; + + "") + $echo "$modename: you must specify a MODE" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + ;; + esac + + if test -z "$exec_cmd"; then + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$generic_help" 1>&2 + exit $EXIT_FAILURE + fi +fi # test -z "$show_help" + +if test -n "$exec_cmd"; then + eval exec $exec_cmd + exit $EXIT_FAILURE +fi + +# We need to display help for each of the modes. +case $mode in +"") $echo \ +"Usage: $modename [OPTION]... [MODE-ARG]... + +Provide generalized library-building support services. + + --config show all configuration variables + --debug enable verbose shell tracing +-n, --dry-run display commands without modifying any files + --features display basic configuration information and exit + --finish same as \`--mode=finish' + --help display this help message and exit + --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] + --quiet same as \`--silent' + --silent don't print informational messages + --tag=TAG use configuration variables from tag TAG + --version print version information + +MODE must be one of the following: + + clean remove files from the build directory + compile compile a source file into a libtool object + execute automatically set library path, then run a program + finish complete the installation of libtool libraries + install install libraries or executables + link create a library or an executable + uninstall remove libraries from an installed directory + +MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for +a more detailed description of MODE. + +Report bugs to ." + exit $EXIT_SUCCESS + ;; + +clean) + $echo \ +"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... + +Remove files from the build directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, object or program, all the files associated +with it are deleted. Otherwise, only FILE itself is deleted using RM." + ;; + +compile) + $echo \ +"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE + +Compile a source file into a libtool library object. + +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -prefer-pic try to building PIC objects only + -prefer-non-pic try to building non-PIC objects only + -static always build a \`.o' file suitable for static linking + +COMPILE-COMMAND is a command to be used in creating a \`standard' object file +from the given SOURCEFILE. + +The output file name is determined by removing the directory component from +SOURCEFILE, then substituting the C source code suffix \`.c' with the +library object suffix, \`.lo'." + ;; + +execute) + $echo \ +"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... + +Automatically set library path, then run a program. + +This mode accepts the following additional options: + + -dlopen FILE add the directory containing FILE to the library path + +This mode sets the library path environment variable according to \`-dlopen' +flags. + +If any of the ARGS are libtool executable wrappers, then they are translated +into their corresponding uninstalled binary, and any of their required library +directories are added to the library path. + +Then, COMMAND is executed, with ARGS as arguments." + ;; + +finish) + $echo \ +"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... + +Complete the installation of libtool libraries. + +Each LIBDIR is a directory that contains libtool libraries. + +The commands that this mode executes may require superuser privileges. Use +the \`--dry-run' option if you just want to see what would be executed." + ;; + +install) + $echo \ +"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... + +Install executables or libraries. + +INSTALL-COMMAND is the installation command. The first component should be +either the \`install' or \`cp' program. + +The rest of the components are interpreted as arguments to that command (only +BSD-compatible install options are recognized)." + ;; + +link) + $echo \ +"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... + +Link object files or libraries together to form another library, or to +create an executable program. + +LINK-COMMAND is a command using the C compiler that you would use to create +a program from several object files. + +The following components of LINK-COMMAND are treated specially: + + -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible + -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols + -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX + -LLIBDIR search LIBDIR for required installed libraries + -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened + -no-fast-install disable the fast-install mode + -no-install link a not-installable executable + -no-undefined declare that a library does not refer to external symbols + -o OUTPUT-FILE create OUTPUT-FILE from the specified objects + -objectlist FILE Use a list of object files found in FILE to specify objects + -precious-files-regex REGEX + don't remove output files matching REGEX + -release RELEASE specify package release information + -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries + -static do not do any dynamic linking of uninstalled libtool libraries + -static-libtool-libs + do not do any dynamic linking of libtool libraries + -version-info CURRENT[:REVISION[:AGE]] + specify library version info [each variable defaults to 0] + +All other options (arguments beginning with \`-') are ignored. + +Every other argument is treated as a filename. Files ending in \`.la' are +treated as uninstalled libtool libraries, other files are standard or library +object files. + +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. + +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. + +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." + ;; + +uninstall) + $echo \ +"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... + +Remove libraries from an installation directory. + +RM is the name of the program to use to delete files associated with each FILE +(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed +to RM. + +If FILE is a libtool library, all the files associated with it are deleted. +Otherwise, only FILE itself is deleted using RM." + ;; + +*) + $echo "$modename: invalid operation mode \`$mode'" 1>&2 + $echo "$help" 1>&2 + exit $EXIT_FAILURE + ;; +esac + +$echo +$echo "Try \`$modename --help' for more information about other modes." + +exit $? + +# The TAGs below are defined such that we never get into a situation +# in which we disable both kinds of libraries. Given conflicting +# choices, we go for a static library, that is the most portable, +# since we can't tell whether shared libraries were disabled because +# the user asked for that or because the platform doesn't support +# them. This is particularly important on AIX, because we don't +# support having both static and shared libraries enabled at the same +# time on that platform, so we default to a shared-only configuration. +# If a disable-shared tag is given, we'll fallback to a static-only +# configuration. But we'll never go from static-only to shared-only. + +# ### BEGIN LIBTOOL TAG CONFIG: disable-shared +disable_libs=shared +# ### END LIBTOOL TAG CONFIG: disable-shared + +# ### BEGIN LIBTOOL TAG CONFIG: disable-static +disable_libs=static +# ### END LIBTOOL TAG CONFIG: disable-static + +# Local Variables: +# mode:shell-script +# sh-indentation:2 +# End: +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# Libtool was configured on host srvhall03: + +# Shell to use when invoking shell scripts. +SHELL="/bin/sh" + +# Whether or not to build shared libraries. +build_libtool_libs=yes + +# Whether or not to build static libraries. +build_old_libs=no + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=no + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=no + +# Whether or not to optimize for fast installation. +fast_install=yes + +# The host system. +host_alias= +host=x86_64-unknown-linux-gnu +host_os=linux-gnu + +# The build system. +build_alias= +build=x86_64-unknown-linux-gnu +build_os=linux-gnu + +# An echo program that does not interpret backslashes. +echo="echo" + +# The archiver. +AR="ar" +AR_FLAGS="cru" + +# A C compiler. +LTCC="gcc" + +# LTCC compiler flags. +LTCFLAGS="" + +# A language-specific compiler. +CC="g++" + +# Is the compiler the GNU C compiler? +with_gcc=yes + +gcc_dir=`gcc -print-file-name=. | /bin/sed 's,/\.$,,'` +gcc_ver=`gcc -dumpversion` + +# An ERE matcher. +EGREP="grep -E" + +# The linker used to build libraries. +LD="/usr/bin/ld -m elf_x86_64" + +# Whether we need hard or soft links. +LN_S="ln -s" + +# A BSD-compatible nm program. +NM="/usr/bin/nm -B" + +# A symbol stripping program +STRIP="strip" + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=file + +# Used on cygwin: DLL creation program. +DLLTOOL="dlltool" + +# Used on cygwin: object dumper. +OBJDUMP="objdump" + +# Used on cygwin: assembler. +AS="as" + +# The name of the directory that contains temporary libtool files. +objdir=.libs + +# How to create reloadable object files. +reload_flag=" -r" +reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Object file suffix (normally "o"). +objext="o" + +# Old archive suffix (normally "a"). +libext="a" + +# Shared library suffix (normally ".so"). +shrext_cmds='.so' + +# Executable file suffix (normally ""). +exeext="" + +# Additional compiler flags for building library objects. +pic_flag=" -fPIC -DPIC" +pic_mode=default + +# What is the maximum length of a command? +max_cmd_len=32768 + +# Does compiler simultaneously support -c and -o options? +compiler_c_o="yes" + +# Must we lock files when doing compilation? +need_locks="no" + +# Do we need the lib prefix for modules? +need_lib_prefix=no + +# Do we need a version for libraries? +need_version=no + +# Whether dlopen is supported. +dlopen_support=unknown + +# Whether dlopen of programs is supported. +dlopen_self=unknown + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=unknown + +# Compiler flag to prevent dynamic linking. +link_static_flag="" + +# Compiler flag to turn off builtin functions. +no_builtin_flag=" -fno-builtin" + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec="\${wl}--export-dynamic" + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec="" + +# Library versioning type. +version_type=linux + +# Format of library name prefix. +libname_spec="lib\$name" + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" + +# The coded name of the library, if different from the real name. +soname_spec="\${libname}\${release}\${shared_ext}\$major" + +# Commands used to build and install an old-style archive. +RANLIB="ranlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs\$old_deplibs~\$RANLIB \$oldlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" +old_postuninstall_cmds="" + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds="" + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds="" + +# Commands used to build and install a shared archive. +archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" +archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib" +postinstall_cmds="" +postuninstall_cmds="" + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds="" +module_expsym_cmds="" + +# Commands to strip libraries. +old_striplib="strip --strip-debug" +striplib="strip --strip-unneeded" + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=`echo "/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtbeginS.o" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=`echo "/usr/lib/gcc/x86_64-redhat-linux/4.4.7/crtendS.o /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/crtn.o" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps="" + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=`echo "-L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../.." | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method="pass_all" + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd="\$MAGIC_CMD" + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag="" + +# Flag that forces no undefined symbols. +no_undefined_flag="" + +# Commands used to finish a libtool library installation in a directory. +finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval="" + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" + +# This is the shared library runtime path variable. +runpath_var=LD_RUN_PATH + +# This is the shared library path variable. +shlibpath_var=LD_LIBRARY_PATH + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=no + +# How to hardcode a shared library path into an executable. +hardcode_action=immediate + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=yes + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" + +# If ld is used when linking, flag to hardcode $libdir into +# a binary during linking. This must work even if $libdir does +# not exist. +hardcode_libdir_flag_spec_ld="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=no + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=no + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=unsupported + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=no + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=unknown + +# Compile-time system search path for libraries +sys_lib_search_path_spec=`echo "/lib64 /usr/lib64 /usr/local/lib64" | $SED -e "s@${gcc_dir}@\${gcc_dir}@g;s@${gcc_ver}@\${gcc_ver}@g"` + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /usr/lib64/ctapi /usr/local/Calpont/lib /usr/local/Calpont/mysql/lib/mysql hwcap 1 nosegneg hwcap 1 nosegneg hwcap 1 nosegneg hwcap 1 nosegneg /usr/lib64/mysql /usr/lib64/qt-3.3/lib /usr/lib/vmware-tools/lib32/libvmGuestLib.so /usr/lib/vmware-tools/lib64/libvmGuestLib.so /usr/lib/vmware-tools/lib32/libvmGuestLibJava.so /usr/lib/vmware-tools/lib64/libvmGuestLibJava.so /usr/lib/vmware-tools/lib32/libDeployPkg.so /usr/lib/vmware-tools/lib64/libDeployPkg.so /usr/lib64/xulrunner " + +# Fix the shell variable $srcfile for the compiler. +fix_srcfile_path="" + +# Set to yes if exported symbols are required. +always_export_symbols=no + +# The commands to list exported symbols. +export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds="" + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms="" + +# Symbols that must always be exported. +include_expsyms="" + +# ### END LIBTOOL TAG CONFIG: CXX + diff --git a/oam/etc/ProcessConfig.xml.singleserver b/oam/etc/ProcessConfig.xml.singleserver index ec46cb75f..e9a36bd10 100644 --- a/oam/etc/ProcessConfig.xml.singleserver +++ b/oam/etc/ProcessConfig.xml.singleserver @@ -4,7 +4,7 @@ ProcessMonitor ChildExtOAMModule - /usr/local/Calpont/bin/ProcMon + /usr/local/MariaDB/Columnstore/bin/ProcMon 0 1 @@ -14,7 +14,7 @@ ProcessManager ParentOAMModule - /usr/local/Calpont/bin/ProcMgr + /usr/local/MariaDB/Columnstore/bin/ProcMgr 1 2 @@ -24,17 +24,17 @@ SNMPTrapDaemon ParentOAMModule - /usr/local/Calpont/sbin/snmptrapd - /usr/local/Calpont/sbin/snmptrapd + /usr/local/MariaDB/Columnstore/sbin/snmptrapd + /usr/local/MariaDB/Columnstore/sbin/snmptrapd -M - /usr/local/Calpont/share/snmp/mibs + /usr/local/MariaDB/Columnstore/share/snmp/mibs -m - /usr/local/Calpont/share/snmp/mibs/CALPONT-MIB.txt + /usr/local/MariaDB/Columnstore/share/snmp/mibs/CALPONT-MIB.txt -c - /usr/local/Calpont/etc/snmptrapd.conf + /usr/local/MariaDB/Columnstore/etc/snmptrapd.conf -C -Lf - /var/log/Calpont/snmptrapd.log + /usr/local/MariaDB/Columnstore/snmptrapd.log -p /var/run/snmptrapd.pid 1 @@ -47,8 +47,8 @@ DBRMControllerNode ParentOAMModule - /usr/local/Calpont/bin/controllernode - /usr/local/Calpont/bin/controllernode + /usr/local/MariaDB/Columnstore/bin/controllernode + /usr/local/MariaDB/Columnstore/bin/controllernode fg 2 4 @@ -60,13 +60,13 @@ SNMPAgent ChildOAMModule - /usr/local/Calpont/sbin/snmpd - /usr/local/Calpont/sbin/snmpd + /usr/local/MariaDB/Columnstore/sbin/snmpd + /usr/local/MariaDB/Columnstore/sbin/snmpd -c - /usr/local/Calpont/etc/snmpd.conf + /usr/local/MariaDB/Columnstore/etc/snmpd.conf -C -Lf - /var/log/Calpont/snmpd.log + /usr/local/MariaDB/Columnstore/snmpd.log -p /var/run/snmpd.pid 0 @@ -78,8 +78,8 @@ ServerMonitor ChildOAMModule - /usr/local/Calpont/bin/ServerMonitor - /usr/local/Calpont/bin/ServerMonitor + /usr/local/MariaDB/Columnstore/bin/ServerMonitor + /usr/local/MariaDB/Columnstore/bin/ServerMonitor 2 6 @@ -89,8 +89,8 @@ DBRMWorkerNode ChildExtOAMModule - /usr/local/Calpont/bin/workernode - /usr/local/Calpont/bin/workernode + /usr/local/MariaDB/Columnstore/bin/workernode + /usr/local/MariaDB/Columnstore/bin/workernode DBRM_Worker fg 2 @@ -102,7 +102,7 @@ DecomSvr pm - /usr/local/Calpont/bin/DecomSvr + /usr/local/MariaDB/Columnstore/bin/DecomSvr 2 15 @@ -112,7 +112,7 @@ PrimProc pm - /usr/local/Calpont/bin/PrimProc + /usr/local/MariaDB/Columnstore/bin/PrimProc 2 20 @@ -122,7 +122,7 @@ ExeMgr pm - /usr/local/Calpont/bin/ExeMgr + /usr/local/MariaDB/Columnstore/bin/ExeMgr 2 30 PrimProc @@ -133,7 +133,7 @@ WriteEngineServer pm - /usr/local/Calpont/bin/WriteEngineServer + /usr/local/MariaDB/Columnstore/bin/WriteEngineServer 2 40 LOADSHARE @@ -172,7 +172,7 @@ mysqld pm - /usr/local/Calpont/mysql/libexe/mysqld + /usr/local/MariaDB/Columnstore/mysql/libexe/mysqld 0 100 diff --git a/oam/install_scripts/Makefile~ b/oam/install_scripts/Makefile~ deleted file mode 100755 index 0c0b57896..000000000 --- a/oam/install_scripts/Makefile~ +++ /dev/null @@ -1,57 +0,0 @@ -include ../../rules.mak -#****************************************************************************************** -# -# $Id: Makefile 3250 2012-09-26 17:44:13Z rdempsey $ -# -# Copyright (C) 2009-2012 Calpont Corporation -# All rights reserved -#*****************************************************************************************/ -.PHONY: install clean test docs coverage leakcheck - -SCRIPTS=post-install pre-uninstall remote_command.sh \ -columnstoreLogRotate transactionLog transactionLogArchiver.sh system_installer.sh \ -module_installer.sh patch_installer.sh xm_installer.sh startupTests.sh \ -director_installer.sh user_installer.sh performance_installer.sh \ -remote_scp_get.sh columnstoreAlias run.sh upgrade-columnstore.sh \ -post-mysql-install post-mysqld-install binary_installer.sh \ -os_check.sh columnstore columnstoreSyslog columnstoreSyslog-ng syslogSetup.sh \ -remote_scp_put.sh columnstoreUninstall.sh columnstore.def \ -remotessh.exp master-rep-columnstore.sh slave-rep-columnstore.sh rsync.sh \ -myCnf-include-args.text myCnf-exclude-args.text remote_command_verify.sh \ -columnstoreSyslog7 disable-rep-columnstore.sh columnstore.conf - -LOCAL=module - -bootstrap: - umask 002; \ - mkdir -p $(INSTALL_ROOT_BIN); \ - pushd $(INSTALL_ROOT_BIN) >/dev/null; \ - rm -f $(SCRIPTS); \ - popd >/dev/null; \ - $(INSTALL) $(SCRIPTS) $(INSTALL_ROOT_BIN) - pushd $(INSTALL_ROOT_BIN) >/dev/null; \ - chmod -f 555 $(SCRIPTS); \ - popd >/dev/null - umask 002; \ - mkdir -p $(INSTALL_ROOT_LOCAL); \ - pushd $(INSTALL_ROOT_LOCAL) >/dev/null; \ - rm -f $(LOCAL); \ - popd >/dev/null; \ - $(INSTALL) $(LOCAL) $(INSTALL_ROOT_LOCAL) - pushd $(INSTALL_ROOT_LOCAL) >/dev/null; \ - chmod -f 555 $(LOCAL); \ - popd >/dev/null - -clean: - rm -f $(OBJS) $(PROGRAM) core *~ *.tag *.d *.d.* - -install: bootstrap - -test: - -docs: - -coverage: - -leakcheck: - diff --git a/oam/install_scripts/binary_installer.sh b/oam/install_scripts/binary_installer.sh index c8a20ee38..9b0a14588 100644 --- a/oam/install_scripts/binary_installer.sh +++ b/oam/install_scripts/binary_installer.sh @@ -53,7 +53,7 @@ if { $INSTALLTYPE == "initial" || $INSTALLTYPE == "uninstall" } { send_user "Uninstall Calpont Package " send " \n" send date\n - send "ssh $USERNAME@$SERVER 'rm -f /etc/init.d/infinidb /etc/init.d/mysql-Calpont $INSTALLDIR/releasenum >/dev/null 2>&1'\n" + send "ssh $USERNAME@$SERVER 'rm -f /etc/init.d/infinidb /etc/init.d/mysql-Columnstore $INSTALLDIR/releasenum >/dev/null 2>&1'\n" set timeout 20 expect { "Host key verification failed" { send_user "FAILED: Host key verification failed\n" ; exit 1} diff --git a/oam/install_scripts/calpontAlias b/oam/install_scripts/calpontAlias index bf34a4e9a..61a9afe77 100644 --- a/oam/install_scripts/calpontAlias +++ b/oam/install_scripts/calpontAlias @@ -3,11 +3,11 @@ alias mcsmysql='/usr/local/Calpont/mysql/bin/mysql --defaults-file=/usr/local/Calpont/mysql/my.cnf -u root' alias ma=/usr/local/Calpont/bin/mcsadmin alias mcsadmin=/usr/local/Calpont/bin/mcsadmin -alias home='cd /usr/local/Calpont/' -alias log='cd /var/log/Calpont/' -alias core='cd /var/log/Calpont/corefiles' +alias home='cd /usr/local/MariaDB/Columnstore' +alias log='cd /var/log/Columnstore/' +alias core='cd /var/log/Columnstore/corefiles' alias tmsg='tail -f /var/log/messages' -alias tdebug='tail -f /var/log/Calpont/debug.log' -alias tinfo='tail -f /var/log/Calpont/info.log' +alias tdebug='tail -f /var/log/Columnstore/debug.log' +alias tinfo='tail -f /var/log/Columnstore/info.log' alias dbrm='cd /usr/local/Calpont/data1/systemFiles/dbrm' alias module='cat /usr/local/Calpont/local/module' diff --git a/oam/install_scripts/calpontLogRotate b/oam/install_scripts/calpontLogRotate index 48dec8381..780d9743d 100644 --- a/oam/install_scripts/calpontLogRotate +++ b/oam/install_scripts/calpontLogRotate @@ -3,21 +3,21 @@ # as part of the RPM installation # -/var/log/Calpont/*.log { +/var/log/Columnstore/*.log { missingok rotate 7 daily dateext copytruncate - olddir /var/log/Calpont/archive + olddir /var/log/Columnstore/archive } -/var/log/Calpont/*.log1 { +/var/log/Columnstore/*.log1 { missingok rotate 7 daily nocreate compress - olddir /var/log/Calpont/archive + olddir /var/log/Columnstore/archive } /usr/local/Calpont/etc/Calpont.xml { daily diff --git a/oam/install_scripts/calpontSyslog b/oam/install_scripts/calpontSyslog index 8bc56eb3e..dab3c966b 100644 --- a/oam/install_scripts/calpontSyslog +++ b/oam/install_scripts/calpontSyslog @@ -1,7 +1,7 @@ # Calpont Database Platform Logging -local1.=crit -/var/log/Calpont/crit.log -local1.=err -/var/log/Calpont/err.log -local1.=warning -/var/log/Calpont/warning.log -local1.=info -/var/log/Calpont/info.log -local1.=debug -/var/log/Calpont/debug.log -local2.=crit -/var/log/Calpont/data/data_mods.log +local1.=crit -/var/log/Columnstore/crit.log +local1.=err -/var/log/Columnstore/err.log +local1.=warning -/var/log/Columnstore/warning.log +local1.=info -/var/log/Columnstore/info.log +local1.=debug -/var/log/Columnstore/debug.log +local2.=crit -/var/log/Columnstore/data/data_mods.log diff --git a/oam/install_scripts/calpontSyslog-ng b/oam/install_scripts/calpontSyslog-ng index 6b7051bf7..c4d30e3e0 100755 --- a/oam/install_scripts/calpontSyslog-ng +++ b/oam/install_scripts/calpontSyslog-ng @@ -21,27 +21,27 @@ filter f_local1debug { facility(local1) and level(debug); }; filter f_local2crit { facility(local2) and level(crit); }; destination d_crit{ - file("/var/log/Calpont/crit.log"); + file("/var/log/Columnstore/crit.log"); }; destination d_err{ - file("/var/log/Calpont/err.log"); + file("/var/log/Columnstore/err.log"); }; destination d_warning{ - file("/var/log/Calpont/warning.log"); + file("/var/log/Columnstore/warning.log"); }; destination d_info{ - file("/var/log/Calpont/info.log"); + file("/var/log/Columnstore/info.log"); }; destination d_debug{ - file("/var/log/Calpont/debug.log"); + file("/var/log/Columnstore/debug.log"); }; destination d_data_mods{ - file("/var/log/Calpont/data/data_mods.log"); + file("/var/log/Columnstore/data/data_mods.log"); }; log{ diff --git a/oam/install_scripts/calpontSyslog7 b/oam/install_scripts/calpontSyslog7 index e5dcd33b9..d3d34cdc9 100644 --- a/oam/install_scripts/calpontSyslog7 +++ b/oam/install_scripts/calpontSyslog7 @@ -1,8 +1,8 @@ # Calpont Database Platform Logging -local1.crit -/var/log/Calpont/crit.log -local1.err -/var/log/Calpont/err.log -local1.warning -/var/log/Calpont/warning.log -local1.info -/var/log/Calpont/info.log -local1.debug -/var/log/Calpont/debug.log -local2.crit -/var/log/Calpont/data/data_mods.log +local1.crit -/var/log/Columnstore/crit.log +local1.err -/var/log/Columnstore/err.log +local1.warning -/var/log/Columnstore/warning.log +local1.info -/var/log/Columnstore/info.log +local1.debug -/var/log/Columnstore/debug.log +local2.crit -/var/log/Columnstore/data/data_mods.log diff --git a/oam/install_scripts/columnstore b/oam/install_scripts/columnstore index c5d44a947..4f2e569bc 100644 --- a/oam/install_scripts/columnstore +++ b/oam/install_scripts/columnstore @@ -34,7 +34,7 @@ export INFINIDB_INSTALL_DIR=$INFINIDB_INSTALL_DIR InstallDir=$INFINIDB_INSTALL_DIR -if [ $InstallDir != "/usr/local/Calpont" ]; then +if [ $InstallDir != "/usr/local/MariaDB/Columnstore" ]; then export PATH=$InstallDir/bin:$InstallDir/mysql/bin:/bin:/usr/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$InstallDir/lib:$InstallDir/mysql/lib/mysql fi @@ -107,7 +107,7 @@ start() { #columnstore core files $SUDO ulimit -c unlimited > /dev/null 2>&1 $SUDO sysctl -q -w kernel.core_uses_pid=1 > /dev/null 2>&1 - $SUDO sysctl -q -w kernel.core_pattern=/var/log/Calpont/corefiles/core.%e.%p > /dev/null 2>&1 + $SUDO sysctl -q -w kernel.core_pattern=/var/log/Columnstore/corefiles/core.%e.%p > /dev/null 2>&1 fi RETVAL=0 @@ -128,8 +128,8 @@ stop() { RETVAL=$? rm -f /var/lock/subsys/columnstore fuser -k 8604/tcp > /dev/null 2>&1 - test -f $InstallDir/mysql/mysql-Calpont || return $RETVAL - $InstallDir/mysql/mysql-Calpont stop > /dev/null 2>&1 + test -f $InstallDir/mysql/mysql-Columnstore || return $RETVAL + $InstallDir/mysql/mysql-Columnstore stop > /dev/null 2>&1 if [ -x $InstallDir/bin/columnstore.post-stop ]; then $InstallDir/bin/columnstore.post-stop fi diff --git a/oam/install_scripts/columnstore.conf b/oam/install_scripts/columnstore.conf index abb2e8fd4..38a817015 100644 --- a/oam/install_scripts/columnstore.conf +++ b/oam/install_scripts/columnstore.conf @@ -1,2 +1,2 @@ -/usr/local/Calpont/lib +/usr/local/MariaDB/Columnstore/lib diff --git a/oam/install_scripts/columnstore.def b/oam/install_scripts/columnstore.def index 4ebfb2019..ab843979a 100644 --- a/oam/install_scripts/columnstore.def +++ b/oam/install_scripts/columnstore.def @@ -2,7 +2,7 @@ # Copy this file to /etc/default and rename it to 'infinidb'. # Change this line to your InfiniDB installation directory -INFINIDB_INSTALL_DIR=/usr/local/Calpont +INFINIDB_INSTALL_DIR=/usr/local/MariaDB/Columnstore LD_LIBRARY_PATH=$INFINIDB_INSTALL_DIR/lib:$INFINIDB_INSTALL_DIR/mysql/lib/mysql export INFINIDB_INSTALL_DIR=$INFINIDB_INSTALL_DIR diff --git a/oam/install_scripts/columnstore.upstart b/oam/install_scripts/columnstore.upstart index bb53d6901..1a0767584 100644 --- a/oam/install_scripts/columnstore.upstart +++ b/oam/install_scripts/columnstore.upstart @@ -12,5 +12,5 @@ stop on runlevel 5 stop on runlevel 6 respawn -exec /usr/local/Calpont/bin/ProcMon +exec /usr/local/MariaDB/Columnstore/bin/ProcMon diff --git a/oam/install_scripts/columnstoreAlias b/oam/install_scripts/columnstoreAlias index bf34a4e9a..8819ccd58 100644 --- a/oam/install_scripts/columnstoreAlias +++ b/oam/install_scripts/columnstoreAlias @@ -1,13 +1,13 @@ # InfiniDB Alias Commands # -alias mcsmysql='/usr/local/Calpont/mysql/bin/mysql --defaults-file=/usr/local/Calpont/mysql/my.cnf -u root' -alias ma=/usr/local/Calpont/bin/mcsadmin -alias mcsadmin=/usr/local/Calpont/bin/mcsadmin -alias home='cd /usr/local/Calpont/' -alias log='cd /var/log/Calpont/' -alias core='cd /var/log/Calpont/corefiles' +alias mcsmysql='/usr/local/MariaDB/Columnstore/mysql/bin/mysql --defaults-file=/usr/local/MariaDB/Columnstore/mysql/my.cnf -u root' +alias ma=/usr/local/MariaDB/Columnstore/bin/mcsadmin +alias mcsadmin=/usr/local/MariaDB/Columnstore/bin/mcsadmin +alias home='cd /usr/local/MaridDB/Columnstore' +alias log='cd /var/log/Columnstore/' +alias core='cd /var/log/Columnstore/corefiles' alias tmsg='tail -f /var/log/messages' -alias tdebug='tail -f /var/log/Calpont/debug.log' -alias tinfo='tail -f /var/log/Calpont/info.log' -alias dbrm='cd /usr/local/Calpont/data1/systemFiles/dbrm' -alias module='cat /usr/local/Calpont/local/module' +alias tdebug='tail -f /var/log/Columnstore/debug.log' +alias tinfo='tail -f /var/log/Columnstore/info.log' +alias dbrm='cd /usr/local/MariaDB/Columnstore/data1/systemFiles/dbrm' +alias module='cat /usr/local/MariaDB/Columnstore/local/module' diff --git a/oam/install_scripts/columnstoreLogRotate b/oam/install_scripts/columnstoreLogRotate index 48dec8381..edeee5e1c 100644 --- a/oam/install_scripts/columnstoreLogRotate +++ b/oam/install_scripts/columnstoreLogRotate @@ -3,33 +3,33 @@ # as part of the RPM installation # -/var/log/Calpont/*.log { +/var/log/Columnstore/*.log { missingok rotate 7 daily dateext copytruncate - olddir /var/log/Calpont/archive + olddir /var/log/Columnstore/archive } -/var/log/Calpont/*.log1 { +/var/log/Columnstore/*.log1 { missingok rotate 7 daily nocreate compress - olddir /var/log/Calpont/archive + olddir /var/log/Columnstore/archive } -/usr/local/Calpont/etc/Calpont.xml { +/usr/local/MariaDB/Columnstore/etc/Calpont.xml { daily dateext copy - olddir /usr/local/Calpont/etc/ + olddir /usr/local/MariaDB/Columnstore/etc/ } -/usr/local/Calpont/mysql/db/*.err { +/usr/local/MariaDB/Columnstore/mysql/db/*.err { missingok rotate 7 daily dateext copytruncate - olddir /usr/local/Calpont/mysql/db + olddir /usr/local/MariaDB/Columnstore/mysql/db } diff --git a/oam/install_scripts/columnstoreSyslog b/oam/install_scripts/columnstoreSyslog index 8bc56eb3e..dab3c966b 100644 --- a/oam/install_scripts/columnstoreSyslog +++ b/oam/install_scripts/columnstoreSyslog @@ -1,7 +1,7 @@ # Calpont Database Platform Logging -local1.=crit -/var/log/Calpont/crit.log -local1.=err -/var/log/Calpont/err.log -local1.=warning -/var/log/Calpont/warning.log -local1.=info -/var/log/Calpont/info.log -local1.=debug -/var/log/Calpont/debug.log -local2.=crit -/var/log/Calpont/data/data_mods.log +local1.=crit -/var/log/Columnstore/crit.log +local1.=err -/var/log/Columnstore/err.log +local1.=warning -/var/log/Columnstore/warning.log +local1.=info -/var/log/Columnstore/info.log +local1.=debug -/var/log/Columnstore/debug.log +local2.=crit -/var/log/Columnstore/data/data_mods.log diff --git a/oam/install_scripts/columnstoreSyslog-ng b/oam/install_scripts/columnstoreSyslog-ng index 6b7051bf7..c4d30e3e0 100755 --- a/oam/install_scripts/columnstoreSyslog-ng +++ b/oam/install_scripts/columnstoreSyslog-ng @@ -21,27 +21,27 @@ filter f_local1debug { facility(local1) and level(debug); }; filter f_local2crit { facility(local2) and level(crit); }; destination d_crit{ - file("/var/log/Calpont/crit.log"); + file("/var/log/Columnstore/crit.log"); }; destination d_err{ - file("/var/log/Calpont/err.log"); + file("/var/log/Columnstore/err.log"); }; destination d_warning{ - file("/var/log/Calpont/warning.log"); + file("/var/log/Columnstore/warning.log"); }; destination d_info{ - file("/var/log/Calpont/info.log"); + file("/var/log/Columnstore/info.log"); }; destination d_debug{ - file("/var/log/Calpont/debug.log"); + file("/var/log/Columnstore/debug.log"); }; destination d_data_mods{ - file("/var/log/Calpont/data/data_mods.log"); + file("/var/log/Columnstore/data/data_mods.log"); }; log{ diff --git a/oam/install_scripts/columnstoreSyslog7 b/oam/install_scripts/columnstoreSyslog7 index e5dcd33b9..d3d34cdc9 100644 --- a/oam/install_scripts/columnstoreSyslog7 +++ b/oam/install_scripts/columnstoreSyslog7 @@ -1,8 +1,8 @@ # Calpont Database Platform Logging -local1.crit -/var/log/Calpont/crit.log -local1.err -/var/log/Calpont/err.log -local1.warning -/var/log/Calpont/warning.log -local1.info -/var/log/Calpont/info.log -local1.debug -/var/log/Calpont/debug.log -local2.crit -/var/log/Calpont/data/data_mods.log +local1.crit -/var/log/Columnstore/crit.log +local1.err -/var/log/Columnstore/err.log +local1.warning -/var/log/Columnstore/warning.log +local1.info -/var/log/Columnstore/info.log +local1.debug -/var/log/Columnstore/debug.log +local2.crit -/var/log/Columnstore/data/data_mods.log diff --git a/oam/install_scripts/columnstore~ b/oam/install_scripts/columnstore~ deleted file mode 100644 index cba5ddd4d..000000000 --- a/oam/install_scripts/columnstore~ +++ /dev/null @@ -1,184 +0,0 @@ -#!/bin/bash -# -# $Id: infinidb 3704 2013-08-07 03:33:20Z bwilkinson $ -# -# infinidb Starts Calpont InfiniDB database platform -# -# -# chkconfig: 2345 99 99 -# description: Calpont InfiniDB is a database platform that utilizes Mysql -# -### BEGIN INIT INFO -# Provides: infinidb -# Required-Start: $local_fs $remote_fs $network $syslog $all -# Required-Stop: $local_fs $remote_fs $network $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Start/stop InfiniDB DW DBMS -### END INIT INFO - -# Source function library. -if [ -f /etc/init.d/functions ]; then - . /etc/init.d/functions -fi - -if [ -z "$INFINIDB_INSTALL_DIR" ]; then - test -f /etc/default/infinidb && . /etc/default/infinidb -fi - -if [ -z "$INFINIDB_INSTALL_DIR" ]; then - INFINIDB_INSTALL_DIR=/usr/local/Calpont -fi - -export INFINIDB_INSTALL_DIR=$INFINIDB_INSTALL_DIR - -InstallDir=$INFINIDB_INSTALL_DIR - -if [ $InstallDir != "/usr/local/Calpont" ]; then - export PATH=$InstallDir/bin:$InstallDir/mysql/bin:/bin:/usr/bin - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$InstallDir/lib:$InstallDir/mysql/lib/mysql -fi - -#hadoop -plugin=`$INFINIDB_INSTALL_DIR/bin/getConfig SystemConfig DataFilePlugin` -if [ -n "$plugin" ]; then - setenv=`$InstallDir/bin/getConfig SystemConfig DataFileEnvFile` - . $InstallDir/bin/$setenv >/dev/null 2>&1 -fi - -if [ -e $InstallDir/lib/libjemalloc.so ]; then - export LD_PRELOAD=$InstallDir/lib/libjemalloc.so -elif [ -e $InstallDir/lib/libjemalloc.so.1 ]; then - export LD_PRELOAD=$InstallDir/lib/libjemalloc.so.1 -fi - -test -f $InstallDir/post/functions && . $InstallDir/post/functions - -mt=`module_type` -mid=`module_id` - -has_um=`$InstallDir/bin/getConfig SystemModuleConfig ModuleCount2` -if [ "x$has_um" = x ]; then - has_um=0 -fi - -user=$USER -if [ -z "$user" ]; then - user=root -fi - -checkInstallSetup() { - InitialInstallFlag=`$InstallDir/bin/getConfig -c $InstallDir/etc/Calpont.xml Installation InitialInstallFlag` - if [ $InitialInstallFlag != "y" ]; then - echo "Please run the postConfigure install script, check the Installation Guide" - echo "for additional details" - rm -f /var/lock/subsys/infinidb - exit 1 - fi -} - -[ -f $InstallDir/bin/ProcMon ] || exit 0 - -start() { - if [ -f /var/lock/subsys/infinidb ]; then - echo "InfiniDB Database Platform already running" - exit 0 - fi - - (mkdir -p /var/lock/subsys && touch /var/lock/subsys/infinidb) >/dev/null 2>&1 - - if [ -x $InstallDir/bin/infinidb.pre-start ]; then - $InstallDir/bin/infinidb.pre-start - if [ $? -ne 0 ]; then - echo "Error running InfiniDB pre-start script, not starting InfiniDB" - rm -f /var/lock/subsys/infinidb - exit 1 - fi - fi - checkInstallSetup - - CoreFileFlag=`$InstallDir/bin/getConfig -c $InstallDir/etc/Calpont.xml Installation CoreFileFlag` - if [ $CoreFileFlag = "y" ]; then - SUDO= - if [ "$user" != "root" ]; then - SUDO="sudo" - fi - - #infinidb core files - $SUDO ulimit -c unlimited > /dev/null 2>&1 - $SUDO sysctl -q -w kernel.core_uses_pid=1 > /dev/null 2>&1 - $SUDO sysctl -q -w kernel.core_pattern=/var/log/Calpont/corefiles/core.%e.%p > /dev/null 2>&1 - fi - - RETVAL=0 - echo "Starting InfiniDB Database Platform" - rm -f /tmp/StopCalpont - exec $InstallDir/bin/run.sh $InstallDir/bin/ProcMon > /dev/null 2>&1 & - - return $RETVAL -} -stop() { - echo "Shutting down InfiniDB Database Platform" - touch /tmp/StopCalpont - pkill -9 ProcMon - pkill -9 ProcMgr - pkill -9 snmptrapd - sleep 1 - $InstallDir/bin/clearShm - RETVAL=$? - rm -f /var/lock/subsys/infinidb - fuser -k 8604/tcp > /dev/null 2>&1 - test -f $InstallDir/mysql/mysql-Calpont || return $RETVAL - $InstallDir/mysql/mysql-Calpont stop > /dev/null 2>&1 - if [ -x $InstallDir/bin/infinidb.post-stop ]; then - $InstallDir/bin/infinidb.post-stop - fi - return $RETVAL -} -restart() { - stop - start -} -status() { - isrunning=0 - if [ $EUID -eq 0 ]; then - if [ -f /var/lock/subsys/infinidb ]; then - isrunning=1 - fi - else - pgrep ProcMon >/dev/null 2>&1 - if [ $? -eq 0 ]; then - isrunning=1 - fi - fi - if [ $isrunning -ne 0 ]; then - echo "InfiniDB is running" - else - echo "InfiniDB is not running" - exit 3 - fi -} - -case "$1" in -start) - start - ;; -stop) - stop - ;; -restart) - restart - ;; -condrestart) - [ -f /var/lock/subsys/infinidb ] && restart || : - ;; -status) - status - ;; -*) - echo $"Usage: $0 {start|stop|restart|condrestart|status}" - exit 1 -esac - -exit $? - diff --git a/oam/install_scripts/crontab b/oam/install_scripts/crontab index 31da51f75..90aa62f0a 100644 --- a/oam/install_scripts/crontab +++ b/oam/install_scripts/crontab @@ -14,5 +14,5 @@ HOME=/ 42 4 1 * * root run-parts /etc/cron.monthly # Translation Log Archiver, default to every 10 minutes -00,10,20,30,40,50 * * * * root /usr/local/Calpont/bin/transactionLogArchiver.sh +00,10,20,30,40,50 * * * * root /usr/local/MariaDB/Columnstore/bin/transactionLogArchiver.sh diff --git a/oam/install_scripts/infinidb b/oam/install_scripts/infinidb index cba5ddd4d..f30c4fdc6 100644 --- a/oam/install_scripts/infinidb +++ b/oam/install_scripts/infinidb @@ -107,7 +107,7 @@ start() { #infinidb core files $SUDO ulimit -c unlimited > /dev/null 2>&1 $SUDO sysctl -q -w kernel.core_uses_pid=1 > /dev/null 2>&1 - $SUDO sysctl -q -w kernel.core_pattern=/var/log/Calpont/corefiles/core.%e.%p > /dev/null 2>&1 + $SUDO sysctl -q -w kernel.core_pattern=/var/log/Columnstore/corefiles/core.%e.%p > /dev/null 2>&1 fi RETVAL=0 @@ -128,8 +128,8 @@ stop() { RETVAL=$? rm -f /var/lock/subsys/infinidb fuser -k 8604/tcp > /dev/null 2>&1 - test -f $InstallDir/mysql/mysql-Calpont || return $RETVAL - $InstallDir/mysql/mysql-Calpont stop > /dev/null 2>&1 + test -f $InstallDir/mysql/mysql-Columnstore || return $RETVAL + $InstallDir/mysql/mysql-Columnstore stop > /dev/null 2>&1 if [ -x $InstallDir/bin/infinidb.post-stop ]; then $InstallDir/bin/infinidb.post-stop fi diff --git a/oam/install_scripts/module_installer.sh~ b/oam/install_scripts/module_installer.sh~ deleted file mode 100755 index cec9428fb..000000000 --- a/oam/install_scripts/module_installer.sh~ +++ /dev/null @@ -1,167 +0,0 @@ -#!/bin/bash -# -# $Id: module_installer.sh 421 2007-04-05 15:46:55Z dhill $ -# -# Setup the Custom OS files during a System install on a module -# -# -# append calpont OS files to Linux OS file -# -# - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -rpmmode=install -user=$USER -if [ -z "$user" ]; then - user=root -fi -quiet=0 -shiftcnt=0 - -for arg in "$@"; do - if [ $(expr -- "$arg" : '--prefix=') -eq 9 ]; then - prefix="$(echo $arg | awk -F= '{print $2}')" - installdir=$prefix/MariaDB/Columnstore - ((shiftcnt++)) - elif [ $(expr -- "$arg" : '--rpmmode=') -eq 10 ]; then - rpmmode="$(echo $arg | awk -F= '{print $2}')" - ((shiftcnt++)) - elif [ $(expr -- "$arg" : '--installdir=') -eq 13 ]; then - installdir="$(echo $arg | awk -F= '{print $2}')" - prefix=$(dirname $installdir) - ((shiftcnt++)) - elif [ $(expr -- "$arg" : '--user=') -eq 7 ]; then - user="$(echo $arg | awk -F= '{print $2}')" - ((shiftcnt++)) - elif [ $(expr -- "$arg" : '--quiet') -eq 7 ]; then - quiet=1 - ((shiftcnt++)) - elif [ $(expr -- "$arg" : '--port') -eq 6 ]; then - mysqlPort="$(echo $arg | awk -F= '{print $2}')" - ((shiftcnt++)) - elif [ $(expr -- "$arg" : '--module') -eq 8 ]; then - module="$(echo $arg | awk -F= '{print $2}')" - ((shiftcnt++)) - fi -done -shift $shiftcnt - -if [ $installdir != "/usr/local/MariaDB/Columnstore" ]; then - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INFINIDB_INSTALL_DIR/lib:$INFINIDB_INSTALL_DIR/mysql/lib/mysql -fi - -export INFINIDB_INSTALL_DIR=$installdir - -cloud=`$INFINIDB_INSTALL_DIR/bin/getConfig Installation Cloud` -if [ $cloud = "amazon-ec2" ] || [ $cloud = "amazon-vpc" ]; then - cp $INFINIDB_INSTALL_DIR/local/etc/*.pem /root/. > /dev/null 2>&1 - - if test -f $INFINIDB_INSTALL_DIR/local/etc/pm1/fstab ; then - echo "Setup fstab on Module" - touch /etc/fstab - rm -f /etc/fstab.calpontSave - mv /etc/fstab /etc/fstab.calpontSave - cat $INFINIDB_INSTALL_DIR/local/etc/pm1/fstab >> /etc/fstab - fi -fi - -test -f $INFINIDB_INSTALL_DIR/post/functions && . $INFINIDB_INSTALL_DIR/post/functions - -mid=`module_id` - -#if um, cloud, separate system type, external um storage, then setup mount -if [ $module = "um" ]; then - if [ $cloud = "amazon-ec2" ] || [ $cloud = "amazon-vpc" ]; then - systemtype=`$INFINIDB_INSTALL_DIR/bin/getConfig Installation ServerTypeInstall` - if [ $systemtype = "1" ]; then - umstoragetype=`$INFINIDB_INSTALL_DIR/bin/getConfig Installation UMStorageType` - if [ $umstoragetype = "external" ]; then - echo "Setup UM Volume Mount" - device=`$INFINIDB_INSTALL_DIR/bin/getConfig Installation UMVolumeDeviceName$mid` - mkdir -p $INFINIDB_INSTALL_DIR/mysql/db > /dev/null 2>&1 - mount $device $INFINIDB_INSTALL_DIR/mysql/db -t ext2 -o defaults - chown mysql:mysql -R $INFINIDB_INSTALL_DIR/mysql > /dev/null 2>&1 - fi - fi - fi -fi - -#if pm, create dbroot directories -if [ $module = "pm" ]; then - numdbroots=`$INFINIDB_INSTALL_DIR/bin/getConfig SystemConfig DBRootCount` - for (( id=1; id<$numdbroots+1; id++ )); do - mkdir -p $INFINIDB_INSTALL_DIR/data$id > /dev/null 2>&1 - chmod 755 $INFINIDB_INSTALL_DIR/data$id - done -fi - -echo "Setup rc.local on Module" -if [ $EUID -eq 0 -a -f $INFINIDB_INSTALL_DIR/local/rc.local.calpont ]; then - if [ $user = "root" ]; then - touch /etc/rc.local - rm -f /etc/rc.local.calpontSave - cp /etc/rc.local /etc/rc.local.calpontSave - cat $INFINIDB_INSTALL_DIR/local/rc.local.calpont >> /etc/rc.local - else - sudo touch /etc/rc.local - sudo rm -f /etc/rc.local.calpontSave - sudo cp /etc/rc.local /etc/rc.local.calpontSave - sudo cat $INFINIDB_INSTALL_DIR/local/rc.local.calpont >> /etc/rc.local - fi -fi - -if [ $user != "root" ]; then - echo "Setup .bashrc on Module for non-root" - - eval userhome=~$user - bashFile=$userhome/.bashrc - touch ${bashFile} - - echo " " >> ${bashFile} - echo "export INFINIDB_INSTALL_DIR=$INFINIDB_INSTALL_DIR" >> ${bashFile} - echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INFINIDB_INSTALL_DIR/lib:$INFINIDB_INSTALL_DIR/mysql/lib/mysql" >> ${bashFile} -fi - -plugin=`$INFINIDB_INSTALL_DIR/bin/getConfig SystemConfig DataFilePlugin` -if [ -n "$plugin" ]; then - echo "Setup .bashrc on Module for local-query" - - setenv=`$INFINIDB_INSTALL_DIR/bin/getConfig SystemConfig DataFileEnvFile` - - eval userhome=~$user - bashFile=$userhome/.bashrc - touch ${bashFile} - - echo " " >> ${bashFile} - echo ". $INFINIDB_INSTALL_DIR/bin/$setenv" >> ${bashFile} -fi - -# if mysqlrep is on and module has a my.cnf file, upgrade it - -MySQLRep=`$INFINIDB_INSTALL_DIR/bin/getConfig Installation MySQLRep` -if [ $MySQLRep = "y" ]; then - if test -f $INFINIDB_INSTALL_DIR/mysql/my.cnf ; then - echo "Run Upgrade on my.cnf on Module" - $INFINIDB_INSTALL_DIR/bin/mycnfUpgrade > /tmp/mycnfUpgrade.log 2>&1 - fi -fi - -if test -f $INFINIDB_INSTALL_DIR/mysql/my.cnf ; then - echo "Run Mysql Port update on my.cnf on Module" - $INFINIDB_INSTALL_DIR/bin/mycnfUpgrade $mysqlPort > /tmp/mycnfUpgrade_port.log 2>&1 -fi - -# if um, run mysql install scripts -if [ $module = "um" ]; then - echo "Run post-mysqld-install" - $INFINIDB_INSTALL_DIR/bin/post-mysqld-install > /tmp/post-mysqld-install.log 2>&1 - echo "Run post-mysql-install" - $INFINIDB_INSTALL_DIR/bin/post-mysql-install > /tmp/post-mysql-install.log 2>&1 -fi - - -echo " " -echo "!!!Module Installation Successfully Completed!!!" - -exit 0 diff --git a/oam/install_scripts/post-install b/oam/install_scripts/post-install index c55bab2ec..a126601c7 100755 --- a/oam/install_scripts/post-install +++ b/oam/install_scripts/post-install @@ -101,14 +101,14 @@ chown -h $user.$user libjemalloc.so >/dev/null 2>&1 cd / -test -d /var/log/Calpont || mkdir /var/log/Calpont >/dev/null 2>&1 -test -d /var/log/Calpont/archive || mkdir /var/log/Calpont/archive >/dev/null 2>&1 -test -d /var/log/Calpont/corefiles || mkdir /var/log/Calpont/corefiles >/dev/null 2>&1 -test -d /var/log/Calpont/trace || mkdir /var/log/Calpont/trace >/dev/null 2>&1 -test -h /var/log/Calpont/data && rm -f /var/log/Calpont/data -test -d /var/log/Calpont/data || mkdir /var/log/Calpont/data >/dev/null 2>&1 +test -d /var/log/Columnstore || mkdir /var/log/Columnstore >/dev/null 2>&1 +test -d /var/log/Columnstore/archive || mkdir /var/log/Columnstore/archive >/dev/null 2>&1 +test -d /var/log/Columnstore/corefiles || mkdir /var/log/Columnstore/corefiles >/dev/null 2>&1 +test -d /var/log/Columnstore/trace || mkdir /var/log/Columnstore/trace >/dev/null 2>&1 +test -h /var/log/Columnstore/data && rm -f /var/log/Columnstore/data +test -d /var/log/Columnstore/data || mkdir /var/log/Columnstore/data >/dev/null 2>&1 # make sure trace dir is world-writable and sticky -chmod 1755 /var/log/Calpont/trace >/dev/null 2>&1 +chmod 1755 /var/log/Columnstore/trace >/dev/null 2>&1 test -d $installdir/data || mkdir $installdir/data test -d $installdir/data1 || mkdir $installdir/data1 test -d $installdir/data1/systemFiles || mkdir $installdir/data1/systemFiles @@ -132,12 +132,12 @@ chmod -R 755 $installdir/data/bulk >/dev/null 2>&1 mkdir -p /tmp/infinidb_tmp_files >/dev/null 2>&1 #setup core file directory and link -mkdir /var/log/Calpont/corefiles > /dev/null 2>&1 -chmod 755 /var/log/Calpont/corefiles > /dev/null 2>&1 +mkdir /var/log/Columnstore/corefiles > /dev/null 2>&1 +chmod 755 /var/log/Columnstore/corefiles > /dev/null 2>&1 #create mount directories mkdir /mnt/tmp > /dev/null 2>&1 -mkdir /var/log/Calpont/data/archive > /dev/null 2>&1 +mkdir /var/log/Columnstore/data/archive > /dev/null 2>&1 # install Calpont Log Rotate File test -d $installdir/mysql/db || mkdir -p $installdir/mysql/db @@ -169,9 +169,9 @@ else sudo $installdir/bin/syslogSetup.sh --installdir=$installdir install > /tmp/syslog_install.log 2>&1 sudo chown $user:$user $installdir/etc/Calpont.xml sudo chmod 755 /var/log - sudo chmod -R 755 /var/log/Calpont + sudo chmod -R 755 /var/log/Columnstore sudo chmod -R 777 /dev/shm - sudo rm -f /var/lock/subsys/mysql-Calpont + sudo rm -f /var/lock/subsys/mysql-Columnstore sudo rm -f /tmp/StopCalpont sed -i -e s@/usr/local/MariaDB/Columnstore@$installdir@g $installdir/bin/infinidb.def diff --git a/oam/install_scripts/post-install~ b/oam/install_scripts/post-install~ deleted file mode 100755 index 0cb541031..000000000 --- a/oam/install_scripts/post-install~ +++ /dev/null @@ -1,336 +0,0 @@ -#!/bin/bash -# -# $Id: post-install 3705 2013-08-07 19:47:20Z dhill $ -# -# Post-install steps for calpont install - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -rpmmode=install -user=$USER -if [ -z "$user" ]; then - user=root -fi -quiet=0 - -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--rpmmode='` -eq 10 ]; then - rpmmode="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - elif [ `expr -- "$arg" : '--user='` -eq 7 ]; then - user="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--quiet'` -eq 7 ]; then - quiet=1 - elif [ `expr -- "$arg" : '--plugin='` -eq 9 ]; then - plugin="`echo $arg | awk -F= '{print $2}'`" - else - echo "post-install: ignoring unknown argument: $arg" 1>&2 - fi -done - -if [ $installdir != "/usr/local/MariaDB/Columnstore" ]; then - export INFINIDB_INSTALL_DIR=$installdir - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$installdir/lib -else - # add library config file - /bin/cp -f $installdir/bin/infinidb.conf /etc/ld.so.conf.d/. - ldconfig -fi - -#check 64-bit OS compatiable -arch=`uname -m` -patcnt=`expr "$arch" : 'i.86'` -is64bitos=1 -if [ $patcnt -ne 0 ]; then - is64bitos=0 -fi -is64bitpkg=1 -file $installdir/bin/PrimProc | grep '64-bit' >/dev/null 2>&1 -if [ $? -ne 0 ]; then - is64bitpkg=0 -fi -if [ $is64bitpkg -eq 1 -a $is64bitos -ne 1 ]; then - echo "ERROR: Incompatiable Version, package is intended for a x86_64 architecture" - echo "exiting...." - exit 1 -fi - -if [ ! -f $installdir/etc/Calpont.xml ]; then - echo "$installdir/etc/Calpont.xml not found, exiting" - exit 1 -fi - -cd $installdir/lib || exit 1 -for lib in *.so.1.0.0; do - blib=`basename $lib .1.0.0` - ln -sf $lib $blib -done -chown -h $user.$user *.so >/dev/null 2>&1 -if [ -f libnetsnmp.so.5.2.1 ]; then - for lib in *.so.5.2.1; do - blib=`basename $lib .5.2.1` - ln -sf $lib $blib - ln -sf $lib ${blib}.5 - done - chown -h $user.$user *.so *.so.5 >/dev/null 2>&1 -fi -if [ -f libstdc++.so.6.0.14 ]; then - ln -sf libstdc++.so.6.0.14 libstdc++.so.6 - chown -h $user.$user libstdc++.so.6 >/dev/null 2>&1 -fi - -ln -sf libjemalloc.so.3.3.0 libjemalloc.so -chown -h $user.$user libjemalloc.so >/dev/null 2>&1 - -# TODO-based on early experience with HDP it doesn't install bigtop -# so the code below will not correctly detect JAVA_HOME. Need to -# decide how to handle -# Autodetect JAVA_HOME if not defined -#if [ -e /usr/libexec/bigtop-detect-javahome ]; then -#. /usr/libexec/bigtop-detect-javahome -#elif [ -e /usr/lib/bigtop-utils/bigtop-detect-javahome ]; then -#. /usr/lib/bigtop-utils/bigtop-detect-javahome -#fi -#ln -sf $JAVA_HOME/jre/lib/amd64/server/libjvm.so -#chown -h $user.$user libjvm.so >/dev/null 2>&1 - -cd / - -test -d /var/log/Calpont || mkdir /var/log/Calpont >/dev/null 2>&1 -test -d /var/log/Calpont/archive || mkdir /var/log/Calpont/archive >/dev/null 2>&1 -test -d /var/log/Calpont/corefiles || mkdir /var/log/Calpont/corefiles >/dev/null 2>&1 -test -d /var/log/Calpont/trace || mkdir /var/log/Calpont/trace >/dev/null 2>&1 -test -h /var/log/Calpont/data && rm -f /var/log/Calpont/data -test -d /var/log/Calpont/data || mkdir /var/log/Calpont/data >/dev/null 2>&1 -# make sure trace dir is world-writable and sticky -chmod 1755 /var/log/Calpont/trace >/dev/null 2>&1 -test -d $installdir/data || mkdir $installdir/data -test -d $installdir/data1 || mkdir $installdir/data1 -test -d $installdir/data1/systemFiles || mkdir $installdir/data1/systemFiles -test -d $installdir/data1/systemFiles/dbrm || mkdir $installdir/data1/systemFiles/dbrm -test -d $installdir/data1/systemFiles/dataTransaction || rmdir $installdir/data1/systemFiles/dataTransaction >/dev/null 2>&1 -test -d $installdir/data1/systemFiles/dataTransaction/archive || rmdir $installdir/data1/systemFiles/dataTransaction/archive >/dev/null 2>&1 -chmod 1755 $installdir/data1 >/dev/null 2>&1 -chmod -R 1755 $installdir/data1/systemFiles >/dev/null 2>&1 -chmod 1755 $installdir/etc > /dev/null 2>&1 - -#create the bulk-load dirs -mkdir -p $installdir/data/bulk/data/import >/dev/null 2>&1 -mkdir -p $installdir/data/bulk/log >/dev/null 2>&1 -mkdir -p $installdir/data/bulk/job >/dev/null 2>&1 -mkdir -p $installdir/data/bulk/rollback >/dev/null 2>&1 -mkdir -p $installdir/data/bulk/tmpjob >/dev/null 2>&1 -rm -f $installdir/data/bulk/tmpjob/* >/dev/null 2>&1 -chmod -R 755 $installdir/data/bulk >/dev/null 2>&1 - -#create infinidb temp file directory -mkdir -p /tmp/infinidb_tmp_files >/dev/null 2>&1 - -#setup core file directory and link -mkdir /var/log/Calpont/corefiles > /dev/null 2>&1 -chmod 755 /var/log/Calpont/corefiles > /dev/null 2>&1 - -#create mount directories -mkdir /mnt/tmp > /dev/null 2>&1 -mkdir /var/log/Calpont/data/archive > /dev/null 2>&1 - -# install Calpont Log Rotate File -test -d $installdir/mysql/db || mkdir -p $installdir/mysql/db -cp $installdir/bin/calpontLogRotate /etc/logrotate.d/calpont > /dev/null 2>&1 -rm -rf $installdir/mysql/db/infinidb_log_archive > /dev/null 2>&1 - -# delete Calpont shared memory segments -$installdir/bin/Calpont/bin/clearShm > /dev/null 2>&1 - -#setup the infinidb service script -rm -f /etc/init.d/infinidb >/dev/null 2>&1 -cp $installdir/bin/infinidb /etc/init.d >/dev/null 2>&1 -if [ -x /sbin/chkconfig ]; then - /sbin/chkconfig --add infinidb > /dev/null 2>&1 - /sbin/chkconfig infinidb on > /dev/null 2>&1 -elif [ -x /usr/sbin/update-rc.d ]; then - /usr/sbin/update-rc.d infinidb defaults 99 > /dev/null 2>&1 -else - echo "" - echo "Package 'chkconfig' or 'update-rc.d' not installed, contact your sysadmin if you want to setup to autostart for infinidb" -fi - -#setup InfiniDB system logging -if [ $user = "root" ]; then - $installdir/bin/syslogSetup.sh install > /tmp/syslog_install.log 2>&1 - chmod 777 -R /dev/shm - rm -f /etc/default/infinidb -else - sudo $installdir/bin/syslogSetup.sh --installdir=$installdir install > /tmp/syslog_install.log 2>&1 - sudo chown $user:$user $installdir/etc/Calpont.xml - sudo chmod 755 /var/log - sudo chmod -R 755 /var/log/Calpont - sudo chmod -R 777 /dev/shm - sudo rm -f /var/lock/subsys/mysql-Calpont - sudo rm -f /tmp/StopCalpont - - sed -i -e s@/usr/local/MariaDB/Columnstore@$installdir@g $installdir/bin/infinidb.def - sudo cp $installdir/bin/infinidb.def /etc/default/infinidb -fi - -#check if InfiniDB system logging was setup -cat /tmp/syslog_install.log | grep 'No System Logging' >/dev/null 2>&1 -if [ $? -eq 0 ]; then - cat /tmp/syslog_install.log -fi - -#setup alias commands -eval userhome=~$user -bashFile=$userhome/.bashrc -touch ${bashFile} -if [ $installdir != "/usr/local/MariaDB/Columnstore" ]; then - sed -i -e s@/usr/local/MariaDB/Columnstore@$installdir@g $installdir/bin/calpontAlias -fi -egrep -qs 'Calpont Database Platform Alias Commands' ${bashFile} -rc1=$? -egrep -qs 'InfiniDB Alias Commands' ${bashFile} -rc2=$? -if [ $rc1 -ne 0 -a $rc2 -ne 0 ]; then - rm -f ${bashFile}.calpontSave - cp ${bashFile} ${bashFile}.calpontSave >/dev/null 2>&1 - cat $installdir/bin/calpontAlias >> ${bashFile} - echo " " >> ${bashFile} -fi - -#check and get amazon EC2 env variables -if [ -n "$EC2_HOME" ]; then - $installdir/bin/setConfig -d Installation EC2_HOME $EC2_HOME - - if [ -n "$EC2_HOME" ]; then - $installdir/bin/setConfig -d Installation JAVA_HOME $JAVA_HOME - fi - - $installdir/bin/setConfig -d Installation EC2_PATH $PATH:/home/ec2/bin:/opt/aws/bin -fi - -#log install message -test -f $installdir/post/functions && . $installdir/post/functions -LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$installdir/lib $installdir/bin/cplogger -i 19 "***** InfiniDB Installed *****" - -#setup hadoop -hadoop=`which hadoop 2>/dev/null` -if [ -z $hadoop ]; then - #check for non-root user - if [ $installdir != "/usr/local/MariaDB/Columnstore" -a $quiet -eq 0 ]; then -cat < /tmp/hdfs-20-test.log 2>&1 - if [ $? -eq 0 ]; then - #Passed set in config file - $installdir/bin/setConfig -d SystemConfig DataFilePlugin $installdir/lib/hdfs-20.so - $installdir/bin/setConfig -d SystemConfig DataFileEnvFile setenv-hdfs-20 - - #check for non-root user - if [ $installdir != "/usr/local/MariaDB/Columnstore" -a $quiet -eq 0 ]; then -cat < /tmp/hdfs-12-test.log 2>&1 - if [ $? -eq 0 ]; then - #Passed set in config file - $installdir/bin/setConfig -d SystemConfig DataFilePlugin $installdir/lib/hdfs-12.so - $installdir/bin/setConfig -d SystemConfig DataFileEnvFile setenv-hdfs-12 - - if [ $installdir != "/usr/local/MariaDB/Columnstore" -a $quiet -eq 0 ]; then -cat </dev/null 2>&1 + $installdir/mysql/mysql-Columnstore stop >/dev/null 2>&1 sleep 2 - $installdir/mysql/mysql-Calpont start + $installdir/mysql/mysql-Columnstore start sleep 5 @@ -111,13 +111,13 @@ if [ -x $installdir/mysql/mysql-Calpont ]; then checkForError if [ $? -ne 0 ]; then echo "ERROR: missing or invalid password, or InfiniDB plugin install missing" - $installdir/mysql/mysql-Calpont stop + $installdir/mysql/mysql-Columnstore stop sleep 2 exit 1; fi fi - $installdir/mysql/mysql-Calpont stop + $installdir/mysql/mysql-Columnstore stop fi exit 0 diff --git a/oam/install_scripts/post-mysqld-install b/oam/install_scripts/post-mysqld-install index 612055f39..4408ed1b8 100755 --- a/oam/install_scripts/post-mysqld-install +++ b/oam/install_scripts/post-mysqld-install @@ -79,7 +79,7 @@ chmod -R og-rw $mysql_datadir/mysql # Change permissions again to fix any new files. chown -R $user.$user $installdir/mysql -test -e /etc/init.d/mysql-Calpont || cp $installdir/mysql/mysql-Calpont /etc/init.d >/dev/null 2>&1 +test -e /etc/init.d/mysql-Columnstore || cp $installdir/mysql/mysql-Columnstore /etc/init.d >/dev/null 2>&1 if [ -f $installdir/lib/libcalmysql.so.1.0.0 ]; then libcalmysql=$installdir/lib/libcalmysql.so.1.0.0 diff --git a/oam/install_scripts/pre-uninstall b/oam/install_scripts/pre-uninstall index 6b73fb5d8..ba4a8616a 100755 --- a/oam/install_scripts/pre-uninstall +++ b/oam/install_scripts/pre-uninstall @@ -72,10 +72,10 @@ if [ $cloud = "amazon-ec2" ] || [ $cloud = "amazon-vpc" ]; then fi #remove log file directories -#rm -rf /var/log/Calpont > /dev/null 2>&1 +#rm -rf /var/log/Columnstore > /dev/null 2>&1 #rm -f $installdir/mysql/db/*.err > /dev/null 2>&1 -rm -f /var/log/Calpont/activeAlarms > /dev/null 2>&1 -rm -f /var/log/Calpont/*.log1 > /dev/null 2>&1 +rm -f /var/log/Columnstore/activeAlarms > /dev/null 2>&1 +rm -f /var/log/Columnstore/*.log1 > /dev/null 2>&1 rm -rf $installdir/mysql/db/infinidb_log_archive > /dev/null 2>&1 sudo rm -f /etc/default/infinidb @@ -116,7 +116,7 @@ else fi # delete core files -#rm -f /var/log/Calpont/corefiles/* > /dev/null 2>&1 +#rm -f /var/log/Columnstore/corefiles/* > /dev/null 2>&1 #uninstall InfiniDB system logging if [ -x $installdir/bin/syslogSetup.sh ]; then diff --git a/oam/install_scripts/pre-uninstall~ b/oam/install_scripts/pre-uninstall~ deleted file mode 100755 index ce85dea5d..000000000 --- a/oam/install_scripts/pre-uninstall~ +++ /dev/null @@ -1,156 +0,0 @@ -#!/bin/bash -# -# $Id: post-uninstall 421 2007-04-05 15:46:55Z dhill $ -# -# Post-uninstall steps for calpont install - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -rpmmode=install -user=$USER -sudo=sudo -if [ -z "$user" ]; then - user=root - sudo=" " -fi -quiet=0 - -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--rpmmode='` -eq 10 ]; then - rpmmode="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - elif [ `expr -- "$arg" : '--user='` -eq 7 ]; then - user="`echo $arg | awk -F= '{print $2}'`" - elif [ `expr -- "$arg" : '--quiet'` -eq 7 ]; then - quiet=1 - else - echo "post-uninstall: ignoring unknown argument: $arg" 1>&2 - fi -done - -#stop services -$installdir/bin/infinidb stop > /dev/null 2>&1 -if test -f /etc/init.d/calpont-Mysql ; then - $installdir/myql/calpont-Mysql stop > /dev/null 2>&1 -fi - -if [ $installdir == "/usr/local/MariaDB/Columnstore" ]; then - # remove library config file - rm -f /etc/ld.so.conf.d/infinidb.conf - rm -f /etc/ld.so.cache - ldconfig -fi - -# uninstall OS scripts updated by postConfigure -if test -f /root/.bashrc.calpontSave ; then - $sudo mv -f /root/.bashrc.calpontSave /root/.bashrc > /dev/null 2>&1 -fi -if test -f /etc/exports.calpontSave ; then - $sudo mv -f /etc/exports.calpontSave /etc/exports > /dev/null 2>&1 -else - $sudo rm -f /etc/exports > /dev/null 2>&1 -fi -if test -f /etc/rc.d/rc.local.calpontSave ; then - $sudo mv -f /etc/rc.d/rc.local.calpontSave /etc/rc.d/rc.local > /dev/null 2>&1 -fi -if test -f /etc/rc.local.calpontSave ; then - $sudo mv -f /etc/rc.local.calpontSave /etc/rc.local > /dev/null 2>&1 -fi - -export INFINIDB_INSTALL_DIR=$installdir - -cloud=`$INFINIDB_INSTALL_DIR/bin/getConfig Installation Cloud` -if [ $cloud = "amazon-ec2" ] || [ $cloud = "amazon-vpc" ]; then - if test -f /etc/fstab ; then - $sudo sed -i '/Calpont\/data/d' /etc/fstab > /dev/null 2>&1 - fi -fi - -#remove log file directories -#rm -rf /var/log/Calpont > /dev/null 2>&1 -#rm -f $installdir/mysql/db/*.err > /dev/null 2>&1 -rm -f /var/log/Calpont/activeAlarms > /dev/null 2>&1 -rm -f /var/log/Calpont/*.log1 > /dev/null 2>&1 -rm -rf $installdir/mysql/db/infinidb_log_archive > /dev/null 2>&1 -sudo rm -f /etc/default/infinidb - -# remove Calpont Log Rotate File abd Transaction Log File -rm -f /etc/logrotate.d/calpont > /dev/null 2>&1 -rm -f /etc/cron.d/transactionLog > /dev/null 2>&1 - -# delete Calpont shared memory segments -pkill -9 ProcMon -$installdir/bin/clearShm > /dev/null 2>&1 - -# delete prat files -rm -f /etc/cron.d/ps > /dev/null 2>&1 -rm -f /etc/pscollect > /dev/null 2>&1 -/etc/init.d/crond reload > /dev/null 2>&1 -systemctl reload crond.service > /dev/null 2>&1 - -# delete tmp files -rm -f $installdir/local/*.calpont -rm -rf $installdir/local/etc/ -rm -rf /tmp/bucketreuse -rm -f /tmp/calpont.txt -rm -f /tmp/dbbuilder.* -rm -f /tmp/dbrmfiles -rm -f /var/lock/subsys/infinidb -rm -f /tmp/pkgcheck -rm -f /tmp/upgrade-status.log.* -rm -f /tmp/mount.log -rm -f $installdir/data/bulk/tmpjob/* >/dev/null 2>&1 -rm -rf /tmp/infinidb_tmp_files -rm -f $installdir/local/moveDbrootTransactionLog - -#delete any old setenv files under home directory -if [ $user = "root" ]; then - rm -f /root/setenv-hdfs* -else - rm -f /home/$user/setenv-hdfs* -fi - -# delete core files -#rm -f /var/log/Calpont/corefiles/* > /dev/null 2>&1 - -#uninstall InfiniDB system logging -if [ -x $installdir/bin/syslogSetup.sh ]; then - if [ $user = "root" ]; then - $installdir/bin/syslogSetup.sh uninstall >/dev/null 2>&1 - rm -f /etc/init.d/infinidb > /dev/null 2>&1 - else - sudo $installdir/bin/syslogSetup.sh uninstall >/dev/null 2>&1 - fi -fi - -if [ -x /sbin/chkconfig ]; then - /sbin/chkconfig infinidb off > /dev/null 2>&1 - /sbin/chkconfig --del infinidb > /dev/null 2>&1 -elif [ -x /usr/sbin/update-rc.d ]; then - /usr/sbin/update-rc.d -f infinidb remove > /dev/null 2>&1 -fi - -if [ $quiet != 1 ]; then - #make copy of Calpont.xml - /bin/cp -f $installdir/etc/Calpont.xml $installdir/etc/Calpont.xml.rpmsave > /dev/null 2>&1 - /bin/cp -f $installdir/mysql/my.cnf $installdir/mysql/my.cnf.rpmsave > /dev/null 2>&1 -fi - -#umount file systems -if [ $user = "root" ]; then - rm -f $installdir/data*/OAMdbrootCheck > /dev/null 2>&1 -else - sudo rm -f $installdir/data*/OAMdbrootCheck > /dev/null 2>&1 -fi - -#tell user to run post configure script -echo " " -echo "Calpont uninstall completed" - -exit 0 - diff --git a/oam/install_scripts/syslogSetup.sh b/oam/install_scripts/syslogSetup.sh index 549ba01d6..0ab0d3aa3 100644 --- a/oam/install_scripts/syslogSetup.sh +++ b/oam/install_scripts/syslogSetup.sh @@ -161,7 +161,7 @@ if [ ! -z "$syslog_conf" ] ; then if [ $rsyslog7 == 1 ]; then rm -f /etc/rsyslog.d/49-calpont.conf cat ${columnstoreSyslogFile7} >> ${syslog_conf} - chown syslog:adm /var/log/Calpont + chown syslog:adm /var/log/Columnstore else cat ${columnstoreSyslogFile} >> ${syslog_conf} fi @@ -228,7 +228,7 @@ test -f $installdir/post/functions && . $installdir/post/functions number=$RANDOM cplogger -i 100 "InfiniDB Log Test: $number" sleep 3 -egrep -qs "InfiniDB Log Test: $number" /var/log/Calpont/info.log +egrep -qs "InfiniDB Log Test: $number" /var/log/Columnstore/info.log if [ $? -eq 0 ]; then echo "InfiniDB System Logging working" exit 0 diff --git a/oam/install_scripts/syslogSetup.sh~ b/oam/install_scripts/syslogSetup.sh~ deleted file mode 100644 index 60ac3c7bb..000000000 --- a/oam/install_scripts/syslogSetup.sh~ +++ /dev/null @@ -1,262 +0,0 @@ -#!/bin/bash -# -# $Id: syslogSetup.sh 421 2007-04-05 15:46:55Z dhill $ -# -# syslogSetup.sh - install / uninstall Calpont InfiniDB system logging configuration - -# no point in going any further if not root... (only works in bash) -test $EUID -eq 0 || exit 0 - -prefix=/usr/local -installdir=$prefix/MariaDB/Columnstore -syslog_conf=nofile -rsyslog7=0 - -for arg in "$@"; do - if [ `expr -- "$arg" : '--prefix='` -eq 9 ]; then - prefix="`echo $arg | awk -F= '{print $2}'`" - installdir=$prefix/MariaDB/Columnstore - elif [ `expr -- "$arg" : '--installdir='` -eq 13 ]; then - installdir="`echo $arg | awk -F= '{print $2}'`" - prefix=`dirname $installdir` - elif [ `expr -- "$arg" : '--..*'` -ge 3 ]; then - echo "ignoring unknown argument: $arg" 1>&2 - elif [ `expr -- "$arg" : '--'` -eq 2 ]; then - shift - break - else - break - fi - shift -done - -if [ $installdir != "/usr/local/MariaDB/Columnstore" ]; then - export INFINIDB_INSTALL_DIR=$installdir - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INFINIDB_INSTALL_DIR/lib -fi - -calpontSyslogFile=$installdir/bin/calpontSyslog -calpontSyslogFile7=$installdir/bin/calpontSyslog7 - -checkSyslog() { -#check which syslog daemon is being used -#first check which is running -daemon="nodaemon" -cnt=`ps -ef | grep -v grep | grep syslog-ng | wc -l` -if [ $cnt -gt 0 ]; then - daemon="syslog-ng" -else cnt=`ps -ef | grep -v grep | grep rsyslog | wc -l` - if [ $cnt -ge 1 ]; then - daemon="rsyslog" - else cnt=`ps -ef | grep -v grep | grep syslogd | wc -l` - if [ $cnt -ge 1 ]; then - if [ "$daemon" != "rsyslog" ]; then - daemon=syslog - fi - fi - fi -fi - -#if none running, check installed -if [ "$daemon" = "nodaemon" ]; then - if [ -f /etc/init.d/syslog ]; then - daemon="syslog" - /etc/init.d/syslog start > /dev/null 2>&1 - elif [ -f /etc/init.d/rsyslog ]; then - daemon="rsyslog" - /etc/init.d/rsyslog start > /dev/null 2>&1 - elif [ -f /etc/init.d/syslog-ng ]; then - daemon="syslog-ng" - /etc/init.d/syslog-ng start > /dev/null 2>&1 - fi -fi - -#if none running or installed, exit -if [ "$daemon" = "nodaemon" ]; then - echo "" - echo "*** No System Logging Application found (syslog, rsyslog, or syslog-ng)" - echo "*** For InfiniDB System Logging functionality, install a System Logging package and reinstall InfiniDB" - echo "" - exit 1 -fi - -#check which syslog config file is installed -if [ "$daemon" = "syslog-ng" ]; then - if [ -f /etc/syslog-ng/syslog-ng.conf ]; then - syslog_conf=/etc/syslog-ng/syslog-ng.conf - calpontSyslogFile=$installdir/bin/calpontSyslog-ng - echo "" - echo "System logging being used: syslog-ng" - echo "" - fi -elif [ "$daemon" = "rsyslog" ]; then - #check if rsyslog version 7 or greater - rsyslogd -v > /tmp/rsyslog.ver - cnt=`grep "rsyslogd 7" /tmp/rsyslog.ver | wc -l` - if [ $cnt -gt 0 ]; then - rsyslog7=1 - fi - cnt=`grep "rsyslogd 8" /tmp/rsyslog.ver | wc -l` - if [ $cnt -gt 0 ]; then - rsyslog7=1 - fi - cnt=`grep "rsyslogd 9" /tmp/rsyslog.ver | wc -l` - if [ $cnt -gt 0 ]; then - rsyslog7=1 - fi - - if [ -f /etc/rsyslog.conf ]; then - cnt=`grep "/etc/rsyslog.d/" /etc/rsyslog.conf | wc -l` - if [ $cnt -gt 0 ]; then - if [ $rsyslog7 == 1 ]; then - syslog_conf=/etc/rsyslog.d/49-calpont.conf - else - syslog_conf=/etc/rsyslog.d/calpont.conf - fi - else - syslog_conf=/etc/rsyslog.conf - fi - echo "" - echo "System logging being used: rsyslog" - echo "" - fi -elif [ "$daemon" = "syslog" ]; then - if [ -f /etc/syslog.conf ]; then - syslog_conf=/etc/syslog.conf - echo "" - echo "System logging being used: syslog" - echo "" - elif [ -d /etc/syslog-ng/syslog-ng.conf ]; then - syslog_conf=/etc/syslog-ng/syslog-ng.conf - calpontSyslogFile=$installdir/bin/calpontSyslog-ng - echo "" - echo "System logging being used: syslog-ng" - echo "" - fi -else - echo "" - echo "*** No System Logging Application found (syslog, rsyslog, or syslog-ng)" - echo "*** For InfiniDB System Logging functionality, install a System Logging package and reinstall InfiniDB" - echo "" - exit 1 -fi - -} - -install() { -checkSyslog -if [ ! -z "$syslog_conf" ] ; then - $installdir/bin/setConfig -d Installation SystemLogConfigFile ${syslog_conf} >/dev/null 2>&1 - if [ "$syslog_conf" != /etc/rsyslog.d/calpont.conf ]; then - rm -f ${syslog_conf}.calpontSave - cp ${syslog_conf} ${syslog_conf}.calpontSave >/dev/null 2>&1 - sed -i '/# Calpont/,$d' ${syslog_conf}.calpontSave > /dev/null 2>&1 - fi - - egrep -qs 'Calpont Database Platform Logging' ${syslog_conf} - if [ $? -ne 0 ]; then - #set the syslog for calpont logging - # remove older version incase it was installed by previous build - rm -rf /etc/rsyslog.d/calpont.conf - if [ $rsyslog7 == 1 ]; then - rm -f /etc/rsyslog.d/49-calpont.conf - cat ${calpontSyslogFile7} >> ${syslog_conf} - chown syslog:adm /var/log/Calpont - else - cat ${calpontSyslogFile} >> ${syslog_conf} - fi - fi - - pkill -hup syslogd > /dev/null 2>&1 - pkill -hup syslog-ng > /dev/null 2>&1 - pkill -hup rsyslogd > /dev/null 2>&1 - /etc/init.d/rsyslog restart > /dev/null 2>&1 - systemctl restart rsyslog.service > /dev/null 2>&1 -fi - -} - -uninstall() { -checkSyslog -if [ ! -z "$syslog_conf" ] ; then - if [ "$syslog_conf" != /etc/rsyslog.d/calpont.conf ]; then - if [ "$syslog_conf" != /etc/rsyslog.d/49-calpont.conf ]; then - egrep -qs 'Calpont Database Platform Logging' ${syslog_conf} - if [ $? -eq 0 ]; then - if [ -f ${syslog_conf}.calpontSave ] ; then - #uninstall the syslog for calpont logging - mv -f ${syslog_conf} ${syslog_conf}.calpontBackup - mv -f ${syslog_conf}.calpontSave ${syslog_conf} >/dev/null 2>&1 - if [ ! -f ${syslog_conf} ] ; then - cp ${syslog_conf}.calpontBackup ${syslog_conf} - fi - fi - fi - sed -i '/# Calpont/,$d' ${syslog_conf} > /dev/null 2>&1 - else - rm -f "$syslog_conf" - fi - else - rm -f "$syslog_conf" - fi - - pkill -hup syslogd > /dev/null 2>&1 - pkill -hup syslog-ng > /dev/null 2>&1 - /etc/init.d/rsyslog restart > /dev/null 2>&1 - systemctl restart rsyslog.service > /dev/null 2>&1 - - $installdir/bin/setConfig -d Installation SystemLogConfigFile "unassigned" - -fi - -} - -status() { -checkSyslog -if [ ! -z "$syslog_conf" ] ; then - egrep -qs 'Calpont Database Platform Logging' ${syslog_conf} - if [ $? -eq 0 ]; then - echo $syslog_conf - else - echo "No System Log Config File configured for InfiniDB System Logging" - fi -fi -} - -check() { -test -f $installdir/post/functions && . $installdir/post/functions -number=$RANDOM -cplogger -i 100 "InfiniDB Log Test: $number" -sleep 3 -egrep -qs "InfiniDB Log Test: $number" /var/log/Calpont/info.log -if [ $? -eq 0 ]; then - echo "InfiniDB System Logging working" - exit 0 -else - echo "InfiniDB System Logging not working" - exit 1 -fi -} - - -case "$1" in - install) - install - ;; - uninstall) - uninstall - ;; - status) - status - ;; - check) - check - ;; - *) - echo $"Usage: $0 {install|uninstall|status|check)" - exit 1 -esac - - -exit 0 -/ diff --git a/oam/install_scripts/transactionLog b/oam/install_scripts/transactionLog index 3763b5cd2..f1cbbf6bc 100644 --- a/oam/install_scripts/transactionLog +++ b/oam/install_scripts/transactionLog @@ -8,5 +8,5 @@ MAILTO=root HOME=/ # Translation Log Archiver, default to every 10 minutes -*/10 * * * * root /usr/local/Calpont/bin/transactionLogArchiver.sh +*/10 * * * * root /usr/local/MariaDB/Columnstore/bin/transactionLogArchiver.sh diff --git a/oam/install_scripts/transactionLogArchiver.sh b/oam/install_scripts/transactionLogArchiver.sh index 7e5a47f39..b5f74d234 100755 --- a/oam/install_scripts/transactionLogArchiver.sh +++ b/oam/install_scripts/transactionLogArchiver.sh @@ -3,7 +3,7 @@ # $Id: transactionLogArchiver.sh 1375 2009-04-30 13:53:06Z rdempsey $ DATE=`date +'%s'` -CDATA=/var/log/Calpont/data +CDATA=/var/log/Columnstore/data if [ ! -d $CDATA/archive ]; then echo "Installation error: $CDATA/archive is not a directory." 1>&2 diff --git a/oam/oamcpp/liboamcpp.cpp b/oam/oamcpp/liboamcpp.cpp index 0b07f2faf..f475ba27d 100644 --- a/oam/oamcpp/liboamcpp.cpp +++ b/oam/oamcpp/liboamcpp.cpp @@ -2320,7 +2320,7 @@ namespace oam moduleName = boost::get<0>(st); } catch (...) { - //system("touch /var/log/Calpont/test2"); + //system("touch /var/log/Columnstore/test2"); } for ( int i = 0 ; i < 5 ; i++) @@ -2342,7 +2342,7 @@ namespace oam } catch(...) { - //system("touch /var/log/Calpont/test3"); + //system("touch /var/log/Columnstore/test3"); } sleep(1); @@ -2724,7 +2724,7 @@ namespace oam if (localModule.empty() ) { // not found - //system("touch /var/log/Calpont/test8"); + //system("touch /var/log/Columnstore/test8"); exceptionControl("getModuleInfo", API_FAILURE); } @@ -2785,7 +2785,7 @@ namespace oam moduleName = boost::get<0>(st); } catch (...) { - //system("touch /var/log/Calpont/test4"); + //system("touch /var/log/Columnstore/test4"); exceptionControl("getMyProcessStatus", API_FAILURE); } @@ -2826,7 +2826,7 @@ namespace oam { // shutdown connection processor.shutdown(); - //system("touch /var/log/Calpont/test5"); + //system("touch /var/log/Columnstore/test5"); exceptionControl("getMyProcessStatus", API_FAILURE); } @@ -2838,14 +2838,14 @@ namespace oam } catch(...) { - //system("touch /var/log/Calpont/test6"); + //system("touch /var/log/Columnstore/test6"); processor.shutdown(); exceptionControl("getMyProcessStatus", API_INVALID_PARAMETER); } } catch(...) { - //system("touch /var/log/Calpont/test7"); + //system("touch /var/log/Columnstore/test7"); processor.shutdown(); exceptionControl("getMyProcessStatus", API_INVALID_PARAMETER); } @@ -2857,7 +2857,7 @@ namespace oam catch(...) {} } - //system("touch /var/log/Calpont/test9"); + //system("touch /var/log/Columnstore/test9"); exceptionControl("getMyProcessStatus", API_FAILURE); return boost::make_tuple(-1, "", -1); @@ -3390,7 +3390,7 @@ namespace oam //make 1 log file made up of archive and current *.log (void)system("touch /tmp/logs"); - string logdir("/var/log/Calpont"); + string logdir("/var/log/Columnstore"); if (access(logdir.c_str(), W_OK) != 0) logdir = "/tmp"; string cmd = "ls " + path + logdir + "/archive | grep '" + logFileName + "' > /tmp/logfiles"; (void)system(cmd.c_str()); @@ -7124,7 +7124,7 @@ namespace oam * * Function: actionMysqlCalpont * - * Purpose: mysql-Calpont service command + * Purpose: mysql-Columnstore service command * ****************************************************************************/ @@ -7160,7 +7160,7 @@ namespace oam return; // check if mysql-Capont is installed - string mysqlscript = InstallDir + "/mysql/mysql-Calpont"; + string mysqlscript = InstallDir + "/mysql/mysql-Columnstore"; if (access(mysqlscript.c_str(), X_OK) != 0) return; diff --git a/oam/oamcpp/liboamcpp.h b/oam/oamcpp/liboamcpp.h index 9d6cd4805..462f9ad07 100644 --- a/oam/oamcpp/liboamcpp.h +++ b/oam/oamcpp/liboamcpp.h @@ -358,12 +358,12 @@ namespace oam */ const std::string LogFile[] = { - "local1.=crit -/var/log/Calpont/crit.log", - "local1.=err -/var/log/Calpont/err.log", - "local1.=warning -/var/log/Calpont/warning.log", - "local1.=info -/var/log/Calpont/info.log", - "local1.=debug -/var/log/Calpont/debug.log", - "local2.=crit -/var/log/Calpont/data/data_mods.log", + "local1.=crit -/var/log/Columnstore/crit.log", + "local1.=err -/var/log/Columnstore/err.log", + "local1.=warning -/var/log/Columnstore/warning.log", + "local1.=info -/var/log/Columnstore/info.log", + "local1.=debug -/var/log/Columnstore/debug.log", + "local2.=crit -/var/log/Columnstore/data/data_mods.log", "" }; diff --git a/oam/post/functions b/oam/post/functions index ade49f609..84d0ff253 100755 --- a/oam/post/functions +++ b/oam/post/functions @@ -7,7 +7,7 @@ if [ -z "$INFINIDB_INSTALL_DIR" ]; then fi if [ -z "$INFINIDB_INSTALL_DIR" ]; then - INFINIDB_INSTALL_DIR=/usr/local/Calpont + INFINIDB_INSTALL_DIR=/usr/local/MariaDB/Columnstore fi export INFINIDB_INSTALL_DIR=$INFINIDB_INSTALL_DIR diff --git a/oam/replaytxnlog/replaytxnlog.cpp b/oam/replaytxnlog/replaytxnlog.cpp index 7327e5e36..936764934 100644 --- a/oam/replaytxnlog/replaytxnlog.cpp +++ b/oam/replaytxnlog/replaytxnlog.cpp @@ -349,7 +349,7 @@ list ReplayTxnLog::getLogFileNames() oam.getLogFile("pm1", "data", fullLogFileName); #else */ - fullLogFileName = "/var/log/Calpont/data/data_mods.log"; + fullLogFileName = "/var/log/Columnstore/data/data_mods.log"; /* #endif */ diff --git a/oamapps/calpontConsole/Makefile b/oamapps/calpontConsole/Makefile index 55a73ad1c..693cf51cb 100755 --- a/oamapps/calpontConsole/Makefile +++ b/oamapps/calpontConsole/Makefile @@ -57,7 +57,7 @@ tdriver: tdriver.o $(LINK.cpp) -o $@ $^ $(TLIBS) test: $(LIBRARY) tdriver - rm -f /var/log/Calpont/uiCommands.log + rm -f /var/log/Columnstore/uiCommands.log LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib ./tdriver %-gcov.o: %.cpp @@ -69,7 +69,7 @@ tdriver-gcov: calpontConsole-gcov.o $(subst .o,-gcov.o,$(OBJS)) leakcheck: $(LIBRARY) tdriver - rm -f /var/log/Calpont/uiCommands.log + rm -f /var/log/Columnstore/uiCommands.log LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib valgrind --tool=memcheck --leak-check=yes ./tdriver %.d: %.cpp diff --git a/oamapps/calpontConsole/calpontConsole.h b/oamapps/calpontConsole/calpontConsole.h index ec4caff05..e313d54c0 100644 --- a/oamapps/calpontConsole/calpontConsole.h +++ b/oamapps/calpontConsole/calpontConsole.h @@ -57,7 +57,7 @@ const int ArgNum = 10; const int DescNumMax = 10; const int cmdNum = 68; -const std::string DEFAULT_LOG_FILE = "/var/log/Calpont/uiCommands.log"; +const std::string DEFAULT_LOG_FILE = "/var/log/Columnstore/uiCommands.log"; std::ofstream logFile; /** diff --git a/oamapps/calpontDB/calpontDB.cpp b/oamapps/calpontDB/calpontDB.cpp index 1307f490c..7369f12f4 100644 --- a/oamapps/calpontDB/calpontDB.cpp +++ b/oamapps/calpontDB/calpontDB.cpp @@ -103,7 +103,7 @@ int main(int argc, char **argv) { dbrm.setSystemSuspended(true); sleep(5); - string cmd = startup::StartUp::installDir() + "/bin/save_brm > /var/log/Calpont/save_brm.log1 2>&1"; + string cmd = startup::StartUp::installDir() + "/bin/save_brm > /var/log/Columnstore/save_brm.log1 2>&1"; int rtnCode = system(cmd.c_str()); if (rtnCode == 0) { diff --git a/oamapps/calpontSupport/alarmReport.sh b/oamapps/calpontSupport/alarmReport.sh index 6d58f7b9b..eabd7fe10 100755 --- a/oamapps/calpontSupport/alarmReport.sh +++ b/oamapps/calpontSupport/alarmReport.sh @@ -23,12 +23,12 @@ echo " " echo "-- Today's Alarms --" echo " " -cat /var/log/Calpont/alarm.log 2>/dev/null +cat /var/log/Columnstore/alarm.log 2>/dev/null -if test -f /var/log/Calpont/archive/alarm.log-$DATE ; then +if test -f /var/log/Columnstore/archive/alarm.log-$DATE ; then echo "-- Archived Alarms --" echo " " - cat /var/log/Calpont/archive/alarm.log-$DATE 2>/dev/null + cat /var/log/Columnstore/archive/alarm.log-$DATE 2>/dev/null fi } > /tmp/logReport.log diff --git a/oamapps/calpontSupport/configReport.sh b/oamapps/calpontSupport/configReport.sh index 14d72a4b2..62f16e724 100755 --- a/oamapps/calpontSupport/configReport.sh +++ b/oamapps/calpontSupport/configReport.sh @@ -33,9 +33,9 @@ if test -f /sbin/chkconfig ; then echo "################# /sbin/chkconfig --list | grep infinidb #################" echo " " $SUDO /sbin/chkconfig --list | grep infinidb 2>/dev/null - echo "################# /sbin/chkconfig --list | grep mysql-Calpont #################" + echo "################# /sbin/chkconfig --list | grep mysql-Columnstore #################" echo " " - $SUDO /sbin/chkconfig --list | grep mysql-Calpont 2>/dev/null + $SUDO /sbin/chkconfig --list | grep mysql-Columnstore 2>/dev/null fi echo " " diff --git a/oamapps/calpontSupport/configReport.sh~ b/oamapps/calpontSupport/configReport.sh~ new file mode 100755 index 000000000..14d72a4b2 --- /dev/null +++ b/oamapps/calpontSupport/configReport.sh~ @@ -0,0 +1,64 @@ +#!/bin/bash +# +# $Id: hardwareReport.sh 421 2007-04-05 15:46:55Z dhill $ +# +if [ $1 ] ; then + MODULE=$1 +else + MODULE="pm1" +fi + +if [ $2 ] ; then + INSTALLDIR=$2 +else + INSTALLDIR="/usr/local/MariaDB/Columnstore" +fi + +if [ $USER = "root" ]; then + SUDO=" " +else + SUDO="sudo" +fi + +$SUDO rm -f /tmp/${MODULE}_configReport.txt + +{ +echo " " +echo "******************** Configuration/Status Report for ${MODULE} ********************" +echo " " + +if test -f /sbin/chkconfig ; then + echo "-- chkconfig configuration --" + echo " " + echo "################# /sbin/chkconfig --list | grep infinidb #################" + echo " " + $SUDO /sbin/chkconfig --list | grep infinidb 2>/dev/null + echo "################# /sbin/chkconfig --list | grep mysql-Calpont #################" + echo " " + $SUDO /sbin/chkconfig --list | grep mysql-Calpont 2>/dev/null +fi + +echo " " +echo "-- fstab Configuration --" +echo " " +echo "################# cat /etc/fstab #################" +echo " " +$SUDO cat /etc/fstab 2>/dev/null + +echo " " +echo "-- Server Processes --" +echo " " +echo "################# ps axu #################" +echo " " +$SUDO ps axu + +echo " " +echo "-- Server Processes with resource usage --" +echo " " +echo "################# top -b -n 1 #################" +echo " " +$SUDO top -b -n 1 + +} > /tmp/${MODULE}_configReport.txt + +exit 0 \ No newline at end of file diff --git a/oamapps/calpontSupport/logReport.sh b/oamapps/calpontSupport/logReport.sh index b02aec7de..f03ade048 100755 --- a/oamapps/calpontSupport/logReport.sh +++ b/oamapps/calpontSupport/logReport.sh @@ -22,6 +22,6 @@ fi $SUDO rm -f /tmp/${MODULE}_logReport.tar.gz -tar -zcf /tmp/${MODULE}_logReport.tar.gz /var/log/Calpont > /dev/null 2>&1 +tar -zcf /tmp/${MODULE}_logReport.tar.gz /var/log/Columnstore > /dev/null 2>&1 exit 0 diff --git a/oamapps/mcsadmin/Makefile b/oamapps/mcsadmin/Makefile index 42b40d138..5ffafdc64 100755 --- a/oamapps/mcsadmin/Makefile +++ b/oamapps/mcsadmin/Makefile @@ -57,7 +57,7 @@ tdriver: tdriver.o $(LINK.cpp) -o $@ $^ $(TLIBS) test: $(LIBRARY) tdriver - rm -f /var/log/Calpont/uiCommands.log + rm -f /var/log/Columnstore/uiCommands.log LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib ./tdriver %-gcov.o: %.cpp @@ -69,7 +69,7 @@ tdriver-gcov: mcsadmin-gcov.o $(subst .o,-gcov.o,$(OBJS)) leakcheck: $(LIBRARY) tdriver - rm -f /var/log/Calpont/uiCommands.log + rm -f /var/log/Columnstore/uiCommands.log LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib valgrind --tool=memcheck --leak-check=yes ./tdriver %.d: %.cpp diff --git a/oamapps/mcsadmin/Makefile~ b/oamapps/mcsadmin/Makefile~ deleted file mode 100755 index 7df230913..000000000 --- a/oamapps/mcsadmin/Makefile~ +++ /dev/null @@ -1,83 +0,0 @@ -:****************************************************************************************** -# $Id: Makefile 2339 2012-05-02 18:20:56Z pleblanc $ -# -# Copyright (C) 2009-2012 Calpont Corporation -# All rights reserved -#*****************************************************************************************/ -include ../../rules.mak - -# The name of the executable - -PROGRAM=mcadmin -VERSION=1.0.0 - -# List all the source files here -SRCS=mcadmin.cpp - -# Run-time directories for project shared libs -CALPONT_LIBRARY_PATH=$(EXPORT_ROOT)/lib - -# Preprocessor flags -CPPFLAGS=-I$(EXPORT_ROOT)/include -I/usr/include/libxml2 - -# Compiler flags -CXXFLAGS+=$(DEBUG_FLAGS) -Wall - -# Linker flags -# we need to add some search paths here because on a boostrap build we won't find liboamcpp -# anywhere except in ../oamcpp -CLIBS=-L../oamcpp -L$(EXPORT_ROOT)/lib $(IDB_COMMON_LIBS) $(IDB_SNMP_LIBS) -LDFLAGS+=$(CLIBS) -Wl,--rpath -Wl,/usr/local/MariaDB/Columnstore/lib -TLIBS=-L/usr/local/lib -lcppunit -ldl -GLIBS=$(CLIBS) - -.PHONY: install clean test docs FORCE coverage leakcheck - -GLIBS=-lcppunit -ldl - -OBJS=$(SRCS:.cpp=.o) - -$(PROGRAM): $(OBJS) - $(LINK.cpp) -o $@ $^ -Wl,-Bstatic -lreadline -Wl,-Bdynamic -lncurses -ltinfo - -install: bootstrap $(PROGRAM) - mkdir -p $(INSTALL_ROOT_BIN) - $(INSTALL) $(PROGRAM) $(INSTALL_ROOT_BIN) - -bootstrap: - -clean: - rm -f $(OBJS) tdriver.o $(PROGRAM) $(LIBRARY) tdriver core *~ *.tag *-gcov.* *.gcov tdriver-gcov *.d *.d.* tdriver.output - rm -rf html - -docs: - doxygen $(EXPORT_ROOT)/etc/Doxyfile - -tdriver: tdriver.o - $(LINK.cpp) -o $@ $^ $(TLIBS) - -test: $(LIBRARY) tdriver - rm -f /var/log/Calpont/uiCommands.log - LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib ./tdriver - -%-gcov.o: %.cpp - $(COMPILE.cpp) -o $@ $^ - -tdriver-gcov: CXXFLAGS+=-fprofile-arcs -ftest-coverage -tdriver-gcov: mcadmin-gcov.o $(subst .o,-gcov.o,$(OBJS)) - $(LINK.cpp) -o $@ $^ $(GLIBS) - - -leakcheck: $(LIBRARY) tdriver - rm -f /var/log/Calpont/uiCommands.log - LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib valgrind --tool=memcheck --leak-check=yes ./tdriver - -%.d: %.cpp - @set -e; rm -f $@; \ - $(CC) -MM $(CPPFLAGS) $< > $@.$$$$; \ - sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ - rm -f $@.$$$$ - -ifndef BOOTSTRAP --include $(SRCS:.cpp=.d) tdriver.d -endif diff --git a/oamapps/mcsadmin/mcadmin.cpp~ b/oamapps/mcsadmin/mcadmin.cpp~ deleted file mode 100644 index 467420c7f..000000000 --- a/oamapps/mcsadmin/mcadmin.cpp~ +++ /dev/null @@ -1,8496 +0,0 @@ -/* Copyright (C) 2014 InfiniDB, Inc. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; version 2 of - the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - MA 02110-1301, USA. */ - - -/****************************************************************************************** - * $Id: calpontConsole.cpp 3110 2013-06-20 18:09:12Z dhill $ - * - ******************************************************************************************/ - -#include -#include -extern int h_errno; - -#include "calpontConsole.h" -#include "boost/filesystem/operations.hpp" -#include "boost/filesystem/path.hpp" -#include "boost/tokenizer.hpp" -#include "sessionmanager.h" -#include "dbrm.h" -namespace fs = boost::filesystem; - -using namespace snmpmanager; -using namespace std; -using namespace oam; -using namespace config; - -#include "installdir.h" - -// Variables shared in both main and functions - -Config* fConfig = 0; -string Section; -int CmdID = 0; -string CmdList[cmdNum]; -int CmdListID[cmdNum]; -string cmdName; -const string SECTION_NAME = "Cmd"; -int serverInstallType; -string systemName; -string parentOAMModule; -string localModule; -bool rootUser = true; -string HOME = "/root"; - -bool repeatStop; - -static void checkPromptThread(); - -bool waitForActive() -{ - Oam oam; - SystemStatus systemstatus; - SystemProcessStatus systemprocessstatus; - bool bfirst = true; - - for (int i = 0 ; i < 1200 ; i ++) - { - sleep (3); - try - { - oam.getSystemStatus(systemstatus); - if (systemstatus.SystemOpState == ACTIVE) - { - return true; - } - if (systemstatus.SystemOpState == FAILED) - { - return false; - } - if (systemstatus.SystemOpState == MAN_OFFLINE) - { - return false; - } - cout << "." << flush; - - // Check DMLProc for a switch to BUSY_INIT. - // In such a case, we need to print a message that rollbacks - // are occurring and will take some time. - if (bfirst) // Once we've printed our message, no need to waste cpu looking - { - oam.getProcessStatus(systemprocessstatus); - for (unsigned int i = 0 ; i < systemprocessstatus.processstatus.size(); i++) - { - if (systemprocessstatus.processstatus[i].ProcessName == "DMLProc") - { - if (systemprocessstatus.processstatus[i].ProcessOpState == oam::ROLLBACK_INIT) - { - cout << endl << endl <<" System Not Ready, DMLProc is checking/processing rollback of abandoned transactions. Processing could take some time, please wait..." << flush; - bfirst = false; - } - // At this point, we've found our DMLProc, so there's no need to spin the for loop - // any further. - break; - } - } - } - } - catch (...) - { - // At some point, we need to give up, ProcMgr just isn't going to respond. - if (i > 60) // 3 minutes - { - cout << "ProcMgr not responding while waiting for system to start"; - break; - } - } - } - - return false; -} - -bool waitForStop() -{ - Oam oam; - SystemStatus systemstatus; - SystemProcessStatus systemprocessstatus; - - for (int i = 0 ; i < 1200 ; i ++) - { - sleep (3); - try - { - oam.getSystemStatus(systemstatus); - if (systemstatus.SystemOpState == MAN_OFFLINE) - { - return true; - } - if (systemstatus.SystemOpState == FAILED) - { - return false; - } - cout << "." << flush; - } - catch (...) - { - // At some point, we need to give up, ProcMgr just isn't going to respond. - if (i > 60) // 3 minutes - { - cout << "ProcMgr not responding while waiting for system to start"; - break; - } - } - } - - return false; -} - -//------------------------------------------------------------------------------ -// Signal handler to catch SIGTERM signal to terminate the process -//------------------------------------------------------------------------------ -void handleSigTerm(int i) -{ - std::cout << "Received SIGTERM to terminate Calpont Console..." << std::endl; - -} - -//------------------------------------------------------------------------------ -// Signal handler to catch Control-C signal to terminate the process -//------------------------------------------------------------------------------ -void handleControlC(int i) -{ - std::cout << "Received Control-C to terminate the console..." << std::endl; - exit(0); -} - -//------------------------------------------------------------------------------ -// Initialize signal handling -//------------------------------------------------------------------------------ -void setupSignalHandlers() -{ -#ifdef _MSC_VER - //FIXME -#else - // Control-C signal to terminate a command - struct sigaction act; - memset(&act, 0, sizeof(act)); - act.sa_handler = handleControlC; - sigaction(SIGINT, &act, 0); - - // catch SIGTERM signal to terminate the program -// memset(&act, 0, sizeof(act)); -// act.sa_handler = handleSigTerm; -// sigaction(SIGTERM, &act, 0); -#endif -} - -int main(int argc, char *argv[]) -{ -#ifndef _MSC_VER - setuid(0); // set effective ID to root; ignore return status -#endif - setlocale(LC_ALL, ""); - - Oam oam; - char* pcommand = 0; - string arguments[ArgNum]; - - const char* p = getenv("HOME"); - if (!p) - p = ""; - else - HOME = p; - - string ccHistoryFile = HOME + "/.cc_history"; - - string cf = startup::StartUp::installDir() + "/etc/" + ConsoleCmdsFile; - fConfig = Config::makeConfig(cf); - -// setupSignalHandlers(); - - // Get System Name - try{ - oam.getSystemConfig("SystemName", systemName); - } - catch(...) - { - cout << endl << "**** Failed : Failed to read systemName Name" << endl; - exit(-1); - } - - //get parentModule Name - parentOAMModule = getParentOAMModule(); - - // get Local Module Name and Single Server Install Indicator - oamModuleInfo_t st; - try { - st = oam.getModuleInfo(); - localModule = boost::get<0>(st); - serverInstallType = boost::get<5>(st); - } - catch (...) { - cout << endl << "**** Failed : Failed to read Local Module Name" << endl; - exit(-1); - } - - //check if root-user - int user; - user = getuid(); - if (user != 0) - rootUser = false; - - // create/open command log file if not created - - logFile.open(DEFAULT_LOG_FILE.c_str(), ios::app); - - if (geteuid() == 0 && !logFile) - { - cerr << "UI Command log file cannot be opened" << endl; - } - writeLog("Start of a command session!!!"); - - // get and sort command list for future help display - - for(int i=0; igetConfig(Section, "Name"); - if (cmdName.empty()) - // no command skip - continue; - - CmdList[i] = cmdName; - CmdListID[i] = i; - - // sort - - for(int j=0; j 1) - { - int j=0; - string command; - for(; argc > 1; j++, argc--) - { - arguments[j] = argv[j+1]; - command.append(arguments[j]); - command.append(" "); - } - // add to history and UI command log file - read_history(ccHistoryFile.c_str()); - add_history (command.c_str()); - writeLog(command.c_str()); - write_history(ccHistoryFile.c_str()); - - checkRepeat(arguments, j); - } - else - { - cout << endl << "Calpont InfiniDB Command Console" << endl; - cout << " enter 'help' for list of commands" << endl; - cout << " enter 'exit' to exit the Calpont InfiniDB Command Console" << endl; - cout << " use up/down arrows to recall commands" << endl << endl; - - // output current active alarm stats - printAlarmSummary(); - printCriticalAlarms(); - - //read readline history file - read_history(ccHistoryFile.c_str()); - - while (true) - { - //get parentModule Name - parentOAMModule = getParentOAMModule(); - - // flush agument list - for(int j=0; j < ArgNum; j++) - { - arguments[j].clear(); - } - - // read input - pcommand = readline("InfiniDB> "); - - if (!pcommand) // user hit -D - pcommand = strdup("exit"); - - else if (!*pcommand) - { - // just an enter-key was entered, ignore and reprompt - continue; - } - - // add to history and UI command log file - add_history (pcommand); - writeLog(pcommand); - write_history(ccHistoryFile.c_str()); - - string command = pcommand; - - //check if a argument was entered as a set of char with quotes around them - int commandLoc=0; - int numberArgs=0; - bool validCMD=true; - - for(int i=0; i < ArgNum; i++) - { - string::size_type pos = command.find(" ", commandLoc); - string::size_type pos1 = command.find("\"", commandLoc); - string::size_type pos3 = command.find("\'", commandLoc); - if ( (pos == string::npos && pos1 == string::npos) || - (pos == string::npos && pos3 == string::npos) ) { - //end of the command - string argtemp = command.substr(commandLoc,80); - if ( argtemp != "" ) { - arguments[numberArgs] = argtemp; - numberArgs++; - } - break; - } - if (pos < pos1 && pos < pos3) { - // hit ' ' first - string argtemp = command.substr(commandLoc, pos-commandLoc); - if ( argtemp != "" ) { - arguments[numberArgs] = argtemp; - numberArgs++; - } - commandLoc = pos+1; - } - else - { - if ( pos >= pos1 ) { - //hit " first - string::size_type pos2 = command.find("\"", pos1+1); - if (pos2 != string::npos) { - arguments[numberArgs] = command.substr(pos1+1,pos2-pos1-1); - numberArgs++; - commandLoc = pos2+1; - } - else - { - cout << "Invalid Command, mismatching use of quotes" << endl; - validCMD=false; - break; - } - } - else - { - //hit ' first - string::size_type pos2 = command.find("\'", pos3+1); - if (pos2 != string::npos) { - arguments[numberArgs] = command.substr(pos3+1,pos2-pos3-1); - numberArgs++; - commandLoc = pos2+1; - } - else - { - cout << "Invalid Command, mismatching use of quotes" << endl; - validCMD=false; - break; - } - } - } - } - if (validCMD) - checkRepeat(arguments, numberArgs); - - free (pcommand); - } - } -} - -void checkRepeat(string* arguments, int argNumber) -{ - Oam oam; - bool repeat = false; - int repeatCount = 5; - for ( int i=0; i < argNumber ; i++) - { - if( arguments[i].find("-r") == 0) { - // entered - if ( arguments[i] != "-r") { - //strip report count off - repeatCount = atoi(arguments[i].substr(2,10).c_str()); - if ( repeatCount < 1 || repeatCount > 60 ) { - cout << "Failed: incorrect repeat count entered, valid range is 1-60, set to default of 5" << endl; - repeatCount = 5; - } - } - repeat = true; - arguments[i].clear(); - cout << "repeating the command '" << arguments[0] << "' every " << repeatCount << " seconds, enter CTRL-D to stop" << endl; - sleep(5); - break; - } - } - - bool threadCreate = false; - if (repeat) { - while(true) { - system("clear"); - if ( processCommand(arguments) ) - return; - else { - if ( !threadCreate ) { - threadCreate = true; - repeatStop = false; - pthread_t PromptThread; - pthread_create (&PromptThread, NULL, (void*(*)(void*)) &checkPromptThread, NULL); - } - - for ( int i = 0 ; i < repeatCount ; i ++ ) - { - if (repeatStop) - break; - sleep(1); - } - - if (repeatStop) - break; - } - } - } - else - processCommand(arguments); -} - -int processCommand(string* arguments) -{ - Oam oam; - // Possible command line arguments - GRACEFUL_FLAG gracefulTemp = GRACEFUL; - ACK_FLAG ackTemp = ACK_YES; - CC_SUSPEND_ANSWER suspendAnswer = CANCEL; - bool bNeedsConfirm = true; - string password; - - // get command info from Command config file - CmdID = -1; - - // put inputted command into lowercase - string inputCmd = arguments[0]; - transform (inputCmd.begin(), inputCmd.end(), inputCmd.begin(), to_lower()); - - for (int i = 0; i < cmdNum; i++) - { - // put table command into lowercase - string cmdName_LC = CmdList[i]; - transform (cmdName_LC.begin(), cmdName_LC.end(), cmdName_LC.begin(), to_lower()); - - if (cmdName_LC.find(inputCmd) == 0) - { - // command found, ECHO command - cout << cmdName_LC << " " << oam.getCurrentTime() << endl; - CmdID = CmdListID[i]; - break; - } - } - if (CmdID == -1) - { - // get is command in the Support Command list - for (int i = 0;;i++) - { - if (supportCmds[i] == "") - // end of list - break; - if (supportCmds[i].find(inputCmd) == 0) { - // match found, go process it - cout << supportCmds[i] << " " << oam.getCurrentTime() << endl; - int status = ProcessSupportCommand(i, arguments); - if ( status == -1 ) - // didn't process it for some reason - break; - return 1; - } - } - - // command not valid - cout << arguments[0] << ": Unknown Command, type help for list of commands" << endl << endl; - return 1; - } - - switch( CmdID ) - { - case 0: // help - case 1: // ? - { - const string DESC_NAME = "Desc"; - string desc; - string descName; - const string ARG_NAME = "Arg"; - string arg; - string argName; - - string argument1_LC = arguments[1]; - transform (argument1_LC.begin(), argument1_LC.end(), argument1_LC.begin(), to_lower()); - - if (argument1_LC.find("-a") == 0 || argument1_LC == "") - { - // list commands and brief description (Desc1) - cout << endl << "List of commands:" << endl; - cout << "Note: the command must be the first entry entered on the command line" << endl << endl; - cout.setf(ios::left); - cout.width(34); - cout << "Command" << "Description" << endl; - cout.setf(ios::left); - cout.width(34); - cout << "------------------------------" << "--------------------------------------------------------" << endl; - - for(int i=0; igetConfig(Section, "Name"); - if (cmdName.empty() || cmdName == "AVAILABLE") - // no command skip - continue; - cout.setf(ios::left); - cout.width(34); - cout << cmdName << fConfig->getConfig(Section, "Desc1") << endl; - } - cout << endl << "For help on a command, enter 'help' followed by command name" << endl; - } - else - { - if (argument1_LC.find("-v") == 0) - { - // list of commands with their descriptions - cout << endl << "List of commands and descriptions:" << endl << endl; - for(int k=0 ; k < cmdNum ; k++) - { - Section = SECTION_NAME + oam.itoa(CmdListID[k]); - cmdName = fConfig->getConfig(Section, "Name"); - if (cmdName.empty() || cmdName == "AVAILABLE") - //no command skip - continue; - cout << "Command: " << cmdName << endl << endl; - int i=2; - cout << " Description: " << fConfig->getConfig(Section, "Desc1") << endl; - while (true) - { - desc = DESC_NAME + oam.itoa(i); - descName = fConfig->getConfig(Section, desc); - if (descName.empty()) - //end of Desc list - break; - cout << " " << descName << endl; - i++; - } - i=2; - cout << endl << " Arguments: " << fConfig->getConfig(Section, "Arg1") << endl; - while (true) - { - arg = ARG_NAME + oam.itoa(i); - argName = fConfig->getConfig(Section, arg); - if (argName.empty()) - //end of arg list - break; - cout << " " << argName << endl; - i++; - } - cout << endl; - } - } - else - { // description for a single command - int j=0; - for (j = 0; j < cmdNum; j++) - { - // get cmd description - - Section = SECTION_NAME + oam.itoa(j); - - cmdName = fConfig->getConfig(Section, "Name"); - - string cmdName_LC = cmdName; - transform (cmdName_LC.begin(), cmdName_LC.end(), cmdName_LC.begin(), to_lower()); - - if (cmdName_LC == argument1_LC) - { - // command found, output description - cout << endl << " Command: " << cmdName << endl << endl; - int i=2; - cout << " Description: " << fConfig->getConfig(Section, "Desc1") << endl; - while (true) - { - desc = DESC_NAME + oam.itoa(i); - descName = fConfig->getConfig(Section, desc); - if (descName.empty()) - //end of Desc list - break; - cout << " " << descName << endl; - i++; - } - i=2; - cout << endl << " Arguments: " << fConfig->getConfig(Section, "Arg1") << endl; - while (true) - { - arg = ARG_NAME + oam.itoa(i); - argName = fConfig->getConfig(Section, arg); - if (argName.empty()) - //end of arg list - break; - cout << " " << argName << endl; - i++; - } - break; - } - } - if (j == cmdNum) - { - // command not valid - cout << arguments[1] << ": Unknown Command, type help for list of commands" << endl << endl; - break; - } - } - } - cout << endl; - } - break; - - case 2: // exit - case 3: // quit - { - // close the log file - writeLog("End of a command session!!!"); - logFile.close(); - cout << "Exiting the Calpont Command Console" << endl; - - exit (0); - } - break; - - case 4: // getSystemConfig - { - SystemSoftware systemsoftware; - SystemConfig systemconfig; - string returnValue; - - if (arguments[1] == "all" || arguments[1] == "") - { - - // get and all display System config parameters - - try - { - oam.getSystemSoftware(systemsoftware); - oam.getSystemConfig(systemconfig); - - cout << endl << "System Configuration" << endl << endl; - - cout << "SystemName = " << systemconfig.SystemName << endl; - cout << "SoftwareVersion = " << systemsoftware.Version << endl; - cout << "SoftwareRelease = " << systemsoftware.Release << endl; - - cout << "ParentOAMModuleName = " << systemconfig.ParentOAMModule << endl; - cout << "StandbyOAMModuleName = " << systemconfig.StandbyOAMModule << endl; - cout << "NMSIPAddr = " << systemconfig.NMSIPAddr << endl; - cout << "ModuleHeartbeatPeriod = " << systemconfig.ModuleHeartbeatPeriod << endl; - cout << "ModuleHeartbeatCount = " << systemconfig.ModuleHeartbeatCount << endl; -// cout << "ProcessHeartbeatPeriod = " << systemconfig.ProcessHeartbeatPeriod << endl; - cout << "DBRootCount = " << systemconfig.DBRootCount << endl; - - std::vector::iterator pt = systemconfig.DBRoot.begin(); - int id=1; - for( ; pt != systemconfig.DBRoot.end() ; pt++) - { - string dbroot = *pt; - cout << "DBRoot" + oam.itoa(id) + " = " + dbroot << endl; - ++id; - } - - cout << "DBRMRoot = " << systemconfig.DBRMRoot << endl; - cout << "ExternalCriticalThreshold = " << systemconfig.ExternalCriticalThreshold << endl; - cout << "ExternalMajorThreshold = " << systemconfig.ExternalMajorThreshold << endl; - cout << "ExternalMinorThreshold = " << systemconfig.ExternalMinorThreshold << endl; - cout << "MaxConcurrentTransactions = " << systemconfig.MaxConcurrentTransactions << endl; - cout << "SharedMemoryTmpFile = " << systemconfig.SharedMemoryTmpFile << endl; - cout << "NumVersionBufferFiles = " << systemconfig.NumVersionBufferFiles << endl; - cout << "VersionBufferFileSize = " << systemconfig.VersionBufferFileSize << endl; - cout << "OIDBitmapFile = " << systemconfig.OIDBitmapFile << endl; - cout << "FirstOID = " << systemconfig.FirstOID << endl; - cout << "TransactionArchivePeriod = " << systemconfig.TransactionArchivePeriod << endl; - - } - catch (exception& e) - { - cout << endl << "**** getSystemConfig Failed : " << e.what() << endl; - } - } - else - { // get a single parameter - - try - { - oam.getSystemConfig(arguments[1], returnValue); - cout << endl << " " << arguments[1] << " = " << returnValue << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** getSystemConfig Failed : " << e.what() << endl; - } - } - } - break; - - case 5: // setSystemConfig - parameters: Module name, Parameter name and value - { - parentOAMModule = getParentOAMModule(); - if ( localModule != parentOAMModule ) { - // exit out since not on Parent OAM Module - cout << endl << "**** setSystemConfig Failed : only should be run on the Parent OAM Module, which is '" << parentOAMModule << "'" << endl; - break; - } - - if (arguments[2] == "") - { - // need 2 arguments - cout << endl << "**** setSystemConfig Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - try - { - if ( arguments[2] == "=" ) { - cout << endl << "**** setSystemConfig Failed : Invalid Value of '=', please re-enter" << endl; - break; - } - oam.setSystemConfig(arguments[1], arguments[2]); - cout << endl << " Successfully set " << arguments[1] << " = " << arguments[2] << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** setSystemConfig Failed : " << e.what() << endl; - } - } - break; - - case 6: // getModuleTypeConfig - { - SystemModuleTypeConfig systemmoduletypeconfig; - ModuleTypeConfig moduletypeconfig; - ModuleConfig moduleconfig; - systemmoduletypeconfig.moduletypeconfig.clear(); - string returnValue; - string Argument; - - if (arguments[1] == "all" || arguments[1] == "") - { - - // get and all display Module config parameters - - try - { - oam.getSystemConfig(systemmoduletypeconfig); - - cout << endl << "Module Type Configuration" << endl << endl; - - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - if( systemmoduletypeconfig.moduletypeconfig[i].ModuleType.empty() ) - // end of list - break; - - int moduleCount = systemmoduletypeconfig.moduletypeconfig[i].ModuleCount; - - if ( moduleCount < 1 ) - continue; - - string moduletype = systemmoduletypeconfig.moduletypeconfig[i].ModuleType; - cout << "ModuleType '" << moduletype << "' Configuration information" << endl << endl; - - cout << "ModuleDesc = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleDesc << endl; - cout << "RunType = " << systemmoduletypeconfig.moduletypeconfig[i].RunType << endl; - cout << "ModuleCount = " << moduleCount << endl; - - if ( moduleCount > 0 ) - { - DeviceNetworkList::iterator pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.begin(); - for( ; pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.end() ; pt++) - { - string modulename = (*pt).DeviceName; - HostConfigList::iterator pt1 = (*pt).hostConfigList.begin(); - for( ; pt1 != (*pt).hostConfigList.end() ; pt1++) - { - string ipAddr = (*pt1).IPAddr; - string servername = (*pt1).HostName; - cout << "ModuleHostName and ModuleIPAddr for NIC ID " + oam.itoa((*pt1).NicID) + " on module '" << modulename << "' = " << servername << " , " << ipAddr << endl; - } - } - } - - DeviceDBRootList::iterator pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleDBRootList.begin(); - for( ; pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleDBRootList.end() ; pt++) - { - if ( (*pt).dbrootConfigList.size() > 0 ) - { - cout << "DBRootIDs assigned to module 'pm" << (*pt).DeviceID << "' = "; - DBRootConfigList::iterator pt1 = (*pt).dbrootConfigList.begin(); - for( ; pt1 != (*pt).dbrootConfigList.end() ; ) - { - cout << *pt1; - pt1++; - if (pt1 != (*pt).dbrootConfigList.end()) - cout << ", "; - } - } - cout << endl; - } - - cout << "ModuleCPUCriticalThreshold % = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleCPUCriticalThreshold << endl; - cout << "ModuleCPUMajorThreshold % = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleCPUMajorThreshold << endl; - cout << "ModuleCPUMinorThreshold % = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleCPUMinorThreshold << endl; - cout << "ModuleCPUMinorClearThreshold % = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleCPUMinorClearThreshold << endl; - cout << "ModuleDiskCriticalThreshold % = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleDiskCriticalThreshold << endl; - cout << "ModuleDiskMajorThreshold % = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleDiskMajorThreshold << endl; - cout << "ModuleDiskMinorThreshold % = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleDiskMinorThreshold << endl; - cout << "ModuleMemCriticalThreshold % = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleMemCriticalThreshold << endl; - cout << "ModuleMemMajorThreshold % = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleMemMajorThreshold << endl; - cout << "ModuleMemMinorThreshold % = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleMemMinorThreshold << endl; - cout << "ModuleSwapCriticalThreshold % = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleSwapCriticalThreshold << endl; - cout << "ModuleSwapMajorThreshold % = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleSwapMajorThreshold << endl; - cout << "ModuleSwapMinorThreshold % = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleSwapMinorThreshold << endl; - - DiskMonitorFileSystems::iterator pt2 = systemmoduletypeconfig.moduletypeconfig[i].FileSystems.begin(); - int id=1; - for( ; pt2 != systemmoduletypeconfig.moduletypeconfig[i].FileSystems.end() ; pt2++) - { - string fs = *pt2; - cout << "ModuleDiskMonitorFileSystem#" << id << " = " << fs << endl; - ++id; - } - cout << endl; - } - } - catch (exception& e) - { - cout << endl << "**** getModuleTypeConfig Failed = " << e.what() << endl; - } - } - else - { // get a single module type config - if (arguments[2] == "") - { - try - { - oam.getSystemConfig(arguments[1], moduletypeconfig); - - cout << endl << "Module Type Configuration for " << arguments[1] << endl << endl; - - int moduleCount = moduletypeconfig.ModuleCount; - string moduletype = moduletypeconfig.ModuleType; - - cout << "ModuleDesc = " << moduletypeconfig.ModuleDesc << endl; - cout << "ModuleCount = " << moduleCount << endl; - cout << "RunType = " << moduletypeconfig.RunType << endl; - - if ( moduleCount > 0 ) - { - DeviceNetworkList::iterator pt = moduletypeconfig.ModuleNetworkList.begin(); - for( ; pt != moduletypeconfig.ModuleNetworkList.end() ; pt++) - { - string modulename = (*pt).DeviceName; - HostConfigList::iterator pt1 = (*pt).hostConfigList.begin(); - for( ; pt1 != (*pt).hostConfigList.end() ; pt1++) - { - string ipAddr = (*pt1).IPAddr; - string servername = (*pt1).HostName; - cout << "ModuleHostName and ModuleIPAddr for NIC ID " + oam.itoa((*pt1).NicID) + " on module " << modulename << " = " << servername << " , " << ipAddr << endl; - } - } - } - - int dbrootCount = moduletypeconfig.ModuleDBRootList.size(); - - cout << "DBRootCount = " << dbrootCount << endl; - - if ( dbrootCount > 0 ) - { - DeviceDBRootList::iterator pt = moduletypeconfig.ModuleDBRootList.begin(); - for( ; pt != moduletypeconfig.ModuleDBRootList.end() ; pt++) - { - cout << "DBRoot IDs assigned to 'pm" + oam.itoa((*pt).DeviceID) + "' = "; - - DBRootConfigList::iterator pt1 = (*pt).dbrootConfigList.begin(); - for( ; pt1 != (*pt).dbrootConfigList.end() ; ) - { - cout << *pt1; - pt1++; - if (pt1 != (*pt).dbrootConfigList.end()) - cout << ", "; - } - cout << endl; - } - } - - cout << "ModuleCPUCriticalThreshold % = " << moduletypeconfig.ModuleCPUCriticalThreshold << endl; - cout << "ModuleCPUMajorThreshold % = " << moduletypeconfig.ModuleCPUMajorThreshold << endl; - cout << "ModuleCPUMinorThreshold % = " << moduletypeconfig.ModuleCPUMinorThreshold << endl; - cout << "ModuleCPUMinorClearThreshold % = " << moduletypeconfig.ModuleCPUMinorClearThreshold << endl; - cout << "ModuleDiskCriticalThreshold % = " << moduletypeconfig.ModuleDiskCriticalThreshold << endl; - cout << "ModuleDiskMajorThreshold % = " << moduletypeconfig.ModuleDiskMajorThreshold << endl; - cout << "ModuleDiskMinorThreshold % = " << moduletypeconfig.ModuleDiskMinorThreshold << endl; - cout << "ModuleMemCriticalThreshold % = " << moduletypeconfig.ModuleMemCriticalThreshold << endl; - cout << "ModuleMemMajorThreshold % = " << moduletypeconfig.ModuleMemMajorThreshold << endl; - cout << "ModuleMemMinorThreshold % = " << moduletypeconfig.ModuleMemMinorThreshold << endl; - cout << "ModuleSwapCriticalThreshold % = " << moduletypeconfig.ModuleSwapCriticalThreshold << endl; - cout << "ModuleSwapMajorThreshold % = " << moduletypeconfig.ModuleSwapMajorThreshold << endl; - cout << "ModuleSwapMinorThreshold % = " << moduletypeconfig.ModuleSwapMinorThreshold << endl; - - DiskMonitorFileSystems::iterator pt = moduletypeconfig.FileSystems.begin(); - int id=1; - for( ; pt != moduletypeconfig.FileSystems.end() ; pt++) - { - string fs = *pt; - cout << "ModuleDiskMonitorFileSystem#" << id << " = " << fs << endl; - ++id; - } - cout << endl; - } - catch (exception& e) - { - cout << endl << "**** getModuleTypeConfig Failed = " << e.what() << endl; - } - } - else - { // get a parameter for a module type - try { - oam.getSystemConfig(systemmoduletypeconfig); - } - catch(...) - {} - - unsigned int i = 0; - for( i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - if(systemmoduletypeconfig.moduletypeconfig[i].ModuleType == arguments[1]) - { - string argument2 = arguments[2]; - string::size_type pos = arguments[2].rfind("#",200); - if (pos != string::npos) - { - string ID = arguments[2].substr(pos+1,5); - arguments[2] = arguments[2].substr(0,pos); - arguments[2] = arguments[2] + ID + "-"; - } - - Argument = arguments[2] + oam.itoa(i+1); - try - { - oam.getSystemConfig(Argument, returnValue); - cout << endl << " " << argument2 << " = " << returnValue << endl << endl; - break; - } - catch (exception& e) - { - cout << endl << "**** getModuleTypeConfig Failed = " << e.what() << endl; - break; - } - } - } - if( i == systemmoduletypeconfig.moduletypeconfig.size() ) - { - // module type not found - cout << endl << "**** getModuleTypeConfig Failed : Invalid Module Type" << endl; - break; - } - } - } - } - break; - - case 7: // setModuleTypeConfig - parameters: Module type, Parameter name and value - { - SystemModuleTypeConfig systemmoduletypeconfig; - ModuleTypeConfig moduletypeconfig; - string Argument; - - parentOAMModule = getParentOAMModule(); - if ( localModule != parentOAMModule ) { - // exit out since not on Parent OAM Module - cout << endl << "**** setModuleTypeConfig Failed : only should be run on the Parent OAM Module, which is '" << parentOAMModule << "'" << endl; - break; - } - - if (arguments[3] == "") - { - // need 3 arguments - cout << endl << "**** setModuleTypeConfig Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - if ( arguments[3] == "=" ) { - cout << endl << "**** setModuleTypeConfig Failed : Invalid Value of '=', please re-enter" << endl; - break; - } - - try { - oam.getSystemConfig(systemmoduletypeconfig); - } - catch(...) - {} - - unsigned int i = 0; - for( i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - if(systemmoduletypeconfig.moduletypeconfig[i].ModuleType == arguments[1]) - { - string argument2 = arguments[2]; - string::size_type pos = arguments[2].rfind("#",200); - if (pos != string::npos) - { - string ID = arguments[2].substr(pos+1,5); - arguments[2] = arguments[2].substr(0,pos); - arguments[2] = arguments[2] + ID + "-"; - } - - Argument = arguments[2] + oam.itoa(i+1); - try - { - oam.setSystemConfig(Argument, arguments[3]); - cout << endl << " Successfully set " << argument2 << " = " << arguments[3] << endl << endl; - break; - } - catch (exception& e) - { - cout << endl << "**** setModuleTypeConfig Failed = " << e.what() << endl; - break; - } - } - } - if( i == systemmoduletypeconfig.moduletypeconfig.size() ) - { - // module type not found - cout << endl << "**** setModuleTypeConfig Failed : Invalid Module Type" << endl; - break; - } - } - break; - - case 8: // getProcessConfig - { - SystemProcessConfig systemprocessconfig; - ProcessConfig processconfig; - string returnValue; - - if (arguments[1] == "all" || arguments[1] == "") - { - // get and all display Process config parameters - - try - { - oam.getProcessConfig(systemprocessconfig); - - cout << endl << "Process Configuration" << endl << endl; - - for( unsigned int i = 0 ; i < systemprocessconfig.processconfig.size(); i++) - { - cout << "Process #" << i+1 << " Configuration information" << endl; - - cout << "ProcessName = " << systemprocessconfig.processconfig[i].ProcessName << endl; - cout << "ModuleType = " << systemprocessconfig.processconfig[i].ModuleType << endl; - cout << "ProcessLocation = " << systemprocessconfig.processconfig[i].ProcessLocation << endl; - - for( int j = 0 ; j < oam::MAX_ARGUMENTS; j++) - { - if (systemprocessconfig.processconfig[i].ProcessArgs[j].empty()) - break; - cout << "ProcessArg" << j+1 << " = " << systemprocessconfig.processconfig[i].ProcessArgs[j] << endl; - } - cout << "BootLaunch = " << systemprocessconfig.processconfig[i].BootLaunch << endl; - cout << "LaunchID = " << systemprocessconfig.processconfig[i].LaunchID << endl; - - for( int j = 0 ; j < MAX_DEPENDANCY; j++) - { - if (systemprocessconfig.processconfig[i].DepProcessName[j].empty()) - break; - cout << "DepModuleName" << j+1 << " = " << systemprocessconfig.processconfig[i].DepModuleName[j] << endl; - cout << "DepProcessName" << j+1 << " = " << systemprocessconfig.processconfig[i].DepProcessName[j] << endl; - } - // display Process Group variables, if they exist - - cout << "RunType = " << systemprocessconfig.processconfig[i].RunType << endl; - cout << "LogFile = " << systemprocessconfig.processconfig[i].LogFile << endl; - - cout << endl; - } - } - catch (exception& e) - { - cout << endl << "**** getProcessConfig Failed = " << e.what() << endl; - } - } - else - { // get a single process info - parameters: module-name, process-name - if (arguments[2] == "") - { - cout << endl << "**** getProcessConfig Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - if (arguments[3] == "") - { - //**** Add API to get single process info - try - { - oam.getProcessConfig(arguments[1], arguments[2], processconfig); - - cout << endl << "Process Configuration for " << arguments[1] << " on module " << arguments[2] << endl << endl; - - cout << "ProcessName = " << processconfig.ProcessName << endl; - cout << "ModuleType = " << processconfig.ModuleType << endl; - cout << "ProcessLocation = " << processconfig.ProcessLocation << endl; - for( int j = 0 ; j < oam::MAX_ARGUMENTS; j++) - { - if (processconfig.ProcessArgs[j].empty()) - break; - cout << "ProcessArg" << j+1 << " = " << processconfig.ProcessArgs[j] << endl; - } - cout << "BootLaunch = " << processconfig.BootLaunch << endl; - cout << "LaunchID = " << processconfig.LaunchID << endl; - - for( int j = 0 ; j < MAX_DEPENDANCY; j++) - { - if (processconfig.DepProcessName[j].empty()) - break; - cout << "DepProcessName" << j+1 << " = " << processconfig.DepProcessName[j] << endl; - cout << "DepModuleName" << j+1 << " = " << processconfig.DepModuleName[j] << endl; - } - - cout << "RunType = " << processconfig.RunType << endl; - cout << "LogFile = " << processconfig.LogFile << endl; - - cout << endl; - } - catch (exception& e) - { - cout << endl << "**** getProcessConfig Failed = " << e.what() << endl; - } - } - else - { // get a parameter for a process - parameters: module-name, process-name, - // parameter-name - // get module ID from module name entered, then get parameter - try - { - oam.getProcessConfig(arguments[1], arguments[2], arguments[3], returnValue); - cout << endl << " " << arguments[3] << " = " << returnValue << endl << endl; - break; - } - catch (exception& e) - { - cout << endl << "**** getProcessConfig Failed = " << e.what() << endl; - break; - } - } - } - } - break; - - case 9: // setProcessConfig - parameters: Module name, Process Name, Parameter name and value - { - parentOAMModule = getParentOAMModule(); - if ( localModule != parentOAMModule ) { - // exit out since not on Parent OAM Module - cout << endl << "**** setProcessConfig Failed : only should be run on the Parent OAM Module, which is '" << parentOAMModule << "'" << endl; - break; - } - - if (arguments[4] == "") - { - cout << endl << "**** setProcessConfig Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - try - { - if ( arguments[4] == "=" ) { - cout << endl << "**** setProcessConfig Failed : Invalid Value of '=', please re-enter" << endl; - break; - } - - oam.setProcessConfig(arguments[1], arguments[2], arguments[3], arguments[4]); - cout << endl << " Successfully set " << arguments[3] << " = " << arguments[4] << endl << endl; - break; - } - catch (exception& e) - { - cout << endl << "**** setProcessConfig Failed = " << e.what() << endl; - break; - } - } - break; - - case 10: // getAlarmConfig- parameters: all or AlarmID - { - AlarmConfig alarmconfig; - - if (arguments[1] == "all" || arguments[1] == "") - { - - // get and all display Alarm config parameters - - cout << endl << "Alarm Configuration" << endl << endl; - - for( int alarmID = 1 ; alarmID < MAX_ALARM_ID; alarmID++) - { - try - { - oam.getAlarmConfig(alarmID, alarmconfig); - - cout << "Alarm ID #" << alarmID << " Configuration information" << endl; - - cout << "BriefDesc = " << alarmconfig.BriefDesc << endl; - cout << "DetailedDesc = " << alarmconfig.DetailedDesc << endl; - // cout << "EmailAddr = " << alarmconfig.EmailAddr << endl; - // cout << "PagerNum = " << alarmconfig.PagerNum << endl; - - switch(alarmconfig.Severity) - { - case CRITICAL: - cout << "Severity = CRITICAL" << endl; - break; - case MAJOR: - cout << "Severity = MAJOR" << endl; - break; - case MINOR: - cout << "Severity = MINOR" << endl; - break; - case WARNING: - cout << "Severity = WARNING" << endl; - break; - default: - cout << "Severity = INFORMATIONAL" << endl; - break; - } - - cout << "Threshold = " << alarmconfig.Threshold << endl; - // cout << "Occurrences = " << alarmconfig.Occurrences << endl; - // cout << "LastIssueTime = " << alarmconfig.LastIssueTime << endl << endl; - cout << endl; - } - catch (exception& e) - { - cout << endl << "**** getAlarmConfig Failed = " << e.what() << endl; - break; - } - } - break; - } - else - { // get a single Alarm info - try - { - oam.getAlarmConfig(atoi(arguments[1].c_str()), alarmconfig); - - cout << endl << "Alarm ID #" << arguments[1] << " Configuration information" << endl; - - cout << "BriefDesc = " << alarmconfig.BriefDesc << endl; - cout << "DetailedDesc = " << alarmconfig.DetailedDesc << endl; - // cout << "EmailAddr = " << alarmconfig.EmailAddr << endl; - // cout << "PagerNum = " << alarmconfig.PagerNum << endl; - - switch(alarmconfig.Severity) - { - case CRITICAL: - cout << "Severity = CRITICAL" << endl; - break; - case MAJOR: - cout << "Severity = MAJOR" << endl; - break; - case MINOR: - cout << "Severity = MINOR" << endl; - break; - case WARNING: - cout << "Severity = WARNING" << endl; - break; - default: - cout << "Severity = INFORMATIONAL" << endl; - break; - } - - cout << "Threshold = " << alarmconfig.Threshold << endl; - // cout << "Occurrences = " << alarmconfig.Occurrences << endl; - // cout << "LastIssueTime = " << alarmconfig.LastIssueTime << endl << endl; - cout << endl; - break; - } - catch (exception& e) - { - cout << endl << "**** getAlarmConfig Failed = " << e.what() << endl; - break; - } - } - } - break; - - case 11: // setAlarmConfig - parameters: AlarmID, Parameter name and value - { - parentOAMModule = getParentOAMModule(); - if ( localModule != parentOAMModule ) { - // exit out since not on Parent OAM Module - cout << endl << "**** setAlarmConfig Failed : only should be run on the Parent OAM Module, which is '" << parentOAMModule << "'" << endl; - break; - } - - if (arguments[3] == "") - { - // need 3 arguments - cout << endl << "**** setAlarmConfig Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - try - { - if ( arguments[3] == "=" ) { - cout << endl << "**** setAlarmConfig Failed : Invalid Value of '=', please re-enter" << endl; - break; - } - - if ( arguments[2] == "Threshold" && arguments[3] != "0" && atoi(arguments[3].c_str()) == 0 ) { - cout << endl << "**** setAlarmConfig Failed : New value must be a number" << endl; - break; - } - - oam.setAlarmConfig(atoi(arguments[1].c_str()), arguments[2], atoi(arguments[3].c_str())); - cout << endl << " Successfully set " << arguments[2] << " = " << arguments[3] << endl << endl; - break; - } - catch (exception& e) - { - cout << endl << "**** setAlarmConfig Failed = " << e.what() << endl; - break; - } - } - break; - - case 12: // getActiveAlarms - parameters: none - { - AlarmList alarmList; - try { - oam.getActiveAlarms(alarmList); - } - catch(...) - { - // need arguments - cout << endl << "**** getActiveAlarms Failed : Error in oam.getActiveAlarms" << endl; - break; - } - - cout << endl << "Active Alarm List:" << endl << endl; - - AlarmList :: iterator i; - for (i = alarmList.begin(); i != alarmList.end(); ++i) - { - cout << "AlarmID = " << i->second.getAlarmID() << endl; - cout << "Brief Description = " << i->second.getDesc() << endl; - cout << "Alarm Severity = "; - switch (i->second.getSeverity()) - { - case CRITICAL: - cout << "CRITICAL" << endl; - break; - case MAJOR: - cout << "MAJOR" << endl; - break; - case MINOR: - cout << "MINOR" << endl; - break; - case WARNING: - cout << "WARNING" << endl; - break; - case INFORMATIONAL: - cout << "INFORMATIONAL" << endl; - break; - } - cout << "Time Issued = " << i->second.getTimestamp() << endl; - cout << "Reporting Module = " << i->second.getSname() << endl; - cout << "Reporting Process = " << i->second.getPname() << endl; - cout << "Reported Device = " << i->second.getComponentID() << endl << endl; - } - } - break; - - case 13: // getStorageConfig - { - try - { - systemStorageInfo_t t; - t = oam.getStorageConfig(); - - string cloud; - try { - oam.getSystemConfig("Cloud", cloud); - } - catch(...) {} - - string::size_type pos = cloud.find("amazon",0); - if (pos != string::npos) - cloud = "amazon"; - - cout << endl << "System Storage Configuration" << endl << endl; - - cout << "Performance Module (DBRoot) Storage Type = " << boost::get<0>(t) << endl; - if ( cloud == "amazon" ) - cout << "User Module Storage Type = " << boost::get<3>(t) << endl; - cout << "System Assigned DBRoot Count = " << boost::get<1>(t) << endl; - - DeviceDBRootList moduledbrootlist = boost::get<2>(t); - - typedef std::vector dbrootList; - dbrootList dbrootlist; - - DeviceDBRootList::iterator pt = moduledbrootlist.begin(); - for( ; pt != moduledbrootlist.end() ; pt++) - { - cout << "DBRoot IDs assigned to 'pm" + oam.itoa((*pt).DeviceID) + "' = "; - DBRootConfigList::iterator pt1 = (*pt).dbrootConfigList.begin(); - for( ; pt1 != (*pt).dbrootConfigList.end() ;) - { - cout << *pt1; - dbrootlist.push_back(*pt1); - pt1++; - if (pt1 != (*pt).dbrootConfigList.end()) - cout << ", "; - } - cout << endl; - } - - //get any unassigned DBRoots - DBRootConfigList undbrootlist; - try { - oam.getUnassignedDbroot(undbrootlist); - } - catch(...) {} - - if ( !undbrootlist.empty() ) - { - cout << endl << "DBRoot IDs unassigned = "; - DBRootConfigList::iterator pt1 = undbrootlist.begin(); - for( ; pt1 != undbrootlist.end() ;) - { - cout << *pt1; - pt1++; - if (pt1 != undbrootlist.end()) - cout << ", "; - } - cout << endl; - } - - cout << endl; - // um volumes - if (cloud == "amazon" && boost::get<3>(t) == "external") - { - ModuleTypeConfig moduletypeconfig; - oam.getSystemConfig("um", moduletypeconfig); - for ( int id = 1; id < moduletypeconfig.ModuleCount+1 ; id++) - { - string volumeNameID = "UMVolumeName" + oam.itoa(id); - string volumeName = oam::UnassignedName; - string deviceNameID = "UMVolumeDeviceName" + oam.itoa(id); - string deviceName = oam::UnassignedName; - try { - oam.getSystemConfig( volumeNameID, volumeName); - oam.getSystemConfig( deviceNameID, deviceName); - } - catch(...) - {} - - cout << "Amazon EC2 Volume Name/Device Name for 'um" << id << "': " << volumeName << ", " << deviceName << endl; - } - } - - // pm volumes - if (cloud == "amazon" && boost::get<0>(t) == "external") - { - cout << endl; - - DBRootConfigList dbrootConfigList; - try - { - oam.getSystemDbrootConfig(dbrootConfigList); - - DBRootConfigList::iterator pt = dbrootConfigList.begin(); - for( ; pt != dbrootConfigList.end() ; pt++) - { - string volumeNameID = "PMVolumeName" + oam.itoa(*pt); - string volumeName = oam::UnassignedName; - string deviceNameID = "PMVolumeDeviceName" + oam.itoa(*pt); - string deviceName = oam::UnassignedName; - string amazonDeviceNameID = "PMVolumeAmazonDeviceName" + oam.itoa(*pt); - string amazondeviceName = oam::UnassignedName; - - try { - oam.getSystemConfig( volumeNameID, volumeName); - oam.getSystemConfig( deviceNameID, deviceName); - oam.getSystemConfig( amazonDeviceNameID, amazondeviceName); - } - catch(...) - { - continue; - } - - cout << "Amazon EC2 Volume Name/Device Name/Amazon Device Name for DBRoot" << oam.itoa(*pt) << ": " << volumeName << ", " << deviceName << ", " << amazondeviceName << endl; - } - } - catch (exception& e) - { - cout << endl << "**** getSystemDbrootConfig Failed : " << e.what() << endl; - } - - // print un-assigned dbroots - DBRootConfigList::iterator pt1 = undbrootlist.begin(); - for( ; pt1 != undbrootlist.end() ; pt1++) - { - string volumeNameID = "PMVolumeName" + oam.itoa(*pt1); - string volumeName = oam::UnassignedName; - string deviceNameID = "PMVolumeDeviceName" + oam.itoa(*pt1); - string deviceName = oam::UnassignedName; - string amazonDeviceNameID = "PMVolumeAmazonDeviceName" + oam.itoa(*pt1); - string amazondeviceName = oam::UnassignedName; - - try { - oam.getSystemConfig( volumeNameID, volumeName); - oam.getSystemConfig( deviceNameID, deviceName); - oam.getSystemConfig( amazonDeviceNameID, amazondeviceName); - } - catch(...) - { - continue; - } - - cout << "Amazon EC2 Volume Name/Device Name/Amazon Device Name for DBRoot" << oam.itoa(*pt1) << ": " << volumeName << ", " << deviceName << ", " << amazondeviceName << endl; - } - } - - string GlusterConfig; - string GlusterCopies; - string GlusterStorageType; - try { - oam.getSystemConfig("GlusterConfig", GlusterConfig); - oam.getSystemConfig("GlusterCopies", GlusterCopies); - oam.getSystemConfig("GlusterStorageType", GlusterStorageType); - } - catch(...) {} - - if ( GlusterConfig == "y" ) - { - cout << endl << "Data Redundant Configuration" << endl << endl; - cout << "Copies Per DBroot = " << GlusterCopies << endl; - cout << "Storage Type = " << GlusterStorageType << endl; - - oamModuleInfo_t st; - string moduleType; - try { - st = oam.getModuleInfo(); - moduleType = boost::get<1>(st); - } - catch (...) {} - - if ( moduleType != "pm") - break; - - try - { - DBRootConfigList dbrootConfigList; - oam.getSystemDbrootConfig(dbrootConfigList); - - DBRootConfigList::iterator pt = dbrootConfigList.begin(); - for( ; pt != dbrootConfigList.end() ; pt++) - { - cout << "DBRoot #" << oam.itoa(*pt) << " has copies on PMs = "; - - string pmList = ""; - try { - string errmsg; - oam.glusterctl(oam::GLUSTER_WHOHAS, oam.itoa(*pt), pmList, errmsg); - } - catch (...) - {} - - boost::char_separator sep(" "); - boost::tokenizer< boost::char_separator > tokens(pmList, sep); - for ( boost::tokenizer< boost::char_separator >::iterator it = tokens.begin(); - it != tokens.end(); - ++it) - { - cout << *it << " "; - } - - cout << endl; - } - cout << endl; - } - catch (exception& e) - { - cout << endl << "**** getSystemDbrootConfig Failed : " << e.what() << endl; - } - } - } - catch (exception& e) - { - cout << endl << "**** getStorageConfig Failed : " << e.what() << endl; - } - - cout << endl; - - break; - } - - case 14: // addDbroot parameters: dbroot-number - { - string GlusterConfig = "n"; - try { - oam.getSystemConfig( "GlusterConfig", GlusterConfig); - } - catch(...) - {} - - if (GlusterConfig == "y") { - cout << endl << "**** addDbroot Not Supported on Data Redundancy Configured System, use addModule command to expand your capacity" << endl; - break; - } - - if ( localModule != parentOAMModule ) { - // exit out since not on active module - cout << endl << "**** addDbroot Failed : Can only run command on Active OAM Parent Module (" << parentOAMModule << ")." << endl; - break; - } - - string cloud; - bool amazon = false; - try { - oam.getSystemConfig("Cloud", cloud); - } - catch(...) {} - - string::size_type pos = cloud.find("amazon",0); - if (pos != string::npos) - amazon = true; - - if (arguments[1] == "") - { - // need atleast 1 arguments - cout << endl << "**** addDbroot Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - int dbrootNumber = atoi(arguments[1].c_str()); - - string DBRootStorageType; - try { - oam.getSystemConfig( "DBRootStorageType", DBRootStorageType); - } - catch(...) {} - - string EBSsize = oam::UnassignedName; - if (amazon && DBRootStorageType == "external" ) - { - if ( arguments[2] != "") - EBSsize = arguments[2]; - else - { - cout << endl; - oam.getSystemConfig("PMVolumeSize", EBSsize); - - string prompt = "Enter EBS storage size in GB, current setting is " + EBSsize + " : "; - EBSsize = dataPrompt(prompt); - } - } - - //get dbroots ids for reside PM - try - { - DBRootConfigList dbrootlist; - oam.addDbroot(dbrootNumber, dbrootlist, EBSsize); - - cout << endl << " New DBRoot IDs added = "; - - DBRootConfigList::iterator pt = dbrootlist.begin(); - for( ; pt != dbrootlist.end() ;) - { - cout << oam.itoa(*pt); - pt++; - if (pt != dbrootlist.end()) - cout << ", "; - } - cout << endl; - } - catch (exception& e) - { - cout << endl << "**** addDbroot Failed: " << e.what() << endl; - break; - } - - cout << endl; - } - break; - - case 15: // removeDbroot parameters: dbroot-list - { - string GlusterConfig = "n"; - try { - oam.getSystemConfig( "GlusterConfig", GlusterConfig); - } - catch(...) - {} - - if ( localModule != parentOAMModule ) { - // exit out since not on active module - cout << endl << "**** removeDbroot Failed : Can only run command on Active OAM Parent Module (" << parentOAMModule << ")." << endl; - break; - } - - if (arguments[1] == "") - { - // need atleast 1 arguments - cout << endl << "**** removeDbroot Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - SystemStatus systemstatus; - try { - oam.getSystemStatus(systemstatus); - - if (systemstatus.SystemOpState != oam::ACTIVE ) { - cout << endl << "**** removeDbroot Failed, System has to be in a ACTIVE state" << endl; - break; - } - } - catch (exception& e) - { - cout << endl << "**** removeDbroot Failed : " << e.what() << endl; - break; - } - catch(...) - { - cout << endl << "**** removeDbroot Failed, Failed return from getSystemStatus API" << endl; - break; - } - - systemStorageInfo_t t; - try - { - t = oam.getStorageConfig(); - } - catch(...) {} - - string dbrootIDs = arguments[1]; - - DBRootConfigList dbrootlist; - - bool assign = false; - boost::char_separator sep(", "); - boost::tokenizer< boost::char_separator > tokens(dbrootIDs, sep); - for ( boost::tokenizer< boost::char_separator >::iterator it = tokens.begin(); - it != tokens.end(); - ++it) - { - //check if dbroot is assigned to a pm - DeviceDBRootList moduledbrootlist = boost::get<2>(t); - - DeviceDBRootList::iterator pt = moduledbrootlist.begin(); - for( ; pt != moduledbrootlist.end() ; pt++) - { - DBRootConfigList::iterator pt1 = (*pt).dbrootConfigList.begin(); - for( ; pt1 != (*pt).dbrootConfigList.end() ; pt1++) - { - if ( atoi((*it).c_str()) == *pt1 ) { - cout << endl << "**** removeDbroot Failed, dbroot " << *it << " is assigned to a module, unassign first before removing" << endl; - assign = true; - break; - } - } - } - - if (assign) - break; - - dbrootlist.push_back(atoi((*it).c_str())); - } - - if (assign) - break; - - cout << endl; - - try - { - oam.removeDbroot(dbrootlist); - - cout << endl << " Successful Removal of DBRoots " << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** removeDbroot Failed: " << e.what() << endl; - break; - } - } - break; - - case 16: // stopSystem - parameters: graceful flag, Ack flag - { - BRM::DBRM dbrm; - bool bDBRMReady = dbrm.isDBRMReady(); - getFlags(arguments, gracefulTemp, ackTemp, suspendAnswer, bNeedsConfirm); - - if ( gracefulTemp == INSTALL ) - { - cout << endl << "Invalid Parameter, INSTALL option not supported. Please use shutdownSystem Command" << endl << endl; - break; - } - - cout << endl << "This command stops the processing of applications on all Modules within the Calpont System" << endl; - - try - { - cout << endl << " Checking for active transactions" << endl; - - if (gracefulTemp != GRACEFUL || - !bDBRMReady || - dbrm.isReadWrite()) - { - suspendAnswer = FORCE; - } - - if (suspendAnswer == CANCEL) // We don't have an answer from the command line or some other state. - { - // If there are bulkloads, ddl or dml happening, Ask what to do. - bool bIsDbrmUp = true; - execplan::SessionManager sessionManager; - BRM::SIDTIDEntry blockingsid; - std::vector tableLocks = dbrm.getAllTableLocks(); - bool bActiveTransactions = false; - if (!tableLocks.empty()) - { - oam.DisplayLockedTables(tableLocks, &dbrm); - bActiveTransactions = true; - } - if (sessionManager.checkActiveTransaction(0, bIsDbrmUp, blockingsid)) - { - cout << endl << "There are active transactions being processed" << endl; - bActiveTransactions = true; - } - - if (bActiveTransactions) - { - suspendAnswer = AskSuspendQuestion(CmdID); - // if (suspendAnswer == FORCE) - // { - // if (confirmPrompt("Force may cause data problems and should only be used in extreme circumstances")) - // { - // break; - // } - // } - bNeedsConfirm = false; - } - else - { - suspendAnswer = FORCE; - } - } - if (suspendAnswer == CANCEL) - { - // We're outa here. - break; - } - - if (bNeedsConfirm) - { - if (confirmPrompt("")) - break; - } - - switch (suspendAnswer) - { - case WAIT: - cout << endl << " Waiting for all transactions to complete" << flush; - dbrm.setSystemShutdownPending(true, false, false); - gracefulTemp = GRACEFUL_WAIT; // Causes procmgr to wait for all table locks to free and all transactions to finish before shutdown - break; - case ROLLBACK: - cout << endl << " Rollback of all transactions" << flush; - dbrm.setSystemShutdownPending(true, true, false); - gracefulTemp = GRACEFUL_WAIT; // Causes procmgr to wait for all table locks to free and all transactions to finish before shutdown - break; - case FORCE: - cout << endl << " System being stopped now..." << flush; - if (bDBRMReady) - { - dbrm.setSystemShutdownPending(true, false, true); - } - break; - case CANCEL: - break; - } - - oam.stopSystem(gracefulTemp, ackTemp); - - if ( waitForStop() ) - cout << endl << " Successful stop of System " << endl << endl; - else - cout << endl << "**** stopSystem Failed : check log files" << endl; - - checkForDisabledModules(); - } - catch (exception& e) - { - string Failed = e.what(); - - if (Failed.find("Connection refused") != string::npos) - { - cout << endl << "**** stopSystem Failure : ProcessManager not Active" << endl; - cout << "Retry or Run 'shutdownSystem FORCEFUL' command" << endl << endl; - } - else - { - cout << endl << "**** stopSystem Failure : " << e.what() << endl; - cout << "Retry or Run 'shutdownSystem FORCEFUL' command" << endl << endl; - } - } - } - break; - - case 17: // shutdownSystem - parameters: graceful flag, Ack flag, suspendAnswer - { - BRM::DBRM dbrm; - bool bDBRMReady = dbrm.isDBRMReady(); - getFlags(arguments, gracefulTemp, ackTemp, suspendAnswer, bNeedsConfirm); - - cout << endl << "This command stops the processing of applications on all Modules within the Calpont System" << endl; - - try - { - cout << endl << " Checking for active transactions" << endl; - - if (gracefulTemp != GRACEFUL || - !bDBRMReady || - dbrm.isReadWrite()) - { - suspendAnswer = FORCE; - } - - if (suspendAnswer == CANCEL) // We don't have an answer from the command line. - { - // If there are bulkloads, ddl or dml happening, Ask what to do. - bool bIsDbrmUp = true; - execplan::SessionManager sessionManager; - BRM::SIDTIDEntry blockingsid; - std::vector tableLocks = dbrm.getAllTableLocks(); - bool bActiveTransactions = false; - if (!tableLocks.empty()) - { - oam.DisplayLockedTables(tableLocks, &dbrm); - bActiveTransactions = true; - } - if (sessionManager.checkActiveTransaction(0, bIsDbrmUp, blockingsid)) - { - cout << endl << " There are active transactions being processed" << endl; - bActiveTransactions = true; - } - - if (bActiveTransactions) - { - suspendAnswer = AskSuspendQuestion(CmdID); - bNeedsConfirm = false; - } - else - { - suspendAnswer = FORCE; - } - } - if (suspendAnswer == CANCEL) - { - // We're outa here. - break; - } - - if (bNeedsConfirm) - { - if (confirmPrompt("")) - break; - } - - switch (suspendAnswer) - { - case WAIT: - cout << endl << " Waiting for all transactions to complete" << flush; - dbrm.setSystemShutdownPending(true, false, false); - gracefulTemp = GRACEFUL_WAIT; // Causes procmgr to wait for all table locks to free and all transactions to finish before shutdown - break; - case ROLLBACK: - cout << endl << " Rollback of all transactions" << flush; - dbrm.setSystemShutdownPending(true, true, false); - gracefulTemp = GRACEFUL_WAIT; // Causes procmgr to wait for all table locks to free and all transactions to finish before shutdown - break; - case FORCE: - cout << endl << " Stopping System..." << flush; - if (bDBRMReady) - { - dbrm.setSystemShutdownPending(true, false, true); - } - break; - case CANCEL: - break; - } - - // This won't return until the system is shutdown. It might take a while to finish what we're working on first. - - oam.stopSystem(gracefulTemp, ackTemp); - - if ( waitForStop() ) - cout << endl << " Successful stop of System " << endl; - else - cout << endl << "**** stopSystem Failed : check log files" << endl; - - cout << endl << " Shutting Down System..." << flush; - - oam.shutdownSystem(gracefulTemp, ackTemp); - - //hdfs / hadoop config - string DBRootStorageType; - try { - oam.getSystemConfig( "DBRootStorageType", DBRootStorageType); - } - catch(...) {} - - if ( DBRootStorageType == "hdfs") - { - string cmd = "pdsh -a '/" + startup::StartUp::installDir() + "/bin/infinidb stop' > /tmp/cc-stop.pdsh 2>&1"; - system(cmd.c_str()); - if (oam.checkLogStatus("/tmp/cc-stop.pdsh", "exit") ) { - cout << endl << "ERROR: Stopping InfiniDB Service failure, check /tmp/cc-stop.pdsh. exit..." << endl; - } - } - else - { - string cmd = startup::StartUp::installDir() + "/bin/infinidb stop > /tmp/status.log"; - system(cmd.c_str()); - } - } - catch (exception& e) - { - string Failed = e.what(); - - if ( gracefulTemp == FORCEFUL ) - { - string cmd = startup::StartUp::installDir() + "/bin/infinidb stop > /tmp/status.log"; - system(cmd.c_str()); - cout << endl << " Successful shutdown of System (stopped local infinidb service) " << endl << endl; - } - - if (Failed.find("Connection refused") != string::npos) - { - cout << endl << "**** shutdownSystem Error : ProcessManager not Active, stopping infinidb service" << endl; - string cmd = startup::StartUp::installDir() + "/bin/infinidb stop > /tmp/status.log"; - system(cmd.c_str()); - cout << endl << " Successful stop of local infinidb service " << endl << endl; - } - else - { - cout << endl << "**** shutdownSystem Failure : " << e.what() << endl; - cout << "Retry using FORCEFUL option" << endl << endl; - } - - //hdfs / hadoop config - string DBRootStorageType; - try { - oam.getSystemConfig( "DBRootStorageType", DBRootStorageType); - } - catch(...) {} - - if ( DBRootStorageType == "hdfs") - { - string cmd = "pdsh -a '" + startup::StartUp::installDir() + "/bin/infinidb stop' > /tmp/cc-stop.pdsh 2>&1"; - system(cmd.c_str()); - if (oam.checkLogStatus("/tmp/cc-stop.pdsh", "exit") ) { - cout << endl << "ERROR: Stopping InfiniDB Service failure, check /tmp/cc-stop.pdsh. exit..." << endl; - break; - } - } - } - - sleep(10); - } - break; - - case 18: // startSystem - parameters: Ack flag - { - // startSystem Command - - //don't start if a disable module has a dbroot assigned to it - if (!checkForDisabledModules()) { - cout << endl << "Error: startSystem command can't be performed: disabled module has a dbroot assigned to it" << endl; - break; - } - - // if infinidb service is down, then start system by starting all of the infinidb services - // this would be used after a shutdownSystem command - // if infinidb service is up, send message to ProcMgr to start system (which starts all processes) - - string cmd = startup::StartUp::installDir() + "/bin/infinidb status > /tmp/status.log"; - system(cmd.c_str()); - if (!oam.checkLogStatus("/tmp/status.log", "InfiniDB is running") ) - { - cout << "startSystem command, 'infinidb' service is down, sending command to" << endl; - cout << "start the 'infinidb' service on all modules" << endl << endl; - - SystemModuleTypeConfig systemmoduletypeconfig; - ModuleTypeConfig moduletypeconfig; - ModuleConfig moduleconfig; - systemmoduletypeconfig.moduletypeconfig.clear(); - int systemModuleNumber = 0; - try - { - oam.getSystemConfig(systemmoduletypeconfig); - - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - if( systemmoduletypeconfig.moduletypeconfig[i].ModuleType.empty() ) - // end of list - break; - - systemModuleNumber = systemModuleNumber + systemmoduletypeconfig.moduletypeconfig[i].ModuleCount; - } - } - catch (exception& e) - { - cout << endl << "**** startSystem Failed = " << e.what() << endl; - break; - } - - if ( systemModuleNumber > 1 ) - { - if (arguments[1] != "") - password = arguments[1]; - else - password = "ssh"; - - // - // perform start of InfiniDB of other servers in the system - // - - DeviceNetworkList::iterator pt; - string modulename; - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - for (pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.begin(); - pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.end(); - ++pt) - { - modulename = (*pt).DeviceName; - if ( (*pt).DisableState == oam::MANDISABLEDSTATE || - (*pt).DisableState == oam::AUTODISABLEDSTATE ) - { - cout << " Module '" << modulename << "' is disabled and will not be started" << endl; - } - } - } - cout << endl << " System being started, please wait..."; - cout.flush(); - bool FAILED = false; - - //hdfs / hadoop config - string DBRootStorageType; - try { - oam.getSystemConfig( "DBRootStorageType", DBRootStorageType); - } - catch(...) {} - - if ( DBRootStorageType == "hdfs") - { - string cmd = "pdsh -a '" + startup::StartUp::installDir() + "/bin/infinidb restart' > /tmp/cc-restart.pdsh 2>&1"; - system(cmd.c_str()); - if (oam.checkLogStatus("/tmp/cc-restart.pdsh", "exit") ) { - cout << endl << "ERROR: Restart InfiniDB Service failure, check /tmp/cc-restart.pdsh. exit..." << endl; - break; - } - } - else - { - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - if( systemmoduletypeconfig.moduletypeconfig[i].ModuleType.empty() ) - // end of list - break; - - int moduleCount = systemmoduletypeconfig.moduletypeconfig[i].ModuleCount; - if ( moduleCount == 0 ) - // skip if no modules - continue; - - for (pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.begin(); - pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.end(); - ++pt) - { - modulename = (*pt).DeviceName; - - if ( (*pt).DisableState == oam::MANDISABLEDSTATE || - (*pt).DisableState == oam::AUTODISABLEDSTATE ) - { - continue; - } - - if ( modulename == localModule ) - { - cmd = startup::StartUp::installDir() + "/bin/infinidb restart > /tmp/start.log 2>&1"; - int rtnCode = system(cmd.c_str()); - if (geteuid() == 0 && WEXITSTATUS(rtnCode) != 0) - { - cout << endl << "error with running 'infinidb restart' on local module " << endl; - cout << endl << "**** startSystem Failed" << endl; - break; - } - - continue; - } - - HostConfigList::iterator pt1 = (*pt).hostConfigList.begin(); - for( ; pt1 != (*pt).hostConfigList.end() ; pt1++) - { - //run remote command script - cmd = startup::StartUp::installDir() + "/bin/remote_command.sh " + (*pt1).IPAddr + " " + password + " '" + startup::StartUp::installDir() + "/bin/infinidb restart' 0"; - int rtnCode = system(cmd.c_str()); - if (WEXITSTATUS(rtnCode) < 0) { - cout << endl << "error with running 'infinidb start' on module " + modulename << endl; - cout << endl << "**** startSystem Failed" << endl; - - // stop local infinidb service - cmd = startup::StartUp::installDir() + "/bin/infinidb stop > /tmp/stop.log 2>&1"; - system(cmd.c_str()); - - FAILED = true; - break; - } - else - { - if (rtnCode > 0) { - cout << endl << "Invalid Password when running 'infinidb start' on module " + modulename << ", can retry by providing password as the second argument" << endl; - cout << endl << "**** startSystem Failed" << endl; - - // stop local infinidb service - cmd = startup::StartUp::installDir() + "/bin/infinidb stop > /tmp/stop.log 2>&1"; - system(cmd.c_str()); - - FAILED = true; - break; - } - } - } - if (FAILED) - break; - } - } - if (FAILED) - break; - } - - if (FAILED) - break; - } - else - { - //just kick off local server - cout << " System being started, please wait..."; - cout.flush(); - cmd = startup::StartUp::installDir() + "/bin/infinidb restart > /tmp/start.log 2>&1"; - int rtnCode = system(cmd.c_str()); - if (geteuid() == 0 && WEXITSTATUS(rtnCode) != 0) { - cout << endl << "error with running 'infinidb restart' on local module " << endl; - cout << endl << "**** startSystem Failed" << endl; - break; - } - } - - if ( waitForActive() ) - cout << endl << " Successful start of System " << endl << endl; - else - cout << endl << "**** startSystem Failed : check log files" << endl; - } - else - { - getFlags(arguments, gracefulTemp, ackTemp, suspendAnswer, bNeedsConfirm); - - try - { - cout << " System being started, please wait..."; - cout.flush(); - oam.startSystem(ackTemp); - if ( waitForActive() ) - cout << endl << " Successful start of System " << endl << endl; - else - cout << endl << "**** startSystem Failed : check log files" << endl; - } - catch (exception& e) - { - cout << endl << "**** startSystem Failed : " << e.what() << endl; - string Failed = e.what(); - if (Failed.find("Database Test Error") != string::npos) - cout << "Database Test Error occurred, check Alarm and Logs for addition Information" << endl; - } - } - } - break; - - case 19: // restartSystem - parameters: graceful flag, Ack flag - { - getFlags(arguments, gracefulTemp, ackTemp, suspendAnswer, bNeedsConfirm, &password); - - //don't start if a disable module has a dbroot assigned to it - if (!checkForDisabledModules()) { - cout << endl << "Error: restartSystem command can't be performed: disabled module has a dbroot assigned to it" << endl; - break; - } - - // if infinidb service is down, then start system by starting all of the infinidb services - // this would be used after a shutdownSystem command - // if infinidb service is up, send message to ProcMgr to start system (which starts all processes) - - string cmd = startup::StartUp::installDir() + "/bin/infinidb status > /tmp/status.log"; - system(cmd.c_str()); - if (!oam.checkLogStatus("/tmp/status.log", "InfiniDB is running") ) - { - if (bNeedsConfirm) - { - if (confirmPrompt("")) // returns true if user wants to quit. - break; - } - cout << "restartSystem command, 'infinidb' service is down, sending command to" << endl; - cout << "start the 'infinidb' service on all modules" << endl << endl; - - SystemModuleTypeConfig systemmoduletypeconfig; - ModuleTypeConfig moduletypeconfig; - ModuleConfig moduleconfig; - systemmoduletypeconfig.moduletypeconfig.clear(); - int systemModuleNumber = 0; - try - { - oam.getSystemConfig(systemmoduletypeconfig); - - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - if( systemmoduletypeconfig.moduletypeconfig[i].ModuleType.empty() ) - // end of list - break; - - systemModuleNumber = systemModuleNumber + systemmoduletypeconfig.moduletypeconfig[i].ModuleCount; - } - } - catch (exception& e) - { - cout << endl << "**** restartSystem Failed = " << e.what() << endl; - break; - } - - if ( systemModuleNumber > 1 ) - { - if (password.empty()) - password = "ssh"; - - // - // perform start of InfiniDB of other servers in the system - // - - DeviceNetworkList::iterator pt; - string modulename; - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - for (pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.begin(); - pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.end(); - ++pt) - { - modulename = (*pt).DeviceName; - if ( (*pt).DisableState == oam::MANDISABLEDSTATE || - (*pt).DisableState == oam::AUTODISABLEDSTATE ) - { - cout << " Module '" << modulename << "' is disabled and will not be started" << endl; - } - } - } - cout << endl << " System being started, please wait..."; - cout.flush(); - bool FAILED = false; - - //hdfs / hadoop config - string DBRootStorageType; - try { - oam.getSystemConfig( "DBRootStorageType", DBRootStorageType); - } - catch(...) {} - - if ( DBRootStorageType == "hdfs") - { - string cmd = "pdsh -a '" + startup::StartUp::installDir() + "/bin/infinidb restart' > /tmp/cc-restart.pdsh 2>&1"; - system(cmd.c_str()); - if (oam.checkLogStatus("/tmp/cc-restart.pdsh", "exit") ) { - cout << endl << "ERROR: Restart InfiniDB Service failue, check /tmp/cc-restart.pdsh. exit..." << endl; - break; - } - } - else - { - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - if( systemmoduletypeconfig.moduletypeconfig[i].ModuleType.empty() ) - // end of list - break; - - int moduleCount = systemmoduletypeconfig.moduletypeconfig[i].ModuleCount; - if ( moduleCount == 0 ) - // skip if no modules - continue; - - for (pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.begin(); - pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.end(); - ++pt) - { - modulename = (*pt).DeviceName; - - if ( (*pt).DisableState == oam::MANDISABLEDSTATE || - (*pt).DisableState == oam::AUTODISABLEDSTATE ) - { - continue; - } - - if ( modulename == localModule ) - continue; // do last - - HostConfigList::iterator pt1 = (*pt).hostConfigList.begin(); - for( ; pt1 != (*pt).hostConfigList.end() ; pt1++) - { - //run remote command script - cmd = startup::StartUp::installDir() + "/bin/remote_command.sh " + (*pt1).IPAddr + " " + password + " '" + startup::StartUp::installDir() + "/bin/infinidb restart' 0"; - - int rtnCode = system(cmd.c_str()); - if (WEXITSTATUS(rtnCode) < 0) { - cout << endl << "error with running 'infinidb start' on module " + modulename << endl; - cout << endl << "**** restartSystem Failed" << endl; - - // stop local infinidb service - cmd = startup::StartUp::installDir() + "/bin/infinidb stop > /tmp/stop.log 2>&1"; - system(cmd.c_str()); - - FAILED = true; - break; - } - else - { - if (rtnCode > 0) { - cout << endl << "Invalid Password when running 'infinidb start' on module " + modulename << ", can retry by providing password as the second argument" << endl; - cout << endl << "**** restartSystem Failed" << endl; - FAILED = true; - - // stop local infinidb service - cmd = startup::StartUp::installDir() + "/bin/infinidb stop > /tmp/stop.log 2>&1"; - system(cmd.c_str()); - - break; - } - } - } - if (FAILED) - break; - } - if (FAILED) - break; - - //RESTART LOCAL HOST - cmd = startup::StartUp::installDir() + "/bin/infinidb restart > /tmp/start.log 2>&1"; - int rtnCode = system(cmd.c_str()); - if (geteuid() == 0 && WEXITSTATUS(rtnCode) != 0) - { - cout << endl << "error with running 'infinidb restart' on local module " << endl; - cout << endl << "**** restartSystem Failed" << endl; - break; - } - } - - if (FAILED) - break; - } - } - else - { - //just kick off local server - cout << " System being restarted, please wait..."; - cout.flush(); - string cmd = startup::StartUp::installDir() + "/bin/infinidb restart > /tmp/start.log 2>&1"; - int rtnCode = system(cmd.c_str()); - if (WEXITSTATUS(rtnCode) != 0) { - cout << endl << "error with running 'infinidb start' on local module " << endl; - cout << endl << "**** restartSystem Failed" << endl; - break; - } - } - - if ( waitForActive() ) - cout << endl << " Successful restart of System " << endl << endl; - else - cout << endl << "**** restartSystem Failed : check log files" << endl; - } - else - { - BRM::DBRM dbrm; - bool bDBRMReady = dbrm.isDBRMReady(); - - try - { - if (gracefulTemp != GRACEFUL || - !bDBRMReady || - dbrm.isReadWrite()) - { - suspendAnswer = FORCE; - } - - if (suspendAnswer == CANCEL) // We don't have an answer from the command line. - { - // If there are bulkloads, ddl or dml happening, Ask what to do. - bool bIsDbrmUp = true; - execplan::SessionManager sessionManager; - BRM::SIDTIDEntry blockingsid; - std::vector tableLocks = dbrm.getAllTableLocks(); - bool bActiveTransactions = false; - if (!tableLocks.empty()) - { - oam.DisplayLockedTables(tableLocks, &dbrm); - bActiveTransactions = true; - } - if (sessionManager.checkActiveTransaction(0, bIsDbrmUp, blockingsid)) - { - cout << endl << "There are active transactions being processed" << endl; - bActiveTransactions = true; - } - - if (bActiveTransactions) - { - suspendAnswer = AskSuspendQuestion(CmdID); - // if (suspendAnswer == FORCE) - // { - // if (confirmPrompt("Force may cause data problems and should only be used in extreme circumstances")) - // { - // break; - // } - // } - bNeedsConfirm = false; - } - else - { - suspendAnswer = FORCE; - } - } - if (suspendAnswer == CANCEL) - { - // We're outa here. - break; - } - if (bNeedsConfirm) - { - if (confirmPrompt("")) - break; - } - switch (suspendAnswer) - { - case WAIT: - cout << endl << " Waiting for all transactions to complete" << flush; - dbrm.setSystemShutdownPending(true, false, false); - gracefulTemp = GRACEFUL_WAIT; // Causes procmgr to wait for all table locks to free and all transactions to finish before shutdown - break; - case ROLLBACK: - cout << endl << " Rollback of all transactions" << flush; - dbrm.setSystemShutdownPending(true, true, false); - gracefulTemp = GRACEFUL_WAIT; // Causes procmgr to wait for all table locks to free and all transactions to finish before shutdown - break; - case FORCE: - cout << endl << " System being restarted now ..." << flush; - if (bDBRMReady) - { - dbrm.setSystemShutdownPending(true, false, true); - } - break; - case CANCEL: - break; - } - - int returnStatus = oam.restartSystem(gracefulTemp, ackTemp); - switch (returnStatus) - { - case API_SUCCESS: - if ( waitForActive() ) - cout << endl << " Successful restart of System " << endl << endl; - else - cout << endl << "**** restartSystem Failed : check log files" << endl; - break; - case API_CANCELLED: - cout << endl << " Restart of System canceled" << endl << endl; - break; - default: - cout << endl << "**** restartSystem Failed : Check system logs" << endl; - break; - } - } - catch (exception& e) - { - cout << endl << "**** restartSystem Failed : " << e.what() << endl; - string Failed = e.what(); - if (Failed.find("Database Test Error") != string::npos) - cout << "Database Test Error occurred, check Alarm and Logs for additional Information" << endl; - } - } - } - break; - - case 20: // getSystemStatus - parameters: NONE - { - try { - printSystemStatus(); - } - catch (...) - { - break; - } - - } - break; - - case 21: // getProcessStatus - parameters: NONE - { - try { - printProcessStatus(); - } - catch (...) - { - break; - } - } - break; - - case 22: // system - UNIX system command - { - if (arguments[1] == "") - { - // need arguments - cout << endl << "**** system Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - for(int j=2; j < ArgNum; j++) - { - arguments[1].append(" "); - arguments[1].append(arguments[j]); - } - - system (arguments[1].c_str()); - } - break; - - case 23: // getAlarmHistory - { - if (arguments[1] == "") - { - // need arguments - cout << endl << "**** getAlarmHistory Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - if ( arguments[1].size() != 8 ) { - cout << "date not in correct format, enter MM/DD/YY" << endl; - break; - } - - if ( !(arguments[1].substr(2,1) == "/" && arguments[1].substr(5,1) == "/") ) { - cout << "date not in correct format, enter MM/DD/YY" << endl; - break; - } - - AlarmList alarmList; - try { - oam.getAlarms(arguments[1], alarmList); - } - catch (exception& e) - { - cout << endl << "**** getAlarms Failed = " << e.what() << endl; - break; - } - - cout << endl << "Historical Alarm List for " + arguments[1] + " :" << endl << endl; - - AlarmList :: iterator i; - int counter = 0; - for (i = alarmList.begin(); i != alarmList.end(); ++i) - { - switch (i->second.getState()) - { - case SET: - cout << "SET" << endl; - break; - case CLEAR: - cout << "CLEAR" << endl; - break; - } - cout << "AlarmID = " << i->second.getAlarmID() << endl; - cout << "Brief Description = " << i->second.getDesc() << endl; - cout << "Alarm Severity = "; - switch (i->second.getSeverity()) - { - case CRITICAL: - cout << "CRITICAL" << endl; - break; - case MAJOR: - cout << "MAJOR" << endl; - break; - case MINOR: - cout << "MINOR" << endl; - break; - case WARNING: - cout << "WARNING" << endl; - break; - case INFORMATIONAL: - cout << "INFORMATIONAL" << endl; - break; - } - cout << "Time Issued = " << i->second.getTimestamp() << endl; - cout << "Reporting Module = " << i->second.getSname() << endl; - cout << "Reporting Process = " << i->second.getPname() << endl; - cout << "Reported Device = " << i->second.getComponentID() << endl << endl; - - counter++; - if ( counter > 4 ) { - // continue prompt - if (confirmPrompt("Displaying Alarm History")) - break; - counter=0; - } - } - } - break; - - case 24: // monitorAlarms - { - cout << endl << "Monitor for System Alarms" << endl; - cout << " Enter control-C to return to command line" << endl << endl; - - string cmd = "tail -n 0 -f " + snmpmanager::ALARM_FILE; - system(cmd.c_str()); - } - break; - - case 25: // resetAlarm - { - if (arguments[1] == "") - { - // need 3 arguments - cout << endl << "**** resetAlarm Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - try - { - // check if requested alarm is Active - AlarmList alarmList; - Oam oam; - try { - oam.getActiveAlarms(alarmList); - } - catch (exception& e) - { - cout << endl << "**** getActiveAlarm Failed = " << e.what() << endl; - break; - } - - bool found = false; - AlarmList::iterator i; - for (i = alarmList.begin(); i != alarmList.end(); ++i) - { - // check if matching ID - if ( arguments[1] != "ALL" ) { - if (atoi(arguments[1].c_str()) != (i->second).getAlarmID() ) - continue; - - if ( arguments[2] != "ALL") { - if (arguments[2].compare((i->second).getSname()) != 0) - continue; - - if ( arguments[3] != "ALL") { - if (arguments[3].compare((i->second).getComponentID()) != 0 ) - continue; - } - } - } - - SNMPManager aManager; - aManager.sendAlarmReport((i->second).getComponentID().c_str(), - (i->second).getAlarmID(), - CLEAR, - (i->second).getSname(), - "calpontConsole"); - - cout << endl << " Alarm Successfully Reset: "; - cout << "ID = " << oam.itoa((i->second).getAlarmID()); - cout << " / Module = " << (i->second).getSname(); - cout << " / Device = " << (i->second).getComponentID() << endl; - found = true; - } - // check is a SET alarm was found, if not return - if (!found) - { - cout << endl << "**** resetAlarm Failed : Requested Alarm is not Set" << endl; - break; - } - } - catch (exception& e) - { - cout << endl << "**** resetAlarm Failed = " << e.what() << endl; - break; - } - } - break; - - case 26: // enableLog - { - if (arguments[2] == "") - { - // need 2 arguments - cout << endl << "**** Failed : enableLog Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - // covert second argument (level) into lowercase - transform (arguments[2].begin(), arguments[2].end(), arguments[2].begin(), to_lower()); - - try - { - oam.updateLog(ENABLEDSTATE, arguments[1], arguments[2]); - cout << endl << " Successful Enabling of Logging " << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** enableLog Failed : " << e.what() << endl; - } - } - break; - - case 27: // disableLog - { - if (arguments[2] == "") - { - // need 2 arguments - cout << endl << "**** disableLog Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - // covert second argument (level) into lowercase - transform (arguments[2].begin(), arguments[2].end(), arguments[2].begin(), to_lower()); - - try - { - oam.updateLog(MANDISABLEDSTATE, arguments[1], arguments[2]); - cout << endl << " Successful Disabling of Logging " << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** disableLog Failed : " << e.what() << endl; - } - } - break; - - case 28: // switchParentOAMModule - { - BRM::DBRM dbrm; - bool bDBRMReady = dbrm.isDBRMReady(); - string module; - bool bUseHotStandby = true; - SystemStatus systemstatus; - Oam oam; - - //first check that the system is in a ACTIVE OR MAN_OFFLINE STATE - try - { - oam.getSystemStatus(systemstatus); - if (systemstatus.SystemOpState == ACTIVE || - systemstatus.SystemOpState == MAN_OFFLINE) - { - module = ""; - } - else - { - cout << endl << "**** switchParentOAMModule Failed : System Status needs to be ACTIVE or MAN_OFFLINE" << endl; - break; - } - } - catch(...) - {} - - // First get the values for the standard arguments - getFlags(arguments, gracefulTemp, ackTemp, suspendAnswer, bNeedsConfirm); - - // Now check for arguments unique to this command. In this case, a valid - // module name. - for (int i = 1; i < ArgNum; i++) - { - if (arguments[i].size() > 0) - { - if (oam.validateModule(arguments[i]) == API_SUCCESS) - { - module = arguments[i]; - bUseHotStandby = false; - break; - } - } - } - //check if there are more than 1 pm modules to start with - ModuleTypeConfig moduletypeconfig; - oam.getSystemConfig("pm", moduletypeconfig); - if ( moduletypeconfig.ModuleCount < 2 ) - { - cout << endl << "**** switchParentOAMModule Failed : Command only support on systems with Multiple Performance Modules" << endl; -// break; - } - - string DBRootStorageType; - try - { - oam.getSystemConfig("DBRootStorageType", DBRootStorageType); - } - catch(...) {} - - string GlusterConfig = "n"; - try - { - oam.getSystemConfig( "GlusterConfig", GlusterConfig); - } - catch(...) - {} - - if (DBRootStorageType == "internal" && GlusterConfig == "n") - { - cout << endl << "**** switchParentOAMModule Failed : DBRoot Storage type = internal/non-data-replication" << endl; - break; - } - - string ParentOAMModuleName; - try - { - oam.getSystemConfig("ParentOAMModuleName", ParentOAMModuleName); - } - catch(...) {} - - if (bUseHotStandby) - { - oam.getSystemConfig("StandbyOAMModuleName", module); - if ( module.empty() || module == oam::UnassignedName ) - { - cout << endl << "**** switchParentOAMModule Failed : There's no hot standby defined" << endl << " enter a Performance Module" << endl; - break; - } - - cout << endl << "Switching to the Hot-Standby Parent OAM Module '" << module << "'" << endl; - } - else - { - parentOAMModule = getParentOAMModule(); - if ( module == parentOAMModule ) - { - cout << endl << "**** switchParentOAMModule Failed : " << module << " is already the Active Parent OAM Module" << endl; - break; - } - - cout << endl << "Switching to the Performance Module '" << module << "'" << endl; - } - - //check for gluster system is do-able - if (GlusterConfig == "y") - { - // get to-module assigned DBRoots and see if current active PM - // has a copy - - DBRootConfigList toPMbrootConfigList; - - try - { - string moduleID = module.substr(MAX_MODULE_TYPE_SIZE,MAX_MODULE_ID_SIZE); - oam.getPmDbrootConfig(atoi(moduleID.c_str()), toPMbrootConfigList); - - bool match = false; - DBRootConfigList::iterator pt = toPMbrootConfigList.begin(); - for( ; pt != toPMbrootConfigList.end() ; pt++) - { - // check if ACTIVE PM has a copy of Dbroot - string pmList = ""; - try { - string errmsg; - int ret = oam.glusterctl(oam::GLUSTER_WHOHAS, oam.itoa(*pt), pmList, errmsg); - if ( ret != 0 ) - { - cout << endl << "**** switchParentOAMModule Failed : " << module << " glusterctl error" << endl; - break; - } - } - catch (...) - { - cout << endl << "**** switchParentOAMModule Failed : " << module << " glusterctl error" << endl; - break; - } - - boost::char_separator sep(" "); - boost::tokenizer< boost::char_separator > tokens(pmList, sep); - for ( boost::tokenizer< boost::char_separator >::iterator it1 = tokens.begin(); - it1 != tokens.end(); - ++it1) - { - string pmModule = "pm" + *it1; - if ( pmModule == ParentOAMModuleName ) { - match = true; - break; - } - } - } - - if (!match) { - cout << endl << "**** switchParentOAMModule Failed : The Current Active PM doesn't have a copy of any DBROOTs that reside on the Siwtching PM " << endl; - break; - } - - //check if switching to PM has DBROOT 1 - string pmList = ""; - try { - string errmsg; - int ret = oam.glusterctl(oam::GLUSTER_WHOHAS, "1", pmList, errmsg); - if ( ret != 0 ) - { - cout << endl << "**** switchParentOAMModule Failed : " << module << " glusterctl error" << endl; - break; - } - } - catch (...) - { - cout << endl << "**** switchParentOAMModule Failed : " << module << " glusterctl error" << endl; - break; - } - - match = false; - boost::char_separator sep(" "); - boost::tokenizer< boost::char_separator > tokens(pmList, sep); - for ( boost::tokenizer< boost::char_separator >::iterator it1 = tokens.begin(); - it1 != tokens.end(); - ++it1) - { - string pmModule = "pm" + *it1; - if ( pmModule == module ) { - match = true; - break; - } - } - - if (!match) { - cout << endl << "**** switchParentOAMModule Failed : The Switching to PM doesn't have a copy of the DBROOT #1" << endl; - break; - } - } - catch (exception& e) - { - cout << endl << "**** getPmDbrootConfig Failed for '" << module << "' : " << e.what() << endl; - break; - } - } - - - if (bNeedsConfirm) - { - // confirm request - if (confirmPrompt("This command switches the Active Parent OAM Module and should only be executed on an idle system.")) - break; - } - - string MySQLRep; - string MySQLPasswordConfig; - try { - oam.getSystemConfig("MySQLRep", MySQLRep); - oam.getSystemConfig("MySQLPasswordConfig", MySQLPasswordConfig); - } - catch(...) {} - - if ( MySQLRep == "y" && MySQLPasswordConfig == oam::UnassignedName ) { - cout << endl; - string prompt = "MySQL Replication is enabled, is there a 'MySQL' Password configured in " + HOME + "/.my.cnf (y,n): "; - MySQLPasswordConfig = dataPrompt(prompt); - } - - if ( MySQLPasswordConfig != "y" ) - MySQLPasswordConfig = "n"; - - try { - oam.setSystemConfig("MySQLPasswordConfig", MySQLPasswordConfig); - } - catch(...) {} - - try - { - cout << endl << " Check for active transactions" << endl; - - if (!bDBRMReady || - dbrm.isReadWrite() != 0) - { - suspendAnswer = FORCE; - } - - if (suspendAnswer == CANCEL) // We don't have an answer from the command line. - { - // If there are bulkloads, ddl or dml happening, Ask what to do. - bool bIsDbrmUp = true; - execplan::SessionManager sessionManager; - BRM::SIDTIDEntry blockingsid; - std::vector tableLocks = dbrm.getAllTableLocks(); - bool bActiveTransactions = false; - if (!tableLocks.empty()) - { - oam.DisplayLockedTables(tableLocks, &dbrm); - bActiveTransactions = true; - } - if (sessionManager.checkActiveTransaction(0, bIsDbrmUp, blockingsid)) - { - cout << endl << "There are active transactions being processed" << endl; - bActiveTransactions = true; - } - - if (bActiveTransactions) - { - suspendAnswer = AskSuspendQuestion(CmdID); - // if (suspendAnswer == FORCE) - // { - // if (confirmPrompt("Force may cause data problems and should only be used in extreme circumstances")) - // { - // break; - // } - // } - } - else - { - suspendAnswer = FORCE; - } - } - if (suspendAnswer == CANCEL) - { - // We're outa here. - break; - } - switch (suspendAnswer) - { - case WAIT: - cout << endl << " Waiting for all transactions to complete" << flush; - dbrm.setSystemShutdownPending(true, false, false); - gracefulTemp = GRACEFUL_WAIT; // Causes procmgr to wait for all table locks to free and all transactions to finish before shutdown - break; - case ROLLBACK: - cout << endl << " Rollback of all transactions" << flush; - dbrm.setSystemShutdownPending(true, true, false); - gracefulTemp = GRACEFUL_WAIT; // Causes procmgr to wait for all table locks to free and all transactions to finish before shutdown - break; - case FORCE: - cout << endl << " Switch Active Parent OAM Module starting..." << endl; - if (bDBRMReady) - { - dbrm.setSystemShutdownPending(true, false, true); - } - break; - case CANCEL: - break; - } - - if (oam.switchParentOAMModule(module, gracefulTemp)) - { - if (waitForActive()) { - // give time for new ProcMgr to go active - sleep (10); - cout << endl << " Successful Switch Active Parent OAM Module" << endl << endl; - } - else - cout << endl << "**** Switch Active Parent OAM Module failed : check log files" << endl; - } - else - { - // give time for new ProcMgr to go active - sleep (10); - cout << endl << " Successful Switch Active Parent OAM Module" << endl << endl; - } - } - catch (exception& e) - { - cout << endl << "**** switchParentOAMModule Failed : " << e.what() << endl; - break; - } - } - break; - - case 29: // getStorageStatus - { - SystemStatus systemstatus; - Oam oam; - - cout << "System External DBRoot Storage Statuses" << endl << endl; - cout << "Component Status Last Status Change" << endl; - cout << "------------ -------------------------- ------------------------" << endl; - - try - { - oam.getSystemStatus(systemstatus, false); - - if ( systemstatus.systemdbrootstatus.dbrootstatus.size() == 0 ) - { - cout << " No External DBRoot Storage Configured" << endl; - break; - } - - for( unsigned int i = 0 ; i < systemstatus.systemdbrootstatus.dbrootstatus.size(); i++) - { - if( systemstatus.systemdbrootstatus.dbrootstatus[i].Name.empty() ) - // end of list - break; - - cout << "DBRoot #"; - cout.setf(ios::left); - cout.width(6); - cout << systemstatus.systemdbrootstatus.dbrootstatus[i].Name; - cout.width(29); - int state = systemstatus.systemdbrootstatus.dbrootstatus[i].OpState; - printState(state, " "); - cout.width(24); - string stime = systemstatus.systemdbrootstatus.dbrootstatus[i].StateChangeDate ; - stime = stime.substr (0,24); - cout << stime << endl; - } - cout << endl; - } - catch (exception& e) - { - cout << endl << "**** getSystemStatus Failed = " << e.what() << endl; - } - } - break; - - case 30: // getLogConfig - { - try - { - SystemLogConfigData systemconfigdata; - LogConfigData logconfigdata; - - oam.getLogConfig(systemconfigdata); - - string configFileName; - oam.getSystemConfig("SystemLogConfigFile", configFileName); - - cout << endl << "Calpont System Log Configuration Data" << endl << endl; - - cout << "System Logging Configuration File being used: " << configFileName << endl << endl; - - cout << "Module Configured Log Levels" << endl; - cout << "------ ---------------------------------------" << endl; - - SystemLogConfigData::iterator pt = systemconfigdata.begin(); - for(; pt != systemconfigdata.end() ; pt++) - { - logconfigdata = *pt; - string module = logconfigdata.moduleName; - int data = logconfigdata.configData; - if ( data < API_MAX ) - { - // failure API status returned - cout.setf(ios::left); - cout.width(10); - cout << logconfigdata.moduleName; - cout << "getLogConfig Failed - Error : " << data << endl; - } - else - { - cout.setf(ios::left); - cout.width(10); - cout << logconfigdata.moduleName; - - data = data - API_MAX; - if( data == 0 ) - // no level configured - cout << "None Configured" << endl; - else - { - if ( ((data & LEVEL_CRITICAL) ? 1 : 0) == 1 ) - cout << "Critical "; - if ( ((data & LEVEL_ERROR) ? 1 : 0) == 1 ) - cout << "Error "; - if ( ((data & LEVEL_WARNING) ? 1 : 0) == 1 ) - cout << "Warning "; - if ( ((data & LEVEL_INFO) ? 1 : 0) == 1 ) - cout << "Info "; - if ( ((data & LEVEL_DEBUG) ? 1 : 0) == 1 ) - cout << "Debug "; - if ( ((data & LEVEL_DATA) ? 1 : 0) == 1 ) - cout << "Data"; - cout << endl; - } - } - } - } - catch (exception& e) - { - cout << endl << "**** getLogConfig Failed : " << e.what() << endl; - break; - } - - } - break; - - case 31: // movePmDbrootConfig parameters: pm-reside dbroot-list pm-to - { - if ( localModule != parentOAMModule ) { - // exit out since not on active module - cout << endl << "**** movePmDbrootConfig Failed : Can only run command on Active OAM Parent Module (" << parentOAMModule << ")." << endl; - break; - } - - //check the system status / service status and only allow command when System is MAN_OFFLINE - string cmd = startup::StartUp::installDir() + "/bin/infinidb status > /tmp/status.log"; - system(cmd.c_str()); - if (oam.checkLogStatus("/tmp/status.log", "InfiniDB is running") ) - { - SystemStatus systemstatus; - try { - oam.getSystemStatus(systemstatus); - - if (systemstatus.SystemOpState != oam::MAN_OFFLINE ) { - cout << endl << "**** movePmDbrootConfig Failed, System has to be in a MAN_OFFLINE state, stop system first" << endl; - break; - } - } - catch (exception& e) - { - cout << endl << "**** movePmDbrootConfig Failed : " << e.what() << endl; - break; - } - catch(...) - { - cout << endl << "**** movePmDbrootConfig Failed, Failed return from getSystemStatus API" << endl; - break; - } - } - - if (arguments[3] == "") - { - // need arguments - cout << endl << "**** movePmDbrootConfig Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - string residePM = arguments[1]; - string dbrootIDs = arguments[2]; - string toPM = arguments[3]; - - string residePMID = residePM.substr(MAX_MODULE_TYPE_SIZE,MAX_MODULE_ID_SIZE);; - string toPMID = toPM.substr(MAX_MODULE_TYPE_SIZE,MAX_MODULE_ID_SIZE);; - - // check module status - try{ - bool degraded; - int opState; - oam.getModuleStatus(toPM, opState, degraded); - - if (opState == oam::AUTO_DISABLED || - opState == oam::MAN_DISABLED) - { - cout << "**** movePmDbrootConfig Failed: " << toPM << " is DISABLED." << endl; - cout << "Run alterSystem-EnableModule to enable module" << endl; - break; - } - - if (opState == oam::FAILED) - { - cout << "**** movePmDbrootConfig Failed: " << toPM << " is in a FAILED state." << endl; - break; - } - } - catch (exception& ex) - {} - - bool moveDBRoot1 = false; - bool found = false; - boost::char_separator sep(", "); - boost::tokenizer< boost::char_separator > tokens(dbrootIDs, sep); - for ( boost::tokenizer< boost::char_separator >::iterator it = tokens.begin(); - it != tokens.end(); - ++it) - { - if (*it == "1" ) { - moveDBRoot1 = true; - break; - } - - //if gluster, check if toPM is has a copy - string GlusterConfig; - try { - oam.getSystemConfig("GlusterConfig", GlusterConfig); - } - catch(...) {} - - if ( GlusterConfig == "y" ) - { - string pmList = ""; - try { - string errmsg; - oam.glusterctl(oam::GLUSTER_WHOHAS, *it, pmList, errmsg); - } - catch (...) - {} - - boost::char_separator sep(" "); - boost::tokenizer< boost::char_separator > tokens(pmList, sep); - for ( boost::tokenizer< boost::char_separator >::iterator it1 = tokens.begin(); - it1 != tokens.end(); - ++it1) - { - if ( *it1 == toPMID ) - { - found = true; - break; - } - } - - if (!found) - { - cout << endl << "**** movePmDbrootConfig Failed : Data Redundancy Configured, DBRoot #" << *it << " doesn't have a copy on " << toPM << endl; - cout << "Run getStorageConfig to get copy information" << endl << endl; - break; - } - } - else - found = true; - } - - if (moveDBRoot1) { - cout << endl << "**** movePmDbrootConfig Failed : Can't move dbroot #1" << endl << endl; - break; - } - - if (!found) - { - break; - } - - - if (residePM.find("pm") == string::npos ) { - cout << endl << "**** movePmDbrootConfig Failed : Parmameter 1 is not a Performance Module name, enter 'help' for additional information" << endl; - break; - } - - if (toPM.find("pm") == string::npos ) { - cout << endl << "**** movePmDbrootConfig Failed : Parmameter 3 is not a Performance Module name, enter 'help' for additional information" << endl; - break; - } - - if (residePM == toPM ) { - cout << endl << "**** movePmDbrootConfig Failed : Reside and To Performance Modules are the same" << endl; - break; - } - - //get dbroots ids for reside PM - DBRootConfigList residedbrootConfigList; - - try - { - oam.getPmDbrootConfig(atoi(residePMID.c_str()), residedbrootConfigList); - - cout << endl << "DBRoot IDs currently assigned to '" + residePM + "' = "; - - DBRootConfigList::iterator pt = residedbrootConfigList.begin(); - for( ; pt != residedbrootConfigList.end() ;) - { - cout << oam.itoa(*pt); - pt++; - if (pt != residedbrootConfigList.end()) - cout << ", "; - } - cout << endl; - } - catch (exception& e) - { - cout << endl << "**** getPmDbrootConfig Failed for '" << residePM << "' : " << e.what() << endl; - break; - } - - //get dbroots ids for reside PM - DBRootConfigList todbrootConfigList; - try - { - oam.getPmDbrootConfig(atoi(toPMID.c_str()), todbrootConfigList); - - cout << "DBRoot IDs currently assigned to '" + toPM + "' = "; - - DBRootConfigList::iterator pt = todbrootConfigList.begin(); - for( ; pt != todbrootConfigList.end() ;) - { - cout << oam.itoa(*pt); - pt++; - if (pt != todbrootConfigList.end()) - cout << ", "; - } - cout << endl; - } - catch (exception& e) - { - cout << endl << "**** getPmDbrootConfig Failed for '" << toPM << "' : " << e.what() << endl; - break; - } - - cout << endl << "DBroot IDs being moved, please wait..." << endl << endl; - - try { - oam.manualMovePmDbroot(residePM, dbrootIDs, toPM); - } - catch (...) - { - cout << endl << "**** manualMovePmDbroot Failed : API Failure" << endl; - break; - } - - //get dbroots ids for reside PM - try - { - residedbrootConfigList.clear(); - oam.getPmDbrootConfig(atoi(residePMID.c_str()), residedbrootConfigList); - - cout << "DBRoot IDs newly assigned to '" + residePM + "' = "; - - DBRootConfigList::iterator pt = residedbrootConfigList.begin(); - for( ; pt != residedbrootConfigList.end() ;) - { - cout << oam.itoa(*pt); - pt++; - if (pt != residedbrootConfigList.end()) - cout << ", "; - } - cout << endl; - } - catch (exception& e) - { - cout << endl << "**** getPmDbrootConfig Failed for '" << toPM << "' : " << e.what() << endl; - break; - } - - try - { - todbrootConfigList.clear(); - oam.getPmDbrootConfig(atoi(toPMID.c_str()), todbrootConfigList); - - cout << "DBRoot IDs newly assigned to '" + toPM + "' = "; - - DBRootConfigList::iterator pt = todbrootConfigList.begin(); - for( ; pt != todbrootConfigList.end() ;) - { - cout << oam.itoa(*pt); - pt++; - if (pt != todbrootConfigList.end()) - cout << ", "; - } - cout << endl; - } - catch (exception& e) - { - cout << endl << "**** getPmDbrootConfig Failed for '" << toPM << "' : " << e.what() << endl; - break; - } - - } - break; - - case 32: // suspendDatabaseWrites - { - BRM::DBRM dbrm; - getFlags(arguments, gracefulTemp, ackTemp, suspendAnswer, bNeedsConfirm); - - cout << endl << "This command suspends the DDL/DML writes to the Calpont Database" << endl; - try - { - - if (!dbrm.isDBRMReady()) - { - cout << endl << " The Controller Node is not responding.\n The system can't be set into write suspend mode" << endl << flush; - break; - } - else - if (dbrm.isReadWrite() != 0) - { - suspendAnswer = FORCE; - } - - // If there are bulkloads, ddl or dml happening, refuse the request - if (suspendAnswer == CANCEL) // We don't have an answer from the command line. - { - // If there are bulkloads, ddl or dml happening, Ask what to do. - bool bIsDbrmUp = true; - execplan::SessionManager sessionManager; - BRM::SIDTIDEntry blockingsid; - std::vector tableLocks = dbrm.getAllTableLocks(); - bool bActiveTransactions = false; - if (!tableLocks.empty()) - { - oam.DisplayLockedTables(tableLocks, &dbrm); - bActiveTransactions = true; - } - if (sessionManager.checkActiveTransaction(0, bIsDbrmUp, blockingsid)) - { - cout << endl << "There are active transactions being processed" << endl; - bActiveTransactions = true; - } - - if (bActiveTransactions) - { - suspendAnswer = AskSuspendQuestion(CmdID); - // if (suspendAnswer == FORCE) - // { - // if (confirmPrompt("Force may cause data problems and should only be used in extreme circumstances")) - // { - // break; - // } - // } - bNeedsConfirm = false; - } - else - { - suspendAnswer = FORCE; - } - } - if (suspendAnswer == CANCEL) - { - // We're outa here. - break; - } - if (bNeedsConfirm) - { - if (confirmPrompt("")) - break; - } - switch (suspendAnswer) - { - case WAIT: - cout << endl << " Waiting for all transactions to complete" << flush; - dbrm.setSystemSuspendPending(true, false); - gracefulTemp = GRACEFUL_WAIT; // Causes procmgr to wait for all table locks to free and all transactions to finish before shutdown - break; - case ROLLBACK: - cout << endl << " Rollback of all transactions" << flush; - dbrm.setSystemSuspendPending(true, true); - gracefulTemp = GRACEFUL_WAIT; // Causes procmgr to wait for all table locks to free and all transactions to finish before shutdown - break; - case FORCE: - case CANCEL: - default: - gracefulTemp = FORCEFUL; - break; - } - - // stop writes to Calpont Database - oam.SuspendWrites(gracefulTemp, ackTemp); - } - catch (exception& e) - { - cout << endl << "**** stopDatabaseWrites Failed: " << e.what() << endl; - } - catch(...) - { - cout << endl << "**** stopDatabaseWrites Failed" << endl; - break; - } - break; - } - - case 33: // resumeDatabaseWrites - { - if ( arguments[1] != "y" ) { - if (confirmPrompt("This command resumes the DDL/DML writes to the Calpont Database")) - break; - } - - // resume writes to Calpont Database - - try{ - SystemProcessStatus systemprocessstatus; - BRM::DBRM dbrm; - - dbrm.setSystemSuspended(false); - - oam.getProcessStatus(systemprocessstatus); - for( unsigned int i = 0 ; i < systemprocessstatus.processstatus.size(); i++) - { - if (systemprocessstatus.processstatus[i].ProcessName == "DMLProc") - { - oam.setProcessStatus(systemprocessstatus.processstatus[i].ProcessName, systemprocessstatus.processstatus[i].Module, ACTIVE, 1); - } - if (systemprocessstatus.processstatus[i].ProcessName == "DDLProc") - { - oam.setProcessStatus(systemprocessstatus.processstatus[i].ProcessName, systemprocessstatus.processstatus[i].Module, ACTIVE, 1); - } - if (systemprocessstatus.processstatus[i].ProcessName == "WriteEngineServer") - { - oam.setProcessStatus(systemprocessstatus.processstatus[i].ProcessName, systemprocessstatus.processstatus[i].Module, ACTIVE, 1); - } - } - oam.setSystemStatus(ACTIVE); - cout << endl << "Resume Calpont Database Writes Request successfully completed" << endl; - } - catch (exception& e) - { - cout << endl << "**** resumeDatabaseWrites Failed: " << e.what() << endl; - } - catch(...) - { - cout << endl << "**** resumeDatabaseWrites Failed" << endl; - break; - } - break; - } - - case 34: // unassignDbrootPmConfig parameters: dbroot-list reside-pm - { - if ( localModule != parentOAMModule ) { - // exit out since not on active module - cout << endl << "**** unassignDbrootPmConfig Failed : Can only run command on Active OAM Parent Module (" << parentOAMModule << ")." << endl; - break; - } - - - if (arguments[2] == "") - { - // need atleast 2 arguments - cout << endl << "**** unassignDbrootPmConfig Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - string dbrootIDs = arguments[1]; - string residePM = arguments[2]; - - if (arguments[2].find("pm") == string::npos ) { - cout << endl << "**** unassignDbrootPmConfig Failed : Parmameter 2 is not a Performance Module name, enter 'help' for additional information" << endl; - break; - } - - // check module status - try{ - bool degraded; - int opState; - oam.getModuleStatus(residePM, opState, degraded); - - if (opState != oam::MAN_OFFLINE) - { - cout << endl << "**** unassignDbrootPmConfig Failed, " + residePM + " has to be in a MAN_OFFLINE state" << endl; - break; - } - - } - catch (exception& ex) - {} - - DBRootConfigList dbrootlist; - - boost::char_separator sep(", "); - boost::tokenizer< boost::char_separator > tokens(dbrootIDs, sep); - for ( boost::tokenizer< boost::char_separator >::iterator it = tokens.begin(); - it != tokens.end(); - ++it) - { - dbrootlist.push_back(atoi((*it).c_str())); - } - - cout << endl; - - //get dbroots ids for reside PM - try - { - oam.unassignDbroot(residePM, dbrootlist); - - cout << endl << " Successfully Unassigned DBRoots " << endl << endl; - - } - catch (exception& e) - { - cout << endl << "**** Failed Unassign of DBRoots: " << e.what() << endl; - break; - } - } - break; - - case 35: // assignDbrootPmConfig parameters: pm dbroot-list - { - if ( localModule != parentOAMModule ) { - // exit out since not on active module - cout << endl << "**** assignDbrootPmConfig Failed : Can only run command on Active OAM Parent Module (" << parentOAMModule << ")." << endl; - break; - } - - //check the system status / service status and only allow command when System is MAN_OFFLINE - string cmd = startup::StartUp::installDir() + "/bin/infinidb status > /tmp/status.log"; - system(cmd.c_str()); - if (!oam.checkLogStatus("/tmp/status.log", "InfiniDB is running") ) - { - cout << endl << "**** assignDbrootPmConfig Failed, System is down. Needs to be running" << endl; - break; - } - - if (arguments[2] == "") - { - // need atleast 2 arguments - cout << endl << "**** assignDbrootPmConfig Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - string dbrootIDs = arguments[1]; - string toPM = arguments[2]; - - if (arguments[2].find("pm") == string::npos ) { - cout << endl << "**** assignDbrootPmConfig Failed : Parmameter 2 is not a Performance Module name, enter 'help' for additional information" << endl; - break; - } - - // check module status - try{ - bool degraded; - int opState; - oam.getModuleStatus(toPM, opState, degraded); - - if (opState == oam::AUTO_DISABLED || - opState == oam::MAN_DISABLED) - { - cout << "**** assignDbrootPmConfig Failed: " << toPM << " is DISABLED." << endl; - cout << "Run alterSystem-EnableModule to enable module" << endl; - break; - } - - if (!opState == oam::MAN_OFFLINE) - { - cout << "**** assignDbrootPmConfig Failed: " << toPM << " needs to be MAN_OFFLINE." << endl; - break; - } - } - catch (exception& ex) - {} - - DBRootConfigList dbrootlist; - - boost::char_separator sep(", "); - boost::tokenizer< boost::char_separator > tokens(dbrootIDs, sep); - for ( boost::tokenizer< boost::char_separator >::iterator it = tokens.begin(); - it != tokens.end(); - ++it) - { - dbrootlist.push_back(atoi((*it).c_str())); - } - - cout << endl; - - //get dbroots ids for reside PM - try - { - oam.assignDbroot(toPM, dbrootlist); - - cout << endl << " Successfully Assigned DBRoots " << endl << endl; - - try { - string DBRootStorageType; - oam.getSystemConfig("DBRootStorageType", DBRootStorageType); - - if (DBRootStorageType == "external" ){ - string GlusterConfig = "n"; - string cloud = oam::UnassignedName; - try { - oam.getSystemConfig("Cloud", cloud); - oam.getSystemConfig( "GlusterConfig", GlusterConfig); - } - catch(...) - {} - - if ( GlusterConfig == "n" && cloud == oam::UnassignedName) - cout << " REMINDER: Update the /etc/fstab on " << toPM << " to include these dbroot mounts" << endl << endl; - break; - - } - } - catch(...) {} - - } - catch (exception& e) - { - cout << endl << "**** Failed Assign of DBRoots: " << e.what() << endl; - break; - } - } - break; - - case 36: // getAlarmSummary - { - printAlarmSummary(); - } - break; - - case 37: // getSystemInfo - { - try { - printSystemStatus(); - } - catch (...) - { - break; - } - - try { - printProcessStatus(); - } - catch (...) - { - break; - } - - printAlarmSummary(); - } - break; - - case 38: // getModuleConfig - { - SystemModuleTypeConfig systemmoduletypeconfig; - ModuleTypeConfig moduletypeconfig; - ModuleConfig moduleconfig; - systemmoduletypeconfig.moduletypeconfig.clear(); - string returnValue; - string Argument; - - if (arguments[1] == "all" || arguments[1] == "") - { - - // get and all display Module Name config parameters - - try - { - oam.getSystemConfig(systemmoduletypeconfig); - - cout << endl << "Module Name Configuration" << endl; - - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - if( systemmoduletypeconfig.moduletypeconfig[i].ModuleType.empty() ) - // end of list - break; - - int moduleCount = systemmoduletypeconfig.moduletypeconfig[i].ModuleCount; - if ( moduleCount == 0 ) - // skip if no modules - continue; - - string moduletype = systemmoduletypeconfig.moduletypeconfig[i].ModuleType; - - DeviceNetworkList::iterator pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.begin(); - for( ; pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.end() ; pt++) - { - string modulename = (*pt).DeviceName; - string moduleID = modulename.substr(MAX_MODULE_TYPE_SIZE,MAX_MODULE_ID_SIZE); - cout << endl << "Module '" << modulename << "' Configuration information" << endl << endl; - - cout << "ModuleType = " << moduletype << endl; - cout << "ModuleDesc = " << systemmoduletypeconfig.moduletypeconfig[i].ModuleDesc << " #" << moduleID << endl; - - HostConfigList::iterator pt1 = (*pt).hostConfigList.begin(); - for( ; pt1 != (*pt).hostConfigList.end() ; pt1++) - { - cout << "ModuleIPAdd NIC ID " + oam.itoa((*pt1).NicID) + " = " << (*pt1).IPAddr << endl; - cout << "ModuleHostName NIC ID " + oam.itoa((*pt1).NicID) + " = " << (*pt1).HostName << endl; - } - - DeviceDBRootList::iterator pt3 = systemmoduletypeconfig.moduletypeconfig[i].ModuleDBRootList.begin(); - for( ; pt3 != systemmoduletypeconfig.moduletypeconfig[i].ModuleDBRootList.end() ; pt3++) - { - if ( (*pt3).DeviceID == atoi(moduleID.c_str()) ) { - cout << "DBRootIDs assigned = "; - DBRootConfigList::iterator pt2 = (*pt3).dbrootConfigList.begin(); - for( ; pt2 != (*pt3).dbrootConfigList.end() ;) - { - cout << oam.itoa(*pt2); - pt2++; - if (pt2 != (*pt3).dbrootConfigList.end() ) - cout << ", "; - } - cout << endl; - } - } - } - } - } - catch (exception& e) - { - cout << endl << "**** getModuleConfig Failed = " << e.what() << endl; - } - } - else - { // get a single module name info - if (arguments[2] == "") - { - try - { - oam.getSystemConfig(arguments[1], moduleconfig); - - cout << endl << "Module Name Configuration for " << arguments[1] << endl << endl; - - cout << "ModuleType = " << moduleconfig.ModuleType << endl; - cout << "ModuleDesc = " << moduleconfig.ModuleDesc << endl; - HostConfigList::iterator pt1 = moduleconfig.hostConfigList.begin(); - for( ; pt1 != moduleconfig.hostConfigList.end() ; pt1++) - { - cout << "ModuleIPAdd NIC ID " + oam.itoa((*pt1).NicID) + " = " << (*pt1).IPAddr << endl; - cout << "ModuleHostName NIC ID " + oam.itoa((*pt1).NicID) + " = " << (*pt1).HostName << endl; - } - - if ( moduleconfig.ModuleType == "pm" ) - { - - cout << "DBRootIDs assigned = "; - - DBRootConfigList::iterator pt2 = moduleconfig.dbrootConfigList.begin(); - for( ; pt2 != moduleconfig.dbrootConfigList.end() ; ) - { - cout << oam.itoa(*pt2); - pt2++; - if (pt2 != moduleconfig.dbrootConfigList.end()) - cout << ", "; - } - cout << endl << endl; - } - } - catch (exception& e) - { - cout << endl << "**** getModuleConfig Failed = " << e.what() << endl; - } - } - else - { // get a parameter for a module - // get module ID from module name entered, then get parameter - oam.getSystemConfig(systemmoduletypeconfig); - - cout << endl; - bool found = false; - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - string moduleType = arguments[1].substr(0,MAX_MODULE_TYPE_SIZE); - string moduleID = arguments[1].substr(MAX_MODULE_TYPE_SIZE,MAX_MODULE_ID_SIZE); - - int moduleCount = systemmoduletypeconfig.moduletypeconfig[i].ModuleCount; - if ( moduleCount == 0 ) - // skip if no modules - continue; - - if(systemmoduletypeconfig.moduletypeconfig[i].ModuleType == moduleType ) - { - DeviceNetworkList::iterator pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.begin(); - for( ; pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.end() ; pt++) - { - if ( (*pt).DeviceName != arguments[1] ) - continue; - - found = true; - if ( arguments[2] == "ModuleIPAdd" || arguments[2] == "ModuleHostName") { - HostConfigList::iterator pt1 = (*pt).hostConfigList.begin(); - for( ; pt1 != (*pt).hostConfigList.end() ; pt1++) - { - if ( arguments[2] == "ModuleIPAdd" ) - cout << "ModuleIPAdd NIC ID " + oam.itoa((*pt1).NicID) + " = " << (*pt1).IPAddr << endl; - else - cout << "ModuleHostName NIC ID " + oam.itoa((*pt1).NicID) + " = " << (*pt1).HostName << endl; - } - } - else - { - Argument = arguments[2] + oam.itoa(i+1); - try - { - oam.getSystemConfig(Argument, returnValue); - cout << endl << " " << arguments[2] << " = " << returnValue << endl << endl; - break; - } - catch (exception& e) - { - cout << endl << "**** getModuleConfig Failed = " << e.what() << endl; - break; - } - } - } - } - } - if( !found ) - { - // module name not found - cout << endl << "**** getModuleConfig Failed : Invalid Module Name" << endl; - break; - } - cout << endl; - } - } - } - break; - - case 39: - { - } - break; - - case 40: - { - } - break; - - case 41: - { - } - break; - - case 42: - { - } - break; - - case 43: // assignElasticIPAddress - { - //get cloud configuration data - string cloud = oam::UnassignedName; - try{ - oam.getSystemConfig("Cloud", cloud); - } - catch(...) {} - - if ( cloud == oam::UnassignedName ) - { - cout << endl << "**** assignElasticIPAddress Not Supported : For Amazon Systems only" << endl; - break; - } - - if (arguments[2] == "") - { - // need 2 arguments - cout << endl << "**** assignElasticIPAddress Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - parentOAMModule = getParentOAMModule(); - if ( localModule != parentOAMModule ) { - // exit out since not on Parent OAM Module - cout << endl << "**** assignElasticIPAddress Failed : only should be run on the Parent OAM Module, which is '" << parentOAMModule << "'" << endl; - break; - } - - string IPaddress = arguments[1]; - string moduleName = arguments[2]; - - if ( oam.validateModule(moduleName) != API_SUCCESS) { - cout << endl << "**** assignElasticIPAddress Failed : Invalid Module name" << endl; - break; - } - - if ( moduleName == localModule ) - { - if ( arguments[3] != "y") { - string warning = "Warning: Assigning Elastic IP Address to local module will lock up this terminal session."; - // confirm request - if (confirmPrompt(warning)) - break; - } - } - - //check and add Elastic IP Address - int AmazonElasticIPCount = 0; - try{ - oam.getSystemConfig("AmazonElasticIPCount", AmazonElasticIPCount); - } - catch(...) { - AmazonElasticIPCount = 0; - } - - bool found = false; - int id = 1; - for ( ; id < AmazonElasticIPCount+1 ; id++ ) - { - string AmazonElasticModule = "AmazonElasticModule" + oam.itoa(id); - string ELmoduleName; - string AmazonElasticIPAddr = "AmazonElasticIPAddr" + oam.itoa(id); - string ELIPaddress; - try{ - oam.getSystemConfig(AmazonElasticModule, ELmoduleName); - oam.getSystemConfig(AmazonElasticIPAddr, ELIPaddress); - } - catch(...) {} - - if ( ELmoduleName == moduleName && - ELIPaddress == IPaddress) - { //assign again incase it got unconnected - //get instance id - string instanceName = oam::UnassignedName; - try - { - ModuleConfig moduleconfig; - oam.getSystemConfig(moduleName, moduleconfig); - HostConfigList::iterator pt1 = moduleconfig.hostConfigList.begin(); - instanceName = (*pt1).HostName; - } - catch(...) - {} - - try{ - oam.assignElasticIP(instanceName, IPaddress); - cout << endl << " Successfully completed Assigning Elastic IP Address " << endl << endl; - } - catch(...) {} - found = true; - break; - } - - if ( ELmoduleName == moduleName ) - { - cout << endl << "**** assignElasticIPAddress Failed : module already assigned IP Address " << ELIPaddress << endl; - found = true; - break; - } - - if ( ELIPaddress == IPaddress ) - { - cout << endl << "**** assignElasticIPAddress Failed : IP Address already assigned to module " << ELmoduleName << endl; - found = true; - break; - } - } - - if (found) - break; - - AmazonElasticIPCount++; - - //get instance id - string instanceName = oam::UnassignedName; - try - { - ModuleConfig moduleconfig; - oam.getSystemConfig(moduleName, moduleconfig); - HostConfigList::iterator pt1 = moduleconfig.hostConfigList.begin(); - instanceName = (*pt1).HostName; - } - catch(...) - {} - - try{ - oam.assignElasticIP(instanceName, IPaddress); - } - catch(...) { - cout << endl << "**** assignElasticIPAddress Failed : assignElasticIP API Error" << endl; - break; - } - - //add to configuration - string AmazonElasticModule = "AmazonElasticModule" + oam.itoa(id); - string AmazonElasticIPAddr = "AmazonElasticIPAddr" + oam.itoa(id); - - Config* sysConfig = Config::makeConfig(); - try { - sysConfig->setConfig("Installation", "AmazonElasticIPCount", oam.itoa(AmazonElasticIPCount)); - sysConfig->setConfig("Installation", AmazonElasticModule, moduleName); - sysConfig->setConfig("Installation", AmazonElasticIPAddr, IPaddress); - sysConfig->write(); - } - catch(...) - { - cout << "ERROR: Problem setting AmazonElasticModule in the Calpont System Configuration file" << endl; - break; - } - - cout << endl << " Successfully completed Assigning Elastic IP Address " << endl << endl; - } - break; - - case 44: // unassignElasticIPAddress - { - //get cloud configuration data - string cloud = oam::UnassignedName; - try{ - oam.getSystemConfig("Cloud", cloud); - } - catch(...) {} - - if ( cloud == oam::UnassignedName ) - { - cout << endl << "**** unassignElasticIPAddress Not Supported : For Amazon Systems only" << endl; - break; - } - - if (arguments[1] == "") - { - // need 2 arguments - cout << endl << "**** unassignElasticIPAddress Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - parentOAMModule = getParentOAMModule(); - if ( localModule != parentOAMModule ) { - // exit out since not on Parent OAM Module - cout << endl << "**** unassignElasticIPAddress Failed : only should be run on the Parent OAM Module, which is '" << parentOAMModule << "'" << endl; - break; - } - - string IPaddress = arguments[1]; - - //check and add Elastic IP Address - int AmazonElasticIPCount = 0; - try{ - oam.getSystemConfig("AmazonElasticIPCount", AmazonElasticIPCount); - } - catch(...) { - AmazonElasticIPCount = 0; - } - - bool found = false; - int id = 1; - for ( ; id < AmazonElasticIPCount+1 ; id++ ) - { - string AmazonElasticModule = "AmazonElasticModule" + oam.itoa(id); - string ELmoduleName; - string AmazonElasticIPAddr = "AmazonElasticIPAddr" + oam.itoa(id); - string ELIPaddress; - try{ - oam.getSystemConfig(AmazonElasticIPAddr, ELmoduleName); - oam.getSystemConfig(AmazonElasticIPAddr, ELIPaddress); - } - catch(...) {} - - if ( ELIPaddress == IPaddress ) - { - found = true; - try{ - oam.deassignElasticIP(IPaddress); - } - catch(...) { - cout << endl << "**** deassignElasticIPAddress Failed : deassignElasticIP API Error"; - break; - } - - int oldAmazonElasticIPCount = AmazonElasticIPCount; - - Config* sysConfig = Config::makeConfig(); - //move up any others - if ( oldAmazonElasticIPCount > id ) - { - for ( int newid = id+1 ; newid < oldAmazonElasticIPCount+1 ; newid++ ) - { - AmazonElasticModule = "AmazonElasticModule" + oam.itoa(newid); - AmazonElasticIPAddr = "AmazonElasticIPAddr" + oam.itoa(newid); - - try{ - oam.getSystemConfig(AmazonElasticModule, ELmoduleName); - oam.getSystemConfig(AmazonElasticIPAddr, ELIPaddress); - } - catch(...) {} - - AmazonElasticModule = "AmazonElasticModule" + oam.itoa(newid-1); - AmazonElasticIPAddr = "AmazonElasticIPAddr" + oam.itoa(newid-1); - - try{ - oam.setSystemConfig(AmazonElasticModule, ELmoduleName); - oam.setSystemConfig(AmazonElasticIPAddr, ELIPaddress); - } - catch(...) {} - } - } - - AmazonElasticModule = "AmazonElasticModule" + oam.itoa(oldAmazonElasticIPCount); - AmazonElasticIPAddr = "AmazonElasticIPAddr" + oam.itoa(oldAmazonElasticIPCount); - - //delete last entry and update count - AmazonElasticIPCount--; - try { - sysConfig->setConfig("Installation", "AmazonElasticIPCount", oam.itoa(AmazonElasticIPCount)); - sysConfig->delConfig("Installation", AmazonElasticModule); - sysConfig->delConfig("Installation", AmazonElasticIPAddr); - sysConfig->write(); - } - catch(...) - { - cout << "ERROR: Problem setting AmazonElasticModule in the Calpont System Configuration file" << endl; - break; - } - } - } - - if (!found) { - cout << endl << " Elastic IP Address " << IPaddress << " not assigned to a module" << endl << endl; - break; - } - - cout << endl << " Successfully completed Unassigning Elastic IP Address " << endl << endl; - - } - break; - - case 45: // getSystemNetworkConfig - { - // get and display Module Network Config - SystemModuleTypeConfig systemmoduletypeconfig; - systemmoduletypeconfig.moduletypeconfig.clear(); - - //check and add Elastic IP Address - int AmazonElasticIPCount = 0; - try{ - oam.getSystemConfig("AmazonElasticIPCount", AmazonElasticIPCount); - } - catch(...) { - AmazonElasticIPCount = 0; - } - - // get max length of a host name for header formatting - - int maxSize = 9; - try - { - oam.getSystemConfig(systemmoduletypeconfig); - - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - if( systemmoduletypeconfig.moduletypeconfig[i].ModuleType.empty() ) - // end of list - break; - - int moduleCount = systemmoduletypeconfig.moduletypeconfig[i].ModuleCount; - string moduletype = systemmoduletypeconfig.moduletypeconfig[i].ModuleType; - string moduletypedesc = systemmoduletypeconfig.moduletypeconfig[i].ModuleDesc; - - if ( moduleCount > 0 ) - { - DeviceNetworkList::iterator pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.begin(); - for( ; pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.end() ; pt++) - { - HostConfigList::iterator pt1 = (*pt).hostConfigList.begin(); - for ( ; pt1 != (*pt).hostConfigList.end() ; pt1++) - { - if ( maxSize < (int) (*pt1).HostName.size() ) - maxSize = (*pt1).HostName.size(); - } - } - } - } - } - catch (exception& e) - { - cout << endl << "**** getSystemNetworkConfig Failed = " << e.what() << endl; - } - - cout << endl << "System Network Configuration" << endl << endl; - - cout.setf(ios::left); - cout.width(15); - cout << "Module Name"; - cout.width(30); - cout << "Module Description"; - cout.width(10); - cout << "NIC ID"; - cout.width(maxSize + 5); - cout << "Host Name"; - cout.width(20); - cout << "IP Address"; - cout.width(14); - cout << "Status"; - if ( AmazonElasticIPCount > 0 ) - { - cout.width(20); - cout << "Elastic IP Address"; - } - cout << endl; - cout.width(15); - cout << "-----------"; - cout.width(30); - cout << "-------------------------"; - cout.width(10); - cout << "------"; - for ( int i=0 ; i < maxSize ; i++ ) - { - cout << "-"; - } - cout << " "; - cout.width(20); - cout << "---------------"; - cout.width(14); - cout << "------------"; - if ( AmazonElasticIPCount > 0 ) - { - cout.width(20); - cout << "------------------"; - } - cout << endl; - - try - { - oam.getSystemConfig(systemmoduletypeconfig); - - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - if( systemmoduletypeconfig.moduletypeconfig[i].ModuleType.empty() ) - // end of list - break; - - int moduleCount = systemmoduletypeconfig.moduletypeconfig[i].ModuleCount; - string moduletype = systemmoduletypeconfig.moduletypeconfig[i].ModuleType; - string moduletypedesc = systemmoduletypeconfig.moduletypeconfig[i].ModuleDesc; - - if ( moduleCount > 0 ) - { - DeviceNetworkList::iterator pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.begin(); - for( ; pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.end() ; pt++) - { - string modulename = (*pt).DeviceName; - string moduleID = modulename.substr(MAX_MODULE_TYPE_SIZE,MAX_MODULE_ID_SIZE); - string modulenamedesc = moduletypedesc + " #" + moduleID; - - cout.setf(ios::left); - cout.width(15); - cout << modulename; - cout.width(33); - cout << modulenamedesc; - - HostConfigList::iterator pt1 = (*pt).hostConfigList.begin(); - for ( ; pt1 != (*pt).hostConfigList.end() ; pt1++) - { - string ipAddr = (*pt1).IPAddr; - string hostname = (*pt1).HostName; - string nicID = oam.itoa((*pt1).NicID); - int state; - - if ( nicID != "1" ) { - cout.width(48); - cout << " "; - } - - cout.width(7); - cout << nicID; - cout.width(maxSize + 5); - cout << hostname; - cout.width(20); - cout << ipAddr; - cout.width(14); - - try { - oam.getNICStatus(hostname, state); - - printState(state, " "); - } - catch (exception& e) - { - cout << INITIALSTATE; - } - - if ( nicID == "1" && AmazonElasticIPCount > 0 ) - { - int id = 1; - for ( ; id < AmazonElasticIPCount+1 ; id++ ) - { - string AmazonElasticModule = "AmazonElasticModule" + oam.itoa(id); - string ELmoduleName; - string AmazonElasticIPAddr = "AmazonElasticIPAddr" + oam.itoa(id); - string ELIPaddress; - try{ - oam.getSystemConfig(AmazonElasticModule, ELmoduleName); - oam.getSystemConfig(AmazonElasticIPAddr, ELIPaddress); - } - catch(...) {} - - if ( modulename == ELmoduleName ) - { - cout.width(20); - cout << ELIPaddress; - break; - } - } - } - cout << endl; - } - } - } - } - } - catch (exception& e) - { - cout << endl << "**** getSystemNetworkConfig Failed = " << e.what() << endl; - } - - //get cloud configuration data - string cloud = oam::UnassignedName; - try{ - oam.getSystemConfig("Cloud", cloud); - } - catch(...) {} - - if ( cloud == "amazon-ec2" || cloud == "amazon-vpc" ) - { - cout << endl << "Amazon Instance Configuration" << endl << endl; - - string PMInstanceType = oam::UnassignedName; - string UMInstanceType = oam::UnassignedName; - try{ - oam.getSystemConfig("PMInstanceType", PMInstanceType); - oam.getSystemConfig("UMInstanceType", UMInstanceType); - - cout << "PMInstanceType = " << PMInstanceType << endl; - cout << "UMInstanceType = " << UMInstanceType << endl; - } - catch(...) {} - - if ( cloud == "amazon-vpc" ) - { - string AmazonSubNetID = oam::UnassignedName; - try{ - oam.getSystemConfig("AmazonSubNetID", AmazonSubNetID); - - cout << "AmazonSubNetID = " << AmazonSubNetID << endl; - } - catch(...) {} - } - } - - cout << endl; - - // get and all display Ext Devices Name config parameters - - try - { - SystemExtDeviceConfig systemextdeviceconfig; - oam.getSystemConfig(systemextdeviceconfig); - - if ( systemextdeviceconfig.Count == 0 ) - break; - - cout << endl << "External Device Configuration" << endl << endl; - - cout.setf(ios::left); - cout.width(30); - cout << "Device Name"; - cout.width(20); - cout << "IP Address"; - cout.width(10); - cout << "Status"; - cout << endl; - cout.width(30); - cout << "---------------------"; - cout.width(20); - cout << "---------------"; - cout.width(12); - cout << "------------"; - cout << endl; - - for ( unsigned int i = 0 ; i < systemextdeviceconfig.Count ; i++ ) - { - cout.setf(ios::left); - cout.width(30); - cout << systemextdeviceconfig.extdeviceconfig[i].Name; - cout.width(20); - cout << systemextdeviceconfig.extdeviceconfig[i].IPAddr; - cout.width(12); - - int state; - try { - oam.getExtDeviceStatus(systemextdeviceconfig.extdeviceconfig[i].Name, state); - - printState(state, " "); - } - catch (exception& e) - { - cout << INITIALSTATE; - } - cout << endl; - } - - cout << endl; - } - catch (exception& e) - { - cout << endl << "**** getextdeviceconfig Failed = " << e.what() << endl; - } - - cout << endl; - - break; - } - - case 46: // enableMySQLReplication - { - string MySQLRep; - try { - oam.getSystemConfig("MySQLRep", MySQLRep); - } - catch(...) {} - - if ( MySQLRep == "y" ) { - string warning = "MySQL Replication Feature is already enabled"; - // confirm request - if (confirmPrompt(warning)) - break; - } - - string password; - if ( arguments[1] == "") { - cout << endl; - string prompt = "Enter the 'User' Password or 'ssh' if configured with ssh-keys"; - password = dataPrompt(prompt); - } - else - password = arguments[1]; - - if ( password == "") - password = oam::UnassignedName; - - string MySQLPasswordConfig; - try { - oam.getSystemConfig("MySQLPasswordConfig", MySQLPasswordConfig); - } - catch(...) {} - - if ( MySQLPasswordConfig == oam::UnassignedName ) { - cout << endl; - string prompt = "Is there a 'MySQL' Password configured on the MySQL Front-end Modules in " + HOME + "/.my.cnf (y,n): "; - MySQLPasswordConfig = dataPrompt(prompt); - } - - if ( MySQLPasswordConfig != "y" ) - MySQLPasswordConfig = "n"; - - try { - oam.setSystemConfig("MySQLPasswordConfig", MySQLPasswordConfig); - } - catch(...) {} - - //set flag - try { - oam.setSystemConfig("MySQLRep", "y"); - sleep(2); - } - catch(...) {} - - try - { - oam.enableMySQLRep(password); - cout << endl << " Successful Enabling of MySQL Replication " << endl << endl; - - //display Primary UM Module / Master Node - string PrimaryUMModuleName; - try { - oam.getSystemConfig("PrimaryUMModuleName", PrimaryUMModuleName); - } - catch(...) {} - - cout << " MySQL Replication Master Node is " << PrimaryUMModuleName << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** enableMySQLRep Failed : " << e.what() << endl; - } - break; - } - - case 47: // getCalpontSoftwareInfo - { - cout << endl; - if ( rootUser) - { - system("rpm -qi infinidb-platform > /tmp/calpont.txt 2>&1"); - if (oam.checkLogStatus("/tmp/calpont.txt", "Name")) - system("cat /tmp/calpont.txt"); - else { - system("dpkg -s calpont > /tmp/calpont.txt 2>&1"); - if (oam.checkLogStatus("/tmp/calpont.txt", "Status: install")) - system("cat /tmp/calpont.txt"); - else { - SystemSoftware systemsoftware; - oam.getSystemSoftware(systemsoftware); - - cout << "SoftwareVersion = " << systemsoftware.Version << endl; - cout << "SoftwareRelease = " << systemsoftware.Release << endl; - } - } - } - else - { - SystemSoftware systemsoftware; - oam.getSystemSoftware(systemsoftware); - - cout << "SoftwareVersion = " << systemsoftware.Version << endl; - cout << "SoftwareRelease = " << systemsoftware.Release << endl; - } - cout << endl; - break; - } - - case 48: // addModule - parameters: Module type/Module Name, Number of Modules, Server Hostnames, - // Server root password optional - { - if (arguments[1] == "") - { - // need at least arguments - cout << endl << "**** addModule Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - switch ( serverInstallType ) { - case (oam::INSTALL_COMBINE_DM_UM_PM): - { - if (arguments[1].find("um") != string::npos ) { - cout << endl << "**** addModule Failed : User Module Types not supported on this Combined Server Installation" << endl; - return(0); - } - break; - } - } - - string GlusterConfig = "n"; - int GlusterCopies; - string cloud = oam::UnassignedName; - string GlusterStorageType; - string AmazonVPCNextPrivateIP; - try { - oam.getSystemConfig("Cloud", cloud); - oam.getSystemConfig("AmazonVPCNextPrivateIP", AmazonVPCNextPrivateIP); - oam.getSystemConfig("GlusterConfig", GlusterConfig); - oam.getSystemConfig("GlusterCopies", GlusterCopies); - oam.getSystemConfig("GlusterStorageType", GlusterStorageType); - } - catch(...) {} - - ModuleTypeConfig moduletypeconfig; - DeviceNetworkConfig devicenetworkconfig; - DeviceNetworkList devicenetworklist; - DeviceNetworkList enabledevicenetworklist; - HostConfig hostconfig; - - string moduleType; - string moduleName; - int moduleCount; - string password; - typedef std::vector inputNames; - inputNames inputnames; - typedef std::vector umStorageNames; - umStorageNames umstoragenames; - int hostArg; - int dbrootPerPM = 0; - - //check if module type or module name was entered - if ( arguments[1].size() == 2 ) - { //Module Type was entered - if (arguments[3] == "" && cloud == oam::UnassignedName) - { - // need at least arguments - cout << endl << "**** addModule Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - //Module Type was entered - moduleType = arguments[1]; - moduleCount = atoi(arguments[2].c_str()); - hostArg = 3; - if (arguments[4] != "") - password = arguments[4]; - else - { - cout << endl; - string prompt = "Enter the 'User' Password or 'ssh' if configured with ssh-keys"; - password = dataPrompt(prompt); - } - - if (arguments[5] != "") - dbrootPerPM = atoi(arguments[5].c_str()); - } - else - { - //Module Name was entered - if (arguments[2] == "" && cloud == oam::UnassignedName) - { - // need at least arguments - cout << endl << "**** addModule Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - moduleName = arguments[1]; - moduleType = arguments[1].substr(0,MAX_MODULE_TYPE_SIZE); - moduleCount = 1; - hostArg = 2; - if (arguments[3] != "") - password = arguments[3]; - else - { - cout << endl; - string prompt = "Enter the 'User' Password or 'ssh' if configured with ssh-keys"; - password = dataPrompt(prompt); - } - - if (arguments[4] != "") - dbrootPerPM = atoi(arguments[4].c_str()); - } - -//do we needed this check???? - if ( moduleCount < 1 || moduleCount > 10 ) { - cout << endl << "**** addModule Failed : Failed to Add Module, invalid number-of-modules entered (1-10)" << endl; - break; - } - - if ( GlusterConfig == "y" && moduleType == "pm" ) { - if ( localModule != parentOAMModule ) { - // exit out since not on active module - cout << endl << "**** addModule Failed : Can only run command on Active OAM Parent Module (" << parentOAMModule << ")." << endl; - break; - } - - if ( fmod((float) moduleCount , (float) GlusterCopies) != 0 ) { - cout << endl << "**** addModule Failed : Failed to Add Module, invalid number-of-modules: must be multiple of Data Redundancy Copies, which is " << GlusterCopies << endl; - break; - } - } - - //check and parse input Hostname/VPC-IP Addresses - if (arguments[hostArg] != "") { - boost::char_separator sep(", "); - boost::tokenizer< boost::char_separator > tokens(arguments[hostArg], sep); - for ( boost::tokenizer< boost::char_separator >::iterator it = tokens.begin(); - it != tokens.end(); - ++it) - { - inputnames.push_back(*it); - } - } - - if ( inputnames.size() < (unsigned) moduleCount ) { - if ( cloud == oam::UnassignedName ) - { - cout << endl << "**** addModule Failed : Failed to Add Module, number of hostnames is less than Module Count" << endl; - break; - } - else - { - if ( cloud == "amazon-ec2" ) - { - cout << endl << "Launching new Instance(s)" << endl; - for ( int id = inputnames.size() ; id < moduleCount ; id++ ) - { - inputnames.push_back(oam::UnassignedName); - } - } - else - { // amazon-vpc - if ( inputnames.size() == 0 ) - { - if ( AmazonVPCNextPrivateIP == oam::UnassignedName) - { - cout << endl << "**** addModule Failed : Failed to Add Module, enter VPC Private IP Address" << endl; - break; - } - else - { - if ( AmazonVPCNextPrivateIP == "autoassign") - { - for ( int id = inputnames.size() ; id < moduleCount ; id++ ) - { - inputnames.push_back("autoassign"); - } - } - else - { - for ( int id = inputnames.size() ; id < moduleCount ; id++ ) - { - inputnames.push_back(AmazonVPCNextPrivateIP); - - try - { - AmazonVPCNextPrivateIP = oam.incrementIPAddress(AmazonVPCNextPrivateIP); - } - catch(...) - { - cout << endl << "ERROR: incrementIPAddress API error, check logs" << endl; - exit(1); - } - } - } - } - } - } - } - } - - //get configured moduleNames - try{ - oam.getSystemConfig(moduleType, moduletypeconfig); - } - catch(...) - { - cout << endl << "**** addModule Failed : Failed to Add Module, getSystemConfig API Failed" << endl; - break; - } - - //get module names already in-use and Number of NIC IDs for module - typedef std::vector moduleNameList; - moduleNameList modulenamelist; - int nicNumber=1; - - DeviceNetworkList::iterator pt = moduletypeconfig.ModuleNetworkList.begin(); - for( ; pt != moduletypeconfig.ModuleNetworkList.end() ; pt++) - { - modulenamelist.push_back((*pt).DeviceName); - HostConfigList::iterator pt1 = (*pt).hostConfigList.begin(); - for( ; pt1 != (*pt).hostConfigList.end() ; pt1++) - { - if ( (*pt1).HostName != oam::UnassignedName ) { - if ( nicNumber < (*pt1).NicID ) - nicNumber = (*pt1).NicID; - } - } - } - - if ( ((unsigned) nicNumber * moduleCount) != inputnames.size() && cloud == oam::UnassignedName ) { - cout << endl << "**** addModule Failed : Failed to Add Module, invalid number of hostNames entered. Enter " + oam.itoa(nicNumber * moduleCount) + " hostname(s), which is the number of NICs times the number of modules" << endl; - break; - } - - int moduleID = 1; - inputNames::const_iterator listPT1 = inputnames.begin(); - umStorageNames::const_iterator listPT2 = umstoragenames.begin(); - for ( int i = 0 ; i < moduleCount ; i++ ) - { - //validate or determine module name - moduleNameList::const_iterator listPT = modulenamelist.begin(); - for( ; listPT != modulenamelist.end() ; listPT++) - { - if ( !moduleName.empty() ) { - //add by moduleName, validate that Entered module name doesn't exist - if ( moduleName == (*listPT) ) { - cout << endl << "**** addModule Failed : Module Name already exist" << endl; - return 1; - } - } - else - { - //add by moduleType, get available module name - string newModuleName = moduleType + oam.itoa(moduleID); - if ( newModuleName == (*listPT) ) - moduleID++; - else - { - moduleName = newModuleName; - moduleID++; - break; - } - } - } - - if ( moduleName.empty() ) { - moduleName = moduleType + oam.itoa(moduleID); - moduleID++; - } - - // store module name - devicenetworkconfig.DeviceName = moduleName; - enabledevicenetworklist.push_back(devicenetworkconfig); - - for ( int j = 0 ; j < nicNumber ; j ++ ) - { - //get/check Server Hostnames IP address - string hostName; - string IPAddress; - if ( cloud == "amazon-ec2") - { - hostName = *listPT1; - if ( hostName != oam::UnassignedName ) - { - IPAddress = oam.getEC2InstanceIpAddress(hostName); - if (IPAddress == "stopped" || IPAddress == "terminated") { - cout << "ERROR: Instance " + hostName + " not running, please start and retry" << endl << endl; - return 1; - } - } - else - IPAddress = oam::UnassignedName; - } - else - { - if ( cloud == "amazon-vpc") - { - if ( *listPT1 != "autoassign" ) - { - if ( oam.isValidIP(*listPT1) ) { - //ip address entered - hostName = oam::UnassignedName; - IPAddress = *listPT1; - } - else - { //instance id entered - hostName = *listPT1; - IPAddress = oam.getEC2InstanceIpAddress(hostName); - if (IPAddress == "stopped" || IPAddress == "terminated") { - cout << "ERROR: Instance " + hostName + " not running, please start and retry" << endl << endl; - return 1; - } - } - } - else - { - hostName = oam::UnassignedName; - IPAddress = "autoassign"; - } - } - else - { // non-amazon - hostName = *listPT1; - IPAddress = oam.getIPAddress(hostName); - if ( IPAddress.empty() ) { - // prompt for IP Address - string prompt = "IP Address of " + hostName + " not found, enter IP Address or enter 'abort'"; - IPAddress = dataPrompt(prompt); - if ( IPAddress == "abort" || !oam.isValidIP(IPAddress)) - return 1; - } - } - } - - hostconfig.IPAddr = IPAddress; - hostconfig.HostName = hostName; - hostconfig.NicID = j+1; - devicenetworkconfig.hostConfigList.push_back(hostconfig); - listPT1++; - } - - devicenetworklist.push_back(devicenetworkconfig); - devicenetworkconfig.hostConfigList.clear(); - moduleName.clear(); - } - - DBRootConfigList dbrootlist; - int dbrootNumber=-1; - typedef std::vector storageDeviceList; - storageDeviceList storagedevicelist; - string deviceType; - - if ( GlusterConfig == "y" && moduleType == "pm") - { - cout << endl << "System is configured with Data Redundancy, DBRoot Storage will" << endl; - cout << "will be created with the Modules during this command." << endl; - cout << "The Data Redundancy Packages should already be installed on the" << endl; - cout << "Servers being installed." << endl; - cout << "Also the Servers should have either a password-less ssh configured" << endl; - cout << "for the local server or setup for a login via password." << endl; - cout << "If its setup for login via password, then you will be required to" << endl; - cout << "enter the password when prompted. You will be prompted 2 * the" << endl; - cout << "number of modules being added." << endl; - - // confirm request - if (confirmPrompt(" ")) - break; - - if ( dbrootPerPM == 0) { - cout << endl; - // prompt for number of DBRoot - string prompt = "Number of DBRoots Per Performance Module you want to add"; - dbrootPerPM = atoi(dataPrompt(prompt).c_str()); - } - else - cout << endl << "Number of DBRoots Per Performance Module to be added is " << oam.itoa(dbrootPerPM) << endl; - - dbrootNumber = dbrootPerPM * moduleCount; - - if ( GlusterStorageType == "storage" ) - { - cout << endl << "Data Redundancy Storage Type is configured for 'storage'" << endl; - - cout << "You will need " << oam.itoa(dbrootNumber*GlusterCopies); - cout << " total storage locations and " << oam.itoa(dbrootPerPM*GlusterCopies) << " storage locations per PM. You will now " << endl; - cout << "be asked to enter the device names for the storage locations. You will enter " << endl; - cout << "them for each PM, on one line, separated by spaces (" << oam.itoa(dbrootPerPM*GlusterCopies) << " names on each line)." << endl; - - DeviceNetworkList::iterator pt = devicenetworklist.begin(); - string firstPM = (*pt).DeviceName.substr(MAX_MODULE_TYPE_SIZE,MAX_MODULE_ID_SIZE); - for( ; pt != devicenetworklist.end() ; pt++) - { - cout << endl; - string prompt = "Storage Device Names for " + (*pt).DeviceName; - string devices = dataPrompt(prompt); - storagedevicelist.push_back(devices); - } - - cout << endl; - string prompt = "Filesystem type for these storage locations (ext2,ext3,xfs,etc)"; - deviceType = dataPrompt(prompt); - } - - } - - string mysqlpassword = oam::UnassignedName; - - try{ - cout << endl << "Adding Modules "; - DeviceNetworkList::iterator pt = devicenetworklist.begin(); - string firstPM = (*pt).DeviceName.substr(MAX_MODULE_TYPE_SIZE,MAX_MODULE_ID_SIZE); - for( ; pt != devicenetworklist.end() ; pt++) - { - cout << (*pt).DeviceName << ", "; - } - - cout << "please wait..." << endl; - - oam.addModule(devicenetworklist, password, mysqlpassword); - - cout << "Add Module(s) successfully completed" << endl; - - if ( GlusterConfig == "y" && moduleType == "pm" ) { - - if ( GlusterStorageType == "storage" ) { - //send messages to update fstab to new modules, if needed - DeviceNetworkList::iterator pt2 = devicenetworklist.begin(); - storageDeviceList::iterator pt3 = storagedevicelist.begin(); - for( ; pt2 != devicenetworklist.end() ; pt2++, pt3++) - { - string moduleName = (*pt2).DeviceName; - string devices = *pt3; - int brinkID = 1; - boost::char_separator sep(" "); - boost::tokenizer< boost::char_separator > tokens(devices, sep); - for ( boost::tokenizer< boost::char_separator >::iterator it = tokens.begin(); - it != tokens.end(); - ++it) - { - string deviceName = *it; - string entry = deviceName + " " + startup::StartUp::installDir() + "/gluster/brick" + oam.itoa(brinkID) + " " + deviceType + " defaults 1 2"; - - //send update pm - oam.distributeFstabUpdates(entry, moduleName); - brinkID++; - } - } - } - - //enable modules - try - { - cout << endl << "Enabling Modules " << endl; - oam.enableModule(enabledevicenetworklist); - cout << "Successful Enable of Modules " << endl; - } - catch (exception& e) - { - cout << endl << "**** enableModule Failed : " << e.what() << endl; - break; - } - - cout << endl << "Adding DBRoots" << endl; - - //add dbroots - string firstDBroot; - try - { - oam.addDbroot(dbrootNumber, dbrootlist); - - cout << "New DBRoot IDs added = "; - DBRootConfigList::iterator pt1 = dbrootlist.begin(); - firstDBroot = oam.itoa(*pt1); - for( ; pt1 != dbrootlist.end() ;) - { - cout << oam.itoa(*pt1); - pt1++; - if (pt1 != dbrootlist.end()) - cout << ", "; - } - cout << endl; - - } - catch (exception& e) - { - cout << endl << "**** addDbroot Failed: " << e.what() << endl; - break; - } - - cout << endl << "Assigning DBRoots" << endl << endl; - - DeviceNetworkList::iterator pt = devicenetworklist.begin(); - DBRootConfigList::iterator pt1 = dbrootlist.begin(); - for( ; pt != devicenetworklist.end() ; pt++) - { - string moduleName = (*pt).DeviceName; - - DBRootConfigList dbrootlist; - - for( int dbrootNum = 0; dbrootNum < dbrootPerPM ; dbrootNum++) - { - dbrootlist.push_back(*pt1); - pt1++; - } - - //assign dbroots to pm - try - { - oam.assignDbroot(moduleName, dbrootlist); - - cout << endl << "Successfully Assigned DBRoots " << endl; - - } - catch (exception& e) - { - cout << endl << "**** Failed Assign of DBRoots: " << e.what() << endl; - break; - } - } - - cout << endl << "Run Data Redundancy Setup for DBRoots" << endl; - - try { - string errmsg; - int ret = oam.glusterctl(oam::GLUSTER_ADD, firstPM, firstDBroot, errmsg); - if ( ret != 0 ) - { - cout << endl << "**** Failed Data Redundancy Add of DBRoots: " << errmsg << endl; - break; - } - - cout << endl << "Successfully Completed Data Redundancy Add DBRoots " << endl; - - } - catch (...) - { - cout << endl << "**** glusterctl GLUSTER_ADD Failed" << endl; - break; - } - - cout << endl << "addModule Command Successfully completed: Run startSystem command to Activate newly added Performance Modules" << endl << endl; - } - else - { - cout << "addModule Command Successfully completed: Modules are Disabled, run alterSystem-enableModule command to enable them" << endl << endl; - } - - try { - oam.setSystemConfig("AmazonVPCNextPrivateIP", AmazonVPCNextPrivateIP); - } - catch(...) {} - - } - catch (exception& e) - { - cout << endl << "**** addModule Failed: " << e.what() << endl; - } - catch(...) - { - cout << endl << "**** addModule Failed : Failed to Add Module" << endl; - } - break; - } - - case 49: // removeModule - parameters: Module name/type, number-of-modules - { - if (arguments[1] == "") - { - // need atleast 1 arguments - cout << endl << "**** removeModule Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - parentOAMModule = getParentOAMModule(); - if ( arguments[1] == parentOAMModule ) { - // exit out since you can't manually remove OAM Parent Module - cout << endl << "**** removeModule Failed : can't manually remove the Active OAM Parent Module." << endl; - break; - } - - switch ( serverInstallType ) { - case (oam::INSTALL_COMBINE_DM_UM_PM): - { - if (arguments[1].find("um") != string::npos ) { - cout << endl << "**** removeModule Failed : User Modules not supported on the Combined Server Installation" << endl; - return 0; - } - } - } - - ModuleTypeConfig moduletypeconfig; - DeviceNetworkConfig devicenetworkconfig; - DeviceNetworkList devicenetworklist; - bool quit = false; - - string moduleType; - - //check if module type or module name was entered - if ( arguments[1].size() == 2 ) { - //Module Type was entered - - if ( arguments[3] != "y") { - cout << endl << "!!!!! DESTRUCTIVE COMMAND !!!!!" << endl; - string warning = "This command does a remove a module from the Calpont System"; - // confirm request - if (confirmPrompt(warning)) - break; - } - - int moduleCount = atoi(arguments[2].c_str()); - if ( moduleCount < 1 || moduleCount > 10 ) { - cout << endl << "**** removeModule Failed : Failed to Remove Module, invalid number-of-modules entered (1-10)" << endl; - break; - } - - cout << endl; - - moduleType = arguments[1]; - - //store moduleNames - try{ - oam.getSystemConfig(moduleType, moduletypeconfig); - } - catch(...) - { - cout << endl << "**** removeModule Failed : Failed to Remove Module, getSystemConfig API Failed" << endl; - break; - } - - int currentModuleCount = moduletypeconfig.ModuleCount; - - if ( moduleCount > currentModuleCount ) { - cout << endl << "**** removeModule Failed : Failed to Remove Module, mount count entered to larger than configured" << endl; - break; - } - if ( moduleCount == currentModuleCount ) { - if ( moduleType == "pm" ) { - cout << endl << "**** removeModule Failed : Failed to Remove Module, you can't remove last Director Module" << endl; - break; - } - } - - //get module names in-use - typedef std::vector moduleNameList; - moduleNameList modulenamelist; - - DeviceNetworkList::iterator pt = moduletypeconfig.ModuleNetworkList.begin(); - for( ; pt != moduletypeconfig.ModuleNetworkList.end() ; pt++) - { - HostConfigList::iterator pt1 = (*pt).hostConfigList.begin(); - if ( (*pt1).HostName != oam::UnassignedName ) - modulenamelist.push_back((*pt).DeviceName); - } - - moduleNameList::reverse_iterator pt1 = modulenamelist.rbegin(); - for ( int i=0 ; i < moduleCount ; i++) - { - devicenetworkconfig.DeviceName = *pt1; - pt1++; - devicenetworklist.push_back(devicenetworkconfig); - } - } - else - { - //Module Name was entered - - if ( arguments[2] != "y") { - cout << endl << "!!!!! DESTRUCTIVE COMMAND !!!!!" << endl; - string warning = "This command does a stop and remove a module from the Calpont System"; - // confirm request - if (confirmPrompt(warning)) - break; - } - - cout << endl; - - //parse module names - boost::char_separator sep(", "); - boost::tokenizer< boost::char_separator > tokens(arguments[1], sep); - for ( boost::tokenizer< boost::char_separator >::iterator it = tokens.begin(); - it != tokens.end(); - ++it) - { - devicenetworkconfig.DeviceName = *it; - devicenetworklist.push_back(devicenetworkconfig); - - moduleType = (*it).substr(0,MAX_MODULE_TYPE_SIZE); - - try{ - oam.getSystemConfig(moduleType, moduletypeconfig); - } - catch(...) - { - cout << endl << "**** removeModule Failed : Failed to Remove Module, getSystemConfig API Failed" << endl; - quit = true; - break; - } - - int currentModuleCount = moduletypeconfig.ModuleCount; - - if ( moduleType == "pm" && currentModuleCount == 1) { - cout << endl << "**** removeModule Failed : Failed to Remove Module, you can't remove last Performance Module" << endl; - quit = true; - break; - } - - if ( moduleType == "um" && currentModuleCount == 1) { - cout << endl << "**** removeModule Failed : Failed to Remove Module, you can't remove last User Module" << endl; - quit = true; - break; - } - } - } - - if (quit) - break; - - DeviceNetworkList::iterator pt = devicenetworklist.begin(); - DeviceNetworkList::iterator endpt = devicenetworklist.end(); - - // check for module status and if any dbroots still assigned - for( ; pt != endpt ; pt++) - { - if ( moduleType == "pm" ) { - // check for dbroots assigned - DBRootConfigList dbrootConfigList; - string moduleID = (*pt).DeviceName.substr(MAX_MODULE_TYPE_SIZE,MAX_MODULE_ID_SIZE); - try { - oam.getPmDbrootConfig(atoi(moduleID.c_str()), dbrootConfigList); - } - catch(...) - {} - - if ( !dbrootConfigList.empty() ) { - cout << "**** removeModule Failed : " << (*pt).DeviceName << " has dbroots still assigned. Please run movePmDbrootConfig or unassignPmDbrootConfig."; - quit = true; - cout << endl; - break; - } - } - - // check module status - try{ - bool degraded; - int opState; - oam.getModuleStatus((*pt).DeviceName, opState, degraded); - - if (opState == oam::MAN_OFFLINE || - opState == oam::MAN_DISABLED || - opState == oam::FAILED) - continue; - else - { - cout << "**** removeModule Failed : " << (*pt).DeviceName << " is not MAN_OFFLINE, DISABLED, or FAILED state."; - quit = true; - cout << endl; - break; - } - } - catch (exception& ex) - {} - } - - if (quit) { - cout << endl; - break; - } - - try{ - cout << endl << "Removing Module(s) "; - DeviceNetworkList::iterator pt = devicenetworklist.begin(); - for( ; pt != devicenetworklist.end() ; pt++) - { - cout << (*pt).DeviceName << ", "; - } - cout << "please wait..." << endl; - - oam.removeModule(devicenetworklist); - cout << endl << "Remove Module successfully completed" << endl << endl; - } - catch (exception& e) - { - cout << endl << "Failed to Remove Module: " << e.what() << endl << endl; - } - catch(...) - { - cout << endl << "**** removeModule Failed : Failed to Remove Module" << endl << endl; - break; - } - break; - } - - case 50: // getModuleHostNames - { - SystemModuleTypeConfig systemmoduletypeconfig; - ModuleTypeConfig moduletypeconfig; - ModuleConfig moduleconfig; - systemmoduletypeconfig.moduletypeconfig.clear(); - string returnValue; - string Argument; - - // get and all display Module HostNames (NIC 1) - // No other data will be displayed, only the hostnames. - // This feature is designed for use by other processes. - // It was specifically installed for the sqoop import feature (version 4.5) - // If arguments[1] == PM, display only PMs, UM, display only UMs, else all. - try - { - oam.getSystemConfig(systemmoduletypeconfig); - - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - if( systemmoduletypeconfig.moduletypeconfig[i].ModuleType.empty() ) - // end of list - break; - - int moduleCount = systemmoduletypeconfig.moduletypeconfig[i].ModuleCount; - if ( moduleCount == 0 ) - // skip if no modules - continue; - - string moduletype = systemmoduletypeconfig.moduletypeconfig[i].ModuleType; - if (arguments[1] == "pm" && moduletype != "pm") - continue; - if (arguments[1] == "um" && moduletype != "um") - continue; - - DeviceNetworkList::iterator pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.begin(); - for( ; pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.end() ; pt++) - { - HostConfigList::iterator pt1 = (*pt).hostConfigList.begin(); - for( ; pt1 != (*pt).hostConfigList.end() ; pt1++) - { - // Only print for NIC 1 - if ((*pt1).NicID == 1) - { - // We need the name with domain and everything. - if ((*pt1).HostName == "localhost") - { - char hostName[128] = {0}; - gethostname(hostName, 128); - cout << hostName << endl; - } - else - { - struct hostent* hentName = gethostbyname((*pt1).HostName.c_str()); - if (hentName) - { - cout << hentName->h_name << endl; - } - else - { - cout << (*pt1).HostName.c_str() << endl; - } - } - } - } - } - } - } - catch (exception& e) - { - cout << endl << "**** getModuleHostNames Failed = " << e.what() << endl; - } - break; - } - - case 51: // disableMySQLReplication - { - string MySQLRep; - try { - oam.getSystemConfig("MySQLRep", MySQLRep); - } - catch(...) {} - - if ( MySQLRep == "n" ) { - string warning = "MySQL Replication Feature is already disable"; - // confirm request - if (confirmPrompt(warning)) - break; - } - - string MySQLPasswordConfig; - try { - oam.getSystemConfig("MySQLPasswordConfig", MySQLPasswordConfig); - } - catch(...) {} - - if ( MySQLPasswordConfig == oam::UnassignedName ) { - cout << endl; - string prompt = "Is there a 'MySQL' Password configured on the MySQL Front-end Modules in " + HOME + "/.my.cnf (y,n): "; - MySQLPasswordConfig = dataPrompt(prompt); - } - - if ( MySQLPasswordConfig != "y" ) - MySQLPasswordConfig = "n"; - - try { - oam.setSystemConfig("MySQLPasswordConfig", MySQLPasswordConfig); - } - catch(...) {} - - //set flag - try { - oam.setSystemConfig("MySQLRep", "n"); - sleep(2); - } - catch(...) {} - - try - { - oam.disableMySQLRep(); - cout << endl << " Successful Disable of MySQL Replication " << endl; - } - catch (exception& e) - { - cout << endl << "**** disableMySQLRep Failed : " << e.what() << endl; - } - - break; - } - - case 52: // getModuleCpuUsers - { - if (arguments[1] == "") - { - // need 1 arguments - cout << endl << "**** getModuleCpuUsers Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - int topNumber = 5; - - if (arguments[2] != "") - { - topNumber = atoi(arguments[2].c_str()); - if ( topNumber < 1 || topNumber > 10 ) { - cout << endl << "**** getModuleCpuUsers Failed : Invalid top Number entered" << endl; - break; - } - } - - TopProcessCpuUsers topprocesscpuusers; - try{ - oam.getTopProcessCpuUsers(arguments[1], topNumber, topprocesscpuusers); - - printModuleCpuUsers(topprocesscpuusers); - - } - catch (exception& e) - { - cout << endl << "Failed to get Top CPU Users: " << e.what() << endl << endl; - } - catch(...) - { - cout << endl << "**** getModuleCpuUsers Failed : Failed to get Top CPU Users" << endl << endl; - break; - } - break; - } - - case 53: // getSystemCpuUsers - { - int topNumber = 5; - - if (arguments[1] != "") - { - topNumber = atoi(arguments[1].c_str()); - if ( topNumber < 1 || topNumber > 10 ) { - cout << endl << "**** getSystemCpuUsers Failed : Invalid top Number entered" << endl; - break; - } - } - - cout << endl << "System Process Top CPU Users per Module" << endl << endl; - - SystemTopProcessCpuUsers systemtopprocesscpuusers; - TopProcessCpuUsers topprocesscpuusers; - try{ - oam.getTopProcessCpuUsers(topNumber, systemtopprocesscpuusers); - - for( unsigned int i = 0 ; i < systemtopprocesscpuusers.topprocesscpuusers.size(); i++) - { - printModuleCpuUsers(systemtopprocesscpuusers.topprocesscpuusers[i]); - } - - } - catch (exception& e) - { - cout << endl << "Failed to get Top CPU Users: " << e.what() << endl << endl; - } - catch(...) - { - cout << endl << "**** getSystemCpuUsers Failed : Failed to get Top CPU Users" << endl << endl; - break; - } - break; - } - - case 54: // getModuleCpu - { - if (arguments[1] == "") - { - // need 1 arguments - cout << endl << "**** getModuleCpu Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - ModuleCpu modulecpu; - try{ - oam.getModuleCpuUsage(arguments[1], modulecpu); - - printModuleCpu(modulecpu); - - } - catch (exception& e) - { - cout << endl << "Failed to get CPU Usage: " << e.what() << endl << endl; - } - catch(...) - { - cout << endl << "**** getModuleCpu Failed : Failed to get Module CPU Usage" << endl << endl; - break; - } - break; - } - - case 55: // getSystemCpu - { - cout << endl << "System CPU Usage per Module" << endl << endl; - - SystemCpu systemcpu; - - try{ - oam.getSystemCpuUsage(systemcpu); - - for( unsigned int i = 0 ; i < systemcpu.modulecpu.size(); i++) - { - printModuleCpu(systemcpu.modulecpu[i]); - } - - } - catch (exception& e) - { - cout << endl << "Failed to get CPU Usage: " << e.what() << endl << endl; - } - catch(...) - { - cout << endl << "**** getSystemCpu Failed : Failed to get CPU Usage" << endl << endl; - break; - } - break; - } - - case 56: // getModuleMemoryUsers - { - if (arguments[1] == "") - { - // need 1 arguments - cout << endl << "**** getModuleMemoryUsers Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - int topNumber = 5; - - if (arguments[2] != "") - { - topNumber = atoi(arguments[2].c_str()); - if ( topNumber < 1 || topNumber > 10 ) { - cout << endl << "**** getModuleMemoryUsers Failed : Invalid top Number entered" << endl; - break; - } - } - - TopProcessMemoryUsers topprocessmemoryusers; - try{ - oam.getTopProcessMemoryUsers(arguments[1], topNumber, topprocessmemoryusers); - - printModuleMemoryUsers(topprocessmemoryusers); - - } - catch (exception& e) - { - cout << endl << "Failed to get Top Memory Users: " << e.what() << endl << endl; - } - catch(...) - { - cout << endl << "**** getModuleMemoryUsers Failed : Failed to get Top Memory Users" << endl << endl; - break; - } - break; - } - - case 57: // getSystemMemoryUsers - { - int topNumber = 5; - - if (arguments[1] != "") - { - topNumber = atoi(arguments[1].c_str()); - if ( topNumber < 1 || topNumber > 10 ) { - cout << endl << "**** getSystemMemoryUsers Failed : Invalid top Number entered" << endl; - break; - } - } - - cout << endl << "System Process Top Memory Users per Module" << endl << endl; - - SystemTopProcessMemoryUsers systemtopprocessmemoryusers; - TopProcessMemoryUsers topprocessmemoryusers; - try{ - oam.getTopProcessMemoryUsers(topNumber, systemtopprocessmemoryusers); - - for( unsigned int i = 0 ; i < systemtopprocessmemoryusers.topprocessmemoryusers.size(); i++) - { - printModuleMemoryUsers(systemtopprocessmemoryusers.topprocessmemoryusers[i]); - } - - } - catch (exception& e) - { - cout << endl << "Failed to get Top CPU Users: " << e.what() << endl << endl; - } - catch(...) - { - cout << endl << "**** getSystemMemoryUsers Failed : Failed to get Top CPU Users" << endl << endl; - break; - } - break; - } - - case 58: // getModuleMemory - { - if (arguments[1] == "") - { - // need 1 arguments - cout << endl << "**** getModuleMemory Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - ModuleMemory modulememory; - try{ - oam.getModuleMemoryUsage(arguments[1], modulememory); - - cout << endl << "Module Memory Usage (in K bytes)" << endl << endl; - - cout.setf(ios::left); - cout.width(8); - cout << "Module"; - cout.width(11); - cout << "Mem Total"; - cout.width(9); - cout << "Mem Used"; - cout.width(9); - cout << "cache"; - cout.width(12); - cout << "Mem Usage %"; - cout.width(11); - cout << "Swap Total"; - cout.width(10); - cout << "Swap Used"; - cout.width(13); - cout << "Swap Usage %"; - cout << endl; - - cout.setf(ios::left); - cout.width(8); - cout << "------"; - cout.width(11); - cout << "---------"; - cout.width(9); - cout << "-------"; - cout.width(9); - cout << "-------"; - cout.width(12); - cout << "----------"; - cout.width(11); - cout << "----------"; - cout.width(10); - cout << "---------"; - cout.width(13); - cout << "-----------"; - cout << endl; - - printModuleMemory(modulememory); - } - catch (exception& e) - { - cout << endl << "Failed to get Memory Usage: " << e.what() << endl << endl; - } - catch(...) - { - cout << endl << "**** getModuleMemory Failed : Failed to get Module Memory Usage" << endl << endl; - break; - } - break; - } - - case 59: // getSystemMemory - { - cout << endl << "System Memory Usage per Module (in K bytes)" << endl << endl; - - cout.setf(ios::left); - cout.width(8); - cout << "Module"; - cout.width(11); - cout << "Mem Total"; - cout.width(10); - cout << "Mem Used"; - cout.width(9); - cout << "Cache"; - cout.width(13); - cout << "Mem Usage %"; - cout.width(12); - cout << "Swap Total"; - cout.width(11); - cout << "Swap Used"; - cout.width(14); - cout << "Swap Usage %"; - cout << endl; - - cout.setf(ios::left); - cout.width(8); - cout << "------"; - cout.width(11); - cout << "---------"; - cout.width(10); - cout << "--------"; - cout.width(9); - cout << "-------"; - cout.width(13); - cout << "-----------"; - cout.width(12); - cout << "----------"; - cout.width(11); - cout << "---------"; - cout.width(14); - cout << "------------"; - cout << endl; - - SystemMemory systemmemory; - - try{ - oam.getSystemMemoryUsage(systemmemory); - - for( unsigned int i = 0 ; i < systemmemory.modulememory.size(); i++) - { - printModuleMemory(systemmemory.modulememory[i]); - } - - } - catch (exception& e) - { - cout << endl << "Failed to get Memory Usage: " << e.what() << endl << endl; - } - catch(...) - { - cout << endl << "**** getSystemCpu Failed : Failed to get Memory Usage" << endl << endl; - break; - } - break; - } - - case 60: // getModuleDisk - { - if (arguments[1] == "") - { - // need 1 arguments - cout << endl << "**** getModuleDisk Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - ModuleDisk moduledisk; - try{ - oam.getModuleDiskUsage(arguments[1], moduledisk); - - printModuleDisk(moduledisk); - - } - catch (exception& e) - { - cout << endl << "Failed to get Disk Usage: " << e.what() << endl << endl; - } - catch(...) - { - cout << endl << "**** getModuleDisk Failed : Failed to get Module Disk Usage" << endl << endl; - break; - } - break; - } - - case 61: // getSystemDisk - { - cout << endl << "System Disk Usage per Module" << endl << endl; - - SystemDisk systemdisk; - - try{ - oam.getSystemDiskUsage(systemdisk); - - for( unsigned int i = 0 ; i < systemdisk.moduledisk.size(); i++) - { - printModuleDisk(systemdisk.moduledisk[i]); - } - - } - catch (exception& e) - { - cout << endl << "Failed to get Memory Usage: " << e.what() << endl << endl; - } - catch(...) - { - cout << endl << "**** getSystemCpu Failed : Failed to get Memory Usage" << endl << endl; - break; - } - break; - } - - case 62: // getModuleResources - { - if (arguments[1] == "") - { - // need 1 arguments - cout << endl << "**** getModuleResources Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - int topNumber = 5; - - TopProcessCpuUsers topprocesscpuusers; - try{ - oam.getTopProcessCpuUsers(arguments[1], topNumber, topprocesscpuusers); - } - catch (exception& e) - { - cout << endl << "Failed to get Top CPU Users: " << e.what() << endl << endl; - break; - } - catch(...) - { - cout << endl << "**** getModuleCpuUsers Failed : Failed to get Top CPU Users" << endl << endl; - break; - } - - ModuleCpu modulecpu; - try{ - oam.getModuleCpuUsage(arguments[1], modulecpu); - } - catch (exception& e) - { - cout << endl << "Failed to get CPU Usage: " << e.what() << endl << endl; - break; - } - catch(...) - { - cout << endl << "**** getModuleCpu Failed : Failed to get Module CPU Usage" << endl << endl; - break; - } - - TopProcessMemoryUsers topprocessmemoryusers; - try{ - oam.getTopProcessMemoryUsers(arguments[1], topNumber, topprocessmemoryusers); - } - catch (exception& e) - { - cout << endl << "Failed to get Top Memory Users: " << e.what() << endl << endl; - break; - } - catch(...) - { - cout << endl << "**** getModuleMemoryUsers Failed : Failed to get Top Memory Users" << endl << endl; - break; - } - - ModuleMemory modulememory; - try{ - oam.getModuleMemoryUsage(arguments[1], modulememory); - } - catch (exception& e) - { - cout << endl << "Failed to get Memory Usage: " << e.what() << endl << endl; - break; - } - catch(...) - { - cout << endl << "**** getModuleMemory Failed : Failed to get Module Memory Usage" << endl << endl; - break; - } - - ModuleDisk moduledisk; - try{ - oam.getModuleDiskUsage(arguments[1], moduledisk); - } - catch (exception& e) - { - cout << endl << "Failed to get Disk Usage: " << e.what() << endl << endl; - break; - } - catch(...) - { - cout << endl << "**** getModuleDisk Failed : Failed to get Module Disk Usage" << endl << endl; - break; - } - - printModuleResources(topprocesscpuusers, modulecpu, topprocessmemoryusers, modulememory, moduledisk); - - break; - } - - case 63: // getSystemResources - { - cout << endl << "System Resource Usage per Module" << endl << endl; - - int topNumber = 5; - - SystemModuleTypeConfig systemmoduletypeconfig; - ModuleTypeConfig moduletypeconfig; - - try - { - oam.getSystemConfig(systemmoduletypeconfig); - - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - if( systemmoduletypeconfig.moduletypeconfig[i].ModuleType.empty() ) - // end of list - continue; - - int moduleCount = systemmoduletypeconfig.moduletypeconfig[i].ModuleCount; - - if ( moduleCount == 0 ) - continue; - - DeviceNetworkList::iterator pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.begin(); - for( ; pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.end() ; pt++) - { - string modulename = (*pt).DeviceName; - if ( modulename == "unknown" ) - continue; - - TopProcessCpuUsers topprocesscpuusers; - try{ - oam.getTopProcessCpuUsers(modulename, topNumber, topprocesscpuusers); - } - catch (exception& e) - { - cout << endl << "Failed to get Top CPU Users: " << e.what() << endl << endl; - break; - } - catch(...) - { - cout << endl << "**** getModuleCpuUsers Failed : Failed to get Top CPU Users" << endl << endl; - break; - } - - ModuleCpu modulecpu; - try{ - oam.getModuleCpuUsage(modulename, modulecpu); - } - catch (exception& e) - { - cout << endl << "Failed to get CPU Usage: " << e.what() << endl << endl; - break; - } - catch(...) - { - cout << endl << "**** getModuleCpu Failed : Failed to get Module CPU Usage" << endl << endl; - break; - } - - TopProcessMemoryUsers topprocessmemoryusers; - try{ - oam.getTopProcessMemoryUsers(modulename, topNumber, topprocessmemoryusers); - } - catch (exception& e) - { - cout << endl << "Failed to get Top Memory Users: " << e.what() << endl << endl; - break; - } - catch(...) - { - cout << endl << "**** getModuleMemoryUsers Failed : Failed to get Top Memory Users" << endl << endl; - break; - } - - ModuleMemory modulememory; - try{ - oam.getModuleMemoryUsage(modulename, modulememory); - } - catch (exception& e) - { - cout << endl << "Failed to get Memory Usage: " << e.what() << endl << endl; - break; - } - catch(...) - { - cout << endl << "**** getModuleMemory Failed : Failed to get Module Memory Usage" << endl << endl; - break; - } - - ModuleDisk moduledisk; - try{ - oam.getModuleDiskUsage(modulename, moduledisk); - } - catch (exception& e) - { - cout << endl << "Failed to get Disk Usage: " << e.what() << endl << endl; - break; - } - catch(...) - { - cout << endl << "**** getModuleDisk Failed : Failed to get Module Disk Usage" << endl << endl; - break; - } - - printModuleResources(topprocesscpuusers, modulecpu, topprocessmemoryusers, modulememory, moduledisk); - } - } - } - catch (exception& e) - { - cout << endl << "**** getSystemResources Failed : " << e.what() << endl; - } - break; - } - - case 64: // getActiveSQLStatements - { - cout << endl << "Get List of Active SQL Statements" << endl; - cout << "=================================" << endl << endl; - - ActiveSqlStatements activesqlstatements; - - try - { - oam.getActiveSQLStatements(activesqlstatements); - - if ( activesqlstatements.size() == 0 ) - { - cout << "No Active SQL Statements at this time" << endl << endl; - break; - } - - cout << "Start Time Time (hh:mm:ss) Session ID SQL Statement" << endl; - cout << "---------------- ---------------- -------------------- ------------------------------------------------------------" << endl; - - for ( unsigned int i = 0 ; i < activesqlstatements.size(); i++) - { - struct tm tmStartTime; - char timeBuf[36]; - time_t startTime = activesqlstatements[i].starttime; - localtime_r(&startTime, &tmStartTime); - (void)strftime(timeBuf, 36, "%b %d %H:%M:%S", &tmStartTime); - - cout.setf(ios::left); - cout.width(21); - cout << timeBuf; - - //get current time in Epoch - time_t cal; - time (&cal); - - int runTime = cal - activesqlstatements[i].starttime; - int runHours = runTime/3600; - int runMinutes = (runTime - (runHours*3600))/60; - int runSeconds = runTime - (runHours*3600) - (runMinutes*60); - - cout.width(15); - string hours = oam.itoa(runHours); - string minutes = oam.itoa(runMinutes); - string seconds = oam.itoa(runSeconds); - - string run; - if ( hours.size() == 1 ) - run = "0" + hours + ":"; - else - run = hours + ":"; - - if ( minutes.size() == 1 ) - run = run + "0" + minutes + ":"; - else - run = run + minutes + ":"; - - if ( seconds.size() == 1 ) - run = run + "0" + seconds; - else - run = run + seconds; - - cout << run; - - cout.width(23); - cout << activesqlstatements[i].sessionid; - - string SQLStatement = activesqlstatements[i].sqlstatement; - int pos=0; - for ( ;; ) - { - string printSQL = SQLStatement.substr(pos, 60); - pos=pos+60; - cout << printSQL << endl; - - if ( printSQL.size() < 60 ) - break; - - cout.width(59); - cout << " "; - } - cout << endl; - } - - } - catch (exception& e) - { - cout << endl << "Failed to get List of Active SQL Statements: " << e.what() << endl << endl; - } - catch (...) - { - cout << endl << "**** getActiveSQLStatements Failed : Failed to get List of Active SQL Statements" << endl << endl; - break; - } - break; - } - - case 65: // alterSystem-disableModule - { - if (arguments[1] == "") - { - // need arguments - cout << endl << "**** alterSystem-disableModule Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - parentOAMModule = getParentOAMModule(); - if ( arguments[1] == parentOAMModule ) { - // exit out since you can't manually remove OAM Parent Module - cout << endl << "**** alterSystem-disableModule Failed : can't manually disable the Active OAM Parent Module." << endl; - break; - } - - string moduleType = arguments[1].substr(0,MAX_MODULE_TYPE_SIZE); - - gracefulTemp = INSTALL; - - //display Primary UM Module - string PrimaryUMModuleName; - try { - oam.getSystemConfig("PrimaryUMModuleName", PrimaryUMModuleName); - } - catch(...) {} - - bool primUM = false; - if ( PrimaryUMModuleName == arguments[1] ) - { - cout << endl << "This command stops the processing of applications on the Primary User Module, which is where DDL/DML are performed"; - if (confirmPrompt("If there is another module that can be changed to a new Primary User Module, this will be done")) - break; - primUM = true; - } - else - { - // confirm request - if ( arguments[2] != "y" ) { - if (confirmPrompt("This command stops the processing of applications on a Module within the Calpont System")) - break; - } - } - - //parse module names - DeviceNetworkConfig devicenetworkconfig; - DeviceNetworkList devicenetworklist; - - boost::char_separator sep(", "); - boost::tokenizer< boost::char_separator > tokens(arguments[1], sep); - for ( boost::tokenizer< boost::char_separator >::iterator it = tokens.begin(); - it != tokens.end(); - ++it) - { - devicenetworkconfig.DeviceName = *it; - devicenetworklist.push_back(devicenetworkconfig); - } - - DeviceNetworkList::iterator pt = devicenetworklist.begin(); - DeviceNetworkList::iterator endpt = devicenetworklist.end(); - - bool quit = false; - - // check for module status and if any dbroots still assigned - if ( moduleType == "pm" ) { - for( ; pt != endpt ; pt++) - { - // check for dbroots assigned - DBRootConfigList dbrootConfigList; - string moduleID = (*pt).DeviceName.substr(MAX_MODULE_TYPE_SIZE,MAX_MODULE_ID_SIZE); - try { - oam.getPmDbrootConfig(atoi(moduleID.c_str()), dbrootConfigList); - } - catch(...) - {} - - if ( !dbrootConfigList.empty() ) { - cout << endl << "**** alterSystem-disableModule Failed : " << (*pt).DeviceName << " has dbroots still assigned and will not be disabled. Please run movePmDbrootConfig or unassignPmDbrootConfig."; - quit = true; - cout << endl; - break; - } - } - - if (quit) { - cout << endl; - break; - } - } - - if ( devicenetworklist.empty() ) { - cout << endl << "quiting, no modules to remove." << endl << endl; - break; - } - - // stop module - try - { - cout << endl << " Stopping Modules" << endl; - oam.stopModule(devicenetworklist, gracefulTemp, ackTemp); - cout << " Successful stop of Modules " << endl; - } - catch (exception& e) - { - - string Failed = e.what(); - if (Failed.find("Disabled") != string::npos) - cout << endl << " Successful stop of Modules " << endl; - else { - cout << endl << "**** stopModule Failed : " << e.what() << endl; - break; - } - } - - // disable module - try - { - cout << endl << " Disabling Modules" << endl; - oam.disableModule(devicenetworklist); - cout << " Successful disable of Modules " << endl; - - //display Primary UM Module - string PrimaryUMModuleName; - try { - oam.getSystemConfig("PrimaryUMModuleName", PrimaryUMModuleName); - } - catch(...) {} - - if ( primUM && - PrimaryUMModuleName != arguments[1] ) - cout << endl << " New Primary User Module = " << PrimaryUMModuleName << endl; - - } - catch (exception& e) - { - cout << endl << "**** disableModule Failed : " << e.what() << endl; - break; - } - - cout << endl; - break; - } - - case 66: // alterSystem-enableModule - { - if (arguments[1] == "") - { - // need arguments - cout << endl << "**** alterSystem-enableModule Failed : Missing a required Parameter, enter 'help' for additional information" << endl; - break; - } - - string moduleType = arguments[1].substr(0,MAX_MODULE_TYPE_SIZE); - - ACK_FLAG ackTemp = ACK_YES; - - // confirm request - if ( arguments[2] != "y" ) { - if (confirmPrompt("This command starts the processing of applications on a Module within the Calpont System")) - break; - } - - //parse module names - DeviceNetworkConfig devicenetworkconfig; - DeviceNetworkList devicenetworklist; - boost::char_separator sep(", "); - boost::tokenizer< boost::char_separator > tokens(arguments[1], sep); - for ( boost::tokenizer< boost::char_separator >::iterator it = tokens.begin(); - it != tokens.end(); - ++it) - { - devicenetworkconfig.DeviceName = *it; - devicenetworklist.push_back(devicenetworkconfig); - } - - //get the system status, enable modules and startmodules if system is ACTIVE - SystemStatus systemstatus; - try { - oam.getSystemStatus(systemstatus); - - // enable module - try - { - cout << endl << " Enabling Modules " << endl; - oam.enableModule(devicenetworklist); - cout << " Successful enable of Modules " << endl; - } - catch (exception& e) - { - cout << endl << "**** enableModule Failed : " << e.what() << endl; - break; - } - - if ( moduleType == "pm" ) - { - cout << endl << " Performance Module(s) Enabled, run movePmDbrootConfig or assignDbrootPmConfig to assign dbroots, if needed" << endl << endl; - break; - } - else - { - if (systemstatus.SystemOpState == oam::ACTIVE ) { - try - { - cout << endl << " Starting Modules" << endl; - oam.startModule(devicenetworklist, ackTemp); - - //reload DBRM with new configuration, needs to be done here after startModule - string cmd = startup::StartUp::installDir() + "/bin/dbrmctl reload > /dev/null 2>&1"; - system(cmd.c_str()); - sleep(15); - - cout << " Successful start of Modules " << endl; - } - catch (exception& e) - { - cout << endl << "**** startModule Failed : " << e.what() << endl; - break; - } - } - else - cout << endl << " System not Active, run 'startSystem' to start system if needed" << endl; - } - } - catch (exception& e) - { - cout << endl << "**** alterSystem-enableModule Failed : " << e.what() << endl; - break; - } - catch(...) - { - cout << endl << "**** alterSystem-enableModule Failed, Failed return from getSystemStatus API" << endl; - break; - } - - cout << endl; - - break; - } - - case 67: // AVAILABLE - { - } - - - default: - { - cout << arguments[0] << ": Unknown Command, type help for list of commands" << endl << endl; - return 1; - } - } - return 0; -} - -/****************************************************************************************** - * @brief ProcessSupportCommand - * - * purpose: Process Support commands - * - ******************************************************************************************/ -int ProcessSupportCommand(int CommandID, std::string arguments[]) -{ - Oam oam; - GRACEFUL_FLAG gracefulTemp = GRACEFUL; - ACK_FLAG ackTemp = ACK_YES; - CC_SUSPEND_ANSWER suspendAnswer = WAIT; - bool bNeedsConfirm = true; - - switch( CommandID ) - { - case 0: // helpsupport - { - // display commands in the Support Command list - cout << endl << "List of Support commands" << endl << endl; - - for (int i = 1;;i++) - { - if (supportCmds[i] == "") - // end of list - break; - cout << " " << supportCmds[i] << endl; - } - cout << endl; - } - break; - - case 1: // stopprocess - parameters: Process-name, Module-name, Graceful flag, Ack flag - { - if (arguments[2] == "") - { - // need arguments - cout << endl << "**** stopprocess Failed : Missing a required Parameter, Enter Process and Module names" << endl; - break; - } - - // don't allow stopping of Process-Monitor - if ( arguments[1] == "ProcessMonitor" ) { - cout << "ProcessMonitor is controlled by 'init' and can not be stopped" << endl; - break; - } - else - { - // give warning for Process-Monitor - if ( arguments[1] == "ProcessManager" ) { - if (confirmPrompt("ProcessManager is the Interface for the Console and should only be removed as part of a Calpont Package installation")) - break; - } - else - { - if ( arguments[3] != "y" ) { - getFlags(arguments, gracefulTemp, ackTemp, suspendAnswer, bNeedsConfirm); - // confirm request - if (confirmPrompt("This command stops the processing of an application on a Module within the Calpont System")) - break; - } - } - } - - try - { - oam.stopProcess(arguments[2], arguments[1], gracefulTemp, ackTemp); - cout << endl << " Successful stop of Process " << arguments[1] << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** stopprocess Failed : " << e.what() << endl; - } - } - break; - - case 2: // startprocess - parameters: Process-name, Module-name, Graceful flag, Ack flag - { - if (arguments[2] == "") - { - // need arguments - cout << endl << "**** startprocess Failed : Missing a required Parameter, Enter Process and Module names" << endl; - break; - } - - getFlags(arguments, gracefulTemp, ackTemp, suspendAnswer, bNeedsConfirm); - - try - { - oam.startProcess(arguments[2], arguments[1], gracefulTemp, ackTemp); - cout << endl << " Successful start of Process " << arguments[1] << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** startprocess Failed : " << e.what() << endl; - } - } - break; - - case 3: // restartprocess - parameters: Process-name, Module-name, Graceful flag, Ack flag - { - if (arguments[2] == "") - { - // need arguments - cout << endl << "**** restartprocess Failed : Missing a required Parameter, Enter Process and Module names" << endl; - break; - } - - getFlags(arguments, gracefulTemp, ackTemp, suspendAnswer, bNeedsConfirm); - - // confirm request - if (confirmPrompt("This command restarts the processing of an application on a Module within the Calpont System")) - break; - - try - { - oam.restartProcess(arguments[2], arguments[1], gracefulTemp, ackTemp); - cout << endl << " Successful restart of Process " << arguments[1] << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** restartprocess Failed : " << e.what() << endl; - } - } - break; - - case 4: // killpid - { - if (arguments[1] == "" || arguments[2] != "") - { - // need arguments - cout << endl << "**** killpid Failed : Invalid or Missing Parameter, Enter local Process-ID" << endl; - break; - } - - pid_t PID = atoi(arguments[1].c_str()); - if ( PID <= 0 ) { - cout << endl << "**** killpid Failed : Invalid Process-ID Entered" << endl; - break; - } - - int status = kill( PID, SIGTERM); - if ( status != API_SUCCESS) - cout << endl << " Failure in kill of Process-ID " << arguments[1] << ", Failed: " << errno << endl << endl; - else - cout << endl << " Successful kill of Process-ID " << arguments[1] << endl << endl; - } - break; - - case 5: // rebootsystem - parameters: password - { - if ( !rootUser) - { - cout << endl << "**** rebootsystem Failed : command not available when running as non-root user" << endl; - break; - } - - parentOAMModule = getParentOAMModule(); - if ( localModule != parentOAMModule ) { - // exit out since not on Parent OAM Module - cout << endl << "**** rebootsystem Failed : only should be run on the Parent OAM Module, which is '" << parentOAMModule << "'" << endl; - break; - } - - if (arguments[1] == "" || arguments[1] == "y") - { - // need arguments - cout << endl << "**** rebootsystem Failed : Invalid or Missing Parameter, Provide root-password" << endl; - break; - } - - string password = arguments[1]; - if ( arguments[2] != "y") { - cout << endl << "!!!!! DESTRUCTIVE COMMAND !!!!!" << endl; - string warning = "This command stops the Processing of applications and reboots all modules within the Calpont System"; - // confirm request - if (confirmPrompt(warning)) - break; - } - cout << endl << " Stop System being performed, please wait..." << endl; - - try - { - cout << endl << " System being stopped, please wait... " << endl; - oam.stopSystem(GRACEFUL, ACK_YES); - - if ( waitForStop() ) - cout << endl << " Successful stop of System " << endl << endl; - else - cout << endl << "**** stopSystem Failed : check log files" << endl; - } - catch (exception& e) - { - cout << endl << "**** stopSystem Failed : " << e.what() << endl; - string warning = "stopSystem command failed,"; - // confirm request - if (confirmPrompt(warning)) - break; - } - - SystemModuleTypeConfig systemmoduletypeconfig; - systemmoduletypeconfig.moduletypeconfig.clear(); - - try - { - oam.getSystemConfig(systemmoduletypeconfig); - - bool FAILED = false; - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - if( systemmoduletypeconfig.moduletypeconfig[i].ModuleType.empty() ) - // end of list - break; - int moduleCount = systemmoduletypeconfig.moduletypeconfig[i].ModuleCount; - string moduletype = systemmoduletypeconfig.moduletypeconfig[i].ModuleType; - if ( moduleCount > 0 ) - { - DeviceNetworkList::iterator pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.begin(); - for( ; pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.end() ; pt++) - { - string modulename = (*pt).DeviceName; - if (modulename == parentOAMModule ) { - //do me last - continue; - } - - //skip modules in MAN_DISABLED state - try{ - int opState; - bool degraded; - oam.getModuleStatus(modulename, opState, degraded); - - if (opState == oam::MAN_DISABLED ) - //skip - continue; - } - catch (exception& ex) - {} - - //run remote command script - HostConfigList::iterator pt1 = (*pt).hostConfigList.begin(); - string cmd = startup::StartUp::installDir() + "/bin/remote_command.sh " + (*pt1).IPAddr + " " + password + " reboot " ; - int rtnCode = system(cmd.c_str()); - if (WEXITSTATUS(rtnCode) != 0) { - cout << "Failed with running remote_command.sh" << endl; - FAILED = true; - } - else - cout << endl << " Successful reboot request of Module " << modulename << endl; - } - } - } - - if ( FAILED ) - break; - - //reboot local module - int rtnCode = system("reboot"); - if (WEXITSTATUS(rtnCode) != 0) - cout << "Failed rebooting local module" << endl; - else - { - cout << endl << " Successful reboot request of local Module" << endl; - // close the log file - writeLog("End of a command session!!!"); - logFile.close(); - cout << endl << "Exiting the Calpont Command Console" << endl; - exit (0); - } - } - catch(...) - { - cout << endl << "**** rebootsystem Failed : Failed on getSystemConfig API" << endl; - break; - } - } - break; - - case 6: // rebootnode - parameters: module-name password - { - if ( !rootUser) - { - cout << endl << "**** rebootnode Failed : command not available when running as non-root user" << endl; - break; - } - - if (arguments[1] == "" || arguments[2] == "") - { - // need arguments - cout << endl << "**** rebootnode Failed : Invalid or Missing Parameter, Enter module-name and root-password" << endl; - break; - } - - string inputModuleName = arguments[1]; - string password = arguments[2]; - if ( arguments[3] != "y") { - cout << endl << "!!!!! DESTRUCTIVE COMMAND !!!!!" << endl; - string warning = "This command reboots a node within the Calpont System"; - // confirm request - if (confirmPrompt(warning)) - break; - } - - SystemModuleTypeConfig systemmoduletypeconfig; - systemmoduletypeconfig.moduletypeconfig.clear(); - - try - { - oam.getSystemConfig(systemmoduletypeconfig); - unsigned int i = 0; - for( ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - if( systemmoduletypeconfig.moduletypeconfig[i].ModuleType.empty() ) { - // end of list - break; - } - int moduleCount = systemmoduletypeconfig.moduletypeconfig[i].ModuleCount; - string moduletype = systemmoduletypeconfig.moduletypeconfig[i].ModuleType; - if ( moduleCount > 0 ) - { - DeviceNetworkList::iterator pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.begin(); - for( ; pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.end() ; pt++) - { - string modulename = (*pt).DeviceName; - if (inputModuleName == modulename ) { - if (inputModuleName == localModule ) { - //reboot local module - int rtnCode = system("reboot"); - if (WEXITSTATUS(rtnCode) != 0) - cout << "Failed rebooting local node" << endl; - else - { - cout << endl << " Successful reboot request of Node " << modulename << endl; - // close the log file - writeLog("End of a command session!!!"); - logFile.close(); - cout << endl << "Exiting the Calpont Command Console" << endl; - exit (0); - } - } - else - { - HostConfigList::iterator pt1 = (*pt).hostConfigList.begin(); - string ipAddr = (*pt1).IPAddr; - //run remote command script - string cmd = startup::StartUp::installDir() + "/bin/remote_command.sh " + ipAddr + " " + password + " reboot " ; - int rtnCode = system(cmd.c_str()); - if (WEXITSTATUS(rtnCode) != 0) - cout << "Failed with running remote_command.sh" << endl; - else - cout << endl << " Successful reboot request of Node " << modulename << endl; - return(0); - } - } - } - } - } - } - catch(...) - { - cout << endl << "**** rebootnode Failed : Failed on getSystemConfig API" << endl; - break; - } - } - break; - - case 7: // stopdbrmprocess - { - if ( arguments[1] != "y" ) { - // confirm request - if (confirmPrompt("This command stops the dbrm processes within the Calpont System")) - break; - } - - try - { - oam.stopProcessType("DBRM"); - cout << endl << " Successful stop of DBRM Processes" << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** stopdbrmprocess Failed : " << e.what() << endl; - } - } - break; - - case 8: // startdbrmprocess - { - try - { - oam.startProcessType("DBRM"); - cout << endl << " Successful Start of DBRM Processes" << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** startdbrmprocess Failed : " << e.what() << endl; - } - } - break; - - case 9: // restartdbrmprocess - { - if ( arguments[1] != "y" ) { - // confirm request - if (confirmPrompt("This command restarts the dbrm processes within the Calpont System")) - break; - } - - try - { - oam.restartProcessType("DBRM"); - cout << endl << " Successful Restart of DBRM Processes" << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** restartdbrmprocess Failed : " << e.what() << endl; - } - } - break; - - case 10: // setsystemstartupstate - { - Config* sysConfig = Config::makeConfig(); - - parentOAMModule = getParentOAMModule(); - if ( localModule != parentOAMModule ) { - // exit out since not on Parent OAM Module - cout << endl << "**** setsystemstartupstate Failed : only should be run on the Parent OAM Module, which is '" << parentOAMModule << "'" << endl; - break; - } - - string systemStartupOffline; - try { - systemStartupOffline = sysConfig->getConfig("Installation", "SystemStartupOffline"); - cout << "SystemStartupOffline currently set to '" + systemStartupOffline + "'" << endl; - } - catch(...) - { - cout << "ERROR: Problem getting systemStartupOffline from the Calpont System Configuration file" << endl; - return 1; - } - - while(true) - { - char* pcommand = 0; - string prompt; - string temp = "cancel"; - prompt = "Set system startup state to offline: (y,n,cancel) [cancel]: "; - pcommand = readline(prompt.c_str()); - if (pcommand) - { - if (strlen(pcommand) > 0) temp = pcommand; - free(pcommand); - pcommand = 0; - } - if ( temp == "cancel" ) - return 0; - if ( temp == "n" || temp == "y") { - systemStartupOffline = temp; - break; - } - cout << "Invalid Option, please re-enter" << endl; - } - - try { - sysConfig->setConfig("Installation", "SystemStartupOffline", systemStartupOffline); - sysConfig->write(); - } - catch(...) - { - cout << "ERROR: Problem setting systemStartupOffline in the Calpont System Configuration file" << endl; - exit(-1); - } - cout << endl << " Successful setting of systemStartupOffline to '" << systemStartupOffline << "'" << endl << endl; - } - break; - - case 11: // stopPrimProcs - { - if ( arguments[1] != "y" ) { - // confirm request - if (confirmPrompt("This command stops the PrimProc processes within the Calpont System")) - break; - } - - try - { - oam.stopProcessType("PrimProc"); - cout << endl << " Successful stop of PrimProc Processes" << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** stopPrimProcs Failed : " << e.what() << endl; - } - } - break; - - case 12: // startPrimProcs - { - try - { - oam.startProcessType("PrimProc"); - cout << endl << " Successful Start of PrimProc Processes" << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** startPrimProcs Failed : " << e.what() << endl; - } - } - break; - - case 13: // restartPrimProcs - { - if ( arguments[1] != "y" ) { - // confirm request - if (confirmPrompt("This command restarts the PrimProc processes within the Calpont System")) - break; - } - - try - { - oam.restartProcessType("PrimProc"); - cout << endl << " Successful Restart of PrimProc Processes" << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** restartPrimProcs Failed : " << e.what() << endl; - } - } - break; - - case 14: // stopExeMgrs - { - if ( arguments[1] != "y" ) { - // confirm request - if (confirmPrompt("This command stops the ExeMgr processes within the Calpont System")) - break; - } - - try - { - oam.stopProcessType("ExeMgr"); - cout << endl << " Successful stop of ExeMgr Processes" << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** stopExeMgrs Failed : " << e.what() << endl; - } - } - break; - - case 15: // startExeMgrs - { - try - { - oam.startProcessType("ExeMgr"); - cout << endl << " Successful Start of ExeMgr Processes" << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** startExeMgrs Failed : " << e.what() << endl; - } - } - break; - - case 16: // restartExeMgrs - { - if ( arguments[1] != "y" ) { - // confirm request - if (confirmPrompt("This command restarts the ExeMgr processes within the Calpont System")) - break; - } - - try - { - oam.restartProcessType("ExeMgr"); - cout << endl << " Successful Restart of ExeMgr Processes" << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** restartExeMgrs Failed : " << e.what() << endl; - } - } - break; - - case 17: // getProcessStatusStandby - parameters: NONE - { - printProcessStatus("ProcStatusControlStandby"); - } - break; - - case 18: // distributeconfigfile - parameters: option, moduleName - { - string name = "system"; - - if ( arguments[1] != "" ) - name = arguments[1]; - - try - { - oam.distributeConfigFile(name); - cout << endl << " Successful Distribution of Calpont Config File" << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** Distribution of Calpont Config File Failed : " << e.what() << endl; - } - } - break; - - case 19: // getPmDbrootConfig - paramaters: pm id - { - string pmID; - if (arguments[1] == "") { - cout << endl; - string prompt = "Enter the Performance Module ID"; - pmID = dataPrompt(prompt); - } - else - pmID = arguments[1]; - - try - { - DBRootConfigList dbrootConfigList; - oam.getPmDbrootConfig(atoi(pmID.c_str()), dbrootConfigList); - - cout << "DBRoot IDs assigned to 'pm" + pmID + "' = "; - - DBRootConfigList::iterator pt = dbrootConfigList.begin(); - for( ; pt != dbrootConfigList.end() ;) - { - cout << oam.itoa(*pt); - pt++; - if (pt != dbrootConfigList.end()) - cout << ", "; - } - cout << endl; - } - catch (exception& e) - { - cout << endl << "**** getPmDbrootConfig Failed : " << e.what() << endl; - } - } - break; - - case 20: // getDbrootPmConfig - parameters dbroot id - { - string dbrootID; - if (arguments[1] == "") { - cout << endl; - string prompt = "Enter the DBRoot ID"; - dbrootID = dataPrompt(prompt); - } - else - dbrootID = arguments[1]; - - try - { - int pmID; - oam.getDbrootPmConfig(atoi(dbrootID.c_str()), pmID); - - cout << endl << " DBRoot ID " << dbrootID << " is assigned to 'pm" << pmID << "'" << endl; - } - catch (exception& e) - { - cout << endl << "**** getDbrootPmConfig Failed : " << e.what() << endl; - } - } - break; - - case 21: // getSystemDbrootConfig - { - cout << endl << "System DBroot Configuration" << endl << endl; - - try - { - DBRootConfigList dbrootConfigList; - oam.getSystemDbrootConfig(dbrootConfigList); - - cout << "System DBRoot IDs = "; - DBRootConfigList::iterator pt = dbrootConfigList.begin(); - for( ; pt != dbrootConfigList.end() ;) - { - cout << oam.itoa(*pt); - pt++; - if (pt != dbrootConfigList.end()) - cout << ", "; - } - cout << endl; - } - catch (exception& e) - { - cout << endl << "**** getSystemDbrootConfig Failed : " << e.what() << endl; - } - } - break; - - case 22: // checkDBFunctional - { - try { - oam.checkDBFunctional(false); - cout << endl << " checkDBFunctional Successful" << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** checkDBFunctional Failed : " << e.what() << endl; - cout << endl << " can check UM /tmp/dbfunctional.log for possible additional information" << endl << endl; - } - catch(...) - { - cout << endl << " checkDBFunctional Failed: check UM /tmp/dbfunctional.log" << endl << endl; - } - } - break; - - case 23: // getsystemreadflags - { - - cout << " Print the DB System Flags. 1 = set and ready, 0 = clear and not ready" << endl; - - BRM::DBRM dbrm; - - cout << endl; - try { - cout << "getSystemQueryReady = " << dbrm.getSystemQueryReady() << endl; - } - catch(...) - {} - - try { - cout << "getSystemReady = " << dbrm.getSystemReady() << endl; - } - catch(...) - {} - - try { - cout << "getSystemSuspended = " << dbrm.getSystemSuspended() << endl; - } - catch(...) - {} - } - break; - - case 24: // setsystemqueryready - { - BRM::DBRM dbrm; - - string set = "0"; - if (arguments[1] == "") { - cout << endl; - string prompt = "Enter 1 for set and 0 for clear"; - set = dataPrompt(prompt); - } - else - set = arguments[1]; - - bool flag = true; - if ( set == "0" ) - flag = false; - - cout << endl; - try { - cout << "getSystemQueryReady = " << dbrm.getSystemQueryReady() << endl; - } - catch(...) - {} - - cout << endl; - try { - dbrm.setSystemQueryReady(flag); - cout << "setSystemQueryReady = " << flag << endl; - } - catch(...) - {} - - cout << endl; - try { - cout << "getSystemQueryReady = " << dbrm.getSystemQueryReady() << endl; - } - catch(...) - {} - } - - default: // shouldn't get here, but... - return 1; - - } // end of switch - - return 0; -} - -/****************************************************************************************** - * @brief getFlags - * - * purpose: get and convert Graceful and Ack flags - * - ******************************************************************************************/ -void getFlags(const string* arguments, GRACEFUL_FLAG& gracefulTemp, ACK_FLAG& ackTemp, oam::CC_SUSPEND_ANSWER& suspendAnswer, bool& bNeedsConfirm, string* password) -{ - gracefulTemp = GRACEFUL; // default - ackTemp = ACK_YES; // default - suspendAnswer = CANCEL; - bNeedsConfirm = true; - for( int i = 1; i < ArgNum; i++) - { - if (strcasecmp(arguments[i].c_str(), "Y") == 0) - bNeedsConfirm = false; - else - if (strcasecmp(arguments[i].c_str(), "N") == 0) - bNeedsConfirm = true; - else - if (strcasecmp(arguments[i].c_str(), "GRACEFUL") == 0) - gracefulTemp = oam::GRACEFUL; - else - if (strcasecmp(arguments[i].c_str(), "FORCEFUL") == 0) - gracefulTemp = FORCEFUL; - else - if (strcasecmp(arguments[i].c_str(), "INSTALL") == 0) - gracefulTemp = INSTALL; - else - if (strcasecmp(arguments[i].c_str(), "ACK_YES") == 0 || strcasecmp(arguments[i].c_str(), "YES_ACK") == 0) - ackTemp = ACK_YES; - else - if (strcasecmp(arguments[i].c_str(), "ACK_NO") == 0 || strcasecmp(arguments[i].c_str(), "NO_ACK") == 0) - ackTemp = ACK_NO; - else - if (strcasecmp(arguments[i].c_str(), "WAIT") == 0) - suspendAnswer = WAIT; - else - if (strcasecmp(arguments[i].c_str(), "ROLLBACK") == 0) - suspendAnswer = ROLLBACK; - else - if (strcasecmp(arguments[i].c_str(), "FORCE") == 0) - suspendAnswer = FORCE; - else - if (password && arguments[i].length() > 0) - *password = arguments[i]; - } -} - - -/****************************************************************************************** - * @brief confirmPrompt - * - * purpose: Confirmation prompt - * - ******************************************************************************************/ -int confirmPrompt(std::string warningCommand) -{ - char* pcommand = 0; - char *p; - string argument = "n"; - - while(true) - { - // read input - if (warningCommand.size() > 0) - { - cout << endl << warningCommand << endl; - } - pcommand = readline(" Do you want to proceed: (y or n) [n]: "); - - if (pcommand && *pcommand) { - p = strtok(pcommand," "); - argument = p; - free(pcommand); - pcommand = 0; - } - - if (pcommand) { - free(pcommand); - pcommand = 0; - } - - // covert argument into lowercase - transform (argument.begin(), argument.end(), argument.begin(), to_lower()); - - if( argument == "y") - return 0; - else if( argument == "n") - return 1; - } -} - -/****************************************************************************************** - * @brief dataPrompt - * - * purpose: Prompt for additional data - * - ******************************************************************************************/ -std::string dataPrompt(std::string promptCommand) -{ - char data[CmdSize]; - char* pdata = data; - char *pd; - string argument; - - while(true) - { - // read input - cout << promptCommand << endl; - pdata = readline(" Please enter: "); - - if (!pdata) // user hit -D - pdata = strdup("exit"); - - else if (!*pdata) - // just an enter-key was entered, ignore and reprompt - continue; - - pd = pdata; - argument = pd; - - return argument; - } -} - - -/****************************************************************************************** - * @brief writeLog for command - * - * purpose: write command to the log file - * - ******************************************************************************************/ -void writeLog(string command) -{ - Oam oam; - - //filter off password on reboot commands - - logFile << oam.getCurrentTime() << ": " << command << endl; - logFile.flush(); - return; -} - -/****************************************************************************************** - * @brief printAlarmSummary - * - * purpose: get active alarms and produce a summary - * - ******************************************************************************************/ -void printAlarmSummary() -{ - AlarmList alarmList; - Oam oam; - try { - oam.getActiveAlarms(alarmList); - } - catch(...) - { - return; - } - - int critical = 0, major = 0, minor = 0, warning = 0, info = 0; - AlarmList :: iterator i; - for (i = alarmList.begin(); i != alarmList.end(); ++i) - { - switch (i->second.getSeverity()) - { - case CRITICAL: - ++critical; - break; - case MAJOR: - ++major; - break; - case MINOR: - ++minor; - break; - case WARNING: - ++warning; - break; - case INFORMATIONAL: - ++info; - break; - } - } - cout << endl << "Active Alarm Counts: "; - cout << "Critical = " << critical; - cout << ", Major = " << major; - cout << ", Minor = " << minor; - cout << ", Warning = " << warning; - cout << ", Info = " << info; - cout << endl; -} - -/****************************************************************************************** - * @brief printCriticalAlarms - * - * purpose: get active Critical alarms - * - ******************************************************************************************/ -void printCriticalAlarms() -{ - AlarmList alarmList; - Oam oam; - try { - oam.getActiveAlarms(alarmList); - } - catch(...) - { - return; - } - - cout << endl << "Critical Active Alarms:" << endl << endl; - - AlarmList :: iterator i; - for (i = alarmList.begin(); i != alarmList.end(); ++i) - { - switch (i->second.getSeverity()) - { - case CRITICAL: - cout << "AlarmID = " << i->second.getAlarmID() << endl; - cout << "Brief Description = " << i->second.getDesc() << endl; - cout << "Alarm Severity = "; - cout << "CRITICAL" << endl; - cout << "Time Issued = " << i->second.getTimestamp() << endl; - cout << "Reporting Module = " << i->second.getSname() << endl; - cout << "Reporting Process = " << i->second.getPname() << endl; - cout << "Reported Device = " << i->second.getComponentID() << endl << endl; - break; - case MAJOR: - case MINOR: - case WARNING: - case INFORMATIONAL: - break; - } - } -} - -/****************************************************************************************** - * @brief printSystemStatus - * - * purpose: get and Display System and Module Statuses - * - ******************************************************************************************/ -void printSystemStatus() -{ - SystemStatus systemstatus; - Oam oam; - BRM::DBRM dbrm(true); - - cout << endl << "System " << systemName << endl << endl; - cout << "System and Module statuses" << endl << endl; - cout << "Component Status Last Status Change" << endl; - cout << "------------ -------------------------- ------------------------" << endl; - - try - { - oam.getSystemStatus(systemstatus, false); - cout << "System "; - cout.setf(ios::left); - cout.width(29); - int state = systemstatus.SystemOpState; - string extraInfo = " "; - bool bRollback = false; - bool bForce = false; - - if (dbrm.isDBRMReady()) - { - if (dbrm.getSystemSuspended() > 0) - { - extraInfo = " WRITE SUSPENDED"; - } - else - if (dbrm.getSystemSuspendPending(bRollback) > 0) - { - extraInfo = " WRITE SUSPEND PENDING"; - } - else - if (dbrm.getSystemShutdownPending(bRollback, bForce) > 0) - { - extraInfo = " SHUTDOWN PENDING"; - } - } - printState(state, extraInfo); - cout.width(24); - string stime = systemstatus.StateChangeDate; - stime = stime.substr (0,24); - cout << stime << endl << endl; - - for( unsigned int i = 0 ; i < systemstatus.systemmodulestatus.modulestatus.size(); i++) - { - if( systemstatus.systemmodulestatus.modulestatus[i].Module.empty() ) - // end of list - break; - - cout << "Module "; - cout.setf(ios::left); - cout.width(7); - cout << systemstatus.systemmodulestatus.modulestatus[i].Module; - cout.width(29); - state = systemstatus.systemmodulestatus.modulestatus[i].ModuleOpState; - - // get NIC functional state (degraded or not) - bool degraded = false; - try { - int state; - oam.getModuleStatus(systemstatus.systemmodulestatus.modulestatus[i].Module, state, degraded); - } - catch (...) - {} - - string nicFun = " "; - if (degraded) - nicFun = "/" + DEGRADEDSTATE; - - printState(state, nicFun); - - cout.width(24); - string stime = systemstatus.systemmodulestatus.modulestatus[i].StateChangeDate ; - stime = stime.substr (0,24); - cout << stime << endl; - } - cout << endl; - - if ( systemstatus.systemmodulestatus.modulestatus.size() > 1) { - // get and display Parent OAM Module - cout << "Active Parent OAM Performance Module is '" << getParentOAMModule() << "'" << endl; - - //display Primary UM Module - string PrimaryUMModuleName; - try { - oam.getSystemConfig("PrimaryUMModuleName", PrimaryUMModuleName); - } - catch(...) {} - - if ( serverInstallType != oam::INSTALL_COMBINE_DM_UM_PM ) - { - ModuleTypeConfig moduletypeconfig; - try{ - oam.getSystemConfig("um", moduletypeconfig); - } - catch(...) - {} - - if ( moduletypeconfig.ModuleCount > 1 ) - { - if ( PrimaryUMModuleName != oam::UnassignedName ) - cout << "Primary Front-End MySQL Module is '" << PrimaryUMModuleName << "'" << endl; - } - } - else - { - if ( PrimaryUMModuleName != oam::UnassignedName ) - cout << "Primary Front-End MySQL Module is '" << PrimaryUMModuleName << "'" << endl; - } - } - - //display local Query / PMwithUM feature, if enabled - string PMwithUM; - try { - oam.getSystemConfig("PMwithUM", PMwithUM); - } - catch(...) {} - - if ( PMwithUM == "y" ) - cout << "Local Query Feature is enabled" << endl; - - //display MySQL replication feature, if enabled - string MySQLRep; - try { - oam.getSystemConfig("MySQLRep", MySQLRep); - } - catch(...) {} - - if ( MySQLRep == "y" ) - cout << "MySQL Replication Feature is enabled" << endl << endl; - } - catch (exception& e) - { - cout << endl << "**** printSystemStatus Failed = " << e.what() << endl; - throw runtime_error(""); - } -} - -/****************************************************************************************** - * @brief printProcessStatus - * - * purpose: get and Display Process Statuses - * - ******************************************************************************************/ -void printProcessStatus(std::string port) -{ - SystemProcessStatus systemprocessstatus; - ProcessStatus processstatus; - ModuleTypeConfig moduletypeconfig; - Oam oam; - BRM::DBRM dbrm(true); - - int state; - string extraInfo = " "; - bool bRollback = false; - bool bForce = false; - bool bSuspend = false; - if (dbrm.isDBRMReady()) - { - if (dbrm.getSystemSuspended() > 0) - { - bSuspend = true; - extraInfo = "WRITE_SUSPEND"; - } - else - if (dbrm.getSystemSuspendPending(bRollback) > 0) - { - bSuspend = true; - if (bRollback) - { - extraInfo = "ROLLBACK"; - } - else - { - extraInfo = "SUSPEND_PENDING"; - } - } - else - if (dbrm.getSystemShutdownPending(bRollback, bForce) > 0) - { - bSuspend = true; - if (bRollback) - { - extraInfo = "ROLLBACK"; - } - else - { - extraInfo = "SHUTDOWN_PENDING"; - } - } - } - - cout << endl << "Calpont Process statuses" << endl << endl; - cout << "Process Module Status Last Status Change Process ID" << endl; - cout << "------------------ ------ --------------- ------------------------ ----------" << endl; - try - { - oam.getProcessStatus(systemprocessstatus, port); - - string prevModule = systemprocessstatus.processstatus[0].Module; - - for( unsigned int i = 0 ; i < systemprocessstatus.processstatus.size(); i++) - { - if( prevModule != systemprocessstatus.processstatus[i].Module) - cout << endl; //added a space line between different modules - - cout.setf(ios::left); - cout.width(20); - cout << systemprocessstatus.processstatus[i].ProcessName; - cout.width(10); - cout << systemprocessstatus.processstatus[i].Module; - cout.width(18); - state = systemprocessstatus.processstatus[i].ProcessOpState; - // For these processes, if state is ACTIVE and we're in write - // suspend, then we want to display the extra data instead of state. - // Otherwise, we ignore extra data and display state. - if (state == ACTIVE && bSuspend && - ( systemprocessstatus.processstatus[i].ProcessName == "DMLProc" - || systemprocessstatus.processstatus[i].ProcessName == "DDLProc" - || systemprocessstatus.processstatus[i].ProcessName == "WriteEngineServer")) - { - printState(LEAVE_BLANK, extraInfo); - } - else - { - state = systemprocessstatus.processstatus[i].ProcessOpState; - printState(state, " "); - } - cout.width(24); - string stime = systemprocessstatus.processstatus[i].StateChangeDate ; - stime = stime.substr (0,24); - cout << stime; - if ( state == COLD_STANDBY ) { - cout << endl; - continue; - } - else - { - cout.setf(ios::right); - cout.width(12); - if ( systemprocessstatus.processstatus[i].ProcessID != 0 ) - cout << systemprocessstatus.processstatus[i].ProcessID << endl; - else - cout << endl; - } - cout.unsetf(ios::right); - - prevModule = systemprocessstatus.processstatus[i].Module; - - } - } - catch (exception& e) - { - cout << endl << "**** printProcessStatus Failed = " << e.what() << endl; - throw runtime_error(""); - } -} - -/****************************************************************************************** - * @brief printModuleCpuUsers - * - * purpose: get and Display Module TOP CPU users - * - ******************************************************************************************/ -void printModuleCpuUsers(TopProcessCpuUsers topprocesscpuusers) -{ - cout << "Module '" + topprocesscpuusers.ModuleName + "' Top CPU Users" << endl << endl; - cout << "Process CPU Usage %" << endl; - cout << "----------------- -----------" << endl; - - for( unsigned int i = 0 ; i < topprocesscpuusers.processcpuuser.size(); i++) - { - cout.setf(ios::left); - cout.width(25); - cout << topprocesscpuusers.processcpuuser[i].ProcessName; - cout.width(10); - cout << topprocesscpuusers.processcpuuser[i].CpuUsage << endl; - } - cout << endl; -} - -/****************************************************************************************** - * @brief printModuleCpu - * - * purpose: get and Display Module CPU Usage - * - ******************************************************************************************/ -void printModuleCpu(ModuleCpu modulecpu) -{ - Oam oam; - - cout << endl << "Module '" + modulecpu.ModuleName + "' CPU Usage % = " + oam.itoa(modulecpu.CpuUsage) << endl; -} - -/****************************************************************************************** - * @brief printModuleMemoryUsers - * - * purpose: get and Display Module TOP Memory users - * - ******************************************************************************************/ -void printModuleMemoryUsers(TopProcessMemoryUsers topprocessmemoryusers) -{ - cout << "Module '" + topprocessmemoryusers.ModuleName + "' Top Memory Users (in bytes)" << endl << endl; - cout << "Process Memory Used Memory Usage %" << endl; - cout << "----------------- ----------- --------------" << endl; - - for( unsigned int i = 0 ; i < topprocessmemoryusers.processmemoryuser.size(); i++) - { - cout.setf(ios::left); - cout.width(20); - cout << topprocessmemoryusers.processmemoryuser[i].ProcessName; - cout.width(19); - cout << topprocessmemoryusers.processmemoryuser[i].MemoryUsed; - cout.width(3); - cout << topprocessmemoryusers.processmemoryuser[i].MemoryUsage << endl; - } - cout << endl; -} - -/****************************************************************************************** - * @brief printModuleMemory - * - * purpose: get and Display Module Memory Usage - * - ******************************************************************************************/ -void printModuleMemory(ModuleMemory modulememory) -{ - Oam oam; - cout.setf(ios::left); - cout.width(8); - cout << modulememory.ModuleName; - cout.width(11); - cout << oam.itoa(modulememory.MemoryTotal); - cout.width(10); - cout << oam.itoa(modulememory.MemoryUsed); - cout.width(13); - cout << oam.itoa(modulememory.cache); - cout.width(9); - cout << oam.itoa(modulememory.MemoryUsage); - cout.width(12); - cout << oam.itoa(modulememory.SwapTotal); - cout.width(16); - cout << oam.itoa(modulememory.SwapUsed); - cout.width(7); - cout << oam.itoa(modulememory.SwapUsage); - cout << endl; -} - -/****************************************************************************************** - * @brief printModuleDisk - * - * purpose: get and Display Module disk usage - * - ******************************************************************************************/ -void printModuleDisk(ModuleDisk moduledisk) -{ - Oam oam; - - cout << "Module '" + moduledisk.ModuleName + "' Disk Usage (in 1K blocks)" << endl << endl; - cout << "Mount Point Total Blocks Used Blocks Usage %" << endl; - cout << "----------------------------- ------------ ------------ -------" << endl; - - string etcdir = startup::StartUp::installDir() + "/etc"; - for( unsigned int i = 0 ; i < moduledisk.diskusage.size(); i++) - { - //skip mounts to other server disk - if ( moduledisk.diskusage[i].DeviceName.find("/mnt", 0) == string::npos && - moduledisk.diskusage[i].DeviceName.find(etcdir, 0) == string::npos ) { - cout.setf(ios::left); - cout.width(31); - cout << moduledisk.diskusage[i].DeviceName; - cout.width(14); - cout << moduledisk.diskusage[i].TotalBlocks; - cout.width(17); - cout << moduledisk.diskusage[i].UsedBlocks; - cout.width(2); - cout << moduledisk.diskusage[i].DiskUsage << endl; - } - } - cout << endl; -} - -/****************************************************************************************** - * @brief printModuleResources - * - * purpose: get and Display Module resource usage - * - ******************************************************************************************/ -void printModuleResources(TopProcessCpuUsers topprocesscpuusers, ModuleCpu modulecpu, TopProcessMemoryUsers topprocessmemoryusers, ModuleMemory modulememory, ModuleDisk moduledisk) -{ - Oam oam; - string etcdir = startup::StartUp::installDir() + "/etc"; - - cout << endl << "Module '" + topprocesscpuusers.ModuleName + "' Resource Usage" << endl << endl; - - cout << "CPU: " + oam.itoa(modulecpu.CpuUsage) << "% Usage" << endl; - - cout << "Mem: " << oam.itoa(modulememory.MemoryTotal) << "k total, " << oam.itoa(modulememory.MemoryUsed); - cout << "k used, " << oam.itoa(modulememory.cache) << "k cache, " << oam.itoa(modulememory.MemoryUsage) << "% Usage" << endl; - cout << "Swap: " << oam.itoa(modulememory.SwapTotal) << " k total, " << oam.itoa(modulememory.SwapUsed); - cout << "k used, " << oam.itoa(modulememory.SwapUsage) << "% Usage" << endl; - - cout << "Top CPU Process Users: "; - - for( unsigned int i = 0 ; i < topprocesscpuusers.processcpuuser.size(); i++) - { - cout << topprocesscpuusers.processcpuuser[i].ProcessName << " "; - cout << topprocesscpuusers.processcpuuser[i].CpuUsage; - if ( i+1 != topprocesscpuusers.processcpuuser.size() ) - cout << "%, "; - else - cout << "%"; - } - cout << endl; - - cout << "Top Memory Process Users: "; - - for( unsigned int i = 0 ; i < topprocessmemoryusers.processmemoryuser.size(); i++) - { - cout << topprocessmemoryusers.processmemoryuser[i].ProcessName << " "; - cout << topprocessmemoryusers.processmemoryuser[i].MemoryUsage; - if ( i+1 != topprocessmemoryusers.processmemoryuser.size() ) - cout << "%, "; - else - cout << "%"; - } - cout << endl; - - cout << "Disk Usage: "; - - for( unsigned int i = 0 ; i < moduledisk.diskusage.size(); i++) - { - //skip mounts to other server disk - if ( moduledisk.diskusage[i].DeviceName.find("/mnt", 0) == string::npos && - moduledisk.diskusage[i].DeviceName.find(etcdir, 0) == string::npos ) { - cout << moduledisk.diskusage[i].DeviceName << " "; - cout << moduledisk.diskusage[i].DiskUsage; - if ( i+1 != moduledisk.diskusage.size() ) - cout << "%, "; - else - cout << "%"; - } - } - cout << endl << endl; -} - -/****************************************************************************************** - * @brief printModuleResources - * - * purpose: get and Display Module resource usage - * - ******************************************************************************************/ -void printState(int state, std::string addInfo) -{ - switch (state) { - case MAN_OFFLINE: - cout << MANOFFLINE + addInfo; - break; - case AUTO_OFFLINE: - cout << AUTOOFFLINE + addInfo; - break; - case MAN_INIT: - cout << MANINIT + addInfo; - break; - case AUTO_INIT: - cout << AUTOINIT + addInfo; - break; - case ACTIVE: - cout << ACTIVESTATE + addInfo; - break; - case LEAVE_BLANK: - cout << addInfo; - break; - case STANDBY: - cout << STANDBYSTATE + addInfo; - break; - case FAILED: - cout << FAILEDSTATE + addInfo; - break; - case UP: - cout << UPSTATE + addInfo; - break; - case DOWN: - cout << DOWNSTATE + addInfo; - break; - case COLD_STANDBY: - cout << COLDSTANDBYSTATE + addInfo; - break; - case INITIAL: - cout << INITIALSTATE + addInfo; - break; - case MAN_DISABLED: - cout << MANDISABLEDSTATE + addInfo; - break; - case AUTO_DISABLED: - cout << AUTODISABLEDSTATE + addInfo; - break; - case STANDBY_INIT: - cout << STANDBYINIT + addInfo; - break; - case BUSY_INIT: - cout << BUSYINIT + addInfo; - break; - case DEGRADED: - cout << DEGRADEDSTATE + addInfo; - break; - default: - cout << INITIALSTATE + addInfo; - break; - } -} - -/****************************************************************************************** - * @brief checkPromptThread - * - * purpose: check for exit out of repeat command - * - ******************************************************************************************/ -static void checkPromptThread() -{ - char* pcommand = 0; - - while(true) - { - // check input - pcommand = readline(""); - - if (!pcommand) { // user hit -D - repeatStop = true; - break; - } - free(pcommand); - pcommand = 0; - } - pthread_exit(0); - return; -} - -/****************************************************************************************** - * @brief getParentOAMModule - * - * purpose: get Parent OAm Module name - * - ******************************************************************************************/ -std::string getParentOAMModule() -{ - Oam oam; - - // Get Parent OAM module Name - try{ - string parentOAMModule; - oam.getSystemConfig("ParentOAMModuleName", parentOAMModule); - return parentOAMModule; - } - catch(...) - { - cout << endl << "**** Failed : Failed to read Parent OAM Module Name" << endl; - exit(-1); - } -} - -/****************************************************************************************** - * @brief checkForDisabledModules - * - * purpose: Chcek and report any modules in a disabled state - * - ******************************************************************************************/ -bool checkForDisabledModules() -{ - - SystemModuleTypeConfig systemmoduletypeconfig; - Oam oam; - - try{ - oam.getSystemConfig(systemmoduletypeconfig); - } - catch(...) - { - return false; - } - - bool found = false; - bool dbroot = false; - for( unsigned int i = 0 ; i < systemmoduletypeconfig.moduletypeconfig.size(); i++) - { - int moduleCount = systemmoduletypeconfig.moduletypeconfig[i].ModuleCount; - if( moduleCount == 0) - continue; - - string moduleType = systemmoduletypeconfig.moduletypeconfig[i].ModuleType; - - DeviceNetworkList::iterator pt = systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.begin(); - for ( ; pt != systemmoduletypeconfig.moduletypeconfig[i].ModuleNetworkList.end(); pt++) - { - string moduleName = (*pt).DeviceName; - - // report DISABLED modules - try{ - int opState; - bool degraded; - oam.getModuleStatus(moduleName, opState, degraded); - - if (opState == oam::MAN_DISABLED || opState == oam::AUTO_DISABLED) { - if (!found) { - cout << " NOTE: These module(s) are DISABLED: "; - found = true; - } - cout << moduleName << " "; - - if ( moduleType == "um" ) - continue; - - //check if module has any dbroots assigned to it - string PMID = moduleName.substr(MAX_MODULE_TYPE_SIZE,MAX_MODULE_ID_SIZE);; - DBRootConfigList dbrootConfigList; - try - { - oam.getPmDbrootConfig(atoi(PMID.c_str()), dbrootConfigList); - - if ( dbrootConfigList.size() != 0 ) - dbroot = true; - } - catch (exception& e) - {} - } - } - catch(...) - {} - } - } - - if(found) - cout << endl << endl; - - if(dbroot) - return false; - - return true; -} - -/** @brief Ask the user for cancel/wait/rollback/force - * - * When a Shutdown, stop, restart or suspend operation is - * requested but there are active transactions of some sort, - * we ask the user what to do. - */ -CC_SUSPEND_ANSWER AskSuspendQuestion(int CmdID) -{ - char* szAnswer = 0; - char *p; - string argument = "cancel"; - - const char* szCommand = "Unknown"; - switch (CmdID) - { - case 16: - szCommand = "stop"; - break; - case 17: - szCommand = "shutdown"; - break; - case 19: - szCommand = "restart"; - break; - case 28: - szCommand = "switch parent oam"; - break; - case 32: - szCommand = "suspend"; - break; - default: - return CANCEL; - break; - } - cout << "Your options are:" << endl - << " Cancel -- Cancel the " << szCommand << " request" << endl - << " Wait -- Wait for write operations to end and then " << szCommand << endl; -// << " Rollback -- Rollback all transactions and then " << szCommand << endl; - if (CmdID != 28 && CmdID != 32) - { - cout << " Force -- Force a " << szCommand << endl; - } - - while(true) - { - argument = "cancel"; - // read input - szAnswer = readline("What would you like to do: [Cancel]: "); - - if (szAnswer && *szAnswer) - { - p = strtok(szAnswer," "); - argument = p; - free(szAnswer); - szAnswer = 0; - } - - // In case they just hit return. - if (szAnswer) - { - free(szAnswer); - szAnswer = 0; - } - - // convert argument into lowercase - transform(argument.begin(), argument.end(), argument.begin(), to_lower()); - - if( argument == "cancel") - { - return CANCEL; - } - else if( argument == "wait") - { - return WAIT; - } -// else if( argument == "rollback") -// { -// return ROLLBACK; -// } - else if( argument == "force" && (CmdID == 16 || CmdID == 17 || CmdID == 19)) - { - return FORCE; - } - else - { - cout << argument << " is an invalid response" << endl; - } - } -} - -// vim:ts=4 sw=4: - diff --git a/oamapps/mcsadmin/mcadmin.d.20892 b/oamapps/mcsadmin/mcadmin.d.20892 deleted file mode 100644 index e69de29bb..000000000 diff --git a/oamapps/mcsadmin/mcadmin.d.21522 b/oamapps/mcsadmin/mcadmin.d.21522 deleted file mode 100644 index e69de29bb..000000000 diff --git a/oamapps/mcsadmin/mcadmin.h~ b/oamapps/mcsadmin/mcadmin.h~ deleted file mode 100644 index ec4caff05..000000000 --- a/oamapps/mcsadmin/mcadmin.h~ +++ /dev/null @@ -1,135 +0,0 @@ -/* Copyright (C) 2014 InfiniDB, Inc. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; version 2 of - the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - MA 02110-1301, USA. */ - -/****************************************************************************************** - * $Id: calpontConsole.h 3071 2013-04-04 18:45:53Z rdempsey $ - * - ******************************************************************************************/ -/** - * @file - */ -#ifndef CALPONTCONSOLE_H -#define CALPONTCONSOLE_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "liboamcpp.h" -#include "configcpp.h" -#include "snmpmanager.h" -#include "snmpglobal.h" -#include "calpontsystemcatalog.h" -#include "brmtypes.h" - - -const int CmdSize = 80; -const int ArgNum = 10; -const int DescNumMax = 10; -const int cmdNum = 68; - -const std::string DEFAULT_LOG_FILE = "/var/log/Calpont/uiCommands.log"; -std::ofstream logFile; - -/** - * write the command to the log file - */ -void writeLog(std::string command); - -/** @brief location of the Process Configuration file - */ -const std::string ConsoleCmdsFile= "ConsoleCmds.xml"; - -void getFlags(const std::string* arguments, oam::GRACEFUL_FLAG& gracefulTemp, oam::ACK_FLAG& ackTemp, oam::CC_SUSPEND_ANSWER& suspendAnswer, bool& bNeedsConfirm, std::string* password = NULL); -int confirmPrompt(std::string warningCommand); -std::string dataPrompt(std::string promptCommand); -int processCommand(std::string*); -int ProcessSupportCommand(int CommandID, std::string arguments[]); -void printAlarmSummary(); -void printCriticalAlarms(); -void checkRepeat(std::string*, int); -void printSystemStatus(); -void printProcessStatus(std::string port = "ProcStatusControl"); -void printModuleCpuUsers(oam::TopProcessCpuUsers topprocesscpuusers); -void printModuleCpu(oam::ModuleCpu modulecpu); -void printModuleMemoryUsers(oam::TopProcessMemoryUsers topprocessmemoryusers); -void printModuleMemory(oam::ModuleMemory modulememory); -void printModuleDisk(oam::ModuleDisk moduledisk); -void printModuleResources(oam::TopProcessCpuUsers topprocesscpuusers, oam::ModuleCpu modulecpu, oam::TopProcessMemoryUsers topprocessmemoryusers, oam::ModuleMemory modulememory, oam::ModuleDisk moduledisk); -void printState(int state, std::string addInfo); -std::string getParentOAMModule(); -bool checkForDisabledModules(); -oam::CC_SUSPEND_ANSWER AskSuspendQuestion(int CmdID); - - - -class to_lower -{ - public: - char operator() (char c) const // notice the return type - { - return tolower(c); - } -}; - -/** @brief Hidden Support commands in lower-case -*/ -const std::string supportCmds[] = { "helpsupport", - "stopprocess", - "startprocess", - "restartprocess", - "killpid", - "rebootsystem", - "rebootnode", - "stopdbrmprocess", - "startdbrmprocess", - "restartdbrmprocess", - "setsystemstartupstate", - "stopprimprocs", - "startprimprocs", - "restartprimprocs", - "stopexemgrs", - "startexemgrs", - "restartexemgrs", - "getprocessstatusstandby", - "distributeconfigfile", - "getpmdbrootconfig", - "getdbrootpmconfig", - "getsystemdbrootconfig", - "checkdbfunctional", - "getsystemreadflags", - "setsystemqueryready", - "" -}; - - -#endif diff --git a/oamapps/mcsadmin/mcsadmin.d b/oamapps/mcsadmin/mcsadmin.d deleted file mode 100644 index 7be05f777..000000000 --- a/oamapps/mcsadmin/mcsadmin.d +++ /dev/null @@ -1,1049 +0,0 @@ -mcsadmin.o mcsadmin.d : mcsadmin.cpp mcsadmin.h \ - /home/dhill/InfiniDB_MariaDB/export/include/liboamcpp.h \ - /home/dhill/InfiniDB_MariaDB/export/include/bytestream.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/shared_ptr.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/shared_ptr.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/user.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/select_compiler_config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/compiler/gcc.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/select_stdlib_config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/no_tr1/utility.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/stdlib/libstdcpp3.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/select_platform_config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/platform/linux.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/posix_features.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/suffix.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/no_tr1/memory.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/assert.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/checked_delete.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/throw_exception.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/detail/shared_count.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/bad_weak_ptr.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/detail/sp_counted_base.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/detail/sp_has_sync.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/detail/sp_typeinfo.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/detail/sp_counted_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/detail/sp_convertible.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/detail/sp_nullptr_t.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/detail/spinlock_pool.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/detail/spinlock.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/detail/spinlock_sync.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/detail/yield_k.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/memory_order.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/detail/operator_bool.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/version.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/uuid/uuid.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/cstdint.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_pod.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_void.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/bool_trait_def.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/template_arity_spec.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/int.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/int_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/adl_barrier.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/adl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/msvc.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/intel.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/gcc.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/workaround.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/nttp_decl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/nttp.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/integral_wrapper.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/integral_c_tag.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/static_constant.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/static_cast.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/cat.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/config/config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/template_arity_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessor/params.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/preprocessor.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/comma_if.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/punctuation/comma_if.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/control/if.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/control/iif.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/logical/bool.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/facilities/empty.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/punctuation/comma.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/repeat.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/repetition/repeat.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/debug/error.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/detail/auto_rec.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/tuple/eat.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/inc.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/arithmetic/inc.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/lambda.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/ttp.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/ctps.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/overload_resolution.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/integral_constant.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/bool.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/bool_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/integral_c.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/integral_c_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/lambda_support.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/bool_trait_undef.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_scalar.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_arithmetic.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_integral.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_float.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/ice_or.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_enum.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/intrinsics.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_same.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_reference.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_lvalue_reference.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_rvalue_reference.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/ice.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/yes_no_type.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/ice_and.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/ice_not.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/ice_eq.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_volatile.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/cv_traits_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_pointer.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_member_pointer.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_member_function_pointer.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/is_mem_fun_pointer_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/remove_cv.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/broken_compiler_spec.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/type_trait_def.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/type_trait_undef.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/exceptclasses.h \ - /home/dhill/InfiniDB_MariaDB/export/include/errorcodes.h \ - /home/dhill/InfiniDB_MariaDB/export/include/errorids.h \ - /home/dhill/InfiniDB_MariaDB/export/include/idberrorinfo.h \ - /home/dhill/InfiniDB_MariaDB/export/include/messageobj.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/any.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/remove_reference.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/decay.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_array.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_function.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/false_result.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/is_function_ptr_helper.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/remove_bounds.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/add_pointer.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/eval_if.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/if.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/value_wknd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/integral.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/eti.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/na_spec.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/lambda_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/void_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/na.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/na_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/lambda_arity_param.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/arity.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/dtp.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessor/enum.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/limits/arity.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/logical/and.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/logical/bitand.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/identity.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/facilities/identity.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/empty.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/arithmetic/add.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/arithmetic/dec.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/control/while.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/list/fold_left.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/list/detail/fold_left.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/control/expr_iif.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/list/adt.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/detail/is_binary.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/detail/check.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/logical/compl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/list/fold_right.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/list/detail/fold_right.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/list/reverse.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/control/detail/while.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/tuple/elem.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/facilities/overload.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/variadic/size.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/tuple/rem.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/variadic/elem.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/arithmetic/sub.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/identity.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/add_reference.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_const.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/static_assert.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/utility/enable_if.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/messagelog.h \ - /home/dhill/InfiniDB_MariaDB/export/include/loggingid.h \ - /home/dhill/InfiniDB_MariaDB/export/include/logger.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/thread.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/thread_only.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/detail/platform.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/requires_threads.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/pthread/thread_data.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/detail/config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/auto_link.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/exceptions.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/system/system_error.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/system/error_code.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/system/config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/system/api_config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/operators.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/noncopyable.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/cerrno.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/abi_prefix.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/abi_suffix.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/lock_guard.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/detail/delete.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/detail/move.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_convertible.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_abstract.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/add_lvalue_reference.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/add_rvalue_reference.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/move/utility.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/move/detail/config_begin.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/move/core.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/move/detail/meta_utils.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/move/detail/config_end.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/move/traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/has_trivial_destructor.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_nothrow_move_constructible.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/has_trivial_move_constructor.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/has_nothrow_copy.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/has_trivial_copy.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/utility/declval.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_nothrow_move_assignable.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/has_trivial_move_assign.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/has_nothrow_assign.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/has_trivial_assign.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/detail/lockable_wrapper.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/lock_options.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/lock_types.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/lockable_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_class.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/thread_time.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/time_clock.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/c_time.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/compiler_config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/locale_config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/microsec_time_clock.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/filetime_functions.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/posix_time/posix_time_types.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/posix_time/ptime.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/posix_time/posix_time_system.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/posix_time/posix_time_config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/limits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/no_tr1/cmath.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/time_duration.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/time_defs.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/special_defs.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/time_resolution_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/int_adapter.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/gregorian_types.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/year_month_day.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/period.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/greg_calendar.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/greg_weekday.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/constrained_value.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_base_of.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_base_and_derived.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date_defs.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/greg_day_of_year.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian_calendar.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian_calendar.ipp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/greg_ymd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/greg_day.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/greg_year.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/greg_month.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/greg_duration.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date_duration.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date_duration_types.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/greg_duration_types.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/greg_date.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/adjust_functors.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/wrapping_int.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date_generators.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date_clock_device.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date_iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/time_system_split.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/time_system_counted.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/time.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/posix_time/date_duration_operators.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/posix_time/posix_time_duration.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/posix_time/time_period.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/time_iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/dst_rules.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/chrono/time_point.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/chrono/duration.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/chrono/config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/chrono/detail/static_assert.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/logical.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/or.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/use_preprocessed.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/nested_type_wknd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/include_preprocessed.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/compiler.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/stringize.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/or.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/and.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/and.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/not.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/ratio/ratio.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/ratio/config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/ratio/detail/mpl/abs.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/ratio/detail/mpl/sign.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/ratio/detail/mpl/gcd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/largest_int.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/dependent_nttp.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/ratio/detail/mpl/lcm.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/integer_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/ratio/ratio_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/ratio/detail/overflow_helpers.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/common_type.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/typeof/typeof.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/typeof/message.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/typeof/native.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_floating_point.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_unsigned.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/chrono/detail/is_evenly_divisible_by.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/mutex.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/pthread/mutex.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/xtime.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/posix_time/conversion.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/conversion.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/pthread/timespec.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/pthread/pthread_mutex_scoped_lock.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/chrono/system_clocks.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/chrono/detail/system.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/chrono/clock_string.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/chrono/ceil.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/pthread/condition_variable_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/cv_status.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/detail/scoped_enum_emulation.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/enable_shared_from_this.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/enable_shared_from_this.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/weak_ptr.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/optional.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/optional/optional.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/alignment_of.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/size_t_trait_def.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/size_t.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/size_t_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/size_t_trait_undef.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/has_nothrow_constructor.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/has_trivial_constructor.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/type_with_alignment.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/list/for_each_i.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/repetition/for.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/repetition/detail/for.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/tuple/to_list.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/list/transform.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/list/append.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/detail/reference_content.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/void.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/none.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/none_t.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/utility/swap.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/utility/addressof.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/utility/compare_pointees.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/utility/in_place_factory.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/utility/detail/in_place_factory_prefix.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/punctuation/paren.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/iteration/iterate.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/array/elem.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/array/data.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/array/size.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/slot/slot.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/slot/detail/def.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/repetition/enum.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/repetition/enum_params.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/repetition/enum_binary_params.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/repetition/enum_trailing_params.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/iteration/detail/iter/forward1.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/iteration/detail/bounds/lower1.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/slot/detail/shared.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/iteration/detail/bounds/upper1.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/utility/detail/in_place_factory_suffix.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/optional/optional_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/detail/thread.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/detail/thread_heap_alloc.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/pthread/thread_heap_alloc.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/detail/make_tuple_indices.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/detail/invoke.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/detail/is_convertible.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/ref.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/bind.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/bind/bind.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mem_fn.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/bind/mem_fn.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/get_pointer.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/bind/mem_fn_template.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/bind/mem_fn_cc.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/is_placeholder.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/bind/arg.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/visit_each.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/bind/storage.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/bind/bind_template.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/bind/bind_cc.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/bind/bind_mf_cc.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/bind/bind_mf2_cc.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/bind/placeholders.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/io/ios_state.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/io_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/functional/hash.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/functional/hash/hash.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/functional/hash/hash_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/functional/hash/detail/hash_float.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/functional/hash/detail/float_functions.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/functional/hash/detail/limits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/integer/static_log2.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/integer_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/functional/hash/extensions.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/detail/container_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/repetition/repeat_from_to.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/detail/thread_interruption.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/v2/thread.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/condition_variable.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/pthread/condition_variable.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/detail/thread_group.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/shared_mutex.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/pthread/shared_mutex.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/once.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/pthread/once_atomic.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/detail/no_exceptions_support.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/atomic.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/atomic/atomic.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/atomic/detail/config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/atomic/detail/platform.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/atomic/detail/gcc-x86.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/atomic/detail/base.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/atomic/detail/lockpool.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/atomic/detail/link.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/atomic/detail/type-classification.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_signed.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/recursive_mutex.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/pthread/recursive_mutex.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/tss.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/locks.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/lock_algorithms.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/barrier.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/function.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/iterate.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/function/detail/prologue.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/no_tr1/functional.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/function/function_base.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/integer.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/composite_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_union.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/function_equal.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/function/function_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/enum.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/enum_params.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/function/detail/function_iterate.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/function/detail/maybe_include.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/function/function_template.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/utility/result_of.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/repetition/enum_shifted_params.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/facilities/intercept.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/has_xxx.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/type_wrapper.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/yes_no.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/arrays.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/has_xxx.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/msvc_typename.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/utility/detail/result_of_iterate.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/future.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/detail/async_func.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/tuple/tuple.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/tuple/detail/tuple_basic.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/cv_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/add_const.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/add_volatile.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/add_cv.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/remove_const.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/remove_volatile.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/function_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/exception_ptr.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/exception/detail/exception_ptr.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/scoped_ptr.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/scoped_ptr.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/is_fundamental.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/scoped_array.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/scoped_array.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/next_prior.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/thread/future_error_code.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/detail/atomic_undef_macros.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/detail/atomic_redef_macros.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/messageids.h \ - /home/dhill/InfiniDB_MariaDB/export/include/serializeable.h \ - /home/dhill/InfiniDB_MariaDB/export/include/configcpp.h \ - /usr/include/libxml2/libxml/parser.h \ - /usr/include/libxml2/libxml/xmlversion.h \ - /usr/include/libxml2/libxml/xmlexports.h \ - /usr/include/libxml2/libxml/tree.h \ - /usr/include/libxml2/libxml/xmlstring.h \ - /usr/include/libxml2/libxml/xmlregexp.h \ - /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ - /usr/include/libxml2/libxml/valid.h \ - /usr/include/libxml2/libxml/xmlerror.h \ - /usr/include/libxml2/libxml/list.h \ - /usr/include/libxml2/libxml/xmlautomata.h \ - /usr/include/libxml2/libxml/entities.h \ - /usr/include/libxml2/libxml/encoding.h \ - /usr/include/libxml2/libxml/xmlIO.h \ - /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \ - /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \ - /usr/include/libxml2/libxml/xmlmemory.h \ - /usr/include/libxml2/libxml/threads.h \ - /home/dhill/InfiniDB_MariaDB/export/include/xmlparser.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/tuple/tuple.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/snmpmanager.h \ - /home/dhill/InfiniDB_MariaDB/export/include/alarm.h \ - /home/dhill/InfiniDB_MariaDB/export/include/snmpglobal.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/net-snmp-config.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/system/linux.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/system/sysv.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/system/generic.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/machine/generic.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/net-snmp-includes.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/definitions.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/types.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmp_api.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/asn1.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmp_impl.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmp.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmp-tc.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/utilities.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmp_client.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/system.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/tools.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/int64.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/mt_support.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmp_alarm.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/callback.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/data_list.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/oid_stash.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/check_varbind.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/container.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/factory.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmp_logging.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/container_binary_array.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/container_list_ssll.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/container_iterator.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/container.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmp_assert.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/version.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/session_api.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmp_transport.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmpCallbackDomain.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmpUnixDomain.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmpUDPDomain.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmpTCPDomain.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/ucd_compat.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/pdu_api.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/mib_api.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/mib.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/parse.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/varbind_api.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/config_api.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/read_config.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/default_store.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmp_parse_args.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmp_enum.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/vacm.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/output_api.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmp_debug.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/snmpv3_api.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmpv3.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/transform_oids.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/keytools.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/scapi.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/lcd_time.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmp_secmod.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmpv3-security-includes.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/library/snmpusm.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/net-snmp-agent-includes.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/snmp_agent.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/snmp_vars.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/agent_handler.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/var_struct.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/agent_registry.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/ds_agent.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/agent_read_config.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/agent_trap.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/all_helpers.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/instance.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/baby_steps.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/scalar.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/scalar_group.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/watcher.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/multiplexer.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/null.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/debug_handler.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/cache_handler.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/old_api.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/read_only.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/row_merge.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/serialize.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/bulk_to_next.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/mode_end_call.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/table.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/table_data.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/table_dataset.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/table_iterator.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/table_container.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/mfd.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/mib_module_config.h \ - /home/dhill/InfiniDB_MariaDB/export/include/net-snmp/agent/agent_module_config.h \ - /home/dhill/InfiniDB_MariaDB/export/include/dbrm.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/shared_array.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/smart_ptr/shared_array.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/brmtypes.h \ - /home/dhill/InfiniDB_MariaDB/export/include/logicalpartition.h \ - /home/dhill/InfiniDB_MariaDB/export/include/calpontsystemcatalog.h \ - /home/dhill/InfiniDB_MariaDB/export/include/we_typeext.h \ - /home/dhill/InfiniDB_MariaDB/export/include/columnresult.h \ - /home/dhill/InfiniDB_MariaDB/export/include/joblisttypes.h \ - /home/dhill/InfiniDB_MariaDB/export/include/messagequeue.h \ - /home/dhill/InfiniDB_MariaDB/export/include/serversocket.h \ - /home/dhill/InfiniDB_MariaDB/export/include/socket.h \ - /home/dhill/InfiniDB_MariaDB/export/include/iosocket.h \ - /home/dhill/InfiniDB_MariaDB/export/include/socketparms.h \ - /home/dhill/InfiniDB_MariaDB/export/include/extentmap.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/shared_memory_object.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/detail/config_begin.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/detail/workaround.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/detail/config_end.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/creation_tags.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/exceptions.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/errors.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/move/move.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/move/iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/move/algorithm.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/interprocess_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/detail/os_file_functions.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/permissions.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/make_unsigned.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/detail/tmp_dir_helpers.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/mapped_region.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/detail/utilities.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/detail/min_max.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/detail/type_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/detail/transform_iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/detail/mpl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/containers/version_type.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/container/detail/version_type.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/container/detail/config_begin.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/container/detail/mpl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/container/detail/type_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/container/detail/config_end.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/container/detail/config_end.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/intrusive/pointer_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/intrusive/detail/config_begin.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/intrusive/detail/workaround.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/intrusive/detail/config_end.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/intrusive/detail/memory_util.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/intrusive/detail/mpl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/intrusive/detail/preprocessor.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/iteration/local.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/punctuation/paren_if.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/control/expr_if.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/repetition/enum_trailing.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/repetition/enum_shifted.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/logical/not.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/intrusive/detail/has_member_function_callable_with.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/iteration/detail/local.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/shmkeys.h \ - /home/dhill/InfiniDB_MariaDB/export/include/mastersegmenttable.h \ - /home/dhill/InfiniDB_MariaDB/export/include/rwlock.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/sync/interprocess_semaphore.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/detail/posix_time_types_wrk.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/sync/posix/semaphore.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/sync/posix/semaphore_wrapper.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/interprocess/sync/posix/ptime_to_timespec.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/posix_time/posix_time.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/posix_time/time_formatters.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/gregorian.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/formatters.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date_formatting.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/iso_format.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/parse_format_base.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date_format_simple.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/gregorian_io.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date_facet.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/replace.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/iterator_range_core.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/iterator/iterator_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/detail/iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/iterator/iterator_facade.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/iterator/interoperable.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/iterator/detail/config_def.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/iterator/detail/config_undef.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/iterator/detail/facade_iterator_category.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/iterator/iterator_categories.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/placeholders.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/arg.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/arg_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/na_assert.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/assert.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/pp_counter.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/arity_spec.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/arg_typedef.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/arg.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/placeholders.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/detail/indirect_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/remove_pointer.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/iterator/detail/enable_if.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/always.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/apply.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/apply_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/apply_wrap.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/has_apply.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/has_apply.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/msvc_never_true.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/lambda.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/bind.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/bind_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/bind.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/next.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/next_prior.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/common_name_wknd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/protect.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/bind.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/full_lambda.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/quote.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/has_type.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/bcc.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/quote.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/template_arity.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/template_arity.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/apply.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/functions.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/begin.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/mutable_iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/detail/extract_optional_type.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/const_iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/end.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/detail/implementation_help.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/detail/common.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/detail/sfinae.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/size.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/size_type.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/difference_type.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/distance.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/empty.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/rbegin.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/reverse_iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/iterator/reverse_iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/iterator/iterator_adaptor.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/rend.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/algorithm/equal.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/concepts.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/concept_check.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/concept/assert.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/concept/detail/general.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/concept/detail/backward_compatibility.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/concept/detail/has_constraints.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/conversion_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/concept/usage.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/concept/detail/concept_def.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/seq/for_each_i.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/seq/seq.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/seq/elem.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/seq/size.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/preprocessor/seq/enum.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/concept/detail/concept_undef.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/iterator/iterator_concepts.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/value_type.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/detail/misc_concept.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/detail/safe_bool.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/find_format.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/as_literal.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/iterator_range.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/iterator_range_io.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/range/detail/str_types.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/concept.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/detail/find_format.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/detail/find_format_store.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/detail/replace_storage.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/sequence_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/yes_no_type.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/detail/sequence.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/detail/find_format_all.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/finder.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/constants.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/detail/finder.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/compare.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/formatter.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/detail/formatter.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/detail/util.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/special_values_formatter.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/period_formatter.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/period_parser.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/string_parse_tree.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/lexical_cast.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/detail/lcast_precision.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/array.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/swap.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/functional/hash_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/cast.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/converter.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/conversion_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/detail/conversion_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/detail/meta.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/equal_to.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/comparison_op.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/numeric_op.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/numeric_cast.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/tag.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/has_tag.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/numeric_cast_utils.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/forwarding.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/msvc_eti_base.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/is_msvc_eti_arg.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/equal_to.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/detail/int_float_mixture.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/int_float_mixture_enum.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/detail/sign_mixture.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/sign_mixture_enum.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/detail/udt_builtin_mixture.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/udt_builtin_mixture_enum.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/detail/is_subranged.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/multiplies.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/times.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/arithmetic_op.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/times.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessor/default_params.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/less.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/less.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/converter_policies.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/detail/converter.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/bounds.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/detail/bounds.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/numeric_cast_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/detail/numeric_cast_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_common.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/numeric/conversion/detail/preprocessed/numeric_cast_traits_long_long.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/has_left_shift.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/detail/has_binary_operator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/type_traits/has_right_shift.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/math/special_functions/sign.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/math/tools/config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/math/tools/user.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/detail/fenv.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/math/special_functions/math_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/math/special_functions/detail/round_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/math/tools/promotion.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/math/policies/policy.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/limits/list.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/list20.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/list10.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/list0.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/long.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/long_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/push_front.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/push_front_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/item.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/tag.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/pop_front.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/pop_front_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/push_back.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/push_back_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/front.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/front_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/clear.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/clear_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/O1_size.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/O1_size_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/size.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/size_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/empty.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/empty_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/begin_end.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/begin_end_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/iterator_tags.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/deref.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/msvc_type.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/lambda_spec.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/include_preprocessed.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/preprocessed/plain/list10.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/list/aux_/preprocessed/plain/list20.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/list.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/contains.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/contains_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/sequence_tag.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/sequence_tag_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/has_begin.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/contains_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/begin_end.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/begin_end_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/traits_lambda_spec.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/find.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/find_if.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/find_if_pred.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/iter_apply.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/iter_fold_if.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/pair.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/iter_fold_if_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/same_as.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/remove_if.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/fold.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/O1_size.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/O1_size_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/has_size.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/fold_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/reverse_fold.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/reverse_fold_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/inserter_algorithm.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/back_inserter.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/push_back.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/push_back_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/inserter.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/front_inserter.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/push_front.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/push_front_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/clear.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/clear_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/limits/vector.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/vector20.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/vector10.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/vector0.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/at.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/at_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/tag.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/config/typeof.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/front.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/push_front.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/item.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/pop_front.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/push_back.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/pop_back.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/pop_back_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/back.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/back_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/clear.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/vector0.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/plus.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/plus.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/minus.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/minus.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/advance_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/distance_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/prior.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/O1_size.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/size.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/empty.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/begin_end.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/include_preprocessed.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/vector.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/at.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/at_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/advance.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/negate.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/advance_forward.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/advance_backward.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/size.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/size_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/distance.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/iter_fold.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/iter_fold_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/iterator_range.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/comparison.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/not_equal_to.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/greater.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/greater.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/less_equal.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/less_equal.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/greater_equal.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/config/no_tr1/complex.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/math/special_functions/detail/fp_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/detail/endian.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/detail/endian_compat.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/other/endian.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/version_number.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/make.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/detail/test.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/library/c/gnu.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/library/c/_prefix.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/detail/_cassert.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/os/macos.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/os/bsd.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/os/bsd/bsdi.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/os/bsd/dragonfly.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/os/bsd/free.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/os/bsd/open.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/predef/os/bsd/net.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/math/special_functions/fpclassify.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/math/tools/real_cast.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/container/container_fwd.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/case_conv.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/iterator/transform_iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/detail/case_conv.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/string_convert.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date_generator_formatter.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date_generator_parser.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/format_date_parser.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/strings_from_facet.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/special_values_parser.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/gregorian/parsers.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date_parsing.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/tokenizer.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/token_iterator.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/iterator/detail/minimum_category.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/token_functions.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/time_formatting_streams.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date_formatting_locales.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/date_names_put.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/time_parsing.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/posix_time/posix_time_io.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/time_facet.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/algorithm/string/erase.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/date_time/posix_time/time_parsers.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/undoable.h \ - /home/dhill/InfiniDB_MariaDB/export/include/brmshmimpl.h \ - /home/dhill/InfiniDB_MariaDB/export/include/vss.h \ - /home/dhill/InfiniDB_MariaDB/export/include/hasher.h \ - /home/dhill/InfiniDB_MariaDB/export/include/vbbm.h \ - /home/dhill/InfiniDB_MariaDB/export/include/copylocks.h \ - /home/dhill/InfiniDB_MariaDB/export/include/sessionmanagerserver.h \ - /home/dhill/InfiniDB_MariaDB/export/include/atomicops.h \ - /home/dhill/InfiniDB_MariaDB/export/include/configcpp.h \ - /home/dhill/InfiniDB_MariaDB/export/include/snmpmanager.h \ - /home/dhill/InfiniDB_MariaDB/export/include/snmpglobal.h \ - /home/dhill/InfiniDB_MariaDB/export/include/calpontsystemcatalog.h \ - /home/dhill/InfiniDB_MariaDB/export/include/brmtypes.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/filesystem/operations.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/filesystem/config.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/filesystem/path.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/filesystem/path_traits.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/io/detail/quoted_manip.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/detail/bitmask.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/sessionmanager.h \ - /home/dhill/InfiniDB_MariaDB/export/include/brm.h \ - /home/dhill/InfiniDB_MariaDB/export/include/blockresolutionmanager.h \ - /home/dhill/InfiniDB_MariaDB/export/include/boost/shared_array.hpp \ - /home/dhill/InfiniDB_MariaDB/export/include/dbrm.h \ - /home/dhill/InfiniDB_MariaDB/export/include/installdir.h diff --git a/oamapps/mcsadmin/mcsadmin.h b/oamapps/mcsadmin/mcsadmin.h index e1b174e35..53c178da1 100644 --- a/oamapps/mcsadmin/mcsadmin.h +++ b/oamapps/mcsadmin/mcsadmin.h @@ -57,7 +57,7 @@ const int ArgNum = 10; const int DescNumMax = 10; const int cmdNum = 68; -const std::string DEFAULT_LOG_FILE = "/var/log/Calpont/uiCommands.log"; +const std::string DEFAULT_LOG_FILE = "/var/log/Columnstore/uiCommands.log"; std::ofstream logFile; /** diff --git a/oamapps/mcsadmin/mcsadmin.o b/oamapps/mcsadmin/mcsadmin.o deleted file mode 100644 index 264b242bc..000000000 Binary files a/oamapps/mcsadmin/mcsadmin.o and /dev/null differ diff --git a/oamapps/postConfigure/installer.cpp b/oamapps/postConfigure/installer.cpp index 53b28496d..d47865030 100644 --- a/oamapps/postConfigure/installer.cpp +++ b/oamapps/postConfigure/installer.cpp @@ -888,7 +888,7 @@ int main(int argc, char *argv[]) else { cout << " FAILED" << endl; - cout << endl << "ERROR: InfiniDB Process failed to start, check log files in /var/log/Calpont" << endl; + cout << endl << "ERROR: InfiniDB Process failed to start, check log files in /var/log/Columnstore" << endl; } } diff --git a/oamapps/postConfigure/postConfigure.cpp b/oamapps/postConfigure/postConfigure.cpp index 1c9db1240..3be0397b1 100644 --- a/oamapps/postConfigure/postConfigure.cpp +++ b/oamapps/postConfigure/postConfigure.cpp @@ -3014,10 +3014,10 @@ int main(int argc, char *argv[]) //check for mysql password on remote UM if ( pwprompt == " " ) { //start mysqld - cmd = installDir + "/bin/remote_command.sh " + remoteModuleIP + " " + password + " '" + installDir + "/mysql/mysql-Calpont start'"; + cmd = installDir + "/bin/remote_command.sh " + remoteModuleIP + " " + password + " '" + installDir + "/mysql/mysql-Columnstore start'"; int rtnCode = system(cmd.c_str()); if (WEXITSTATUS(rtnCode) != 0) { - cout << endl << "Error returned from mysql-Calpont start" << endl; + cout << endl << "Error returned from mysql-Columnstore start" << endl; exit(1); } @@ -3065,10 +3065,10 @@ int main(int argc, char *argv[]) { cout << endl << "Additional MySQL Installation steps Successfully Completed on '" + remoteModuleName + "'" << endl << endl; - cmd = installDir + "/bin/remote_command.sh " + remoteModuleIP + " " + password + " '" + installDir + "/mysql/mysql-Calpont stop'"; + cmd = installDir + "/bin/remote_command.sh " + remoteModuleIP + " " + password + " '" + installDir + "/mysql/mysql-Columnstore stop'"; int rtnCode = system(cmd.c_str()); if (WEXITSTATUS(rtnCode) != 0) { - cout << endl << "Error returned from mysql-Calpont stop" << endl; + cout << endl << "Error returned from mysql-Columnstore stop" << endl; exit(1); } unlink("/tmp/idbmysql.log"); @@ -3532,7 +3532,7 @@ int main(int argc, char *argv[]) else { cout << " FAILED" << endl; - cout << endl << "InfiniDB System failed to start, check log files in /var/log/Calpont" << endl; + cout << endl << "InfiniDB System failed to start, check log files in /var/log/Columnstore" << endl; exit(1); } @@ -4231,7 +4231,7 @@ bool storageSetup(bool amazonInstall) { cout << " Running HDFS Sanity Test (please wait): "; cout.flush(); - string logdir("/var/log/Calpont"); + string logdir("/var/log/Columnstore"); if (access(logdir.c_str(), W_OK) != 0) logdir = "/tmp"; string hdfslog = logdir + "/hdfsCheck.log1"; @@ -4889,7 +4889,7 @@ bool storageSetup(bool amazonInstall) { cout << endl << " Running HDFS Sanity Test (please wait): "; cout.flush(); - string logdir("/var/log/Calpont"); + string logdir("/var/log/Columnstore"); if (access(logdir.c_str(), W_OK) != 0) logdir = "/tmp"; string hdfslog = logdir + "/hdfsCheck.log1"; diff --git a/oamapps/resourceMonitor/Makefile b/oamapps/resourceMonitor/Makefile index 31e72c055..59b41b549 100644 --- a/oamapps/resourceMonitor/Makefile +++ b/oamapps/resourceMonitor/Makefile @@ -60,7 +60,7 @@ tdriver-gcov: resourceMonitor-gcov.o $(subst .o,-gcov.o,$(OBJS)) coverage: tdriver-gcov # rm -f *.gcda -# rm -f /var/log/Calpont/cpu*.log +# rm -f /var/log/Columnstore/cpu*.log # LD_LIBRARY_PATH=$(EXPORT_ROOT)/lib:/usr/local/lib ./tdriver-gcov # for file in $(SRCS); do \ # bfile=`basename $$file .cpp`; \ diff --git a/oamapps/resourceMonitor/resourceMonitor.cpp b/oamapps/resourceMonitor/resourceMonitor.cpp index f680eefd7..8dcc2ef2e 100644 --- a/oamapps/resourceMonitor/resourceMonitor.cpp +++ b/oamapps/resourceMonitor/resourceMonitor.cpp @@ -43,7 +43,7 @@ enum HOST_INFO IDLE }; -const string FE_MOUNT_DIR = "/var/log/Calpont/"; // FE mount dir +const string FE_MOUNT_DIR = "/var/log/Columnstore/"; // FE mount dir const int MONITOR_FREQ = 15; // monitor frequency in sec const int LOG_FREQ = 900; // log frequency in sec const int DEBUG = false; diff --git a/oamapps/sendtrap/Makefile b/oamapps/sendtrap/Makefile index a3a3c4877..bd95f6cf1 100755 --- a/oamapps/sendtrap/Makefile +++ b/oamapps/sendtrap/Makefile @@ -46,8 +46,8 @@ tdriver: tdriver.o $(LINK.cpp) -o $@ $^ $(TLIBS) test: $(LIBRARY) tdriver - rm -f /var/log/Calpont/activeAlarms - rm -f /var/log/Calpont/alarm.log + rm -f /var/log/Columnstore/activeAlarms + rm -f /var/log/Columnstore/alarm.log # LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib ./sendtrap processAlarm < ./test.txt %-gcov.o: %.cpp @@ -59,8 +59,8 @@ tdriver-gcov: sendtrap-gcov.o $(subst .o,-gcov.o,$(OBJS)) coverage: tdriver-gcov rm -f *.gcda - rm -f /var/log/Calpont/activeAlarms - rm -f /var/log/Calpont/alarm.log + rm -f /var/log/Columnstore/activeAlarms + rm -f /var/log/Columnstore/alarm.log # LD_LIBRARY_PATH=$(EXPORT_ROOT)/lib:/usr/local/lib ./tdriver-gcov processAlarm < ./test.txt for file in $(SRCS); do \ bfile=`basename $$file .cpp`; \ @@ -69,8 +69,8 @@ coverage: tdriver-gcov /usr/local/bin/genCoverage.pl $(SRCS) leakcheck: $(LIBRARY) tdriver - rm -f /var/log/Calpont/activeAlarms - rm -f /var/log/Calpont/alarm.log + rm -f /var/log/Columnstore/activeAlarms + rm -f /var/log/Columnstore/alarm.log # LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib valgrind --tool=memcheck --leak-check=yes ./tdriver %.d: %.cpp diff --git a/oamapps/serverMonitor/cpuMonitor.cpp b/oamapps/serverMonitor/cpuMonitor.cpp index bebc04866..cab683b9c 100644 --- a/oamapps/serverMonitor/cpuMonitor.cpp +++ b/oamapps/serverMonitor/cpuMonitor.cpp @@ -39,7 +39,7 @@ pthread_mutex_t CPU_LOCK; * constants define */ -const std::string FE_MOUNT_DIR = "/var/log/Calpont/"; // FE mount dir +const std::string FE_MOUNT_DIR = "/var/log/Columnstore/"; // FE mount dir const int MONITOR_FREQ = 5; // monitor frequency in sec const int LOG_FREQ = 900; // log frequency in sec const int RESOURCE_DEBUG = false; diff --git a/oamapps/serverMonitor/dbhealthMonitor.cpp b/oamapps/serverMonitor/dbhealthMonitor.cpp index 838e85af0..e78d8dcbf 100644 --- a/oamapps/serverMonitor/dbhealthMonitor.cpp +++ b/oamapps/serverMonitor/dbhealthMonitor.cpp @@ -160,11 +160,11 @@ int ServerMonitor::healthCheck(bool action) ACK_FLAG ackTemp = ACK_YES; //run Health script - string cmd = startup::StartUp::installDir() + "/bin/dbhealth.sh > /var/log/Calpont/dbfunctional.log1 2>&1"; + string cmd = startup::StartUp::installDir() + "/bin/dbhealth.sh > /var/log/Columnstore/dbfunctional.log1 2>&1"; system(cmd.c_str()); - if (!oam.checkLogStatus("/var/log/Calpont/dbfunctional.log1", "OK")) { - if (oam.checkLogStatus("/var/log/Calpont/dbfunctional.log1", "ERROR 1045") ) { + if (!oam.checkLogStatus("/var/log/Columnstore/dbfunctional.log1", "OK")) { + if (oam.checkLogStatus("/var/log/Columnstore/dbfunctional.log1", "ERROR 1045") ) { LoggingID lid(SERVER_MONITOR_LOG_ID); MessageLog ml(lid); Message msg; diff --git a/oamapps/serverMonitor/msgProcessor.cpp b/oamapps/serverMonitor/msgProcessor.cpp index 0a6a6ae9a..61c16bc8e 100644 --- a/oamapps/serverMonitor/msgProcessor.cpp +++ b/oamapps/serverMonitor/msgProcessor.cpp @@ -348,7 +348,7 @@ void msgProcessor() time_t moduleStartTime = 0; time_t queryStartTime = 0; - string fileName = "/var/log/Calpont/debug.log"; + string fileName = "/var/log/Columnstore/debug.log"; try { // Get ServerMonitor start time. We don't report any SQL that started before then. diff --git a/oamapps/traphandler/Makefile b/oamapps/traphandler/Makefile index 248676bf7..b52991d6a 100755 --- a/oamapps/traphandler/Makefile +++ b/oamapps/traphandler/Makefile @@ -46,8 +46,8 @@ tdriver: tdriver.o $(LINK.cpp) -o $@ $^ $(TLIBS) test: $(LIBRARY) tdriver - rm -f /var/log/Calpont/activeAlarms - rm -f /var/log/Calpont/alarm.log + rm -f /var/log/Columnstore/activeAlarms + rm -f /var/log/Columnstore/alarm.log # LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib ./trapHandler processAlarm < ./test.txt %-gcov.o: %.cpp @@ -59,8 +59,8 @@ tdriver-gcov: trapHandler-gcov.o $(subst .o,-gcov.o,$(OBJS)) coverage: tdriver-gcov rm -f *.gcda - rm -f /var/log/Calpont/activeAlarms - rm -f /var/log/Calpont/alarm.log + rm -f /var/log/Columnstore/activeAlarms + rm -f /var/log/Columnstore/alarm.log # LD_LIBRARY_PATH=$(EXPORT_ROOT)/lib:/usr/local/lib ./tdriver-gcov processAlarm < ./test.txt for file in $(SRCS); do \ bfile=`basename $$file .cpp`; \ @@ -69,8 +69,8 @@ coverage: tdriver-gcov /usr/local/bin/genCoverage.pl $(SRCS) leakcheck: $(LIBRARY) tdriver - rm -f /var/log/Calpont/activeAlarms - rm -f /var/log/Calpont/alarm.log + rm -f /var/log/Columnstore/activeAlarms + rm -f /var/log/Columnstore/alarm.log # LD_LIBRARY_PATH=.:$(EXPORT_ROOT)/lib:/usr/local/lib valgrind --tool=memcheck --leak-check=yes ./tdriver %.d: %.cpp diff --git a/primitives/blockcache/blockrequestprocessor.cpp b/primitives/blockcache/blockrequestprocessor.cpp index e7f40a6f2..c06d1752e 100644 --- a/primitives/blockcache/blockrequestprocessor.cpp +++ b/primitives/blockcache/blockrequestprocessor.cpp @@ -67,7 +67,7 @@ BlockRequestProcessor::BlockRequestProcessor(uint32_t numBlcks, #ifdef _MSC_VER brpLogFileName << "C:/Calpont/log/trace/brp." << tid; #else - brpLogFileName << "/var/log/Calpont/trace/brp." << tid; + brpLogFileName << "/var/log/Columnstore/trace/brp." << tid; #endif fLogFile.open(brpLogFileName.str().c_str(), ios_base::app | ios_base::ate); } diff --git a/primitives/blockcache/filebuffermgr.cpp b/primitives/blockcache/filebuffermgr.cpp index 69f115654..df2698672 100644 --- a/primitives/blockcache/filebuffermgr.cpp +++ b/primitives/blockcache/filebuffermgr.cpp @@ -71,7 +71,7 @@ FileBufferMgr::FileBufferMgr(const uint32_t numBlcks, const uint32_t blkSz, cons #ifdef _MSC_VER fLog.open("C:/Calpont/log/trace/bc", ios_base::app | ios_base::ate); #else - fLog.open("/var/log/Calpont/trace/bc", ios_base::app | ios_base::ate); + fLog.open("/var/log/Columnstore/trace/bc", ios_base::app | ios_base::ate); #endif } diff --git a/primitives/blockcache/iomanager.cpp b/primitives/blockcache/iomanager.cpp index e594bc16d..3a200fda5 100644 --- a/primitives/blockcache/iomanager.cpp +++ b/primitives/blockcache/iomanager.cpp @@ -489,7 +489,7 @@ void* thr_popper(ioManager *arg) { iomLogFileName << "C:/Calpont/log/trace/iom." << threadId; #else threadId=pthread_self(); - iomLogFileName << "/var/log/Calpont/trace/iom." << threadId; + iomLogFileName << "/var/log/Columnstore/trace/iom." << threadId; #endif lFile.open(iomLogFileName.str().c_str(), ios_base::app | ios_base::ate); } @@ -1293,7 +1293,7 @@ ioManager::ioManager(FileBufferMgr& fbm, #ifdef _MSC_VER FDTraceFile().open("C:/Calpont/log/trace/fdcache", ios_base::ate | ios_base::app); #else - FDTraceFile().open("/var/log/Calpont/trace/fdcache", ios_base::ate | ios_base::app); + FDTraceFile().open("/var/log/Columnstore/trace/fdcache", ios_base::ate | ios_base::app); #endif } diff --git a/primitives/blockcache/stats.cpp b/primitives/blockcache/stats.cpp index 8c1f892f4..25385d9a8 100644 --- a/primitives/blockcache/stats.cpp +++ b/primitives/blockcache/stats.cpp @@ -104,7 +104,7 @@ public: #ifdef _MSC_VER oss << "C:/Calpont/log/trace/" << outName << '.' << sessionID; #else - oss << "/var/log/Calpont/trace/" << outName << '.' << sessionID; + oss << "/var/log/Columnstore/trace/" << outName << '.' << sessionID; #endif oFile.reset(new ofstream()); oFile->open(oss.str().c_str(), ios_base::out | ios_base::ate | ios_base::app); diff --git a/primitives/primproc/bppseeder.cpp b/primitives/primproc/bppseeder.cpp index c9abd146d..aae0a277b 100644 --- a/primitives/primproc/bppseeder.cpp +++ b/primitives/primproc/bppseeder.cpp @@ -221,7 +221,7 @@ int BPPSeeder::operator()() #ifdef _MSC_VER LogFileName << "C:/Calpont/log/trace/pt." << tid; #else - LogFileName << "/var/log/Calpont/trace/pt." << tid; + LogFileName << "/var/log/Columnstore/trace/pt." << tid; #endif spof.reset(new PTLogs_t(gThdCnt, LogFileName.str().c_str())); gThdCnt++; diff --git a/primitives/primproc/primproc.cpp b/primitives/primproc/primproc.cpp index d2f37b0c8..2a657c65f 100644 --- a/primitives/primproc/primproc.cpp +++ b/primitives/primproc/primproc.cpp @@ -252,7 +252,7 @@ void* waitForSIGUSR1(void* p) #ifdef _MSC_VER ofstream out("C:/Calpont/log/trace/pplru.dat"); #else - ofstream out("/var/log/Calpont/trace/pplru.dat"); + ofstream out("/var/log/Columnstore/trace/pplru.dat"); #endif for (int i = 0; i < cacheCount; i++) { @@ -602,7 +602,7 @@ int main(int argc, char* argv[]) #ifdef _MSC_VER ofstream* qszLog = new ofstream("C:/Calpont/log/trace/ppqsz.dat"); #else - ofstream* qszLog = new ofstream("/var/log/Calpont/trace/ppqsz.dat"); + ofstream* qszLog = new ofstream("/var/log/Columnstore/trace/ppqsz.dat"); #endif if (!qszLog->good()) { diff --git a/procmgr/processmanager.cpp b/procmgr/processmanager.cpp index 22517b6a0..a110343da 100644 --- a/procmgr/processmanager.cpp +++ b/procmgr/processmanager.cpp @@ -2455,7 +2455,7 @@ void processMSG(messageqcpp::IOSocket* cfIos) // Wait for everything to settle down sleep(5); // Save the BRM. This command presages a system backup. Best to have a current BRM on disk - string logdir("/var/log/Calpont"); + string logdir("/var/log/Columnstore"); if (access(logdir.c_str(), W_OK) != 0) logdir = "/tmp"; string cmd = startup::StartUp::installDir() + "/bin/save_brm > " + logdir + "/save_brm.log1 2>&1"; int rtnCode = system(cmd.c_str()); @@ -6172,7 +6172,7 @@ std::string ProcessManager::sendMsgProcMon1( std::string module, ByteStream msg, void ProcessManager::saveBRM(bool skipSession, bool clearshm) { Oam oam; - string logdir("/var/log/Calpont"); + string logdir("/var/log/Columnstore"); if (access(logdir.c_str(), W_OK) != 0) logdir = "/tmp"; log.writeLog(__LINE__, "Running reset_locks", LOG_TYPE_DEBUG); diff --git a/procmgr/processmanager.h b/procmgr/processmanager.h index ee6542a30..9f61f627b 100644 --- a/procmgr/processmanager.h +++ b/procmgr/processmanager.h @@ -97,7 +97,7 @@ namespace processmanager{ typedef std::map srvStateList; const int MAX_ARGUMENTS = 10; - const std::string DEFAULT_LOG_FILE = "/var/log/Calpont/ProcessManager.log"; + const std::string DEFAULT_LOG_FILE = "/var/log/Columnstore/ProcessManager.log"; /** diff --git a/procmon/main.cpp b/procmon/main.cpp index c0f7a1bc1..e6b3120e7 100644 --- a/procmon/main.cpp +++ b/procmon/main.cpp @@ -424,7 +424,7 @@ int main(int argc, char **argv) if ( !gOAMParentModuleFlag ) { runStandby = true; // delete any old active alarm log file - unlink ("/var/log/Calpont/activeAlarms"); + unlink ("/var/log/Columnstore/activeAlarms"); } //launch Status table control thread on 'pm' modules diff --git a/procmon/processmonitor.cpp b/procmon/processmonitor.cpp index 053e06b7d..c916f6182 100644 --- a/procmon/processmonitor.cpp +++ b/procmon/processmonitor.cpp @@ -540,7 +540,7 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO log.writeLog(__LINE__, "ProcMon Running Hot-Standby"); // delete any old active alarm log file - unlink ("/var/log/Calpont/activeAlarms"); + unlink ("/var/log/Columnstore/activeAlarms"); } //Check for SIMPLEX runtype processes @@ -823,7 +823,7 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO //reset BRM locks and clearShm if ( requestStatus == oam::API_SUCCESS ) { - string logdir("/var/log/Calpont"); + string logdir("/var/log/Columnstore"); if (access(logdir.c_str(), W_OK) != 0) logdir = "/tmp"; string cmd = startup::StartUp::installDir() + "/bin/reset_locks > " + logdir + "/reset_locks.log1 2>&1"; system(cmd.c_str()); @@ -1387,7 +1387,7 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO system(cmd.c_str()); cmd = startup::StartUp::installDir() + "/bin/post-mysql-install >> /tmp/rpminstall"; system(cmd.c_str()); - cmd = startup::StartUp::installDir() + "/mysql/mysql-Calpont start > /tmp/mysqldstart"; + cmd = startup::StartUp::installDir() + "/mysql/mysql-Columnstore start > /tmp/mysqldstart"; system(cmd.c_str()); ifstream file ("/tmp/mysqldstart"); @@ -1528,7 +1528,7 @@ void ProcessMonitor::processMessage(messageqcpp::ByteStream msg, messageqcpp::IO runStandby = true; // delete any old active alarm log file - unlink ("/var/log/Calpont/activeAlarms"); + unlink ("/var/log/Columnstore/activeAlarms"); log.writeLog(__LINE__, "Running Standby", LOG_TYPE_INFO); //give time for Status Control thread to start reading incoming messages @@ -2396,7 +2396,7 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName, // dbrmFile = tempDBRMDir + dbrmFile.substr(pos,80);; // } - string logdir("/var/log/Calpont"); + string logdir("/var/log/Columnstore"); if (access(logdir.c_str(), W_OK) != 0) logdir = "/tmp"; string cmd = startup::StartUp::installDir() + "/bin/reset_locks > " + logdir + "/reset_locks.log1 2>&1"; @@ -2470,7 +2470,7 @@ pid_t ProcessMonitor::startProcess(string processModuleType, string processName, char timestamp[200]; strftime (timestamp, 200, "%m:%d:%y-%H:%M:%S", &tm); - string logdir("/var/log/Calpont"); + string logdir("/var/log/Columnstore"); if (access(logdir.c_str(), W_OK) != 0) logdir = "/tmp"; string outFileName = logdir + "/" + processName + ".out"; string errFileName = logdir + "/" + processName + ".err"; @@ -3552,7 +3552,7 @@ int ProcessMonitor::buildSystemTables() string fileName = DBdir + "/000.dir"; if (!IDBPolicy::exists(fileName.c_str())) { - string logdir("/var/log/Calpont"); + string logdir("/var/log/Columnstore"); if (access(logdir.c_str(), W_OK) != 0) logdir = "/tmp"; string cmd = startup::StartUp::installDir() + "/bin/dbbuilder 7 > " + logdir + "/dbbuilder.log &"; system(cmd.c_str()); @@ -4335,7 +4335,7 @@ int ProcessMonitor::runStartupTest() return oam::API_SUCCESS; //run startup test script - string logdir("/var/log/Calpont"); + string logdir("/var/log/Columnstore"); if (access(logdir.c_str(), W_OK) != 0) logdir = "/tmp"; string cmd = startup::StartUp::installDir() + "/bin/startupTests.sh > " + logdir + "/startupTests.log1 2>&1"; system(cmd.c_str()); @@ -4399,7 +4399,7 @@ int ProcessMonitor::runHDFSTest() Oam oam; bool fail = false; - string logdir("/var/log/Calpont"); + string logdir("/var/log/Columnstore"); if (access(logdir.c_str(), W_OK) != 0) logdir = "/tmp"; string hdfslog = logdir + "/hdfsCheck.log1"; diff --git a/snmpd/etc/snmpdx.conf b/snmpd/etc/snmpdx.conf index ab26d1246..d5bd57da8 100644 --- a/snmpd/etc/snmpdx.conf +++ b/snmpd/etc/snmpdx.conf @@ -482,7 +482,7 @@ rwuser myuser # # External process to retrieve cpu usage info -#exec cpuLoad /usr/local/Calpont/bin/resourceMonitor +#exec cpuLoad /usr/local/MariaDB/Columnstore/bin/resourceMonitor # For snmpget and snmpwalk to work. # The above lines won't set info to extTable (to be investigated) diff --git a/snmpd/etc/snmpdx.conf.singleserver b/snmpd/etc/snmpdx.conf.singleserver index 12feceee4..9eeab396c 100644 --- a/snmpd/etc/snmpdx.conf.singleserver +++ b/snmpd/etc/snmpdx.conf.singleserver @@ -482,7 +482,7 @@ rwuser myuser # # External process to retrieve cpu usage info -#exec cpuLoad /usr/local/Calpont/bin/resourceMonitor +#exec cpuLoad /usr/local/MariaDB/Columnstore/bin/resourceMonitor # For snmpget and snmpwalk to work. # The above lines won't set info to extTable (to be investigated) diff --git a/snmpd/etc/snmptrapd.conf b/snmpd/etc/snmptrapd.conf index c5de0790c..9c594cd01 100644 --- a/snmpd/etc/snmptrapd.conf +++ b/snmpd/etc/snmptrapd.conf @@ -6,9 +6,9 @@ disableAuthorization yes #forward .1.3.6.1.4.1.2021 0.0.0.0 #CALPONT_NMSADDR #forward default 0.0.0.0 -#traphandle default /usr/local/Calpont/bin/trapHandler default -traphandle .1.3.6.1.2.1.88 /usr/local/Calpont/bin/trapHandler agentTrap -#traphandle .1.3.6.1.4.1.2021 /usr/local/Calpont/bin/trapHandler processAlarm -#traphandle .1.3.6.1.4.1.8072 /usr/local/Calpont/bin/trapHandler processAlarm -traphandle UCD-SNMP-MIB::ucdavis /usr/local/Calpont/bin/trapHandler processAlarm +#traphandle default /usr/local/MariaDB/Columnstore/bin/trapHandler default +traphandle .1.3.6.1.2.1.88 /usr/local/MariaDB/Columnstore/bin/trapHandler agentTrap +#traphandle .1.3.6.1.4.1.2021 /usr/local/MariaDB/Columnstore/bin/trapHandler processAlarm +#traphandle .1.3.6.1.4.1.8072 /usr/local/MariaDB/Columnstore/bin/trapHandler processAlarm +traphandle UCD-SNMP-MIB::ucdavis /usr/local/MariaDB/Columnstore/bin/trapHandler processAlarm diff --git a/snmpd/etc/snmptrapd.conf.singleserver b/snmpd/etc/snmptrapd.conf.singleserver index c5de0790c..9c594cd01 100644 --- a/snmpd/etc/snmptrapd.conf.singleserver +++ b/snmpd/etc/snmptrapd.conf.singleserver @@ -6,9 +6,9 @@ disableAuthorization yes #forward .1.3.6.1.4.1.2021 0.0.0.0 #CALPONT_NMSADDR #forward default 0.0.0.0 -#traphandle default /usr/local/Calpont/bin/trapHandler default -traphandle .1.3.6.1.2.1.88 /usr/local/Calpont/bin/trapHandler agentTrap -#traphandle .1.3.6.1.4.1.2021 /usr/local/Calpont/bin/trapHandler processAlarm -#traphandle .1.3.6.1.4.1.8072 /usr/local/Calpont/bin/trapHandler processAlarm -traphandle UCD-SNMP-MIB::ucdavis /usr/local/Calpont/bin/trapHandler processAlarm +#traphandle default /usr/local/MariaDB/Columnstore/bin/trapHandler default +traphandle .1.3.6.1.2.1.88 /usr/local/MariaDB/Columnstore/bin/trapHandler agentTrap +#traphandle .1.3.6.1.4.1.2021 /usr/local/MariaDB/Columnstore/bin/trapHandler processAlarm +#traphandle .1.3.6.1.4.1.8072 /usr/local/MariaDB/Columnstore/bin/trapHandler processAlarm +traphandle UCD-SNMP-MIB::ucdavis /usr/local/MariaDB/Columnstore/bin/trapHandler processAlarm diff --git a/snmpd/snmpmanager/snmpglobal.h b/snmpd/snmpmanager/snmpglobal.h index 2aae33d9a..318d56973 100644 --- a/snmpd/snmpmanager/snmpglobal.h +++ b/snmpd/snmpmanager/snmpglobal.h @@ -46,9 +46,9 @@ typedef oid CALPONT_OID; const int SET = 1; const int CLEAR = 0; -const std::string ACTIVE_ALARM_FILE = "/var/log/Calpont/activeAlarms"; -const std::string ALARM_FILE = "/var/log/Calpont/alarm.log"; -const std::string ALARM_ARCHIVE_FILE = "/var/log/Calpont/archive"; +const std::string ACTIVE_ALARM_FILE = "/var/log/Columnstore/activeAlarms"; +const std::string ALARM_FILE = "/var/log/Columnstore/alarm.log"; +const std::string ALARM_ARCHIVE_FILE = "/var/log/Columnstore/archive"; const CALPONT_OID SNMPTRAP_OID [] = { 1, 3, 6, 1, 6, 3, 1, 1, 4, 1, 0 }; const CALPONT_OID CALPONT_TRAP_OID [] = { 1, 3, 6, 1, 4, 1, 2021, 991 }; diff --git a/tools/evalidx/checkidx.py b/tools/evalidx/checkidx.py index ec43e45b9..5a8596016 100755 --- a/tools/evalidx/checkidx.py +++ b/tools/evalidx/checkidx.py @@ -9,7 +9,7 @@ def find_paths(): config_file = os.environ['CALPONT_CONFIG_FILE'] except KeyError: try: - config_file = '/usr/local/Calpont/etc' + config_file = '/usr/local/MariaDB/Columnstore/etc' os.lstat(config_file) except: sys.exit('No config file available') diff --git a/tools/evalidx/checkidx.py~ b/tools/evalidx/checkidx.py~ new file mode 100755 index 000000000..ec43e45b9 --- /dev/null +++ b/tools/evalidx/checkidx.py~ @@ -0,0 +1,98 @@ +#!/usr/bin/python + +import os, sys, glob, shutil, xml.dom.minidom + +def find_paths(): + + """Find DBRoot and BulkRoot.""" + try: + config_file = os.environ['CALPONT_CONFIG_FILE'] + except KeyError: + try: + config_file = '/usr/local/Calpont/etc' + os.lstat(config_file) + except: + sys.exit('No config file available') + + + xmldoc = xml.dom.minidom.parse(config_file) + bulk_node = xmldoc.getElementsByTagName('BulkRoot')[0] + db_node = xmldoc.getElementsByTagName('DBRoot')[0] + + bulk_dir = bulk_node.childNodes[0].nodeValue + data_dir = db_node.childNodes[0].nodeValue + + return (bulk_dir, data_dir) + + +def validate_indexes(job_file): + index_files = [] + xmldoc = xml.dom.minidom.parse(job_file) + + for index_node in xmldoc.getElementsByTagName('Index'): + curTreeOid = index_node.getAttribute('iTreeOid') + curListOid = index_node.getAttribute('iListOid') + curMapOid = index_node.getAttribute('mapOid') + curIdxCmdArg = ' -t ' + curTreeOid + ' -l ' + curListOid + ' -v -c ' + curMapOid + ' -b 4' + ' > idxCol_' + curMapOid+'.out' +# print curIdxCmd +# exec_cmd( genii + '/tools/evalidx/evalidx', curIdxCmd ) + index_files.append( curIdxCmdArg ) + + return index_files + +def exec_cmd(cmd, args): + """Execute command using subprocess module or if that fails, + use os.system + """ + + try: + import subprocess + + try: + retcode = call(cmd + " "+args, shell=True) + if retcode < 0: + print >>sys.stderr, "Child was terminated by signal", -retcode + sys.exit(-1) + + else: + print >>sys.stderr, "Child returned", retcode + + except OSError, e: + + print >>sys.stderr, "Execution failed:", e + sys.exit(-1) + except: + res = os.system(cmd+' '+args) + if res: + sys.exit( res ) + + + +def main(): + """ + Validate indexes.. + """ + + if not os.access('.', os.W_OK): + os.chdir('/tmp') + print 'Changing to /tmp to have permission to write files' + + if len(os.getenv('LD_LIBRARY_PATH'))<5: + print 'Suspicous LD_LIBRARY_PATH: %s'%os.getenv('LD_LIBRARY_PATH') + + home = os.getenv('HOME') + genii = home+'/genii' + + (bulkroot, dbroot) = find_paths() + + if len(glob.glob(bulkroot+'/job/Job_300.xml')) == 0: + sys.exit("No Job_300.xml exist ") + + indexes = validate_indexes(bulkroot+'/job/Job_300.xml') + for idxCmdArg in indexes: + print idxCmdArg + exec_cmd( genii + '/tools/evalidx/evalidx', idxCmdArg ) + + +## the following line allows either interactive use or module import +if __name__=="__main__": main() diff --git a/tools/reserveStacks/stack b/tools/reserveStacks/stack index 12d54ae03..2c02de64b 100755 --- a/tools/reserveStacks/stack +++ b/tools/reserveStacks/stack @@ -37,7 +37,7 @@ elif [ $(expr 'release' : "$cmd") -gt 2 ]; then INST=$4 fi if [ -z "$INSTALLDIR" ]; then - INSTALLDIR="/usr/local/Calpont" + INSTALLDIR="/usr/local/MariaDB/Columnstore" if [ $INST ]; then INSTALLDIR=$INST fi diff --git a/tools/reserveStacks/stack~ b/tools/reserveStacks/stack~ new file mode 100755 index 000000000..12d54ae03 --- /dev/null +++ b/tools/reserveStacks/stack~ @@ -0,0 +1,82 @@ +#!/bin/bash + +# BP 09/16/2011 13:43 +# This script will give user to +# list all the calpont stacks +# reserve a calpont stack +# release a calpont stack +# Help to use a test stack without stepping each other. +# + +DB=stacks + +usage() +{ + echo "Usage:" >&2 + echo " ${0##*/} list" >&2 + echo " ${0##*/} reserve stackname who" >&2 + echo " ${0##*/} release stackname who" >&2 +} + +cmd="$1" +argc=$# + +if [ -z "$cmd" -o "$cmd" = "-h" ]; then + usage + exit 1 +fi + +if [ $(expr 'list' : "$cmd") -gt 0 ]; then + cmd=list + INST=$2 +elif [ $(expr 'reserve' : "$cmd") -gt 2 ]; then + cmd=reserve + INST=$4 +elif [ $(expr 'release' : "$cmd") -gt 2 ]; then + cmd=release + INST=$4 +fi +if [ -z "$INSTALLDIR" ]; then + INSTALLDIR="/usr/local/Calpont" + if [ $INST ]; then + INSTALLDIR=$INST + fi + export INSTALLDIR +fi + +if [ -z "$MYSQLCMD" ]; then + if [ -d "$INSTALLDIR/mysql" ]; then + # Linux. + MYSQLCMD="$INSTALLDIR/mysql/bin/mysql -h 10.100.4.51 -u root --database=$DB" + else + # Windows. + MYSQLCMD="$INSTALLDIR/bin/mysql -h 10.100.4.51 -u root --database=$DB" + fi + export MYSQLCMD +fi + +good=0 + +if [ "$cmd" = "list" ]; then + sql="call list_stacks()" + $MYSQLCMD -e "$sql" + good=1 +fi + +if [ "$cmd" = "reserve" -a $argc -ge 3 ]; then + sql="call reserve_stack('$2', '$3')" + $MYSQLCMD -e "$sql" + good=1 +fi + +if [ "$cmd" = "release" -a $argc -ge 3 ]; then + sql="call release_stack('$2', '$3')" + $MYSQLCMD -e "$sql" + good=1 +fi + +if [ $good -eq 0 ]; then + usage + exit 1 +fi + diff --git a/utils/autoconf/INSTALL b/utils/autoconf/INSTALL index 0f12f143b..9825f3e10 100644 --- a/utils/autoconf/INSTALL +++ b/utils/autoconf/INSTALL @@ -43,10 +43,10 @@ the entire Calpont directory tree there. After untaring the sofware or installing the RPM's, setup the software to run (this script needs to run with root privileges). Check the Installation Guide for addition details on using postConfigure: -/usr/local/Calpont/bin/postConfigure +/usr/local/MariaDB/Columnstore/bin/postConfigure Setup some aliases: -. /usr/local/Calpont/bin/calpontAlias +. /usr/local/MariaDB/Columnstore/bin/calpontAlias Connect to MySQL: idbmysql @@ -70,7 +70,7 @@ To use bulk load: 200|2002| 2. Save/place this file in a directory. 3. From that same directory, import the rows: - /usr/local/Calpont/bin/cpimport calpont caltest caltest.tbl + /usr/local/MariaDB/Columnstore/bin/cpimport calpont caltest caltest.tbl And check the import: calpontmysql calpont diff --git a/utils/autoconf/INSTALL~ b/utils/autoconf/INSTALL~ new file mode 100644 index 000000000..0f12f143b --- /dev/null +++ b/utils/autoconf/INSTALL~ @@ -0,0 +1,306 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free +Software Foundation, Inc. + +Copyright (C) 2014 InfiniDB, Inc. + +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +InfiniDB, Inc. also gives unlimited permission to copy, distribute and +modify it. + +Basic Installation from source +============================== + +**** InfiniDB source build instructions **** + +Consult the generic installation instructions +that follow for detailed information. The short version is: + +cd $HOME +git clone http://github.com/infinidb/mysql +git clone http://github.com/infinidb/infinidb +-- or -- +tar -zxf +cd mysql +./configure --prefix=$HOME +make +make install +cd ../infinidb +./configure --prefix=$HOME +make +make install + +This will create a directory called Calpont in $HOME which conatins +all the software you need. + +Install the InfiniDB software into /usr/local (for example) by copying +the entire Calpont directory tree there. + +After untaring the sofware or installing the RPM's, setup the software +to run (this script needs to run with root privileges). Check the Installation +Guide for addition details on using postConfigure: +/usr/local/Calpont/bin/postConfigure + +Setup some aliases: +. /usr/local/Calpont/bin/calpontAlias + +Connect to MySQL: +idbmysql + +A suggested test scenario: +create database calpont; +use calpont; +create table caltest (col1 int, col2 int) engine=infinidb; +show create table caltest; +set autocommit=0; +insert into caltest values (1, 2); +insert into caltest values (3, 4); +commit; +select * from caltest; + +To use bulk load: +1. A delimited import file should be created to match the table that + you want to import data to similar to the following. In this + example, the file will be saved as idbtest.tbl: + 100|1001| + 200|2002| +2. Save/place this file in a directory. +3. From that same directory, import the rows: + /usr/local/Calpont/bin/cpimport calpont caltest caltest.tbl + +And check the import: +calpontmysql calpont +select * from caltest; + + +That's it. Enjoy. + + +These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + +You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + +By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + +Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + +Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). Here is a another example: + + /bin/bash ./configure CONFIG_SHELL=/bin/bash + +Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent +configuration-related scripts to be executed by `/bin/bash'. + +`configure' Invocation +====================== + +`configure' recognizes the following options to control how it operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/utils/autoconf/README b/utils/autoconf/README index 2aa1663a5..66a452622 100644 --- a/utils/autoconf/README +++ b/utils/autoconf/README @@ -3,8 +3,8 @@ To build the software from source, consult the file INSTALL. Brief Install Instructions: 1. Install the 3 Calpont InfiniDB RPMs. -2. Install and start the software, run: /usr/local/Calpont/bin/postConfigure -3. Setup some aliases: . /usr/local/Calpont/bin/calpontAlias +2. Install and start the software, run: /usr/local/MariaDB/Columnstore/bin/postConfigure +3. Setup some aliases: . /usr/local/MariaDB/Columnstore/bin/calpontAlias 4. Connect to MySQL: idbmysql 5. Try the test in step 12 below @@ -21,7 +21,7 @@ Detailed Installation Instructions: tar xvf calpont-2.2.0-2.x86_64.rpm.tar.gz 4. Install the 3 RPMs in this order, the Calpont InfiniDB software will be installed in - /usr/local/Calpont. + /usr/local/MariaDB/Columnstore. rpm -ivh infinidb-libs-2.2.0-2.x86_64.rpm rpm -ivh infinidb-platform-2.2.0-2.x86_64.rpm @@ -31,19 +31,19 @@ Detailed Installation Instructions: 5a.To configure and run on a single server system utilizing local disk storage, run install script: - /usr/local/Calpont/bin/postConfigure + /usr/local/MariaDB/Columnstore/bin/postConfigure 5b.To configure and run on a multi-server system and/or to utilize a SAN storage system, follow the instructions in the Calpont InfiniDB Installation Guide. - /usr/local/Calpont/bin/postConfigure + /usr/local/MariaDB/Columnstore/bin/postConfigure 6. Ports utilized by the Calpont InfiniDB Software The Calpont MySQL daemon utilizes port 3306. To use a different port, update the 2 locations in the following file: - /usr/local/Calpont/mysql/my.cnf + /usr/local/MariaDB/Columnstore/mysql/my.cnf port = 3306 port = 3306 @@ -53,7 +53,7 @@ Detailed Installation Instructions: 8600 - 8622, 8700, and 8800 7. Setup some aliases: -. /usr/local/Calpont/bin/calpontAlias +. /usr/local/MariaDB/Columnstore/bin/calpontAlias 8. To manually start and stop the Calpont InfiniDB Software as the root user run: @@ -127,7 +127,7 @@ Detailed Installation Instructions: mysql> -12. Run the following upgrade script to create calponsys schema and upgrade the syscolumn table: /usr/local/Calpont/bin/upgrade-infinidb.sh +12. Run the following upgrade script to create calponsys schema and upgrade the syscolumn table: /usr/local/MariaDB/Columnstore/bin/upgrade-infinidb.sh 13. As an example to get you started, try this: diff --git a/utils/autoconf/README~ b/utils/autoconf/README~ new file mode 100644 index 000000000..2aa1663a5 --- /dev/null +++ b/utils/autoconf/README~ @@ -0,0 +1,145 @@ +To build the software from source, consult the file INSTALL. + +Brief Install Instructions: + +1. Install the 3 Calpont InfiniDB RPMs. +2. Install and start the software, run: /usr/local/Calpont/bin/postConfigure +3. Setup some aliases: . /usr/local/Calpont/bin/calpontAlias +4. Connect to MySQL: idbmysql +5. Try the test in step 12 below + + +Detailed Installation Instructions: + +1. Download the package calpont-2.2.0-2.x86_64.rpm.tar.gz (RHEL5 64-BIT) + to the server where you are installing Calpont. + +2. Obtain root user access. + +3. Unpack the tarball, which will generate 4 RPMs. + + tar xvf calpont-2.2.0-2.x86_64.rpm.tar.gz + +4. Install the 3 RPMs in this order, the Calpont InfiniDB software will be installed in + /usr/local/Calpont. + + rpm -ivh infinidb-libs-2.2.0-2.x86_64.rpm + rpm -ivh infinidb-platform-2.2.0-2.x86_64.rpm + rpm -ivh infinidb-mysql-2.2.0-2.x86_64.rpm + rpm -ivh infinidb-storage-engine-2.2.0-2.x86_64.rpm + +5a.To configure and run on a single server system utilizing local disk storage, + run install script: + + /usr/local/Calpont/bin/postConfigure + +5b.To configure and run on a multi-server system and/or to utilize a SAN storage + system, follow the instructions in the Calpont InfiniDB Installation Guide. + + /usr/local/Calpont/bin/postConfigure + +6. Ports utilized by the Calpont InfiniDB Software + + The Calpont MySQL daemon utilizes port 3306. To use a different port, update + the 2 locations in the following file: + + /usr/local/Calpont/mysql/my.cnf + + port = 3306 + port = 3306 + + You must reserve the following ports to run the Calpont InfiniDB Software: + + 8600 - 8622, 8700, and 8800 + +7. Setup some aliases: +. /usr/local/Calpont/bin/calpontAlias + +8. To manually start and stop the Calpont InfiniDB Software as the root user run: + + cc startSystem + + To stop the Calpont Software, run: + + cc stopSystem + +9. To start/stop the Calpont InfiniDB Software during system boot/shutdown use the + chkconfig command + + /sbin/chkconfig --add infinidb + /sbin/chkconfig infinidb on + +10. After the Calpont InfiniDB Software has been started, use the following command to + connect to the Calpont OAM Console and watch for the System to go to the + ACTIVE status. The follow will repeatedly run the OAM command getsysteminfo + every 5 seconds. + + calpontOAMconsole getsysteminfo -r + + Here is an example display from a Single Server Install: + + System and Module statuses + + Component Status Last Status Change + ------------ ---------------------- ------------------------ + System ACTIVE Mon Apr 6 18:07:14 2009 + + Module dm1 ACTIVE Mon Apr 6 18:07:12 2009 + + Calpont Process statuses + + Process Module Status Last Status Change Process ID + ------------------ ------ ------------ ------------------------ ---------- + ProcessMonitor dm1 ACTIVE Mon Apr 6 18:06:41 2009 12753 + ProcessManager dm1 ACTIVE Mon Apr 6 18:06:46 2009 12954 + SNMPTrapDaemon dm1 ACTIVE Mon Apr 6 18:06:41 2009 12963 + SNMPAgent dm1 ACTIVE Mon Apr 6 18:06:50 2009 13565 + ServerMonitor dm1 ACTIVE Mon Apr 6 18:06:55 2009 13635 + DBRMWorkerNode dm1 ACTIVE Mon Apr 6 18:06:51 2009 13640 + DBRMControllerNode dm1 ACTIVE Mon Apr 6 18:06:52 2009 13645 + ExeMgr dm1 ACTIVE Mon Apr 6 18:07:05 2009 14578 + PrimProc dm1 ACTIVE Mon Apr 6 18:07:03 2009 13842 + DDLProc dm1 ACTIVE Mon Apr 6 18:07:10 2009 14936 + DMLProc dm1 ACTIVE Mon Apr 6 18:07:13 2009 15114 + + Active Alarm Counts: Critical = 0, Major = 0, Minor = 0, Warning = 0, Info = 0 + + Once the System status is ACTIVE, enter the following to exit back to the + UNIX prompt: + + CNTR + + Or to get back Calpont OAM Console Prompt,enter the following: + + CNTR + +11. Use the following command to access the Calpont InfiniDB MySQL console: + + idbmysql + + Example output: + + Welcome to the Mysql monitor. Commands end with ; or \g. + Your Mysql connection id is 1 + Server version: 5.1.26-Calpont-log Source distribution + + Type 'help;' or '\h' for help. Type '\c' to clear the buffer. + + mysql> + +12. Run the following upgrade script to create calponsys schema and upgrade the syscolumn table: /usr/local/Calpont/bin/upgrade-infinidb.sh + +13. As an example to get you started, try this: + + create database calpont; + use calpont; + create table caltest (col1 int, col2 int) engine=infinidb; + show create table caltest; + insert into caltest values (1, 2); + insert into caltest values (3, 4); + commit; + select * from caltest; + +14. Consult the Admin Guide and Syntax Guide for additional information on how + to get started. + diff --git a/utils/idbhdfs/hdfs-12/setenv-hdfs-12 b/utils/idbhdfs/hdfs-12/setenv-hdfs-12 index 239f21505..1237818f4 100755 --- a/utils/idbhdfs/hdfs-12/setenv-hdfs-12 +++ b/utils/idbhdfs/hdfs-12/setenv-hdfs-12 @@ -1,6 +1,6 @@ #!/bin/bash if [ -z "$INFINIDB_INSTALL_DIR" ]; then - INFINIDB_INSTALL_DIR=/usr/local/Calpont + INFINIDB_INSTALL_DIR=/usr/local/MariaDB/Columnstore fi export INFINIDB_INSTALL_DIR=$INFINIDB_INSTALL_DIR diff --git a/utils/idbhdfs/hdfs-20/setenv-hdfs-20 b/utils/idbhdfs/hdfs-20/setenv-hdfs-20 index 7353b69b1..9d7754e77 100755 --- a/utils/idbhdfs/hdfs-20/setenv-hdfs-20 +++ b/utils/idbhdfs/hdfs-20/setenv-hdfs-20 @@ -1,6 +1,6 @@ #!/bin/bash if [ -z "$INFINIDB_INSTALL_DIR" ]; then - INFINIDB_INSTALL_DIR=/usr/local/Calpont + INFINIDB_INSTALL_DIR=/usr/local/MariaDB/Columnstore fi export INFINIDB_INSTALL_DIR=$INFINIDB_INSTALL_DIR diff --git a/utils/infinidb_hadoop/src/infinidb/hadoop/example/InfiniDBOutputDriver.java b/utils/infinidb_hadoop/src/infinidb/hadoop/example/InfiniDBOutputDriver.java index 475b9e57c..952575009 100755 --- a/utils/infinidb_hadoop/src/infinidb/hadoop/example/InfiniDBOutputDriver.java +++ b/utils/infinidb_hadoop/src/infinidb/hadoop/example/InfiniDBOutputDriver.java @@ -63,7 +63,7 @@ public class InfiniDBOutputDriver extends Configured implements Tool InfiniDBConfiguration idbconf = new InfiniDBConfiguration(jobconf); idbconf.setInputPath("input"); idbconf.setOutputPath("output"); - idbconf.setInfiniDBHome("/usr/local/Calpont"); + idbconf.setInfiniDBHome("/usr/local/MariaDB/Columnstore"); jobconf.setMapperClass(InfiniDoopMapper.class); jobconf.setNumMapTasks(1); diff --git a/utils/infinidb_hadoop/src/infinidb/hadoop/example/InfiniDBOutputDriver.java~ b/utils/infinidb_hadoop/src/infinidb/hadoop/example/InfiniDBOutputDriver.java~ new file mode 100755 index 000000000..475b9e57c --- /dev/null +++ b/utils/infinidb_hadoop/src/infinidb/hadoop/example/InfiniDBOutputDriver.java~ @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2014 InfiniDB, Inc. + * + * InfiniDB, Inc. licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package infinidb.hadoop.example; + +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; +import java.sql.*; +import java.util.Date; +import java.util.Formatter; +import java.io.IOException; + +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.io.*; +import org.apache.hadoop.mapred.lib.db.*; +import org.apache.hadoop.mapreduce.Job; +import org.apache.hadoop.mapreduce.lib.input.*; +import org.apache.hadoop.mapreduce.lib.output.*; +import org.apache.hadoop.mapred.JobClient; +import org.apache.hadoop.mapred.JobConf; +import org.apache.hadoop.mapred.Mapper; +import org.apache.hadoop.mapred.Reducer; +import org.apache.hadoop.mapred.TextInputFormat; +import org.apache.hadoop.mapred.SequenceFileInputFormat; +import org.apache.hadoop.conf.*; +import org.apache.hadoop.util.*; +import org.apache.hadoop.*; + +import infinidb.hadoop.db.*; + +public class InfiniDBOutputDriver extends Configured implements Tool +{ + public int run (String[] args) throws Exception + { + Configuration conf = new Configuration(); + JobConf jobconf = new JobConf(conf, InfiniDoopDriver.class); + DBConfiguration.configureDB(jobconf, + "com.mysql.jdbc.Driver", + "jdbc:mysql://srvswint4/tpch1","root", ""); + String [] fields = { "n_nationkey", "n_name" }; + String [] outFields = {"id", "name"}; + jobconf.setInputFormat(IDBFileInputFormat.class); + jobconf.setOutputFormat(InfiniDBOutputFormat.class); + jobconf.setOutputKeyClass(NullWritable.class); + jobconf.setOutputValueClass(Text.class); + InfiniDBOutputFormat.setOutput(jobconf, "db", outFields); + InfiniDBConfiguration idbconf = new InfiniDBConfiguration(jobconf); + idbconf.setInputPath("input"); + idbconf.setOutputPath("output"); + idbconf.setInfiniDBHome("/usr/local/Calpont"); + + jobconf.setMapperClass(InfiniDoopMapper.class); + jobconf.setNumMapTasks(1); + jobconf.setNumReduceTasks(2); + JobClient client = new JobClient(); + client.setConf(jobconf); + try { + JobClient.runJob(jobconf); + } catch (Exception e) { + e.printStackTrace(); + } + + return 0; +} + +public static void main(String [] args) throws Exception +{ + int ret = ToolRunner.run(new InfiniDBOutputDriver(), args); + System.exit(ret); +} + +} diff --git a/utils/loggingcpp/Doxyfile b/utils/loggingcpp/Doxyfile new file mode 100644 index 000000000..47a9ba2c7 --- /dev/null +++ b/utils/loggingcpp/Doxyfile @@ -0,0 +1,275 @@ +# Doxyfile 1.4.1-KDevelop + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = loggingcpp.kdevelop +PROJECT_NUMBER = $VERSION$ +OUTPUT_DIRECTORY = +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = /home/dhill/InfiniDB_MariaDB/build/ +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = NO +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = /home/dhill/InfiniDB_MariaDB/utils/loggingcpp +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.C \ + *.CC \ + *.C++ \ + *.II \ + *.I++ \ + *.H \ + *.HH \ + *.H++ \ + *.CS \ + *.PHP \ + *.PHP3 \ + *.M \ + *.MM \ + *.C \ + *.H \ + *.tlh \ + *.diff \ + *.patch \ + *.moc \ + *.xpm \ + *.dox +RECURSIVE = yes +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = NO +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = YES +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = yes +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = loggingcpp.tag +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 1000 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff --git a/utils/loggingcpp/loggingcpp.kdevelop b/utils/loggingcpp/loggingcpp.kdevelop new file mode 100644 index 000000000..909011bc7 --- /dev/null +++ b/utils/loggingcpp/loggingcpp.kdevelop @@ -0,0 +1,101 @@ + + + + + dhill@srvhill04.calpont.com + $VERSION$ + KDevCustomProject + C++ + + + + + loggingcpp + executable + + + + + + + + + + ada + ada_bugs_gcc + bash + bash_bugs + clanlib + fortran_bugs_gcc + gnome1 + gnustep + gtk + gtk_bugs + haskell + haskell_bugs_ghc + java_bugs_gcc + java_bugs_sun + kde2book + opengl + pascal_bugs_fp + php + php_bugs + perl + perl_bugs + python + python_bugs + qt-kdev3 + ruby + ruby_bugs + sdl + sw + w3c-dom-level2-html + w3c-svg + w3c-uaag10 + wxwidgets_bugs + + + Guide to the Qt Translation Tools + Qt Assistant Manual + Qt Designer Manual + Qt Reference Documentation + qmake User Guide + + + KDE Libraries (Doxygen) + + + + + + + + + + + + + + true + true + true + false + true + true + true + 250 + 400 + 250 + + + + + false + false + + + *.o,*.lo,CVS + false + + + diff --git a/utils/loggingcpp/loggingcpp.kdevelop.filelist b/utils/loggingcpp/loggingcpp.kdevelop.filelist new file mode 100644 index 000000000..7ec0428d2 --- /dev/null +++ b/utils/loggingcpp/loggingcpp.kdevelop.filelist @@ -0,0 +1,23 @@ +# KDevelop Custom Project File List +errorcodes.cpp +errorcodes.h +errorids.h +exceptclasses.h +idberrorinfo.cpp +idberrorinfo.h +logger.cpp +logger.h +loggingid.h +Makefile +Makefile.am +Makefile.in +message.cpp +messageids.h +messagelog.cpp +messagelog.h +messageobj.h +sqllogger.cpp +sqllogger.h +stopwatch.cpp +stopwatch.h +tdriver.cpp diff --git a/utils/loggingcpp/loggingcpp.kdevelop.pcs b/utils/loggingcpp/loggingcpp.kdevelop.pcs new file mode 100644 index 000000000..5e5b9955a Binary files /dev/null and b/utils/loggingcpp/loggingcpp.kdevelop.pcs differ diff --git a/utils/loggingcpp/loggingcpp.kdevses b/utils/loggingcpp/loggingcpp.kdevses new file mode 100644 index 000000000..c94251478 --- /dev/null +++ b/utils/loggingcpp/loggingcpp.kdevses @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/utils/loggingcpp/tdriver.cpp b/utils/loggingcpp/tdriver.cpp index a90bb2ec4..21f660187 100644 --- a/utils/loggingcpp/tdriver.cpp +++ b/utils/loggingcpp/tdriver.cpp @@ -195,7 +195,7 @@ void m4() //------------------------------------------------------------------------------ // This method is intended to test the messages used to profile db performance. // The method also provides an example on how to use these log messages. -// Test can be verified by viewing /var/log/Calpont/debug.log. +// Test can be verified by viewing /var/log/Columnstore/debug.log. // // Message types are: // diff --git a/utils/prat/getlogs.sh b/utils/prat/getlogs.sh index 1b8ad21f8..f33c0bee2 100644 --- a/utils/prat/getlogs.sh +++ b/utils/prat/getlogs.sh @@ -51,9 +51,9 @@ getlogsremote () getlogslocal () { mkdir -p $CTOOLS/data/$hostdir/logs if [ $date = $currentdate ]; then - cp -r /var/log/Calpont/* /usr/local/MariaDB/Columnstore/tools/data/$hostdir/logs + cp -r /var/log/Columnstore/* /usr/local/MariaDB/Columnstore/tools/data/$hostdir/logs else - find /var/log/Calpont -type f -name "*$date" -exec sh -c 'exec cp -f "$@" '$CTOOLS/data/$hostdir/logs'' find-copy {} + + find /var/log/Columnstore -type f -name "*$date" -exec sh -c 'exec cp -f "$@" '$CTOOLS/data/$hostdir/logs'' find-copy {} + fi } # diff --git a/utils/scenarios/common/sql/load_TestStats.sql b/utils/scenarios/common/sql/load_TestStats.sql index 141e44686..e1478de78 100644 --- a/utils/scenarios/common/sql/load_TestStats.sql +++ b/utils/scenarios/common/sql/load_TestStats.sql @@ -4,7 +4,7 @@ * Author: Joseph Williams * Purpose: Script to load the performance test result from a CSV file. ******************************************************************************/ -LOAD DATA INFILE '/usr/local/Calpont/data/bulk/data/import/TestStats.tbl' +LOAD DATA INFILE '/usr/local/MariaDB/Columnstore/data/bulk/data/import/TestStats.tbl' INTO TABLE TestStats FIELDS TERMINATED BY '|' diff --git a/utils/scenarios/common/sql/load_TestStats.sql~ b/utils/scenarios/common/sql/load_TestStats.sql~ new file mode 100644 index 000000000..141e44686 --- /dev/null +++ b/utils/scenarios/common/sql/load_TestStats.sql~ @@ -0,0 +1,13 @@ +/***************************************************************************** +* Script Name: load_TestQuery.sql +* Date Created: 2008.08.25 +* Author: Joseph Williams +* Purpose: Script to load the performance test result from a CSV file. +******************************************************************************/ +LOAD DATA INFILE '/usr/local/Calpont/data/bulk/data/import/TestStats.tbl' +INTO TABLE TestStats +FIELDS +TERMINATED BY '|' +ENCLOSED BY '"' +LINES TERMINATED BY '\n' +(IterNum,SessNum,SQLSeqNum,SQLIdxNum,MaxMemPct,NumTempFiles,TempFieSpace,PhyIO,CacheIO,BlocksTouched,CasPartBlks,MsgBytesIn,MsgBytesOut,QuerySetupTime); diff --git a/utils/scenarios/common/sql/load_TestSummary.sql b/utils/scenarios/common/sql/load_TestSummary.sql index 642523171..22745ade5 100644 --- a/utils/scenarios/common/sql/load_TestSummary.sql +++ b/utils/scenarios/common/sql/load_TestSummary.sql @@ -4,7 +4,7 @@ * Author: Joseph Williams * Purpose: Script to load the performance test result from a CSV file. ******************************************************************************/ -LOAD DATA INFILE '/usr/local/Calpont/data/bulk/data/import/TestSummary.tbl' +LOAD DATA INFILE '/usr/local/MariaDB/Columnstore/data/bulk/data/import/TestSummary.tbl' INTO TABLE TestSummary FIELDS TERMINATED BY '|' diff --git a/utils/scenarios/common/sql/load_TestSummary.sql~ b/utils/scenarios/common/sql/load_TestSummary.sql~ new file mode 100644 index 000000000..642523171 --- /dev/null +++ b/utils/scenarios/common/sql/load_TestSummary.sql~ @@ -0,0 +1,14 @@ +/***************************************************************************** +* Script Name: load_TestSumamry.sql +* Date Created: 2008.08.25 +* Author: Joseph Williams +* Purpose: Script to load the performance test result from a CSV file. +******************************************************************************/ +LOAD DATA INFILE '/usr/local/Calpont/data/bulk/data/import/TestSummary.tbl' +INTO TABLE TestSummary +FIELDS +TERMINATED BY '|' +ENCLOSED BY '"' +LINES TERMINATED BY '\n' +(TestID,TestRunID,TestRunDesc,ExecServer,StackName,numDM,numUM,numPM,CalpontDB,ScriptFileName,NumIterations,NumSessions,DataVolume,IOType,NumStmts,NumStmtsProcessed,RunCompleted); + \ No newline at end of file diff --git a/utils/scenarios/common/sql/load_TestTime.sql b/utils/scenarios/common/sql/load_TestTime.sql index c1d4e20ba..e2689fdb4 100644 --- a/utils/scenarios/common/sql/load_TestTime.sql +++ b/utils/scenarios/common/sql/load_TestTime.sql @@ -4,7 +4,7 @@ * Author: Joseph Williams * Purpose: Script to load the performance test result from a CSV file. ******************************************************************************/ -LOAD DATA INFILE '/usr/local/Calpont/data/bulk/data/import/TestTime.tbl' +LOAD DATA INFILE '/usr/local/MariaDB/Columnstore/data/bulk/data/import/TestTime.tbl' INTO TABLE TestTime FIELDS TERMINATED BY '|' diff --git a/utils/scenarios/common/sql/load_TestTime.sql~ b/utils/scenarios/common/sql/load_TestTime.sql~ new file mode 100644 index 000000000..c1d4e20ba --- /dev/null +++ b/utils/scenarios/common/sql/load_TestTime.sql~ @@ -0,0 +1,13 @@ +/***************************************************************************** +* Script Name: load_TestTime.sql +* Date Created: 2008.08.25 +* Author: Joseph Williams +* Purpose: Script to load the performance test result from a CSV file. +******************************************************************************/ +LOAD DATA INFILE '/usr/local/Calpont/data/bulk/data/import/TestTime.tbl' +INTO TABLE TestTime +FIELDS +TERMINATED BY '|' +ENCLOSED BY '"' +LINES TERMINATED BY '\n' +(IterNum,SessNum,SQLSeqNum,SQLIdxNum,StartTime,EndTime); diff --git a/utils/scenarios/perf/source/pf/fm/getlogs.sh b/utils/scenarios/perf/source/pf/fm/getlogs.sh index 427da10aa..a34a8cac0 100755 --- a/utils/scenarios/perf/source/pf/fm/getlogs.sh +++ b/utils/scenarios/perf/source/pf/fm/getlogs.sh @@ -28,6 +28,6 @@ then fi # mkdir /tmp/$host/logs -cp -r /var/log/Calpont/* /tmp/$host/logs +cp -r /var/log/Columnstore/* /tmp/$host/logs # # End of script diff --git a/utils/scenarios/perf/source/pf/fm/getsql.orig b/utils/scenarios/perf/source/pf/fm/getsql.orig index 33e1aed09..e0f8e46f4 100755 --- a/utils/scenarios/perf/source/pf/fm/getsql.orig +++ b/utils/scenarios/perf/source/pf/fm/getsql.orig @@ -41,7 +41,7 @@ cmd="/$startdate/,/$enddate/ {print \$0} " echo $cmd > /tmp/$host/sql/cmd.$$ # # execute the command -awk -f /tmp/$host/sql/cmd.$$ /usr/local/Calpont/mysql/db/$host.log > /tmp/$host/sql/temp.log +awk -f /tmp/$host/sql/cmd.$$ /usr/local/MariaDB/Columnstore/mysql/db/$host.log > /tmp/$host/sql/temp.log # exit # diff --git a/utils/scenarios/perf/source/pf/fm/getsql.orig~ b/utils/scenarios/perf/source/pf/fm/getsql.orig~ new file mode 100755 index 000000000..33e1aed09 --- /dev/null +++ b/utils/scenarios/perf/source/pf/fm/getsql.orig~ @@ -0,0 +1,48 @@ +#!/bin/bash +# +#/******************************************************************************* +#* Script Name: getsql.sh +#* Date Created: 2009.02.17 +#* Author: Joseph Wiiliams +#* Purpose: extract lines from log file within time block +#* +#* Parameter: date - A day of month in question (dd) +#* starttime - A start time in (HH:mm) +#* endtime - An end time in (HH:mm) +#* +#******************************************************************************/ +# +#----------------------------------------------------------------------------- +# command line parameters +#----------------------------------------------------------------------------- +date=$1 +starttime=$2 +endtime=$3 +# +host=$(hostname -s) +# +# change date format to match sql log date format +newdate=`date +%y%m$1` +# +# clean up previous data files +if [ -d /tmp/$host/sql ] +then + rm -rf /tmp/$host/sql +fi +mkdir -p /tmp/$host/sql +# +# create the beginning and ending time search variables +startdate="$newdate $2" +enddate="$newdate $3" +cat $host.log | grep $startdate +# +# create the awk command and write it to a temporary run file +cmd="/$startdate/,/$enddate/ {print \$0} " +echo $cmd > /tmp/$host/sql/cmd.$$ +# +# execute the command +awk -f /tmp/$host/sql/cmd.$$ /usr/local/Calpont/mysql/db/$host.log > /tmp/$host/sql/temp.log +# +exit +# +# End of Script diff --git a/utils/testbc/stats.cpp b/utils/testbc/stats.cpp index b0f804b25..a9b5802c9 100644 --- a/utils/testbc/stats.cpp +++ b/utils/testbc/stats.cpp @@ -92,7 +92,7 @@ public: else outName = name; ostringstream oss; - oss << "/var/log/Calpont/trace/" << outName << '.' << sessionID; + oss << "/var/log/Columnstore/trace/" << outName << '.' << sessionID; oFile.reset(new ofstream()); oFile->open(oss.str().c_str(), ios_base::out | ios_base::ate | ios_base::app); } diff --git a/versioning/BRM/Calpont.xml b/versioning/BRM/Calpont.xml index 704a949b6..3fa8dbd62 100644 --- a/versioning/BRM/Calpont.xml +++ b/versioning/BRM/Calpont.xml @@ -251,7 +251,7 @@ 5 3 60 - /usr/local/Calpont/data + /usr/local/MariaDB/Columnstore/data /home/pleblanc/DBRMRoot_test 90 80 @@ -355,7 +355,7 @@ /tmp/oidbitmap 3000 @@ -364,7 +364,7 @@ Commit - /usr/local/Calpont/data/bulk + /usr/local/MariaDB/Columnstore/data/bulk