From: <ri...@us...> - 2009-07-15 14:03:09
|
Revision: 9006 http://bacula.svn.sourceforge.net/bacula/?rev=9006&view=rev Author: ricozz Date: 2009-07-15 14:03:07 +0000 (Wed, 15 Jul 2009) Log Message: ----------- Force the client_encoding to SQL_ASCII when database is already using this mode. Modified Paths: -------------- trunk/bacula/src/cats/postgresql.c trunk/bacula/technotes Modified: trunk/bacula/src/cats/postgresql.c =================================================================== --- trunk/bacula/src/cats/postgresql.c 2009-07-15 14:02:47 UTC (rev 9005) +++ trunk/bacula/src/cats/postgresql.c 2009-07-15 14:03:07 UTC (rev 9006) @@ -148,7 +148,12 @@ Jmsg(jcr, M_ERROR, 0, "Can't check database encoding %s", mdb->errmsg); } else { ret = bstrcmp(row[0], "SQL_ASCII"); - if (!ret) { + + if (ret) { + /* if we are in SQL_ASCII, we can force the client_encoding to SQL_ASCII too */ + db_sql_query(mdb, "SET client_encoding TO 'SQL_ASCII'", NULL, NULL); + + } else { /* something is wrong with database encoding */ Mmsg(mdb->errmsg, _("Encoding error for database \"%s\". Wanted SQL_ASCII, got %s\n"), mdb->db_name, row[0]); Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-15 14:02:47 UTC (rev 9005) +++ trunk/bacula/technotes 2009-07-15 14:03:07 UTC (rev 9006) @@ -5,11 +5,11 @@ 15Jul09 kes Fix Win64 build kes Add more example SD Device configurations. +ebl Force the client_encoding to SQL_ASCII when database is already + using this mode. ebl Fix #1335 about postgresql error message during copy session ebl Cleanup old job records when starting the director (Created/Running -> Failed) -ebl Force the client_encoding to SQL_ASCII when database is already - using this mode. 14Jul09 kes Tweak debug print in accurate kes Apply patch in bug #1315 by McMichaeli that fixes scripts/logwatch This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-15 16:11:09
|
Revision: 9010 http://bacula.svn.sourceforge.net/bacula/?rev=9010&view=rev Author: kerns Date: 2009-07-15 16:11:06 +0000 (Wed, 15 Jul 2009) Log Message: ----------- Make CONF::init header and .c file agree about types Modified Paths: -------------- trunk/bacula/src/count-lines trunk/bacula/src/lib/parse_conf.c trunk/bacula/technotes Modified: trunk/bacula/src/count-lines =================================================================== --- trunk/bacula/src/count-lines 2009-07-15 15:35:04 UTC (rev 9009) +++ trunk/bacula/src/count-lines 2009-07-15 16:11:06 UTC (rev 9010) @@ -1,18 +1,9 @@ #!/bin/sh rm -f 1 touch 1 -for i in . console gnome2-console cats dird filed tray-monitor \ - qt-console \ - win32 win32/compat findlib lib wx-console stored tools \ - win32/wx-console win32/console win32/baculafd win32/filed \ - win32/dird win32/libwin32 win32/stored win32/stored/baculasd \ - tray-monitor qt-console qt-console/clients qt-console/console \ - qt-console/fileset qt-console/help qt-console/jobgraphs \ - qt-console/joblist qt-console/joblog qt-console/jobs qt-console/label \ - qt-console/mediaedit qt-console/medialist qt-console/mount \ - qt-console/relabel qt-console/restore qt-console/run qt-console/select \ - qt-console/storage; do +find . -type d >2 +for i in `cat 2` ; do ls -1 $i/*.c $i/*.cpp $i/*.h $i/*.in 2>/dev/null >>1 done cat 1 | $HOME/bin/lines -# rm -f 1 +# rm -f 1 2 Modified: trunk/bacula/src/lib/parse_conf.c =================================================================== --- trunk/bacula/src/lib/parse_conf.c 2009-07-15 15:35:04 UTC (rev 9009) +++ trunk/bacula/src/lib/parse_conf.c 2009-07-15 16:11:06 UTC (rev 9010) @@ -788,11 +788,11 @@ void CONFIG::init( const char *cf, LEX_ERROR_HANDLER *scan_error, - int err_type, + int32_t err_type, void *vres_all, - int res_all_size, - int r_first, - int r_last, + int32_t res_all_size, + int32_t r_first, + int32_t r_last, RES_TABLE *resources, RES **res_head) { Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-15 15:35:04 UTC (rev 9009) +++ trunk/bacula/technotes 2009-07-15 16:11:06 UTC (rev 9010) @@ -3,6 +3,8 @@ General: 15Jul09 +kes Make CONF::init header and .c file agree about types. + Reported by "Eli Shemer" <el...@co...> kes Fix Win64 build kes Add more example SD Device configurations. ebl Force the client_encoding to SQL_ASCII when database is already This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-15 16:11:43
|
Revision: 9011 http://bacula.svn.sourceforge.net/bacula/?rev=9011&view=rev Author: kerns Date: 2009-07-15 16:11:35 +0000 (Wed, 15 Jul 2009) Log Message: ----------- Update release notes Modified Paths: -------------- trunk/bacula/ReleaseNotes trunk/bacula/projects Modified: trunk/bacula/ReleaseNotes =================================================================== --- trunk/bacula/ReleaseNotes 2009-07-15 16:11:06 UTC (rev 9010) +++ trunk/bacula/ReleaseNotes 2009-07-15 16:11:35 UTC (rev 9011) @@ -1,7 +1,7 @@ Release Notes for Bacula 3.0.2 - Bacula code: Total files = 1009 Total lines = 205,726 (Using SLOCCount) + Bacula code: Total files = 1,009 Total lines = 205,726 (Using SLOCCount) Note, if you are not already running 3.0.x, read the 3.0.x release notes below. Important!!! @@ -16,19 +16,21 @@ 1317, 1318, 1323, 1331, 1333, 1335 Fixed: - - Problem with the Postgresql driver that sometime displays <NULL> values - - Cleanup old job records when starting the director + - Fix problem with the Postgresql driver that sometime displays <NULL> values + - Cleanup old job records when starting the Director - Fix bugs in xattr code - Fix encoding problem with Postgresql - Fix that prevents restore by file selection from using Copy job Enhancements: - Security enhancement for the File Daemon - - Can specify source address for outgoing connexions - - Show volume availability when doing restore + - New directive to specify source address for outgoing connexions + - Show volume availability in autochanger when doing restore. + This is project 31 in the projects file. - Add accurate=yes/no option to estimate command - Add --with-hostname, --with-bsrdir, --with-logdir to ./configure - - Add a restore menu that contructs a full restore when entering a JobId + - Add a restore menu that contructs a full restore when entering a JobId. + This is project 2 in the projects file. - Add new Nagios plugin Compatibility: Modified: trunk/bacula/projects =================================================================== --- trunk/bacula/projects 2009-07-15 16:11:06 UTC (rev 9010) +++ trunk/bacula/projects 2009-07-15 16:11:35 UTC (rev 9011) @@ -1,50 +1,51 @@ Projects: Bacula Projects Roadmap - Status updated 04 Jun 2009 + Status updated 14 Jun 2009 Summary: +* => item complete -Item 1: Ability to restart failed jobs -Item 2: 'restore' menu: enter a JobId, automatically select dependents -Item 3: Scheduling syntax that permits more flexibility and options -Item 4: Data encryption on storage daemon -Item 5: Deletion of disk Volumes when pruned -Item 6: Implement Base jobs -Item 7: Add ability to Verify any specified Job. -Item 8: Improve Bacula's tape and drive usage and cleaning management -Item 9: Allow FD to initiate a backup -Item 10: Restore from volumes on multiple storage daemons -Item 11: Implement Storage daemon compression -Item 12: Reduction of communications bandwidth for a backup -Item 13: Ability to reconnect a disconnected comm line -Item 14: Start spooling even when waiting on tape -Item 15: Enable/disable compression depending on storage device (disk/tape) -Item 16: Include all conf files in specified directory -Item 17: Multiple threads in file daemon for the same job -Item 18: Possibilty to schedule Jobs on last Friday of the month -Item 19: Include timestamp of job launch in "stat clients" output -Item 20: Cause daemons to use a specific IP address to source communications -Item 21: Message mailing based on backup types -Item 22: Ability to import/export Bacula database entities -Item 23: "Maximum Concurrent Jobs" for drives when used with changer device -Item 24: Implementation of running Job speed limit. -Item 25: Add an override in Schedule for Pools based on backup types -Item 26: Automatic promotion of backup levels based on backup size -Item 27: Allow inclusion/exclusion of files in a fileset by creation/mod times -Item 28: Archival (removal) of User Files to Tape -Item 29: An option to operate on all pools with update vol parameters -Item 30: Automatic disabling of devices -Item 31: List InChanger flag when doing restore. -Item 32: Ability to defer Batch Insert to a later time -Item 33: Add MaxVolumeSize/MaxVolumeBytes statement to Storage resource -Item 34: Enable persistent naming/number of SQL queries -Item 35: Port bat to Win32 -Item 36: Bacula Dir, FD and SD to support proxies -Item 37: Add Minumum Spool Size directive -Item 38: Backup and Restore of Windows Encrypted Files using Win raw encryption -Item 39: Implement an interface between Bacula and Amazon's S3. -Item 40: Convert Bacula existing tray monitor on Windows to a stand alone program + Item 1: Ability to restart failed jobs +*Item 2: 'restore' menu: enter a JobId, automatically select dependents + Item 3: Scheduling syntax that permits more flexibility and options + Item 4: Data encryption on storage daemon + Item 5: Deletion of disk Volumes when pruned + Item 6: Implement Base jobs + Item 7: Add ability to Verify any specified Job. + Item 8: Improve Bacula's tape and drive usage and cleaning management + Item 9: Allow FD to initiate a backup + Item 10: Restore from volumes on multiple storage daemons + Item 11: Implement Storage daemon compression + Item 12: Reduction of communications bandwidth for a backup + Item 13: Ability to reconnect a disconnected comm line + Item 14: Start spooling even when waiting on tape + Item 15: Enable/disable compression depending on storage device (disk/tape) + Item 16: Include all conf files in specified directory + Item 17: Multiple threads in file daemon for the same job + Item 18: Possibilty to schedule Jobs on last Friday of the month + Item 19: Include timestamp of job launch in "stat clients" output + Item 20: Cause daemons to use a specific IP address to source communications + Item 21: Message mailing based on backup types + Item 22: Ability to import/export Bacula database entities + Item 23: "Maximum Concurrent Jobs" for drives when used with changer device + Item 24: Implementation of running Job speed limit. + Item 25: Add an override in Schedule for Pools based on backup types + Item 26: Automatic promotion of backup levels based on backup size + Item 27: Allow inclusion/exclusion of files in a fileset by creation/mod times + Item 28: Archival (removal) of User Files to Tape + Item 29: An option to operate on all pools with update vol parameters + Item 30: Automatic disabling of devices +*Item 31: List InChanger flag when doing restore. + Item 32: Ability to defer Batch Insert to a later time + Item 33: Add MaxVolumeSize/MaxVolumeBytes statement to Storage resource + Item 34: Enable persistent naming/number of SQL queries + Item 35: Port bat to Win32 + Item 36: Bacula Dir, FD and SD to support proxies + Item 37: Add Minumum Spool Size directive + Item 38: Backup and Restore of Windows Encrypted Files using Win raw encryption + Item 39: Implement an interface between Bacula and Amazon's S3. + Item 40: Convert Bacula existing tray monitor on Windows to a stand alone program Item 1: Ability to restart failed jobs Date: 26 April 2009 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ri...@us...> - 2009-07-16 13:04:05
|
Revision: 9025 http://bacula.svn.sourceforge.net/bacula/?rev=9025&view=rev Author: ricozz Date: 2009-07-16 13:03:53 +0000 (Thu, 16 Jul 2009) Log Message: ----------- Fix #1323 about a problem when mounting a requested volume during a restore. Modified Paths: -------------- trunk/bacula/src/stored/acquire.c trunk/bacula/src/stored/dircmd.c trunk/bacula/technotes Modified: trunk/bacula/src/stored/acquire.c =================================================================== --- trunk/bacula/src/stored/acquire.c 2009-07-16 13:02:57 UTC (rev 9024) +++ trunk/bacula/src/stored/acquire.c 2009-07-16 13:03:53 UTC (rev 9025) @@ -286,7 +286,18 @@ if (!dir_ask_sysop_to_mount_volume(dcr, ST_READ)) { goto get_out; /* error return */ } + + /* Volume info is always needed because of VolParts */ + Dmsg1(150, "dir_get_volume_info vol=%s\n", dcr->VolumeName); + if (!dir_get_volume_info(dcr, GET_VOL_INFO_FOR_READ)) { + Dmsg2(150, "dir_get_vol_info failed for vol=%s: %s\n", + dcr->VolumeName, jcr->errmsg); + Jmsg1(jcr, M_WARNING, 0, "Read acquire: %s", jcr->errmsg); + } + dev->set_load(); /* set to load volume */ + try_autochanger = true; /* permit trying the autochanger again */ + continue; /* try reading again */ } /* end switch */ break; Modified: trunk/bacula/src/stored/dircmd.c =================================================================== --- trunk/bacula/src/stored/dircmd.c 2009-07-16 13:02:57 UTC (rev 9024) +++ trunk/bacula/src/stored/dircmd.c 2009-07-16 13:03:53 UTC (rev 9025) @@ -660,8 +660,9 @@ /* Someone is waiting, wake him */ Dmsg0(100, "Waiting for mount. Attempting to wake thread\n"); dev->set_blocked(BST_MOUNT); - dir->fsend("3001 OK mount. Device=%s\n", - dev->print_name()); + dir->fsend("3001 OK mount requested. %sDevice=%s\n", + slot>0?_("Specified slot ignored. "):"", + dev->print_name()); pthread_cond_broadcast(&dev->wait_next_vol); Dmsg1(100, "JobId=%u broadcast wait_device_release\n", (uint32_t)dcr->jcr->JobId); pthread_cond_broadcast(&wait_device_release); Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-16 13:02:57 UTC (rev 9024) +++ trunk/bacula/technotes 2009-07-16 13:03:53 UTC (rev 9025) @@ -2,6 +2,9 @@ General: +16Jul09 +ebl Fix #1323 about a problem when mounting a requested volume + during a restore. 15Jul09 kes Make CONF::init header and .c file agree about types. Reported by "Eli Shemer" <el...@co...> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ri...@us...> - 2009-07-16 21:18:55
|
Revision: 9041 http://bacula.svn.sourceforge.net/bacula/?rev=9041&view=rev Author: ricozz Date: 2009-07-16 21:18:53 +0000 (Thu, 16 Jul 2009) Log Message: ----------- tweak bat screens Modified Paths: -------------- trunk/bacula/src/qt-console/clients/clients.cpp trunk/bacula/src/qt-console/clients/clients.ui trunk/bacula/src/qt-console/status/clientstat.cpp trunk/bacula/src/qt-console/status/clientstat.ui trunk/bacula/technotes Modified: trunk/bacula/src/qt-console/clients/clients.cpp =================================================================== --- trunk/bacula/src/qt-console/clients/clients.cpp 2009-07-16 20:37:36 UTC (rev 9040) +++ trunk/bacula/src/qt-console/clients/clients.cpp 2009-07-16 21:18:53 UTC (rev 9041) @@ -208,7 +208,6 @@ /* The Previous item */ if (previouswidgetitem) { /* avoid a segfault if first time */ tableWidget->removeAction(actionListJobsofClient); - tableWidget->removeAction(actionStatusClientInConsole); tableWidget->removeAction(actionStatusClientWindow); tableWidget->removeAction(actionPurgeJobs); tableWidget->removeAction(actionPrune); @@ -218,7 +217,6 @@ /* set a hold variable to the client name in case the context sensitive * menu is used */ tableWidget->addAction(actionListJobsofClient); - tableWidget->addAction(actionStatusClientInConsole); tableWidget->addAction(actionStatusClientWindow); tableWidget->addAction(actionPurgeJobs); tableWidget->addAction(actionPrune); @@ -245,8 +243,6 @@ SLOT(populateTable())); connect(actionListJobsofClient, SIGNAL(triggered()), this, SLOT(showJobs())); - connect(actionStatusClientInConsole, SIGNAL(triggered()), this, - SLOT(consoleStatusClient())); connect(actionStatusClientWindow, SIGNAL(triggered()), this, SLOT(statusClientWindow())); connect(actionPurgeJobs, SIGNAL(triggered()), this, Modified: trunk/bacula/src/qt-console/clients/clients.ui =================================================================== --- trunk/bacula/src/qt-console/clients/clients.ui 2009-07-16 20:37:36 UTC (rev 9040) +++ trunk/bacula/src/qt-console/clients/clients.ui 2009-07-16 21:18:53 UTC (rev 9041) @@ -19,7 +19,8 @@ </layout> <action name="actionRefreshClients" > <property name="icon" > - <iconset resource="../main.qrc" >:/images/view-refresh.png</iconset> + <iconset resource="../main.qrc" > + <normaloff>:/images/view-refresh.png</normaloff>:/images/view-refresh.png</iconset> </property> <property name="text" > <string>Refresh Client List</string> @@ -30,7 +31,8 @@ </action> <action name="actionListJobsofClient" > <property name="icon" > - <iconset resource="../main.qrc" >:/images/emblem-system.png</iconset> + <iconset resource="../main.qrc" > + <normaloff>:/images/emblem-system.png</normaloff>:/images/emblem-system.png</iconset> </property> <property name="text" > <string>List Jobs of Client</string> @@ -39,20 +41,10 @@ <string>Open a joblist page selecting this client.</string> </property> </action> - <action name="actionStatusClientInConsole" > - <property name="icon" > - <iconset resource="../main.qrc" >:/images/status-console.png</iconset> - </property> - <property name="text" > - <string>Status Client In Console</string> - </property> - <property name="statusTip" > - <string>Execute status client in console.</string> - </property> - </action> <action name="actionPurgeJobs" > <property name="icon" > - <iconset resource="../main.qrc" >:/images/weather-severe-alert.png</iconset> + <iconset resource="../main.qrc" > + <normaloff>:/images/weather-severe-alert.png</normaloff>:/images/weather-severe-alert.png</iconset> </property> <property name="text" > <string>Purge Jobs</string> @@ -63,7 +55,8 @@ </action> <action name="actionPrune" > <property name="icon" > - <iconset resource="../main.qrc" >:/images/edit-cut.png</iconset> + <iconset resource="../main.qrc" > + <normaloff>:/images/edit-cut.png</normaloff>:/images/edit-cut.png</iconset> </property> <property name="text" > <string>Prune Jobs</string> @@ -74,7 +67,8 @@ </action> <action name="actionStatusClientWindow" > <property name="icon" > - <iconset resource="../main.qrc" >:/images/status.png</iconset> + <iconset resource="../main.qrc" > + <normaloff>:/images/status.png</normaloff>:/images/status.png</iconset> </property> <property name="text" > <string>Status Client Window</string> Modified: trunk/bacula/src/qt-console/status/clientstat.cpp =================================================================== --- trunk/bacula/src/qt-console/status/clientstat.cpp 2009-07-16 20:37:36 UTC (rev 9040) +++ trunk/bacula/src/qt-console/status/clientstat.cpp 2009-07-16 21:18:53 UTC (rev 9041) @@ -111,9 +111,9 @@ void ClientStat::populateCurrentTab(int index) { if (index == 0) + populateRunning(); + if (index == 1) populateHeader(); - if (index == 1) - populateRunning(); } /* Modified: trunk/bacula/src/qt-console/status/clientstat.ui =================================================================== --- trunk/bacula/src/qt-console/status/clientstat.ui 2009-07-16 20:37:36 UTC (rev 9040) +++ trunk/bacula/src/qt-console/status/clientstat.ui 2009-07-16 21:18:53 UTC (rev 9041) @@ -165,7 +165,7 @@ </item> </layout> </widget> - <widget class="QWidget" name="layoutWidget" > + <widget class="QWidget" name="layoutWidget1" > <layout class="QGridLayout" > <item row="0" column="0" > <widget class="QLabel" name="terminatedLabel" > Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-16 20:37:36 UTC (rev 9040) +++ trunk/bacula/technotes 2009-07-16 21:18:53 UTC (rev 9041) @@ -3,6 +3,7 @@ General: 16Jul09 +ebl tweak some bat screens ebl Replace info_msg by send_msg in status slots command. ebl Fix #1323 about a problem when mounting a requested volume during a restore. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ri...@us...> - 2009-07-17 08:23:00
|
Revision: 9045 http://bacula.svn.sourceforge.net/bacula/?rev=9045&view=rev Author: ricozz Date: 2009-07-17 08:22:59 +0000 (Fri, 17 Jul 2009) Log Message: ----------- Fix sql query for sqlite on suse10 on copy job Modified Paths: -------------- trunk/bacula/src/cats/sql_list.c trunk/bacula/technotes Modified: trunk/bacula/src/cats/sql_list.c =================================================================== --- trunk/bacula/src/cats/sql_list.c 2009-07-17 00:44:14 UTC (rev 9044) +++ trunk/bacula/src/cats/sql_list.c 2009-07-17 08:22:59 UTC (rev 9045) @@ -253,18 +253,18 @@ } if (JobIds && JobIds[0]) { - Mmsg(str_jobids, " AND (C.PriorJobId IN (%s) OR C.JobId IN (%s)) ", + Mmsg(str_jobids, " AND (Job.PriorJobId IN (%s) OR Job.JobId IN (%s)) ", JobIds, JobIds); } db_lock(mdb); Mmsg(mdb->cmd, - "SELECT DISTINCT C.PriorJobId AS JobId, C.Job, " - "C.JobId AS CopyJobId, M.MediaType " - "FROM Job AS C " - "JOIN JobMedia USING (JobId) " - "JOIN Media AS M USING (MediaId) " - "WHERE C.Type = '%c' %s ORDER BY C.PriorJobId DESC %s", + "SELECT DISTINCT Job.PriorJobId AS JobId, Job.Job, " + "Job.JobId AS CopyJobId, Media.MediaType " + "FROM Job " + "JOIN JobMedia USING (JobId) " + "JOIN Media USING (MediaId) " + "WHERE Job.Type = '%c' %s ORDER BY Job.PriorJobId DESC %s", (char) JT_JOB_COPY, str_jobids.c_str(), str_limit.c_str()); if (!QUERY_DB(jcr, mdb, mdb->cmd)) { Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-17 00:44:14 UTC (rev 9044) +++ trunk/bacula/technotes 2009-07-17 08:22:59 UTC (rev 9045) @@ -2,6 +2,8 @@ General: +17Jul09 +ebl Fix sql query for sqlite on suse10 on copy job 16Jul09 ebl tweak some bat screens ebl Replace info_msg by send_msg in status slots command. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-18 21:03:36
|
Revision: 9054 http://bacula.svn.sourceforge.net/bacula/?rev=9054&view=rev Author: kerns Date: 2009-07-18 21:03:34 +0000 (Sat, 18 Jul 2009) Log Message: ----------- Fix bat command line input bug Modified Paths: -------------- trunk/bacula/src/qt-console/console/console.cpp trunk/bacula/src/qt-console/console/console.h trunk/bacula/src/qt-console/mainwin.cpp trunk/bacula/technotes Modified: trunk/bacula/src/qt-console/console/console.cpp =================================================================== --- trunk/bacula/src/qt-console/console/console.cpp 2009-07-18 13:13:53 UTC (rev 9053) +++ trunk/bacula/src/qt-console/console/console.cpp 2009-07-18 21:03:34 UTC (rev 9054) @@ -811,7 +811,25 @@ return false; } + /* + * Need current connection. + */ +bool Console::currentDirComm(int &conn) +{ + QHash<int, DirComm*>::const_iterator iter = m_dircommHash.constBegin(); + while (iter != m_dircommHash.constEnd()) { + DirComm *dircomm = iter.value(); + if (dircomm->m_at_prompt && !dircomm->m_at_main_prompt && dircomm->is_notify_enabled()) { + conn = dircomm->m_conn; + return true; + } + ++iter; + } + return false; +} + +/* * Create a new connection */ bool Console::newDirComm(int &conn) Modified: trunk/bacula/src/qt-console/console/console.h =================================================================== --- trunk/bacula/src/qt-console/console/console.h 2009-07-18 13:13:53 UTC (rev 9053) +++ trunk/bacula/src/qt-console/console/console.h 2009-07-18 21:03:34 UTC (rev 9054) @@ -81,6 +81,7 @@ bool notify(int conn, bool enable); // enables/disables socket notification - returns the previous state bool is_notify_enabled(int conn) const; bool availableDirComm(int &conn); + bool currentDirComm(int &conn); void displayToPrompt(int conn); bool dir_cmd(int conn, const char *cmd, QStringList &results); Modified: trunk/bacula/src/qt-console/mainwin.cpp =================================================================== --- trunk/bacula/src/qt-console/mainwin.cpp 2009-07-18 13:13:53 UTC (rev 9053) +++ trunk/bacula/src/qt-console/mainwin.cpp 2009-07-18 21:03:34 UTC (rev 9054) @@ -321,8 +321,7 @@ void MainWin::waitExit() { m_waitState = false; - if (mainWin->m_connDebug) - Pmsg0(000, "Exiting Wait State\n"); + if (mainWin->m_connDebug) Pmsg0(000, "Exiting Wait State\n"); app->restoreOverrideCursor(); if (m_waitTreeItem != treeWidget->currentItem()) treeWidget->setCurrentItem(m_waitTreeItem); @@ -591,11 +590,16 @@ */ void MainWin::input_line() { + int conn; QString cmdStr = lineEdit->text(); /* Get the text */ lineEdit->clear(); /* clear the lineEdit box */ if (m_currentConsole->is_connected()) { - /* Use consoleCommand to allow typing anything */ - m_currentConsole->consoleCommand(cmdStr); + if (m_currentConsole->currentDirComm(conn)) { + m_currentConsole->consoleCommand(cmdStr, conn); + } else { + /* Use consoleCommand to allow typing anything */ + m_currentConsole->consoleCommand(cmdStr); + } } else { set_status(tr("Director not connected. Click on connect button.")); } Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-18 13:13:53 UTC (rev 9053) +++ trunk/bacula/technotes 2009-07-18 21:03:34 UTC (rev 9054) @@ -2,6 +2,8 @@ General: +18Jul09 +kes Fix bat command line input bug 17Jul09 ebl Fix sql query for sqlite on suse10 on copy job 16Jul09 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-19 13:51:07
|
Revision: 9062 http://bacula.svn.sourceforge.net/bacula/?rev=9062&view=rev Author: kerns Date: 2009-07-19 13:51:05 +0000 (Sun, 19 Jul 2009) Log Message: ----------- Final changes Modified Paths: -------------- trunk/bacula/po/bacula.pot trunk/bacula/po/de.po trunk/bacula/po/fr.po trunk/bacula/src/version.h Modified: trunk/bacula/po/bacula.pot =================================================================== --- trunk/bacula/po/bacula.pot 2009-07-19 10:53:16 UTC (rev 9061) +++ trunk/bacula/po/bacula.pot 2009-07-19 13:51:05 UTC (rev 9062) @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: bac...@li...\n" -"POT-Creation-Date: 2009-04-30 00:01+0200\n" +"POT-Creation-Date: 2009-07-19 15:48+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL...@li...>\n" @@ -61,7 +61,7 @@ msgid "Dir Status" msgstr "" -#: src/gnome2-console/interface.c:255 src/lib/util.c:362 +#: src/gnome2-console/interface.c:255 src/lib/util.c:365 #: src/wx-console/wxbrestorepanel.cpp:404 #: src/wx-console/wxbrestorepanel.cpp:2000 msgid "Restore" @@ -252,15 +252,15 @@ msgstr "" #: src/gnome2-console/console.c:156 src/gnome2-console/console.c:185 -#: src/console/console.c:904 src/console/console.c:934 src/dird/dird.c:609 -#: src/dird/dird.c:814 src/dird/dird.c:869 src/dird/dird.c:989 +#: src/console/console.c:906 src/console/console.c:936 src/dird/dird.c:619 +#: src/dird/dird.c:824 src/dird/dird.c:879 src/dird/dird.c:1023 #: src/stored/stored.c:375 src/filed/filed.c:339 src/filed/filed.c:498 #: src/wx-console/console_thread.cpp:118 src/wx-console/console_thread.cpp:144 #: src/qt-console/main.cpp:207 src/qt-console/main.cpp:237 msgid "TLS required but not configured in Bacula.\n" msgstr "" -#: src/gnome2-console/console.c:163 src/console/console.c:912 +#: src/gnome2-console/console.c:163 src/console/console.c:914 #: src/qt-console/main.cpp:215 #, c-format msgid "" @@ -268,7 +268,7 @@ "Director \"%s\" in %s. At least one CA certificate store is required.\n" msgstr "" -#: src/gnome2-console/console.c:172 src/console/console.c:921 +#: src/gnome2-console/console.c:172 src/console/console.c:923 #: src/qt-console/main.cpp:224 #, c-format msgid "" @@ -276,7 +276,7 @@ "Without that I don't how to speak to the Director :-(\n" msgstr "" -#: src/gnome2-console/console.c:192 src/console/console.c:941 +#: src/gnome2-console/console.c:192 src/console/console.c:943 #: src/qt-console/main.cpp:245 #, c-format msgid "" @@ -289,15 +289,15 @@ msgid "Pthread cond init error = %s\n" msgstr "" -#: src/gnome2-console/console.c:290 src/console/console.c:657 -#: src/dird/dird.c:246 src/stored/stored.c:239 src/filed/filed.c:204 +#: src/gnome2-console/console.c:290 src/console/console.c:659 +#: src/dird/dird.c:253 src/stored/stored.c:239 src/filed/filed.c:204 #: src/qt-console/main.cpp:151 msgid "Cryptography library initialization failed.\n" msgstr "" -#: src/gnome2-console/console.c:294 src/console/console.c:661 -#: src/dird/dird.c:250 src/dird/dird.c:269 src/dird/dird.c:519 -#: src/dird/dird.c:522 src/stored/stored.c:243 src/filed/filed.c:209 +#: src/gnome2-console/console.c:294 src/console/console.c:663 +#: src/dird/dird.c:257 src/dird/dird.c:279 src/dird/dird.c:529 +#: src/dird/dird.c:532 src/stored/stored.c:243 src/filed/filed.c:209 #: src/qt-console/main.cpp:155 #, c-format msgid "Please correct configuration file: %s\n" @@ -312,7 +312,7 @@ msgid " Connecting to Director %s:%d" msgstr "" -#: src/gnome2-console/console.c:505 src/qt-console/bcomm/dircomm.cpp:99 +#: src/gnome2-console/console.c:505 src/qt-console/bcomm/dircomm.cpp:100 #, c-format msgid "" "Connecting to Director %s:%d\n" @@ -324,8 +324,8 @@ msgid "Passphrase for Console \"%s\" TLS private key: " msgstr "" -#: src/gnome2-console/console.c:530 src/console/console.c:769 -#: src/wx-console/console_thread.cpp:399 src/qt-console/bcomm/dircomm.cpp:124 +#: src/gnome2-console/console.c:530 src/console/console.c:771 +#: src/wx-console/console_thread.cpp:399 src/qt-console/bcomm/dircomm.cpp:126 #, c-format msgid "Failed to initialize TLS context for Console \"%s\".\n" msgstr "" @@ -335,14 +335,14 @@ msgid "Passphrase for Director \"%s\" TLS private key: " msgstr "" -#: src/gnome2-console/console.c:552 src/console/console.c:789 -#: src/wx-console/console_thread.cpp:420 src/qt-console/bcomm/dircomm.cpp:146 +#: src/gnome2-console/console.c:552 src/console/console.c:791 +#: src/wx-console/console_thread.cpp:420 src/qt-console/bcomm/dircomm.cpp:148 #, c-format msgid "Failed to initialize TLS context for Director \"%s\".\n" msgstr "" #: src/gnome2-console/console.c:561 src/tray-monitor/tray-monitor.c:938 -#: src/wx-console/console_thread.cpp:428 src/qt-console/bcomm/dircomm.cpp:164 +#: src/wx-console/console_thread.cpp:428 src/qt-console/bcomm/dircomm.cpp:166 msgid "Director daemon" msgstr "" @@ -459,8 +459,8 @@ #: src/console/console_conf.c:157 src/console/console_conf.c:233 #: src/console/console_conf.c:278 src/console/console_conf.c:305 #: src/stored/stored_conf.c:554 src/stored/stored_conf.c:642 -#: src/stored/stored_conf.c:677 src/filed/filed_conf.c:329 -#: src/filed/filed_conf.c:394 src/filed/filed_conf.c:424 +#: src/stored/stored_conf.c:677 src/filed/filed_conf.c:333 +#: src/filed/filed_conf.c:398 src/filed/filed_conf.c:428 #: src/qt-console/bat_conf.cpp:161 src/qt-console/bat_conf.cpp:239 #: src/qt-console/bat_conf.cpp:287 src/qt-console/bat_conf.cpp:317 #, c-format @@ -468,16 +468,16 @@ msgstr "" #: src/gnome2-console/console_conf.c:258 src/wx-console/console_conf.c:265 -#: src/console/console_conf.c:259 src/dird/dird_conf.c:1341 -#: src/dird/dird_conf.c:1356 src/tray-monitor/tray_conf.c:288 -#: src/filed/filed_conf.c:357 src/qt-console/bat_conf.cpp:265 +#: src/console/console_conf.c:259 src/dird/dird_conf.c:1345 +#: src/dird/dird_conf.c:1360 src/tray-monitor/tray_conf.c:288 +#: src/filed/filed_conf.c:361 src/qt-console/bat_conf.cpp:265 #, c-format msgid "%s item is required in %s resource, but not found.\n" msgstr "" #: src/gnome2-console/console_conf.c:327 src/wx-console/console_conf.c:328 -#: src/console/console_conf.c:322 src/dird/dird_conf.c:1578 -#: src/tray-monitor/tray_conf.c:372 src/filed/filed_conf.c:442 +#: src/console/console_conf.c:322 src/dird/dird_conf.c:1582 +#: src/tray-monitor/tray_conf.c:372 src/filed/filed_conf.c:446 #: src/qt-console/bat_conf.cpp:334 #, c-format msgid "Attempt to define second %s resource named \"%s\" is not permitted.\n" @@ -555,7 +555,7 @@ msgid "Error in %s: ERR=%s\n" msgstr "" -#: src/findlib/match.c:202 src/tools/testfind.c:639 src/filed/job.c:1134 +#: src/findlib/match.c:202 src/tools/testfind.c:639 src/filed/job.c:1150 #, c-format msgid "Unknown include/exclude option: %c\n" msgstr "" @@ -902,137 +902,141 @@ msgid "NetBSD Specific Extended attribs" msgstr "" -#: src/console/console.c:119 +#: src/console/console.c:120 #, c-format msgid "" "\n" "Version: " msgstr "" -#: src/console/console.c:168 +#: src/console/console.c:169 msgid "input from file" msgstr "" -#: src/console/console.c:169 +#: src/console/console.c:170 msgid "output to file" msgstr "" -#: src/console/console.c:170 src/dird/ua_cmds.c:136 +#: src/console/console.c:171 src/dird/ua_cmds.c:142 msgid "quit" msgstr "" -#: src/console/console.c:171 +#: src/console/console.c:172 msgid "output to file and terminal" msgstr "" -#: src/console/console.c:172 +#: src/console/console.c:173 msgid "sleep specified time" msgstr "" -#: src/console/console.c:173 src/dird/ua_cmds.c:148 +#: src/console/console.c:174 src/dird/ua_cmds.c:159 msgid "print current time" msgstr "" -#: src/console/console.c:174 +#: src/console/console.c:175 msgid "print Console's version" msgstr "" -#: src/console/console.c:175 +#: src/console/console.c:176 msgid "echo command string" msgstr "" -#: src/console/console.c:176 +#: src/console/console.c:177 msgid "execute an external command" msgstr "" -#: src/console/console.c:177 src/dird/ua_cmds.c:124 +#: src/console/console.c:178 src/dird/ua_cmds.c:127 msgid "exit = quit" msgstr "" -#: src/console/console.c:178 +#: src/console/console.c:179 msgid "zed_keys = use zed keys instead of bash keys" msgstr "" #: src/console/console.c:180 +msgid "help listing" +msgstr "" + +#: src/console/console.c:182 msgid "set command separator" msgstr "" -#: src/console/console.c:214 +#: src/console/console.c:216 msgid ": is an invalid command\n" msgstr "" -#: src/console/console.c:358 +#: src/console/console.c:360 msgid "Illegal separator character.\n" msgstr "" -#: src/console/console.c:386 +#: src/console/console.c:388 msgid "Command logic problem\n" msgstr "" -#: src/console/console.c:693 +#: src/console/console.c:695 msgid "Available Directors:\n" msgstr "" -#: src/console/console.c:697 +#: src/console/console.c:699 #, c-format msgid "%2d: %s at %s:%d\n" msgstr "" -#: src/console/console.c:701 +#: src/console/console.c:703 msgid "Select Director by entering a number: " msgstr "" -#: src/console/console.c:706 +#: src/console/console.c:708 #, c-format msgid "%s is not a number. You must enter a number between 1 and %d\n" msgstr "" -#: src/console/console.c:712 +#: src/console/console.c:714 #, c-format msgid "You must enter a number between 1 and %d\n" msgstr "" -#: src/console/console.c:752 src/tray-monitor/tray-monitor.c:936 +#: src/console/console.c:754 src/tray-monitor/tray-monitor.c:936 #, c-format msgid "Connecting to Director %s:%d\n" msgstr "" -#: src/console/console.c:819 +#: src/console/console.c:821 msgid "Enter a period to cancel a command.\n" msgstr "" -#: src/console/console.c:965 +#: src/console/console.c:967 msgid "Too many arguments on input command.\n" msgstr "" -#: src/console/console.c:969 +#: src/console/console.c:971 msgid "First argument to input command must be a filename.\n" msgstr "" -#: src/console/console.c:975 +#: src/console/console.c:977 #, c-format msgid "Cannot open file %s for input. ERR=%s\n" msgstr "" -#: src/console/console.c:1005 +#: src/console/console.c:1007 msgid "Too many arguments on output/tee command.\n" msgstr "" -#: src/console/console.c:1022 +#: src/console/console.c:1024 #, c-format msgid "Cannot open file %s for output. ERR=%s\n" msgstr "" -#: src/console/console.c:1041 +#: src/console/console.c:1043 msgid "Too many arguments. Enclose command in double quotes.\n" msgstr "" -#: src/console/console.c:1050 +#: src/console/console.c:1052 #, c-format msgid "Cannot popen(\"%s\", \"r\"): ERR=%s\n" msgstr "" -#: src/console/console.c:1062 src/stored/autochanger.c:586 +#: src/console/console.c:1064 src/stored/autochanger.c:586 #, c-format msgid "Autochanger error: ERR=%s\n" msgstr "" @@ -1171,77 +1175,77 @@ msgid "Cannot purge Volume with VolStatus=%s\n" msgstr "" -#: src/dird/verify.c:85 src/dird/verify.c:297 +#: src/dird/verify.c:87 src/dird/verify.c:300 #, c-format msgid "Unimplemented Verify level %d(%c)\n" msgstr "" -#: src/dird/verify.c:140 +#: src/dird/verify.c:142 msgid "" "Unable to find JobId of previous InitCatalog Job.\n" "Please run a Verify with Level=InitCatalog before\n" "running the current Job.\n" msgstr "" -#: src/dird/verify.c:145 +#: src/dird/verify.c:147 msgid "Unable to find JobId of previous Job for this client.\n" msgstr "" -#: src/dird/verify.c:161 +#: src/dird/verify.c:163 #, c-format msgid "Could not get job record for previous Job. ERR=%s" msgstr "" -#: src/dird/verify.c:167 +#: src/dird/verify.c:169 #, c-format msgid "Last Job %d did not terminate normally. JobStatus=%c\n" msgstr "" -#: src/dird/verify.c:171 +#: src/dird/verify.c:173 #, c-format msgid "Verifying against JobId=%d Job=%s\n" msgstr "" -#: src/dird/verify.c:200 +#: src/dird/verify.c:202 #, c-format msgid "Start Verify JobId=%s Level=%s Job=%s\n" msgstr "" -#: src/dird/verify.c:284 +#: src/dird/verify.c:287 msgid "Deprecated feature ... use bootstrap.\n" msgstr "" -#: src/dird/verify.c:351 +#: src/dird/verify.c:354 #, c-format msgid "Unimplemented verify level %d\n" msgstr "" -#: src/dird/verify.c:403 +#: src/dird/verify.c:406 msgid "Verify OK" msgstr "" -#: src/dird/verify.c:407 +#: src/dird/verify.c:410 msgid "*** Verify Error ***" msgstr "" -#: src/dird/verify.c:411 +#: src/dird/verify.c:414 msgid "Verify warnings" msgstr "" -#: src/dird/verify.c:414 +#: src/dird/verify.c:417 msgid "Verify Canceled" msgstr "" -#: src/dird/verify.c:417 +#: src/dird/verify.c:420 msgid "Verify Differences" msgstr "" -#: src/dird/verify.c:422 +#: src/dird/verify.c:425 #, c-format msgid "Inappropriate term code: %d %c\n" msgstr "" -#: src/dird/verify.c:436 +#: src/dird/verify.c:439 #, c-format msgid "" "%s %s %s (%s): %s\n" @@ -1264,7 +1268,7 @@ "\n" msgstr "" -#: src/dird/verify.c:471 +#: src/dird/verify.c:474 #, c-format msgid "" "%s %s %s (%s): %s\n" @@ -1285,91 +1289,91 @@ "\n" msgstr "" -#: src/dird/verify.c:549 +#: src/dird/verify.c:552 #, c-format msgid "" "bird<filed: bad attributes, expected 3 fields got %d\n" " mslen=%d msg=%s\n" msgstr "" -#: src/dird/verify.c:594 +#: src/dird/verify.c:597 #, c-format msgid "New file: %s\n" msgstr "" -#: src/dird/verify.c:595 +#: src/dird/verify.c:598 #, c-format msgid "File not in catalog: %s\n" msgstr "" -#: src/dird/verify.c:619 +#: src/dird/verify.c:622 #, c-format msgid " st_ino differ. Cat: %s File: %s\n" msgstr "" -#: src/dird/verify.c:628 +#: src/dird/verify.c:631 #, c-format msgid " st_mode differ. Cat: %x File: %x\n" msgstr "" -#: src/dird/verify.c:636 +#: src/dird/verify.c:639 #, c-format msgid " st_nlink differ. Cat: %d File: %d\n" msgstr "" -#: src/dird/verify.c:644 +#: src/dird/verify.c:647 #, c-format msgid " st_uid differ. Cat: %u File: %u\n" msgstr "" -#: src/dird/verify.c:652 +#: src/dird/verify.c:655 #, c-format msgid " st_gid differ. Cat: %u File: %u\n" msgstr "" -#: src/dird/verify.c:660 +#: src/dird/verify.c:663 #, c-format msgid " st_size differ. Cat: %s File: %s\n" msgstr "" -#: src/dird/verify.c:669 +#: src/dird/verify.c:672 msgid " st_atime differs\n" msgstr "" -#: src/dird/verify.c:676 +#: src/dird/verify.c:679 msgid " st_mtime differs\n" msgstr "" -#: src/dird/verify.c:683 +#: src/dird/verify.c:686 msgid " st_ctime differs\n" msgstr "" -#: src/dird/verify.c:690 +#: src/dird/verify.c:693 #, c-format msgid " st_size decrease. Cat: %s File: %s\n" msgstr "" -#: src/dird/verify.c:720 +#: src/dird/verify.c:723 #, c-format msgid "MD5/SHA1 index %d not same as attributes %d\n" msgstr "" -#: src/dird/verify.c:728 +#: src/dird/verify.c:731 #, c-format msgid " %s differs. File=%s Cat=%s\n" msgstr "" -#: src/dird/verify.c:739 +#: src/dird/verify.c:742 #, c-format msgid "bdird<filed: bad attributes from filed n=%d : %s\n" msgstr "" -#: src/dird/verify.c:776 +#: src/dird/verify.c:779 #, c-format msgid "The following files are in the Catalog but not on %s:\n" msgstr "" -#: src/dird/verify.c:791 src/tools/testfind.c:414 +#: src/dird/verify.c:794 src/tools/testfind.c:414 #, c-format msgid "File: %s\n" msgstr "" @@ -1405,7 +1409,7 @@ msgstr "" #: src/dird/jobq.c:222 src/dird/job.c:114 src/stored/stored.c:524 -#: src/stored/dircmd.c:196 +#: src/stored/dircmd.c:198 #, c-format msgid "Unable to init job cond variable: ERR=%s\n" msgstr "" @@ -1420,21 +1424,21 @@ msgid "pthread_cond_signal: ERR=%s\n" msgstr "" -#: src/dird/jobq.c:363 +#: src/dird/jobq.c:365 #, c-format msgid "pthread_create: ERR=%s\n" msgstr "" -#: src/dird/jobq.c:636 +#: src/dird/jobq.c:637 #, c-format msgid "Rescheduled Job %s at %s to re-run in %d seconds (%s).\n" msgstr "" -#: src/dird/jobq.c:675 src/dird/jobq.c:680 +#: src/dird/jobq.c:676 src/dird/jobq.c:681 msgid "previous Job" msgstr "" -#: src/dird/jobq.c:717 +#: src/dird/jobq.c:718 #, c-format msgid "" "Job canceled. Attempt to read and write same device.\n" @@ -1443,192 +1447,198 @@ #: src/dird/ua_cmds.c:115 msgid "" -"add [pool=<pool-name> storage=<storage> jobid=<JobId>] -- add media to a pool" +"add [pool=<pool-name> storage=<storage> jobid=<JobId>] -- \n" +" add media to a pool" msgstr "" -#: src/dird/ua_cmds.c:116 +#: src/dird/ua_cmds.c:117 msgid "autodisplay [on|off] -- console messages" msgstr "" -#: src/dird/ua_cmds.c:117 +#: src/dird/ua_cmds.c:118 msgid "automount [on|off] -- after label" msgstr "" -#: src/dird/ua_cmds.c:118 +#: src/dird/ua_cmds.c:119 msgid "" -"cancel [jobid=<number> job=<job-name> ujobid=<unique-jobid>] -- cancel a job" +"cancel [jobid=<number> job=<job-name> ujobid=<unique-jobid>] -- \n" +" cancel a job" msgstr "" -#: src/dird/ua_cmds.c:119 +#: src/dird/ua_cmds.c:121 msgid "create [pool=<pool-name>] -- create DB Pool from resource" msgstr "" -#: src/dird/ua_cmds.c:120 +#: src/dird/ua_cmds.c:122 msgid "delete [volume=<vol-name> pool=<pool-name> job jobid=<id>]" msgstr "" -#: src/dird/ua_cmds.c:121 +#: src/dird/ua_cmds.c:123 msgid "disable <job=name> -- disable a job" msgstr "" -#: src/dird/ua_cmds.c:122 +#: src/dird/ua_cmds.c:124 msgid "enable <job=name> -- enable a job" msgstr "" -#: src/dird/ua_cmds.c:123 -msgid "performs FileSet estimate, listing gives full listing" +#: src/dird/ua_cmds.c:125 +msgid "" +"performs FileSet estimate, listing gives full listing\n" +" you can make it more accurate with accurate=yes/no" msgstr "" -#: src/dird/ua_cmds.c:125 +#: src/dird/ua_cmds.c:128 msgid "gui [on|off] -- non-interactive gui mode" msgstr "" -#: src/dird/ua_cmds.c:126 src/stored/btape.c:2551 +#: src/dird/ua_cmds.c:129 src/stored/btape.c:2550 msgid "print this command" msgstr "" -#: src/dird/ua_cmds.c:127 +#: src/dird/ua_cmds.c:130 msgid "label a tape" msgstr "" -#: src/dird/ua_cmds.c:128 +#: src/dird/ua_cmds.c:131 msgid "" -"list [pools | jobs | jobtotals | media <pool=pool-name> | files <jobid=nn> | " -"copies <jobid=nn>]; from catalog" +"list [pools | jobs | jobtotals | media <pool=pool-name> | \n" +" files <jobid=nn> | copies <jobid=nn>]; from catalog" msgstr "" -#: src/dird/ua_cmds.c:129 +#: src/dird/ua_cmds.c:133 msgid "full or long list like list command" msgstr "" -#: src/dird/ua_cmds.c:130 +#: src/dird/ua_cmds.c:134 msgid "messages" msgstr "" -#: src/dird/ua_cmds.c:131 +#: src/dird/ua_cmds.c:135 msgid "print current memory usage" msgstr "" -#: src/dird/ua_cmds.c:132 +#: src/dird/ua_cmds.c:136 msgid "" -"mount storage=<storage-name> [ slot=<num> ] [ drive=<num> ] or mount " -"[ jobid=<id> | job=<job-name> ]" +"mount storage=<storage-name> [ slot=<num> ] [ drive=<num> ] \n" +" or mount [ jobid=<id> | job=<job-name> ]" msgstr "" -#: src/dird/ua_cmds.c:133 +#: src/dird/ua_cmds.c:138 msgid "" -"prune files|jobs|volume client=<client-name> volume=<volume-name> prune " -"expired records from catalog" +"prune files|jobs|volume client=<client-name> volume=<volume-name> \n" +" prune expired records from catalog" msgstr "" -#: src/dird/ua_cmds.c:134 +#: src/dird/ua_cmds.c:140 msgid "purge records from catalog" msgstr "" -#: src/dird/ua_cmds.c:135 +#: src/dird/ua_cmds.c:141 msgid "python control commands" msgstr "" -#: src/dird/ua_cmds.c:137 +#: src/dird/ua_cmds.c:143 msgid "query catalog" msgstr "" -#: src/dird/ua_cmds.c:138 +#: src/dird/ua_cmds.c:144 msgid "restore files" msgstr "" -#: src/dird/ua_cmds.c:139 +#: src/dird/ua_cmds.c:145 msgid "" -"relabel storage=<storage-name> oldvolume=<old-volume-name> volume=<newvolume-" -"name> -- relabel a tape" +"relabel storage=<storage-name> oldvolume=<old-volume-name> \n" +" volume=<newvolume-name> -- relabel a tape" msgstr "" -#: src/dird/ua_cmds.c:140 +#: src/dird/ua_cmds.c:147 msgid "release <storage-name>" msgstr "" -#: src/dird/ua_cmds.c:141 +#: src/dird/ua_cmds.c:148 msgid "reload conf file" msgstr "" -#: src/dird/ua_cmds.c:142 +#: src/dird/ua_cmds.c:149 msgid "" -"run job=<job-name> client=<client-name> fileset=<FileSet-name> level=<level-" -"keyword> storage=<storage-name> where=<directory-prefix> when=<universal-" -"time-specification> yes" +"run job=<job-name> client=<client-name> fileset=<FileSet-name> \n" +" level=<level-keyword> storage=<storage-name> where=<directory-" +"prefix> \n" +" when=<universal-time-specification> yes" msgstr "" -#: src/dird/ua_cmds.c:143 +#: src/dird/ua_cmds.c:152 msgid "" -"status [all | dir=<dir-name> | director | client=<client-name> | " -"storage=<storage-name> | days=nnn]" +"status [all | dir=<dir-name> | director | client=<client-name> |\n" +" storage=<storage-name> | days=nnn]" msgstr "" -#: src/dird/ua_cmds.c:144 +#: src/dird/ua_cmds.c:154 msgid "" -"setdebug level=nn [trace=0/1 client=<client-name> | dir | director | " -"storage=<storage-name> | all] -- sets debug level" +"setdebug level=nn [trace=0/1 client=<client-name> |\n" +" dir | director | storage=<storage-name> | all] -- sets debug " +"level" msgstr "" -#: src/dird/ua_cmds.c:145 +#: src/dird/ua_cmds.c:156 msgid "sets new client address -- if authorized" msgstr "" -#: src/dird/ua_cmds.c:146 +#: src/dird/ua_cmds.c:157 msgid "show (resource records) [jobs | pools | ... | all]" msgstr "" -#: src/dird/ua_cmds.c:147 +#: src/dird/ua_cmds.c:158 msgid "use SQL to query catalog" msgstr "" -#: src/dird/ua_cmds.c:149 +#: src/dird/ua_cmds.c:160 msgid "turn on/off trace to file" msgstr "" -#: src/dird/ua_cmds.c:150 +#: src/dird/ua_cmds.c:161 msgid "" -"unmount storage=<storage-name> [ drive=<num> ] or unmount [ jobid=<id> | " -"job=<job-name> ]" +"unmount storage=<storage-name> [ drive=<num> ] \n" +" or unmount [ jobid=<id> | job=<job-name> ]" msgstr "" -#: src/dird/ua_cmds.c:151 +#: src/dird/ua_cmds.c:163 msgid "umount - for old-time Unix guys, see unmount" msgstr "" -#: src/dird/ua_cmds.c:152 +#: src/dird/ua_cmds.c:164 msgid "update Volume, Pool or slots" msgstr "" -#: src/dird/ua_cmds.c:153 +#: src/dird/ua_cmds.c:165 msgid "use <database-name> -- catalog xxx" msgstr "" -#: src/dird/ua_cmds.c:154 +#: src/dird/ua_cmds.c:166 msgid "does variable expansion" msgstr "" -#: src/dird/ua_cmds.c:155 +#: src/dird/ua_cmds.c:167 msgid "print Director version" msgstr "" -#: src/dird/ua_cmds.c:156 +#: src/dird/ua_cmds.c:168 msgid "" -"wait [<jobname=name> | <jobid=nnn> | <ujobid=complete_name>] -- wait until " -"no jobs are running" +"wait [<jobname=name> | <jobid=nnn> | <ujobid=complete_name>] -- \n" +" wait until no jobs are running" msgstr "" -#: src/dird/ua_cmds.c:191 src/dird/ua_dotcmds.c:121 +#: src/dird/ua_cmds.c:205 src/dird/ua_dotcmds.c:121 #, c-format msgid "Can't use %s command in a runscript" msgstr "" -#: src/dird/ua_cmds.c:202 +#: src/dird/ua_cmds.c:216 #, c-format msgid "%s: is an invalid command.\n" msgstr "" -#: src/dird/ua_cmds.c:243 +#: src/dird/ua_cmds.c:257 msgid "" "You probably don't want to be using this command since it\n" "creates database records without labeling the Volumes.\n" @@ -1636,107 +1646,107 @@ "\n" msgstr "" -#: src/dird/ua_cmds.c:262 +#: src/dird/ua_cmds.c:276 #, c-format msgid "Pool already has maximum volumes=%d\n" msgstr "" -#: src/dird/ua_cmds.c:263 +#: src/dird/ua_cmds.c:277 msgid "Enter new maximum (zero for unlimited): " msgstr "" -#: src/dird/ua_cmds.c:283 +#: src/dird/ua_cmds.c:297 #, c-format msgid "Enter number of Volumes to create. 0=>fixed name. Max=%d: " msgstr "" -#: src/dird/ua_cmds.c:289 +#: src/dird/ua_cmds.c:303 #, c-format msgid "The number must be between 0 and %d\n" msgstr "" -#: src/dird/ua_cmds.c:297 +#: src/dird/ua_cmds.c:311 msgid "Enter Volume name: " msgstr "" -#: src/dird/ua_cmds.c:301 +#: src/dird/ua_cmds.c:315 msgid "Enter base volume name: " msgstr "" -#: src/dird/ua_cmds.c:310 src/dird/ua_label.c:645 +#: src/dird/ua_cmds.c:324 src/dird/ua_label.c:645 msgid "Volume name too long.\n" msgstr "" -#: src/dird/ua_cmds.c:314 src/dird/ua_label.c:651 src/lib/edit.c:476 +#: src/dird/ua_cmds.c:328 src/dird/ua_label.c:651 src/lib/edit.c:476 msgid "Volume name must be at least one character long.\n" msgstr "" -#: src/dird/ua_cmds.c:325 +#: src/dird/ua_cmds.c:339 msgid "Enter the starting number: " msgstr "" -#: src/dird/ua_cmds.c:330 +#: src/dird/ua_cmds.c:344 msgid "Start number must be greater than zero.\n" msgstr "" -#: src/dird/ua_cmds.c:341 +#: src/dird/ua_cmds.c:355 msgid "Enter slot (0 for none): " msgstr "" -#: src/dird/ua_cmds.c:345 +#: src/dird/ua_cmds.c:359 msgid "InChanger? yes/no: " msgstr "" -#: src/dird/ua_cmds.c:373 +#: src/dird/ua_cmds.c:387 #, c-format msgid "%d Volumes created in pool %s\n" msgstr "" -#: src/dird/ua_cmds.c:389 src/dird/ua_cmds.c:1085 +#: src/dird/ua_cmds.c:403 src/dird/ua_cmds.c:1099 msgid "Turn on or off? " msgstr "" -#: src/dird/ua_cmds.c:420 +#: src/dird/ua_cmds.c:434 #, c-format msgid "JobId %s is not running. Use Job name to cancel inactive jobs.\n" msgstr "" -#: src/dird/ua_cmds.c:429 src/dird/ua_cmds.c:439 +#: src/dird/ua_cmds.c:443 src/dird/ua_cmds.c:453 #, c-format msgid "Warning Job %s is not running. Continuing anyway ...\n" msgstr "" -#: src/dird/ua_cmds.c:449 src/dird/ua_cmds.c:761 src/dird/ua_cmds.c:807 +#: src/dird/ua_cmds.c:463 src/dird/ua_cmds.c:775 src/dird/ua_cmds.c:821 msgid "Unauthorized command from this console.\n" msgstr "" -#: src/dird/ua_cmds.c:474 src/stored/status.c:474 src/filed/status.c:236 +#: src/dird/ua_cmds.c:488 src/stored/status.c:474 src/filed/status.c:236 msgid "No Jobs running.\n" msgstr "" -#: src/dird/ua_cmds.c:476 +#: src/dird/ua_cmds.c:490 msgid "None of your jobs are running.\n" msgstr "" -#: src/dird/ua_cmds.c:481 +#: src/dird/ua_cmds.c:495 msgid "Select Job:\n" msgstr "" -#: src/dird/ua_cmds.c:490 +#: src/dird/ua_cmds.c:504 #, c-format msgid "JobId=%s Job=%s" msgstr "" -#: src/dird/ua_cmds.c:495 src/dird/dird_conf.c:641 src/dird/ua_prune.c:405 +#: src/dird/ua_cmds.c:509 src/dird/dird_conf.c:642 src/dird/ua_prune.c:405 #: src/dird/ua_run.c:211 src/dird/ua_select.c:263 src/dird/ua_select.c:286 msgid "Job" msgstr "" -#: src/dird/ua_cmds.c:495 +#: src/dird/ua_cmds.c:509 msgid "Choose Job to cancel" msgstr "" -#: src/dird/ua_cmds.c:500 +#: src/dird/ua_cmds.c:514 #, c-format msgid "" "Cancel: %s\n" @@ -1744,111 +1754,111 @@ "%s" msgstr "" -#: src/dird/ua_cmds.c:501 +#: src/dird/ua_cmds.c:515 msgid "Confirm cancel?" msgstr "" -#: src/dird/ua_cmds.c:507 +#: src/dird/ua_cmds.c:521 msgid "Confirm cancel (yes/no): " msgstr "" -#: src/dird/ua_cmds.c:515 src/dird/ua_cmds.c:802 src/dird/ua_cmds.c:1148 +#: src/dird/ua_cmds.c:529 src/dird/ua_cmds.c:816 src/dird/ua_cmds.c:1163 #, c-format msgid "Job \"%s\" not found.\n" msgstr "" -#: src/dird/ua_cmds.c:612 +#: src/dird/ua_cmds.c:626 #, c-format msgid "" "Can't set %s RecyclePool to %s, %s is not in database.\n" "Try to update it with 'update pool=%s'\n" msgstr "" -#: src/dird/ua_cmds.c:630 +#: src/dird/ua_cmds.c:644 #, c-format msgid "" "Can't set %s ScratchPool to %s, %s is not in database.\n" "Try to update it with 'update pool=%s'\n" msgstr "" -#: src/dird/ua_cmds.c:699 +#: src/dird/ua_cmds.c:713 #, c-format msgid "" "Error: Pool %s already exists.\n" "Use update to change it.\n" msgstr "" -#: src/dird/ua_cmds.c:710 +#: src/dird/ua_cmds.c:724 #, c-format msgid "Pool %s created.\n" msgstr "" -#: src/dird/ua_cmds.c:740 +#: src/dird/ua_cmds.c:754 msgid "Python interpreter restarted.\n" msgstr "" -#: src/dird/ua_cmds.c:743 src/dird/ua_cmds.c:1356 +#: src/dird/ua_cmds.c:757 src/dird/ua_cmds.c:1393 msgid "Nothing done.\n" msgstr "" -#: src/dird/ua_cmds.c:768 src/dird/ua_cmds.c:1135 src/dird/ua_run.c:1359 +#: src/dird/ua_cmds.c:782 src/dird/ua_cmds.c:1150 src/dird/ua_run.c:1359 #, c-format msgid "Client \"%s\" not found.\n" msgstr "" -#: src/dird/ua_cmds.c:777 +#: src/dird/ua_cmds.c:791 #, c-format msgid "Client \"%s\" address set to %s\n" msgstr "" -#: src/dird/ua_cmds.c:811 +#: src/dird/ua_cmds.c:825 #, c-format msgid "Job \"%s\" %sabled\n" msgstr "" -#: src/dird/ua_cmds.c:835 src/dird/ua_cmds.c:1530 src/dird/ua_dotcmds.c:176 -#: src/dird/job.c:149 src/dird/job.c:155 src/dird/job.c:1099 -#: src/dird/job.c:1103 src/dird/ua_status.c:356 +#: src/dird/ua_cmds.c:849 src/dird/ua_cmds.c:1567 src/dird/ua_dotcmds.c:176 +#: src/dird/job.c:149 src/dird/job.c:155 src/dird/job.c:1104 +#: src/dird/job.c:1108 src/dird/ua_status.c:356 msgid "unknown source" msgstr "" -#: src/dird/ua_cmds.c:838 src/dird/ua_dotcmds.c:179 src/dird/ua_status.c:359 +#: src/dird/ua_cmds.c:852 src/dird/ua_dotcmds.c:179 src/dird/ua_status.c:359 #, c-format msgid "Connecting to Storage daemon %s at %s:%d\n" msgstr "" -#: src/dird/ua_cmds.c:841 src/dird/ua_cmds.c:1541 src/dird/ua_dotcmds.c:182 -#: src/dird/job.c:431 src/dird/ua_label.c:759 +#: src/dird/ua_cmds.c:855 src/dird/ua_cmds.c:1578 src/dird/ua_dotcmds.c:182 +#: src/dird/job.c:436 src/dird/ua_label.c:759 msgid "Failed to connect to Storage daemon.\n" msgstr "" -#: src/dird/ua_cmds.c:844 src/dird/ua_dotcmds.c:185 src/dird/ua_status.c:370 +#: src/dird/ua_cmds.c:858 src/dird/ua_dotcmds.c:185 src/dird/ua_status.c:370 msgid "Connected to storage daemon\n" msgstr "" -#: src/dird/ua_cmds.c:864 src/dird/ua_cmds.c:1243 src/dird/ua_dotcmds.c:205 +#: src/dird/ua_cmds.c:878 src/dird/ua_cmds.c:1264 src/dird/ua_dotcmds.c:205 #: src/dird/ua_status.c:401 #, c-format msgid "Connecting to Client %s at %s:%d\n" msgstr "" -#: src/dird/ua_cmds.c:867 src/dird/ua_cmds.c:1246 src/dird/ua_dotcmds.c:208 +#: src/dird/ua_cmds.c:881 src/dird/ua_cmds.c:1267 src/dird/ua_dotcmds.c:208 msgid "Failed to connect to Client.\n" msgstr "" -#: src/dird/ua_cmds.c:980 +#: src/dird/ua_cmds.c:994 msgid "Enter new debug level: " msgstr "" -#: src/dird/ua_cmds.c:1046 src/dird/ua_dotcmds.c:284 +#: src/dird/ua_cmds.c:1060 src/dird/ua_dotcmds.c:284 msgid "Available daemons are: \n" msgstr "" -#: src/dird/ua_cmds.c:1047 src/dird/ua_dotcmds.c:285 +#: src/dird/ua_cmds.c:1061 src/dird/ua_dotcmds.c:285 msgid "Director" msgstr "" -#: src/dird/ua_cmds.c:1048 src/dird/ua_run.c:210 src/dird/ua_dotcmds.c:286 +#: src/dird/ua_cmds.c:1062 src/dird/ua_run.c:210 src/dird/ua_dotcmds.c:286 #: src/dird/ua_select.c:168 src/wx-console/wxbrestorepanel.cpp:339 #: src/wx-console/wxbrestorepanel.cpp:355 #: src/wx-console/wxbrestorepanel.cpp:479 @@ -1862,7 +1872,7 @@ msgid "Storage" msgstr "" -#: src/dird/ua_cmds.c:1049 src/dird/ua_run.c:216 src/dird/ua_dotcmds.c:287 +#: src/dird/ua_cmds.c:1063 src/dird/ua_run.c:216 src/dird/ua_dotcmds.c:287 #: src/dird/ua_select.c:311 src/dird/ua_select.c:420 #: src/wx-console/wxbrestorepanel.cpp:336 #: src/wx-console/wxbrestorepanel.cpp:354 @@ -1881,83 +1891,87 @@ msgid "Client" msgstr "" -#: src/dird/ua_cmds.c:1050 +#: src/dird/ua_cmds.c:1064 msgid "All" msgstr "" -#: src/dird/ua_cmds.c:1051 +#: src/dird/ua_cmds.c:1065 msgid "Select daemon type to set debug level" msgstr "" -#: src/dird/ua_cmds.c:1140 +#: src/dird/ua_cmds.c:1155 msgid "Client name missing.\n" msgstr "" -#: src/dird/ua_cmds.c:1152 src/dird/ua_cmds.c:1207 src/dird/ua_cmds.c:1913 +#: src/dird/ua_cmds.c:1167 src/dird/ua_cmds.c:1228 src/dird/ua_cmds.c:1950 #, c-format msgid "No authorization for Job \"%s\"\n" msgstr "" -#: src/dird/ua_cmds.c:1157 +#: src/dird/ua_cmds.c:1172 msgid "Job name missing.\n" msgstr "" -#: src/dird/ua_cmds.c:1166 +#: src/dird/ua_cmds.c:1181 #, c-format msgid "Fileset \"%s\" not found.\n" msgstr "" -#: src/dird/ua_cmds.c:1170 +#: src/dird/ua_cmds.c:1185 #, c-format msgid "No authorization for FileSet \"%s\"\n" msgstr "" -#: src/dird/ua_cmds.c:1175 +#: src/dird/ua_cmds.c:1190 msgid "Fileset name missing.\n" msgstr "" -#: src/dird/ua_cmds.c:1186 src/dird/ua_run.c:535 +#: src/dird/ua_cmds.c:1201 src/dird/ua_run.c:535 #, c-format msgid "Level \"%s\" not valid.\n" msgstr "" -#: src/dird/ua_cmds.c:1190 +#: src/dird/ua_cmds.c:1205 msgid "Level value missing.\n" msgstr "" -#: src/dird/ua_cmds.c:1203 +#: src/dird/ua_cmds.c:1211 +msgid "Invalid value for accurate. It must be yes or no.\n" +msgstr "" + +#: src/dird/ua_cmds.c:1224 msgid "No job specified.\n" msgstr "" -#: src/dird/ua_cmds.c:1251 +#: src/dird/ua_cmds.c:1272 msgid "Error sending include list.\n" msgstr "" -#: src/dird/ua_cmds.c:1256 +#: src/dird/ua_cmds.c:1277 msgid "Error sending exclude list.\n" msgstr "" -#: src/dird/ua_cmds.c:1342 +#: src/dird/ua_cmds.c:1379 msgid "" "In general it is not a good idea to delete either a\n" "Pool or a Volume since they may contain data.\n" "\n" msgstr "" -#: src/dird/ua_cmds.c:1345 +#: src/dird/ua_cmds.c:1382 msgid "Choose catalog item to delete" msgstr "" -#: src/dird/ua_cmds.c:1413 +#: src/dird/ua_cmds.c:1450 msgid "Enter JobId to delete: " msgstr "" -#: src/dird/ua_cmds.c:1448 +#: src/dird/ua_cmds.c:1485 #, c-format msgid "Job %s and associated records deleted from the catalog.\n" msgstr "" -#: src/dird/ua_cmds.c:1462 +#: src/dird/ua_cmds.c:1499 #, c-format msgid "" "\n" @@ -1965,77 +1979,77 @@ "and all Jobs saved on that volume from the Catalog\n" msgstr "" -#: src/dird/ua_cmds.c:1469 +#: src/dird/ua_cmds.c:1506 #, c-format msgid "Are you sure you want to delete Volume \"%s\"? (yes/no): " msgstr "" -#: src/dird/ua_cmds.c:1494 +#: src/dird/ua_cmds.c:1531 #, c-format msgid "Are you sure you want to delete Pool \"%s\"? (yes/no): " msgstr "" -#: src/dird/ua_cmds.c:1608 +#: src/dird/ua_cmds.c:1645 #, c-format msgid "Using Catalog name=%s DB=%s\n" msgstr "" -#: src/dird/ua_cmds.c:1676 +#: src/dird/ua_cmds.c:1713 msgid "ERR: Can't open db\n" msgstr "" -#: src/dird/ua_cmds.c:1723 +#: src/dird/ua_cmds.c:1760 msgid "Wait on mount timed out\n" msgstr "" -#: src/dird/ua_cmds.c:1733 +#: src/dird/ua_cmds.c:1770 msgid "ERR: Job was not found\n" msgstr "" -#: src/dird/ua_cmds.c:1810 src/dird/ua_tree.c:667 src/stored/btape.c:2598 +#: src/dird/ua_cmds.c:1847 src/dird/ua_tree.c:667 src/stored/btape.c:2597 #, c-format msgid "" " Command Description\n" " ======= ===========\n" msgstr "" -#: src/dird/ua_cmds.c:1812 +#: src/dird/ua_cmds.c:1849 #, c-format msgid " %-10s %s\n" msgstr "" -#: src/dird/ua_cmds.c:1814 +#: src/dird/ua_cmds.c:1851 msgid "" "\n" "When at a prompt, entering a period cancels the command.\n" "\n" msgstr "" -#: src/dird/ua_cmds.c:1831 src/filed/status.c:84 +#: src/dird/ua_cmds.c:1868 src/filed/status.c:84 #, c-format msgid "%s Version: %s (%s) %s %s %s %s\n" msgstr "" -#: src/dird/ua_cmds.c:1874 src/dird/ua_cmds.c:1901 src/dird/ua_cmds.c:1923 +#: src/dird/ua_cmds.c:1911 src/dird/ua_cmds.c:1938 src/dird/ua_cmds.c:1960 #, c-format msgid "No authorization for Catalog \"%s\"\n" msgstr "" -#: src/dird/ua_cmds.c:1891 +#: src/dird/ua_cmds.c:1928 #, c-format msgid "No authorization for Client \"%s\"\n" msgstr "" -#: src/dird/ua_cmds.c:1946 src/dird/ua_select.c:221 +#: src/dird/ua_cmds.c:1983 src/dird/ua_select.c:221 msgid "Could not find a Catalog resource\n" msgstr "" -#: src/dird/ua_cmds.c:1960 +#: src/dird/ua_cmds.c:1997 #, c-format msgid "Could not open catalog database \"%s\".\n" msgstr "" -#: src/dird/ua_cmds.c:1970 +#: src/dird/ua_cmds.c:2007 #, c-format msgid "Using Catalog \"%s\"\n" msgstr "" @@ -2120,8 +2134,8 @@ msgid "Invalid Catalog request: %s" msgstr "" -#: src/dird/catreq.c:409 src/dird/catreq.c:488 src/dird/fd_cmds.c:695 -#: src/dird/fd_cmds.c:753 src/cats/sql.c:445 +#: src/dird/catreq.c:409 src/dird/catreq.c:488 src/dird/fd_cmds.c:688 +#: src/dird/fd_cmds.c:746 src/cats/sql.c:445 #, c-format msgid "Attribute create error. %s" msgstr "" @@ -2151,8 +2165,8 @@ msgid "Invalid Catalog Update; DB not open: %s" msgstr "" -#: src/dird/catreq.c:574 src/dird/catreq.c:587 src/lib/bsock.c:553 -#: src/lib/bsock.c:569 +#: src/dird/catreq.c:574 src/dird/catreq.c:587 src/lib/bsock.c:586 +#: src/lib/bsock.c:602 #, c-format msgid "fread attr spool error. ERR=%s\n" msgstr "" @@ -2194,55 +2208,55 @@ msgid "Run queue" msgstr "" -#: src/dird/dird_conf.c:550 src/tray-monitor/tray_conf.c:168 +#: src/dird/dird_conf.c:551 src/tray-monitor/tray_conf.c:168 #, c-format msgid "No %s resource defined\n" msgstr "" -#: src/dird/dird_conf.c:559 +#: src/dird/dird_conf.c:560 #, c-format msgid "Director: name=%s MaxJobs=%d FDtimeout=%s SDtimeout=%s\n" msgstr "" -#: src/dird/dird_conf.c:564 +#: src/dird/dird_conf.c:565 #, c-format msgid " query_file=%s\n" msgstr "" -#: src/dird/dird_conf.c:567 src/dird/dird_conf.c:587 src/dird/dird_conf.c:601 -#: src/dird/dird_conf.c:660 src/dird/dird_conf.c:664 src/dird/dird_conf.c:668 -#: src/dird/dird_conf.c:698 src/dird/dird_conf.c:715 src/dird/dird_conf.c:719 -#: src/dird/dird_conf.c:723 src/dird/dird_conf.c:727 src/dird/dird_conf.c:731 -#: src/dird/dird_conf.c:744 src/dird/dird_conf.c:964 src/dird/dird_conf.c:971 +#: src/dird/dird_conf.c:568 src/dird/dird_conf.c:588 src/dird/dird_conf.c:602 +#: src/dird/dird_conf.c:661 src/dird/dird_conf.c:665 src/dird/dird_conf.c:669 +#: src/dird/dird_conf.c:699 src/dird/dird_conf.c:716 src/dird/dird_conf.c:720 +#: src/dird/dird_conf.c:724 src/dird/dird_conf.c:728 src/dird/dird_conf.c:732 +#: src/dird/dird_conf.c:745 src/dird/dird_conf.c:965 src/dird/dird_conf.c:972 msgid " --> " msgstr "" -#: src/dird/dird_conf.c:572 +#: src/dird/dird_conf.c:573 #, c-format msgid "Console: name=%s SSL=%d\n" msgstr "" -#: src/dird/dird_conf.c:577 +#: src/dird/dird_conf.c:578 #, c-format msgid "Counter: name=%s min=%d max=%d cur=%d wrapcntr=%s\n" msgstr "" -#: src/dird/dird_conf.c:582 +#: src/dird/dird_conf.c:583 #, c-format msgid "Counter: name=%s min=%d max=%d\n" msgstr "" -#: src/dird/dird_conf.c:593 +#: src/dird/dird_conf.c:594 #, c-format msgid "Client: name=%s address=%s FDport=%d MaxJobs=%u\n" msgstr "" -#: src/dird/dird_conf.c:596 +#: src/dird/dird_conf.c:597 #, c-format msgid " JobRetention=%s FileRetention=%s AutoPrune=%d\n" msgstr "" -#: src/dird/dird_conf.c:609 +#: src/dird/dird_conf.c:610 #, c-format msgid "" "Device: name=%s ok=%d num_writers=%d max_writers=%d\n" @@ -2251,379 +2265,379 @@ " poolid=%s volname=%s MediaType=%s\n" msgstr "" -#: src/dird/dird_conf.c:620 +#: src/dird/dird_conf.c:621 #, c-format msgid "" "Storage: name=%s address=%s SDport=%d MaxJobs=%u\n" " DeviceName=%s MediaType=%s StorageId=%s\n" msgstr "" -#: src/dird/dird_conf.c:630 +#: src/dird/dird_conf.c:631 #, c-format msgid "" "Catalog: name=%s address=%s DBport=%d db_name=%s\n" " db_driver=%s db_user=%s MutliDBConn=%d\n" msgstr "" -#: src/dird/dird_conf.c:640 +#: src/dird/dird_conf.c:641 #, c-format msgid "%s: name=%s JobType=%d level=%s Priority=%d Enabled=%d\n" msgstr "" -#: src/dird/dird_conf.c:641 +#: src/dird/dird_conf.c:642 msgid "JobDefs" msgstr "" -#: src/dird/dird_conf.c:645 +#: src/dird/dird_conf.c:646 #, c-format msgid "" " MaxJobs=%u Resched=%d Times=%d Interval=%s Spool=%d WritePartAfterJob=%" "d\n" msgstr "" -#: src/dird/dird_conf.c:651 +#: src/dird/dird_conf.c:652 #, c-format msgid " SpoolSize=%s\n" msgstr "" -#: src/dird/dird_conf.c:654 +#: src/dird/dird_conf.c:655 #, c-format msgid " Accurate=%d\n" msgstr "" -#: src/dird/dird_conf.c:657 +#: src/dird/dird_conf.c:658 #, c-format msgid " SelectionType=%d\n" msgstr "" -#: src/dird/dird_conf.c:672 +#: src/dird/dird_conf.c:673 #, c-format msgid " --> Where=%s\n" msgstr "" -#: src/dird/dird_conf.c:675 +#: src/dird/dird_conf.c:676 #, c-format msgid " --> RegexWhere=%s\n" msgstr "" -#: src/dird/dird_conf.c:678 +#: src/dird/dird_conf.c:679 #, c-format msgid " --> Bootstrap=%s\n" msgstr "" -#: src/dird/dird_conf.c:681 +#: src/dird/dird_conf.c:682 #, c-format msgid " --> WriteBootstrap=%s\n" msgstr "" -#: src/dird/dird_conf.c:684 +#: src/dird/dird_conf.c:685 #, c-format msgid " --> PluginOptions=%s\n" msgstr "" -#: src/dird/dird_conf.c:687 +#: src/dird/dird_conf.c:688 #, c-format msgid " --> MaxRunTime=%u\n" msgstr "" -#: src/dird/dird_conf.c:690 +#: src/dird/dird_conf.c:691 #, c-format msgid " --> MaxWaitTime=%u\n" msgstr "" -#: src/dird/dird_conf.c:693 +#: src/dird/dird_conf.c:694 #, c-format msgid " --> MaxStartDelay=%u\n" msgstr "" -#: src/dird/dird_conf.c:705 src/lib/runscript.c:297 +#: src/dird/dird_conf.c:706 src/lib/runscript.c:297 msgid " --> RunScript\n" msgstr "" -#: src/dird/dird_conf.c:706 src/lib/runscript.c:298 +#: src/dird/dird_conf.c:707 src/lib/runscript.c:298 #, c-format msgid " --> Command=%s\n" msgstr "" -#: src/dird/dird_conf.c:707 src/lib/runscript.c:299 +#: src/dird/dird_conf.c:708 src/lib/runscript.c:299 #, c-format msgid " --> Target=%s\n" msgstr "" -#: src/dird/dird_conf.c:708 src/lib/runscript.c:300 +#: src/dird/dird_conf.c:709 src/lib/runscript.c:300 #, c-format msgid " --> RunOnSuccess=%u\n" msgstr "" -#: src/dird/dird_conf.c:709 src/lib/runscript.c:301 +#: src/dird/dird_conf.c:710 src/lib/runscript.c:301 #, c-format msgid " --> RunOnFailure=%u\n" msgstr "" -#: src/dird/dird_conf.c:710 src/lib/runscript.c:302 +#: src/dird/dird_conf.c:711 src/lib/runscript.c:302 #, c-format msgid " --> FailJobOnError=%u\n" msgstr "" -#: src/dird/dird_conf.c:711 src/lib/runscript.c:303 +#: src/dird/dird_conf.c:712 src/lib/runscript.c:303 #, c-format msgid " --> RunWhen=%u\n" msgstr "" -#: src/dird/dird_conf.c:737 +#: src/dird/dird_conf.c:738 #, c-format msgid " --> Run=%s\n" msgstr "" -#: src/dird/dird_conf.c:741 +#: src/dird/dird_conf.c:742 #, c-format msgid " --> SelectionPattern=%s\n" msgstr "" -#: src/dird/dird_conf.c:752 +#: src/dird/dird_conf.c:753 #, c-format msgid "FileSet: name=%s\n" msgstr "" -#: src/dird/dird_conf.c:840 src/dird/dird_conf.c:919 +#: src/dird/dird_conf.c:841 src/dird/dird_conf.c:920 #, c-format msgid "Schedule: name=%s\n" msgstr "" -#: src/dird/dird_conf.c:845 +#: src/dird/dird_conf.c:846 #, c-format msgid " --> Run Level=%s\n" msgstr "" -#: src/dird/dird_conf.c:846 +#: src/dird/dird_conf.c:847 msgid " hour=" msgstr "" -#: src/dird/dird_conf.c:855 +#: src/dird/dird_conf.c:856 msgid " mday=" msgstr "" -#: src/dird/dird_conf.c:864 +#: src/dird/dird_conf.c:865 msgid " month=" msgstr "" -#: src/dird/dird_conf.c:873 +#: src/dird/dird_conf.c:874 msgid " wday=" msgstr "" -#: src/dird/dird_conf.c:882 +#: src/dird/dird_conf.c:883 msgid " wom=" msgstr "" -#: src/dird/dird_conf.c:891 +#: src/dird/dird_conf.c:892 msgid " woy=" msgstr "" -#: src/dird/dird_conf.c:900 +#: src/dird/dird_conf.c:901 #, c-format msgid " mins=%d\n" msgstr "" -#: src/dird/dird_conf.c:902 src/dird/dird_conf.c:906 src/dird/dird_conf.c:910 +#: src/dird/dird_conf.c:903 src/dird/dird_conf.c:907 src/dird/dird_conf.c:911 msgid " --> " msgstr "" -#: src/dird/dird_conf.c:924 +#: src/dird/dird_conf.c:925 #, c-format msgid "Pool: name=%s PoolType=%s\n" msgstr "" -#: src/dird/dird_conf.c:926 +#: src/dird/dird_conf.c:927 #, c-format msgid " use_cat=%d use_once=%d cat_files=%d\n" msgstr "" -#: src/dird/dird_conf.c:929 +#: src/dird/dird_conf.c:930 #, c-format msgid " max_vols=%d auto_prune=%d VolRetention=%s\n" msgstr "" -#: src/dird/dird_conf.c:932 +#: src/dird/dird_conf.c:933 #, c-format msgid " VolUse=%s recycle=%d LabelFormat=%s\n" msgstr "" -#: src/dird/dird_conf.c:936 +#: src/dird/dird_conf.c:937 #, c-format msgid " CleaningPrefix=%s LabelType=%d\n" msgstr "" -#: src/dird/dird_conf.c:938 +#: src/dird/dird_conf.c:939 #, c-format msgid " RecyleOldest=%d PurgeOldest=%d\n" msgstr "" -#: src/dird/dird_conf.c:941 +#: src/dird/dird_conf.c:942 #, c-format msgid " MaxVolJobs=%d MaxVolFiles=%d MaxVolBytes=%s\n" msgstr "" -#: src/dird/dird_conf.c:945 +#: src/dird/dird_conf.c:946 #, c-format msgid " MigTime=%s MigHiBytes=%s MigLoBytes=%s\n" msgstr "" -#: src/dird/dird_conf.c:950 +#: src/dird/dird_conf.c:951 #, c-format msgid " NextPool=%s\n" msgstr "" -#: src/dird/dird_conf.c:953 +#: src/dird/dird_conf.c:954 #, c-format msgid " RecyclePool=%s\n" msgstr "" -#: src/dird/dird_conf.c:956 +#: src/dird/dird_conf.c:957 #, c-format msgid " ScratchPool=%s\n" msgstr "" -#: src/dird/dird_conf.c:959 +#: src/dird/dird_conf.c:960 #, c-format msgid " Catalog=%s\n" msgstr "" -#: src/dird/dird_conf.c:979 +#: src/dird/dird_conf.c:980 #, c-format msgid "Messages: name=%s\n" msgstr "" -#: src/dird/dird_conf.c:981 +#: src/dird/dird_conf.c:982 #, c-format msgid " mailcmd=%s\n" msgstr "" -#: src/dird/dird_conf.c:983 +#: src/dird/dird_conf.c:984 #, c-format msgid " opcmd=%s\n" msgstr "" -#: src/dird/dird_conf.c:987 src/tray-monitor/tray_conf.c:199 +#: src/dird/dird_conf.c:988 src/tray-monitor/tray_conf.c:199 #, c-format msgid "Unknown resource type %d in dump_resource.\n" msgstr "" -#: src/dird/dird_conf.c:1309 src/tray-monitor/tray_conf.c:257 +#: src/dird/dird_conf.c:1313 src/tray-monitor/tray_conf.c:257 #, c-format msgid "Unknown resource type %d in free_resource.\n" msgstr "" -#: src/dird/dird_conf.c:1347 src/lib/parse_conf.c:223 +#: src/dird/dird_conf.c:1351 src/lib/parse_conf.c:223 #: src/tray-monitor/tray_conf.c:294 #, c-format msgid "Too many items in %s resource\n" msgstr "" -#: src/dird/dird_conf.c:1387 +#: src/dird/dird_conf.c:1391 #, c-format msgid "Cannot find Pool resource %s\n" msgstr "" -#: src/dird/dird_conf.c:1398 +#: src/dird/dird_conf.c:1402 #, c-format msgid "Cannot find Console resource %s\n" msgstr "" -#: src/dird/dird_conf.c:1404 src/stored/stored_conf.c:610 -#: src/filed/filed_conf.c:377 +#: src/dird/dird_conf.c:1408 src/stored/stored_conf.c:610 +#: src/filed/filed_conf.c:381 #, c-format msgid "Cannot find Director resource %s\n" msgstr "" -#: src/dird/dird_conf.c:1411 src/stored/stored_conf.c:616 +#: src/dird/dird_conf.c:1415 src/stored/stored_conf.c:616 #, c-format msgid "Cannot find Storage resource %s\n" msgstr "" -#: src/dird/dird_conf.c:1420 +#: src/dird/dird_conf.c:1424 #, c-format msgid "Cannot find Job resource %s\n" msgstr "" -#: src/dird/dird_conf.c:1469 +#: src/dird/dird_conf.c:1473 #, c-format msgid "Cannot find Counter resource %s\n" msgstr "" -#: src/dird/dird_conf.c:1477 src/filed/filed_conf.c:383 +#: src/dird/dird_conf.c:1481 src/filed/filed_conf.c:387 #, c-format msgid "Cannot find Client resource %s\n" msgstr "" -#: src/dird/dird_conf.c:1490 +#: src/dird/dird_conf.c:1494 #, c-format msgid "Cannot find Schedule resource %s\n" msgstr "" -#: src/dird/dird_conf.c:1495 src/dird/dird_conf.c:1555 +#: src/dird/dird_conf.c:1499 src/dird/dird_conf.c:1559 #: src/tray-monitor/tray_conf.c:314 src/tray-monitor/tray_conf.c:352 #, c-format msgid "Unknown resource type %d in save_resource.\n" msgstr "" -#: src/dird/dird_conf.c:1570 +#: src/dird/dird_conf.c:1574 #, c-format msgid "Name item is required in %s resource, but not found.\n" msgstr "" -#: src/dird/dird_conf.c:1583 +#: src/dird/dird_conf.c:1587 #, c-format msgid "Inserting %s res: %s index=%d pass=%d\n" msgstr "" -#: src/dird/dird_conf.c:1655 +#: src/dird/dird_conf.c:1659 #, c-format msgid "Expected a Migration Job Type keyword, got: %s" msgstr "" -#: src/dird/dird_conf.c:1681 +#: src/dird/dird_conf.c:1685 #, c-format msgid "Expected a Job Type keyword, got: %s" msgstr "" -#: src/dird/dird_conf.c:1705 +#: src/dird/dird_conf.c:1709 #, c-format msgid "Expected a Job Level keyword, got: %s" msgstr "" -#: src/dird/dird_conf.c:1725 +#: src/dird/dird_conf.c:1729 #, c-format msgid "Expected a Restore replacement option, got: %s" msgstr "" -#: src/dird/dird_conf.c:1775 src/dird/dird_conf.c:1891 +#: src/dird/dird_conf.c:1779 src/dird/dird_conf.c:1895 #: src/lib/parse_conf.c:724 src/lib/parse_conf.c:740 #, c-format msgid "Expect %s, got: %s" msgstr "" -#: src/dird/dird_conf.c:1797 src/lib/parse_conf.c:476 +#: src/dird/dird_conf.c:1801 src/lib/parse_conf.c:476 #, c-format msgid "Could not find config Resource %s referenced on line %d : %s\n" msgstr "" -#: src/dird/dird_conf.c:1931 src/dird/inc_conf.c:717 +#: src/dird/dird_conf.c:1935 src/dird/inc_conf.c:717 #, c-format msgid "Expecting open brace. Got %s" msgstr "" -#: src/dird/dird_conf.c:1945 src/dird/inc_conf.c:383 src/dird/inc_conf.c:732 +#: src/dird/dird_conf.c:1949 src/dird/inc_conf.c:383 src/dird/inc_conf.c:732 #, c-format msgid "Expecting keyword, got: %s\n" msgstr "" -#: src/dird/dird_conf.c:1951 src/dird/inc_conf.c:391 src/dird/inc_conf.c:738 +#: src/dird/dird_conf.c:1955 src/dird/inc_conf.c:391 src/dird/inc_conf.c:738 #: src/lib/parse_conf.c:939 #, c-format msgid "expected an equals, got: %s" msgstr "" -#: src/dird/dird_conf.c:1962 src/dird/inc_conf.c:401 src/dird/inc_conf.c:747 +#: src/dird/dird_conf.c:1966 src/dird/inc_conf.c:401 src/dird/inc_conf.c:747 #, c-format msgid "Keyword %s not permitted in this resource" msgstr "" @@ -2722,32 +2736,36 @@ msgid "Enter a list of directories to restore for found JobIds" msgstr "" -#: src/dird/ua_restore.c:420 src/dird/ua_status.c:861 src/stored/status.c:547 +#: src/dird/ua_restore.c:420 +msgid "Select full restore to a specified JobId" +msgstr "" + +#: src/dird/ua_restore.c:421 src/dird/ua_status.c:861 src/stored/status.c:547 #: src/filed/status.c:295 src/wx-console/wxbconfigpanel.cpp:220 msgid "Cancel" msgstr "" -#: src/dird/ua_restore.c:462 +#: src/dird/ua_restore.c:463 #, c-format msgid "Unknown keyword: %s\n" msgstr "" -#: src/dird/ua_restore.c:491 src/dird/ua_update.c:920 +#: src/dird/ua_restore.c:492 src/dird/ua_update.c:920 #, c-format msgid "Improper date format: %s\n" msgstr "" -#: src/dird/ua_restore.c:526 src/dird/ua_select.c:631 +#: src/dird/ua_restore.c:527 src/dird/ua_select.c:631 #, c-format msgid "Error: Pool resource \"%s\" does not exist.\n" msgstr "" -#: src/dird/ua_restore.c:531 +#: src/dird/ua_restore.c:532 #, c-format msgid "Error: Pool resource \"%s\" access not allowed.\n" msgstr "" -#: src/dird/ua_restore.c:547 +#: src/dird/ua_restore.c:548 msgid "" "\n" "First you select one or more JobIds that contain files\n" @@ -2757,234 +2775,240 @@ "\n" msgstr "" -#: src/dird/ua_restore.c:559 +#: src/dird/ua_restore.c:560 msgid "To select the JobIds, you have the following choices:\n" msgstr "" -#: src/dird/ua_restore.c:564 +#: src/dird/ua_restore.c:565 msgid "Select item: " msgstr "" -#: src/dird/ua_restore.c:569 src/dird/ua_restore.c:604 +#: src/dird/ua_restore.c:570 src/dird/ua_restore.c:605 msgid "SQL query not authorized.\n" msgstr "" -#: src/dird/ua_restore.c:582 +#: src/dird/ua_restore.c:583 msgid "Enter Filename (no path):" msgstr "" -#: src/dird/ua_restore.c:597 src/dird/ua_restore.c:705 +#: src/dird/ua_restore.c:598 src/dird/ua_restore.c:706 msgid "Enter JobId(s), comma separated, to restore: " msgstr "" -#: src/dird/ua_restore.c:607 +#: src/dird/ua_restore.c:608 msgid "Enter SQL list command: " msgstr "" -#: src/dird/ua_restore.c:641 src/dird/ua_restore.c:664 +#: src/dird/ua_restore.c:642 src/dird/ua_restore.c:665 msgid "" "Enter file names with paths, or < to enter a filename\n" "containing a list of file names with paths, and terminate\n" "them with a blank line.\n" msgstr "" -#: src/dird/ua_restore.c:645 src/dird/ua_restore.c:668 +#: src/dird/ua_restore.c:646 src/dird/ua_restore.c:669 msgid "Enter full filename: " msgstr "" -#: src/dird/ua_restore.c:703 +#: src/dird/ua_restore.c:704 #, c-format msgid "You have already selected the following JobIds: %s\n" msgstr "" -#: src/dird/ua_restore.c:720 +#: src/dird/ua_restore.c:721 msgid "" "Enter full directory names or start the name\n" "with a < to indicate it is a filename containing a list\n" "of directories and terminate them with a blank line.\n" msgstr "" -#: src/dird/ua_restore.c:724 +#: src/dird/ua_restore.c:725 msgid "Enter directory name: " msgstr "" -#: src/dird/ua_restore.c:755 -msgid "Invalid JobId in list.\n" +#: src/dird/ua_restore.c:741 +msgid "Enter JobId to restore: " msgstr "" -#: src/dird/ua_restore.c:768 +#: src/dird/ua_restore.c:750 src/dird/ua_restore.c:790 #, c-format msgid "Unable to get Job record for JobId=%s: ERR=%s\n" msgstr "" -#: src/dird/ua_restore.c:774 +#: src/dird/ua_restore.c:777 +msgid "Invalid JobId in list.\n" +msgstr "" + +#: src/dird/ua_restore.c:796 #, c-format msgid "Access to JobId=%s (Job \"%s\") not authorized. Not selected.\n" msgstr "" -#: src/dird/ua_restore.c:787 +#: src/dird/ua_restore.c:809 msgid "No Jobs selected.\n" msgstr "" -#: src/dird/ua_restore.c:791 +#: src/dird/ua_restore.c:813 #, c-format msgid "You have selected the following JobIds: %s\n" msgstr "" -#: src/dird/ua_restore.c:793 +#: src/dird/ua_restore.c:815 #, c-format msgid "You have selected the following JobId: %s\n" msgstr "" -#: src/dird/ua_restore.c:803 +#: src/dird/ua_restore.c:825 msgid "" "The restored files will the most current backup\n" "BEFORE the date you specify below.\n" "\n" msgstr "" -#: src/dird/ua_restore.c:806 +#: src/dird/ua_restore.c:828 msgid "Enter date as YYYY-MM-DD HH:MM:SS :" msgstr "" -#: src/dird/ua_restore.c:812 +#: src/dird/ua_restore.c:834 msgid "Improper date format.\n" msgstr "" -#: src/dird/ua_restore.c:833 +#: src/dird/ua_restore.c:855 #, c-format msgid "Cannot open file %s: ERR=%s\n" msgstr "" -#: src/dird/ua_restore.c:841 src/dird/ua_restore.c:845 +#: src/dird/ua_restore.c:863 src/dird/ua_restore.c:867 #, c-format msgid "Error occurred on line %d of file \"%s\"\n" msgstr "" -#: src/dird/ua_restore.c:885 src/dird/ua_restore.c:913 -#: src/dird/ua_restore.c:934 src/dird/ua_dotcmds.c:460 +#: src/dird/ua_restore.c:907 src/dird/ua_restore.c:935 +#: src/dird/ua_restore.c:956 src/dird/ua_dotcmds.c:460 #: src/dird/ua_dotcmds.c:504 #, c-format msgid "Query failed: %s. ERR=%s\n" msgstr "" -#: src/dird/ua_restore.c:889 src/dird/ua_restore.c:917 +#: src/dird/ua_restore.c:911 src/dird/ua_restore.c:939 #, c-format msgid "No database record found for: %s\n" msgstr "" -#: src/dird/ua_restore.c:905 +#: src/dird/ua_restore.c:927 msgid "No JobId specified cannot continue.\n" msgstr "" -#: src/dird/ua_restore.c:938 +#: src/dird/ua_restore.c:960 #, c-format msgid "No table found: %s\n" msgstr "" -#: src/dird/ua_restore.c:996 +#: src/dird/ua_restore.c:1018 msgid "" "\n" -"There were no files inserted into the tree, so file selection\n" -"is not possible.Most likely your retention policy pruned the files\n" +"\n" +"For one or more of the JobIds selected, no files were found,\n" +"so file selection is not possible.\n" +"Most likely your retention policy pruned the files.\n" msgstr "" -#: src/dird/ua_restore.c:998 +#: src/dird/ua_restore.c:1021 msgid "" "\n" "Do you want to restore all the files? (yes|no): " msgstr "" -#: src/dird/ua_restore.c:1001 +#: src/dird/ua_restore.c:1024 msgid "" "\n" "Regexp matching files to restore? (empty to abort): " msgstr "" -#: src/dird/ua_restore.c:1016 +#: src/dird/ua_restore.c:1040 #, c-format msgid "Regex compile error: %s\n" msgstr "" -#: src/dird/ua_restore.c:1062 +#: src/dird/ua_restore.c:1086 #, c-format msgid "" "\n" "Building directory tree for JobId(s) %s ... " msgstr "" -#: src/dird/ua_restore.c:1101 +#: src/dird/ua_restore.c:1141 #, c-format msgid "" "\n" "%s files inserted into the tree and marked for extraction.\n" msgstr "" -#: src/dird/ua_restore.c:1104 +#: src/dird/ua_restore.c:1144 #, c-format msgid "" "\n" "%s files inserted into the tree.\n" msgstr "" -#: src/dird/ua_restore.c:1176 +#: src/dird/ua_restore.c:1216 #, c-format msgid "Error getting FileSet \"%s\": ERR=%s\n" msgstr "" -#: src/dird/ua_restore.c:1184 src/dird/ua_select.c:183 +#: src/dird/ua_restore.c:1224 src/dird/ua_select.c:183 msgid "The defined FileSet resources are:\n" msgstr "" -#: src/dird/ua_restore.c:1188 src/dird/ua_run.c:212 src/dird/ua_select.c:191 +#: src/dird/ua_restore.c:1228 src/dird/ua_run.c:212 src/dird/ua_select.c:191 msgid "FileSet" msgstr "" -#: src/dird/ua_restore.c:1188 src/dird/ua_select.c:191 +#: src/dird/ua_restore.c:1228 src/dird/ua_select.c:191 msgid "Select FileSet resource" msgstr "" -#: src/dird/ua_restore.c:1190 +#: src/dird/ua_restore.c:1230 #, c-format msgid "No FileSet found for client \"%s\".\n" msgstr "" -#: src/dird/ua_restore.c:1196 +#: src/dird/ua_restore.c:1236 #, c-format msgid "Error getting FileSet record: %s\n" msgstr "" -#: src/dird/ua_restore.c:1197 +#: src/dird/ua_restore.c:1237 msgid "" "This probably means you modified the FileSet.\n" "Continuing anyway.\n" msgstr "" -#: src/dird/ua_restore.c:1212 +#: src/dird/ua_restore.c:1252 #, c-format msgid "Pool \"%s\" not found, using any pool.\n" msgstr "" -#: src/dird/ua_restore.c:1239 src/dird/ua_restore.c:1255 +#: src/dird/ua_restore.c:1279 src/dird/ua_restore.c:1295 #, c-format msgid "No Full backup before %s found.\n" msgstr "" -#: src/dird/ua_restore.c:1283 +#: src/dird/ua_restore.c:1323 msgid "No jobs found.\n" msgstr "" -#: src/dird/ua_restore.c:1443 +#: src/dird/ua_restore.c:1483 #, c-format msgid "Warning default storage overridden by \"%s\" on command line.\n" msgstr "" -#: src/dird/ua_restore.c:1459 +#: src/dird/ua_restore.c:1499 #, c-format msgid "Storage \"%s\" not found, using Storage \"%s\" from MediaType \"%s\".\n" msgstr "" -#: src/dird/ua_restore.c:1467 +#: src/dird/ua_restore.c:1507 #, c-format msgid "" "\n" @@ -3032,8 +3056,8 @@ msgstr "" #: src/dird/ua_run.c:172 src/dird/ua_update.c:256 src/dird/ua_update.c:276 -#: src/dird/ua_update.c:674 src/dird/ua_input.c:123 src/dird/backup.c:608 -#: src/dird/backup.c:609 src/dird/backup.c:610 src/tools/dbcheck.c:1275 +#: src/dird/ua_update.c:674 src/dird/ua_input.c:123 src/dird/backup.c:609 +#: src/dird/backup.c:610 src/dird/backup.c:611 src/tools/dbcheck.c:1275 #: src/stored/parse_bsr.c:851 msgid "yes" msgstr "" @@ -3268,22 +3292,22 @@ msgid "Levels:\n" msgstr "" -#: src/dird/ua_run.c:686 src/stored/status.c:601 src/lib/util.c:403 -#: src/lib/util.c:449 src/filed/status.c:441 +#: src/dird/ua_run.c:686 src/stored/status.c:601 src/lib/util.c:409 +#: src/lib/util.c:455 src/filed/status.c:441 msgid "Full" msgstr "" -#: src/dird/ua_run.c:687 src/stored/status.c:604 src/lib/util.c:406 +#: src/dird/ua_run.c:687 src/stored/status.c:604 src/lib/util.c:412 #: src/filed/status.c:444 msgid "Incremental" msgstr "" -#: src/dird/ua_run.c:688 src/stored/status.c:607 src/lib/util.c:409 +#: src/dird/ua_run.c:688 src/stored/status.c:607 src/lib/util.c:415 #: src/filed/status.c:447 msgid "Differential" msgstr "" -#: src/dird/ua_run.c:689 src/stored/status.c:610 src/lib/util.c:412 +#: src/dird/ua_run.c:689 src/stored/status.c:610 src/lib/util.c:418 #: src/filed/status.c:450 msgid "Since" msgstr "" @@ -3300,16 +3324,16 @@ msgid "Initialize Catalog" msgstr "" -#: src/dird/ua_run.c:716 src/stored/status.c:613 src/lib/util.c:415 +#: src/dird/ua_run.c:716 src/stored/status.c:613 src/lib/util.c:421 #: src/filed/status.c:453 msgid "Verify Catalog" msgstr "" -#: src/dird/ua_run.c:717 src/lib/util.c:421 +#: src/dird/ua_run.c:717 src/lib/util.c:427 msgid "Verify Volume to Catalog" msgstr "" -#: src/dird/ua_run.c:718 src/lib/util.c:424 +#: src/dird/ua_run.c:718 src/lib/util.c:430 msgid "Verify Disk to Catalog" msgstr "" @@ -3333,7 +3357,7 @@ "Priority: %d\n" msgstr "" -#: src/dird/ua_run.c:761 src/lib/util.c:365 +#: src/dird/ua_run.c:761 src/lib/util.c:374 msgid "Admin" msgstr "" @@ -3372,7 +3396,7 @@ "Priority: %d\n" msgstr "" -#: src/dird/ua_run.c:821 src/lib/util.c:359 +#: src/dird/ua_run.c:821 src/lib/util.c:362 msgid "Verify" msgstr "" @@ -3610,7 +3634,7 @@ msgid "Storage \"%s\" not found.\n" msgstr "" -#: src/dird/ua_run.c:1346 src/dird/job.c:1182 +#: src/dird/ua_run.c:1346 src/dird/job.c:1187 msgid "No storage specified.\n" msgstr "" @@ -3684,138 +3708,138 @@ msgid "Could not open database \"%s\".\n" msgstr "" -#: src/dird/job.c:185 src/dird/job.c:416 src/dird/job.c:418 src/dird/job.c:459 -#: src/dird/job.c:461 src/dird/job.c:1068... [truncated message content] |
From: <ke...@us...> - 2009-07-22 15:01:21
|
Revision: 9083 http://bacula.svn.sourceforge.net/bacula/?rev=9083&view=rev Author: kerns Date: 2009-07-22 15:01:16 +0000 (Wed, 22 Jul 2009) Log Message: ----------- Fix Solaris compiler warning in signal.c Modified Paths: -------------- trunk/bacula/src/lib/signal.c trunk/bacula/technotes Modified: trunk/bacula/src/lib/signal.c =================================================================== --- trunk/bacula/src/lib/signal.c 2009-07-22 01:09:09 UTC (rev 9082) +++ trunk/bacula/src/lib/signal.c 2009-07-22 15:01:16 UTC (rev 9083) @@ -90,7 +90,7 @@ char buf[512]; snprintf(buf, sizeof(buf), "%s/%s.%d.bactrace", - working_directory, my_name, getpid()); + working_directory, my_name, (int)getpid()); FILE *fp = fopen(buf, "ab") ; if (!fp) { fp = stderr; Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-22 01:09:09 UTC (rev 9082) +++ trunk/bacula/technotes 2009-07-22 15:01:16 UTC (rev 9083) @@ -2,6 +2,10 @@ General: +20Jul09 +kes Fix Solaris compiler warning in signal.c + +Release version 3.0.2: 18Jul09 kes Fix bat command line input bug 17Jul09 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-22 15:01:50
|
Revision: 9084 http://bacula.svn.sourceforge.net/bacula/?rev=9084&view=rev Author: kerns Date: 2009-07-22 15:01:47 +0000 (Wed, 22 Jul 2009) Log Message: ----------- Modify setJobStatus so cancel has same priority as fatal errors Modified Paths: -------------- trunk/bacula/src/jcr.h trunk/bacula/src/lib/jcr.c trunk/bacula/technotes Modified: trunk/bacula/src/jcr.h =================================================================== --- trunk/bacula/src/jcr.h 2009-07-22 15:01:16 UTC (rev 9083) +++ trunk/bacula/src/jcr.h 2009-07-22 15:01:47 UTC (rev 9084) @@ -182,16 +182,22 @@ void destroy_mutex(void) {pthread_mutex_destroy(&mutex); }; bool is_job_canceled() {return job_canceled(this); }; int32_t get_JobType() { return m_JobType; }; + int32_t getJobType() { return m_JobType; }; int32_t get_JobLevel() { return m_JobLevel; }; + int32_t getJobLevel() { return m_JobLevel; }; bool no_client_used() { return (m_JobType == JT_MIGRATE || m_JobType == JT_COPY || m_JobLevel == L_VIRTUAL_FULL); }; - const char *get_OperationName(); /* in lib/jcr.c */ + const char *get_OperationName(); /* in lib/jcr.c */ const char *get_ActionName(bool past); /* in lib/jcr.c */ - void set_JobLevel(int32_t JobLevel); /* in lib/jcr.c */ - void set_JobType(int32_t JobType); /* in lib/jcr.c */ - bool JobReads(); /* in lib/jcr.c */ + void set_JobLevel(int32_t JobLevel); /* in lib/jcr.c */ + void setJobLevel(int32_t JobLevel); /* in lib/jcr.c */ + void set_JobType(int32_t JobType); /* in lib/jcr.c */ + void setJobType(int32_t JobType); /* in lib/jcr.c */ + void setJobStatus(int JobStatus); /* in lib/jcr.c */ + bool JobReads(); /* in lib/jcr.c */ + /* Global part of JCR common to all daemons */ dlink link; /* JCR chain link */ Modified: trunk/bacula/src/lib/jcr.c =================================================================== --- trunk/bacula/src/lib/jcr.c 2009-07-22 15:01:16 UTC (rev 9083) +++ trunk/bacula/src/lib/jcr.c 2009-07-22 15:01:47 UTC (rev 9084) @@ -739,11 +739,9 @@ switch (JobStatus) { case JS_ErrorTerminated: case JS_FatalError: + case JS_Canceled: priority = 10; break; - case JS_Canceled: - priority = 9; - break; case JS_Error: priority = 8; break; @@ -809,22 +807,28 @@ void set_jcr_job_status(JCR *jcr, int JobStatus) { + jcr->setJobStatus(JobStatus); +} + +void JCR::setJobStatus(int JobStatus) +{ + JCR *jcr = this; int priority, old_priority; - int oldJobStatus = jcr->JobStatus; + int oldJobStatus = JobStatus; priority = get_status_priority(JobStatus); old_priority = get_status_priority(oldJobStatus); - Dmsg2(800, "set_jcr_job_status(%s, %c)\n", jcr->Job, JobStatus); + Dmsg2(800, "set_jcr_job_status(%s, %c)\n", Job, JobStatus); /* Update wait_time depending on newJobStatus and oldJobStatus */ - update_wait_time(jcr, JobStatus); + update_wait_time(this, JobStatus); /* * For a set of errors, ... keep the current status * so it isn't lost. For all others, set it. */ - Dmsg3(300, "jid=%u OnEntry JobStatus=%c set=%c\n", (uint32_t)jcr->JobId, - jcr->JobStatus, JobStatus); + Dmsg3(300, "jid=%u OnEntry JobStatus=%c set=%c\n", (uint32_t)JobId, + JobStatus, JobStatus); if (priority >= old_priority) { jcr->JobStatus = JobStatus; /* replace with new priority */ } Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-22 15:01:16 UTC (rev 9083) +++ trunk/bacula/technotes 2009-07-22 15:01:47 UTC (rev 9084) @@ -2,6 +2,9 @@ General: +21Jul09 +kes Add setJobStatus method to JCR class. +kes Modify setJobStatus so cancel has same priority as fatal errors 20Jul09 kes Fix Solaris compiler warning in signal.c This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-22 15:02:24
|
Revision: 9085 http://bacula.svn.sourceforge.net/bacula/?rev=9085&view=rev Author: kerns Date: 2009-07-22 15:02:15 +0000 (Wed, 22 Jul 2009) Log Message: ----------- Fix bug #1337 Console tries to build with SSL when libssl-dev not installed Modified Paths: -------------- trunk/bacula/autoconf/configure.in trunk/bacula/configure trunk/bacula/technotes Modified: trunk/bacula/autoconf/configure.in =================================================================== --- trunk/bacula/autoconf/configure.in 2009-07-22 15:01:47 UTC (rev 9084) +++ trunk/bacula/autoconf/configure.in 2009-07-22 15:02:15 UTC (rev 9085) @@ -1164,6 +1164,11 @@ OPENSSL_INC="" fi +if test "$support_tls" = "no"; then + OPENSSL_LIBS="" + OPENSSL_INC="" +fi + AC_MSG_RESULT([$support_tls]) AC_SUBST(OPENSSL_LIBS) AC_SUBST(OPENSSL_INC) Modified: trunk/bacula/configure =================================================================== --- trunk/bacula/configure 2009-07-22 15:01:47 UTC (rev 9084) +++ trunk/bacula/configure 2009-07-22 15:02:15 UTC (rev 9085) @@ -27258,6 +27258,11 @@ OPENSSL_INC="" fi +if test "$support_tls" = "no"; then + OPENSSL_LIBS="" + OPENSSL_INC="" +fi + { echo "$as_me:$LINENO: result: $support_tls" >&5 echo "${ECHO_T}$support_tls" >&6; } Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-22 15:01:47 UTC (rev 9084) +++ trunk/bacula/technotes 2009-07-22 15:02:15 UTC (rev 9085) @@ -2,6 +2,8 @@ General: +22Jul09 +kes Fix bug #1337 Console tries to build with SSL when libssl-dev not installed. 21Jul09 kes Add setJobStatus method to JCR class. kes Modify setJobStatus so cancel has same priority as fatal errors This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-22 19:06:23
|
Revision: 9086 http://bacula.svn.sourceforge.net/bacula/?rev=9086&view=rev Author: kerns Date: 2009-07-22 19:06:18 +0000 (Wed, 22 Jul 2009) Log Message: ----------- Apply idea of part of Graham's tidy-bsr-source.patch, but modified Modified Paths: -------------- trunk/bacula/src/dird/bsr.c trunk/bacula/technotes Modified: trunk/bacula/src/dird/bsr.c =================================================================== --- trunk/bacula/src/dird/bsr.c 2009-07-22 15:02:15 UTC (rev 9085) +++ trunk/bacula/src/dird/bsr.c 2009-07-22 19:06:18 UTC (rev 9086) @@ -323,6 +323,70 @@ } /* + * Write bsr data for a single bsr record + */ +static uint32_t write_bsr_item(RBSR *bsr, UAContext *ua, + RESTORE_CTX &rx, FILE *fd, bool &first, uint32_t &LastIndex) +{ + char ed1[50], ed2[50]; + uint32_t count = 0; + uint32_t total_count = 0; + char device[MAX_NAME_LENGTH]; + + /* + * For a given volume, loop over all the JobMedia records. + * VolCount is the number of JobMedia records. + */ + for (int i=0; i < bsr->VolCount; i++) { + if (!is_volume_selected(bsr->fi, bsr->VolParams[i].FirstIndex, + bsr->VolParams[i].LastIndex)) { + bsr->VolParams[i].VolumeName[0] = 0; /* zap VolumeName */ + continue; + } + if (!rx.store) { + find_storage_resource(ua, rx, bsr->VolParams[i].Storage, + bsr->VolParams[i].MediaType); + } +// fprintf(fd, "Storage=\"%s\"\n", bsr->VolParams[i].Storage); + fprintf(fd, "Volume=\"%s\"\n", bsr->VolParams[i].VolumeName); + fprintf(fd, "MediaType=\"%s\"\n", bsr->VolParams[i].MediaType); + if (bsr->fileregex) { + fprintf(fd, "FileRegex=%s\n", bsr->fileregex); + } + if (get_storage_device(device, bsr->VolParams[i].Storage)) { + fprintf(fd, "Device=\"%s\"\n", device); + } + if (bsr->VolParams[i].Slot > 0) { + fprintf(fd, "Slot=%d\n", bsr->VolParams[i].Slot); + } + fprintf(fd, "VolSessionId=%u\n", bsr->VolSessionId); + fprintf(fd, "VolSessionTime=%u\n", bsr->VolSessionTime); + fprintf(fd, "VolAddr=%s-%s\n", edit_uint64(bsr->VolParams[i].StartAddr, ed1), + edit_uint64(bsr->VolParams[i].EndAddr, ed2)); +// Dmsg2(100, "bsr VolParam FI=%u LI=%u\n", +// bsr->VolParams[i].FirstIndex, bsr->VolParams[i].LastIndex); + + count = write_findex(bsr->fi, bsr->VolParams[i].FirstIndex, + bsr->VolParams[i].LastIndex, fd); + if (count) { + fprintf(fd, "Count=%u\n", count); + } + total_count += count; + /* If the same file is present on two tapes or in two files + * on a tape, it is a continuation, and should not be treated + * twice in the totals. + */ + if (!first && LastIndex == bsr->VolParams[i].FirstIndex) { + total_count--; + } + first = false; + LastIndex = bsr->VolParams[i].LastIndex; + } + return total_count; +} + + +/* * Here we actually write out the details of the bsr file. * Note, there is one bsr for each JobId, but the bsr may * have multiple volumes, which have been entered in the @@ -332,121 +396,23 @@ */ static uint32_t write_bsr(UAContext *ua, RESTORE_CTX &rx, FILE *fd) { - char ed1[50], ed2[50]; - uint32_t count = 0; - uint32_t total_count = 0; - uint32_t LastIndex = 0; bool first = true; + uint32_t LastIndex = 0; + uint32_t total_count = 0; char *p; JobId_t JobId; - char device[MAX_NAME_LENGTH]; RBSR *bsr; if (*rx.JobIds == 0) { for (bsr=rx.bsr; bsr; bsr=bsr->next) { - /* - * For a given volume, loop over all the JobMedia records. - * VolCount is the number of JobMedia records. - */ - for (int i=0; i < bsr->VolCount; i++) { - if (!is_volume_selected(bsr->fi, bsr->VolParams[i].FirstIndex, - bsr->VolParams[i].LastIndex)) { - bsr->VolParams[i].VolumeName[0] = 0; /* zap VolumeName */ - continue; - } - if (!rx.store) { - find_storage_resource(ua, rx, bsr->VolParams[i].Storage, - bsr->VolParams[i].MediaType); - } - fprintf(fd, "Volume=\"%s\"\n", bsr->VolParams[i].VolumeName); - fprintf(fd, "MediaType=\"%s\"\n", bsr->VolParams[i].MediaType); - if (bsr->fileregex) { - fprintf(fd, "FileRegex=%s\n", bsr->fileregex); - } - if (get_storage_device(device, bsr->VolParams[i].Storage)) { - fprintf(fd, "Device=\"%s\"\n", device); - } - if (bsr->VolParams[i].Slot > 0) { - fprintf(fd, "Slot=%d\n", bsr->VolParams[i].Slot); - } - fprintf(fd, "VolSessionId=%u\n", bsr->VolSessionId); - fprintf(fd, "VolSessionTime=%u\n", bsr->VolSessionTime); - fprintf(fd, "VolAddr=%s-%s\n", edit_uint64(bsr->VolParams[i].StartAddr, ed1), - edit_uint64(bsr->VolParams[i].EndAddr, ed2)); - // Dmsg2(100, "bsr VolParam FI=%u LI=%u\n", - // bsr->VolParams[i].FirstIndex, bsr->VolParams[i].LastIndex); - - count = write_findex(bsr->fi, bsr->VolParams[i].FirstIndex, - bsr->VolParams[i].LastIndex, fd); - if (count) { - fprintf(fd, "Count=%u\n", count); - } - total_count += count; - /* If the same file is present on two tapes or in two files - * on a tape, it is a continuation, and should not be treated - * twice in the totals. - */ - if (!first && LastIndex == bsr->VolParams[i].FirstIndex) { - total_count--; - } - first = false; - LastIndex = bsr->VolParams[i].LastIndex; - } + total_count += write_bsr_item(bsr, ua, rx, fd, first, LastIndex); } return total_count; } for (p=rx.JobIds; get_next_jobid_from_list(&p, &JobId) > 0; ) { for (bsr=rx.bsr; bsr; bsr=bsr->next) { - if (JobId != bsr->JobId) { - continue; + if (JobId == bsr->JobId) { + total_count += write_bsr_item(bsr, ua, rx, fd, first, LastIndex); } - /* - * For a given volume, loop over all the JobMedia records. - * VolCount is the number of JobMedia records. - */ - for (int i=0; i < bsr->VolCount; i++) { - if (!is_volume_selected(bsr->fi, bsr->VolParams[i].FirstIndex, - bsr->VolParams[i].LastIndex)) { - bsr->VolParams[i].VolumeName[0] = 0; /* zap VolumeName */ - continue; - } - if (!rx.store) { - find_storage_resource(ua, rx, bsr->VolParams[i].Storage, - bsr->VolParams[i].MediaType); - } - fprintf(fd, "Volume=\"%s\"\n", bsr->VolParams[i].VolumeName); - fprintf(fd, "MediaType=\"%s\"\n", bsr->VolParams[i].MediaType); - if (bsr->fileregex) { - fprintf(fd, "FileRegex=%s\n", bsr->fileregex); - } - if (get_storage_device(device, bsr->VolParams[i].Storage)) { - fprintf(fd, "Device=\"%s\"\n", device); - } - if (bsr->VolParams[i].Slot > 0) { - fprintf(fd, "Slot=%d\n", bsr->VolParams[i].Slot); - } - fprintf(fd, "VolSessionId=%u\n", bsr->VolSessionId); - fprintf(fd, "VolSessionTime=%u\n", bsr->VolSessionTime); - fprintf(fd, "VolAddr=%s-%s\n", edit_uint64(bsr->VolParams[i].StartAddr, ed1), - edit_uint64(bsr->VolParams[i].EndAddr, ed2)); - // Dmsg2(100, "bsr VolParam FI=%u LI=%u\n", - // bsr->VolParams[i].FirstIndex, bsr->VolParams[i].LastIndex); - - count = write_findex(bsr->fi, bsr->VolParams[i].FirstIndex, - bsr->VolParams[i].LastIndex, fd); - if (count) { - fprintf(fd, "Count=%u\n", count); - } - total_count += count; - /* If the same file is present on two tapes or in two files - * on a tape, it is a continuation, and should not be treated - * twice in the totals. - */ - if (!first && LastIndex == bsr->VolParams[i].FirstIndex) { - total_count--; - } - first = false; - LastIndex = bsr->VolParams[i].LastIndex; - } } } return total_count; Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-22 15:02:15 UTC (rev 9085) +++ trunk/bacula/technotes 2009-07-22 19:06:18 UTC (rev 9086) @@ -3,6 +3,7 @@ General: 22Jul09 +kes Apply idea of part of Graham's tidy-bsr-source.patch, but modified kes Fix bug #1337 Console tries to build with SSL when libssl-dev not installed. 21Jul09 kes Add setJobStatus method to JCR class. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-23 08:52:37
|
Revision: 9089 http://bacula.svn.sourceforge.net/bacula/?rev=9089&view=rev Author: kerns Date: 2009-07-23 08:52:35 +0000 (Thu, 23 Jul 2009) Log Message: ----------- Remove Qt 4.4 code so it compiles on 4.3 (setHeaderHidden) Modified Paths: -------------- trunk/bacula/src/qt-console/main.ui trunk/bacula/technotes Modified: trunk/bacula/src/qt-console/main.ui =================================================================== --- trunk/bacula/src/qt-console/main.ui 2009-07-22 22:02:16 UTC (rev 9088) +++ trunk/bacula/src/qt-console/main.ui 2009-07-23 08:52:35 UTC (rev 9089) @@ -209,9 +209,6 @@ <property name="autoFillBackground" > <bool>true</bool> </property> - <property name="headerHidden" > - <bool>true</bool> - </property> <column> <property name="text" > <string>1</string> Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-22 22:02:16 UTC (rev 9088) +++ trunk/bacula/technotes 2009-07-23 08:52:35 UTC (rev 9089) @@ -2,6 +2,8 @@ General: +23Jul09 +kes Remove Qt 4.4 code so it compiles on 4.3 (setHeaderHidden). 22Jul09 kes Apply idea of part of Graham's tidy-bsr-source.patch, but modified kes Fix bug #1337 Console tries to build with SSL when libssl-dev not installed. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-23 14:38:36
|
Revision: 9093 http://bacula.svn.sourceforge.net/bacula/?rev=9093&view=rev Author: kerns Date: 2009-07-23 14:38:34 +0000 (Thu, 23 Jul 2009) Log Message: ----------- Fix int/int32_t problem in accurate_add_file Modified Paths: -------------- trunk/bacula/src/filed/accurate.c trunk/bacula/technotes Modified: trunk/bacula/src/filed/accurate.c =================================================================== --- trunk/bacula/src/filed/accurate.c 2009-07-23 14:28:40 UTC (rev 9092) +++ trunk/bacula/src/filed/accurate.c 2009-07-23 14:38:34 UTC (rev 9093) @@ -146,7 +146,7 @@ bool ret = true; CurFile elt; struct stat statp; - int LinkFIc; + int32_t LinkFIc; decode_stat(lstat, &statp, &LinkFIc); /* decode catalog stat */ elt.ctime = statp.st_ctime; elt.mtime = statp.st_mtime; Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-23 14:28:40 UTC (rev 9092) +++ trunk/bacula/technotes 2009-07-23 14:38:34 UTC (rev 9093) @@ -3,6 +3,8 @@ General: 23Jul09 +kes Fix int/int32_t problem in accurate_add_file + reported by "Eli Shemer" <el...@co...> kes Remove Qt 4.4 code so it compiles on 4.3 (setHeaderHidden). 22Jul09 kes Apply idea of part of Graham's tidy-bsr-source.patch, but modified This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-24 18:50:06
|
Revision: 9098 http://bacula.svn.sourceforge.net/bacula/?rev=9098&view=rev Author: kerns Date: 2009-07-24 18:49:56 +0000 (Fri, 24 Jul 2009) Log Message: ----------- Attempt to fix SQLite seg fault problem Modified Paths: -------------- trunk/bacula/src/cats/sql.c trunk/bacula/src/cats/sqlite.c trunk/bacula/technotes Modified: trunk/bacula/src/cats/sql.c =================================================================== --- trunk/bacula/src/cats/sql.c 2009-07-24 15:11:43 UTC (rev 9097) +++ trunk/bacula/src/cats/sql.c 2009-07-24 18:49:56 UTC (rev 9098) @@ -1,7 +1,7 @@ /* Bacula® - The Network Backup Solution - Copyright (C) 2000-2008 Free Software Foundation Europe e.V. + Copyright (C) 2000-2009 Free Software Foundation Europe e.V. The main author of Bacula is Kern Sibbald, with contributions from many others, a complete list can be found in the file AUTHORS. @@ -562,6 +562,21 @@ } /* + * Set maximum field length to something reasonable + */ +static int max_length(int max_length) +{ + int max_len = max_length; + /* Sanity check */ + if (max_len < 0) { + max_len = 2; + } else if (max_len > 100) { + max_len = 100; + } + return max_len; +} + +/* * List dashes as part of header for listing SQL results in a table */ void @@ -569,6 +584,7 @@ { SQL_FIELD *field; int i, j; + int len; sql_field_seek(mdb, 0); send(ctx, "+"); @@ -577,7 +593,8 @@ if (!field) { break; } - for (j = 0; j < (int)field->max_length + 2; j++) { + len = max_length(field->max_length + 2); + for (j = 0; j < len; j++) { send(ctx, "-"); } send(ctx, "+"); @@ -646,7 +663,8 @@ if (!field) { break; } - bsnprintf(buf, sizeof(buf), " %-*s |", (int)field->max_length, field->name); + max_len = max_length(field->max_length); + bsnprintf(buf, sizeof(buf), " %-*s |", max_len, field->name); send(ctx, buf); } send(ctx, "\n"); @@ -661,13 +679,14 @@ if (!field) { break; } + max_len = max_length(field->max_length); if (row[i] == NULL) { - bsnprintf(buf, sizeof(buf), " %-*s |", (int)field->max_length, "NULL"); + bsnprintf(buf, sizeof(buf), " %-*s |", max_len, "NULL"); } else if (IS_NUM(field->type) && !jcr->gui && is_an_integer(row[i])) { - bsnprintf(buf, sizeof(buf), " %*s |", (int)field->max_length, + bsnprintf(buf, sizeof(buf), " %*s |", max_len, add_commas(row[i], ewc)); } else { - bsnprintf(buf, sizeof(buf), " %-*s |", (int)field->max_length, row[i]); + bsnprintf(buf, sizeof(buf), " %-*s |", max_len, row[i]); } send(ctx, buf); } Modified: trunk/bacula/src/cats/sqlite.c =================================================================== --- trunk/bacula/src/cats/sqlite.c 2009-07-24 15:11:43 UTC (rev 9097) +++ trunk/bacula/src/cats/sqlite.c 2009-07-24 18:49:56 UTC (rev 9098) @@ -121,7 +121,7 @@ mdb = (B_DB *) malloc(sizeof(B_DB)); memset(mdb, 0, sizeof(B_DB)); mdb->db_name = bstrdup(db_name); - mdb->have_insert_id = TRUE; + mdb->have_insert_id = true; mdb->errmsg = get_pool_memory(PM_EMSG); /* get error message buffer */ *mdb->errmsg = 0; mdb->cmd = get_pool_memory(PM_EMSG); /* get command buffer */ @@ -445,18 +445,22 @@ mdb->fields[i]->type = 0; mdb->fields[i]->flags = 1; /* not null */ } - mdb->fields_defined = TRUE; + mdb->fields_defined = true; } - if (field > sql_num_fields(mdb)) { - field = sql_num_fields(mdb); + if (field > sql_num_fields(mdb) - 1) { + field = sql_num_fields(mdb) - 1; } mdb->field = field; - } SQL_FIELD *my_sqlite_fetch_field(B_DB *mdb) { - return mdb->fields[mdb->field++]; + if (mdb->fields_defined && mdb->field < sql_num_fields(mdb)) { + return mdb->fields[mdb->field++]; + } else { + mdb->field = 0; + return NULL; + } } #ifdef HAVE_BATCH_FILE_INSERT Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-24 15:11:43 UTC (rev 9097) +++ trunk/bacula/technotes 2009-07-24 18:49:56 UTC (rev 9098) @@ -2,6 +2,8 @@ General: +24Jul09 +kes Attempt to fix SQLite seg fault problem 23Jul09 kes Fix int/int32_t problem in accurate_add_file reported by "Eli Shemer" <el...@co...> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-24 18:55:43
|
Revision: 9099 http://bacula.svn.sourceforge.net/bacula/?rev=9099&view=rev Author: kerns Date: 2009-07-24 18:55:29 +0000 (Fri, 24 Jul 2009) Log Message: ----------- Add format to a fprintf Modified Paths: -------------- trunk/bacula/src/stored/btape.c trunk/bacula/technotes Modified: trunk/bacula/src/stored/btape.c =================================================================== --- trunk/bacula/src/stored/btape.c 2009-07-24 18:49:56 UTC (rev 9098) +++ trunk/bacula/src/stored/btape.c 2009-07-24 18:55:29 UTC (rev 9099) @@ -2628,8 +2628,9 @@ { int i = 0; int ch; - fprintf(stdout, prompt); + fprintf(stdout, "%s", prompt); + /* We really should turn off echoing and pretty this * up a bit. */ @@ -2639,8 +2640,9 @@ strip_trailing_junk(cmd); return 1; } else if (ch == 4 || ch == 0xd3 || ch == 0x8) { - if (i > 0) + if (i > 0) { cmd[--i] = 0; + } continue; } Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-24 18:49:56 UTC (rev 9098) +++ trunk/bacula/technotes 2009-07-24 18:55:29 UTC (rev 9099) @@ -3,6 +3,7 @@ General: 24Jul09 +kes Add format to a fprintf kes Attempt to fix SQLite seg fault problem 23Jul09 kes Fix int/int32_t problem in accurate_add_file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-26 17:05:32
|
Revision: 9102 http://bacula.svn.sourceforge.net/bacula/?rev=9102&view=rev Author: kerns Date: 2009-07-26 17:05:18 +0000 (Sun, 26 Jul 2009) Log Message: ----------- Tweak RedHat spec files Modified Paths: -------------- trunk/bacula/autoconf/configure.in trunk/bacula/configure trunk/bacula/platforms/redhat/bacula.spec.in trunk/bacula/platforms/redhat/bsys.spec.in trunk/bacula/technotes Modified: trunk/bacula/autoconf/configure.in =================================================================== --- trunk/bacula/autoconf/configure.in 2009-07-25 21:30:08 UTC (rev 9101) +++ trunk/bacula/autoconf/configure.in 2009-07-26 17:05:18 UTC (rev 9102) @@ -2556,10 +2556,17 @@ PSCMD="ps -e" WIN32= MACOSX= + hostname=`uname -n | cut -d '.' -f 1` if test x${hostname} = x ; then hostname="localhost" fi +dnl Make sure hostname is resolved +ping -c 1 $hostname 2>/dev/null 1>/dev/null +if test ! $? = 0; then + hostname="localhost" +fi + case "$DISTNAME" in aix) DISTVER=`uname -r` @@ -2611,11 +2618,6 @@ platforms/darwin/Makefile" ;; debian) - dnl Make sure hostname is resolved - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi if `test -f /etc/apt/sources.list && grep -q ubuntu /etc/apt/sources.list`; then DISTNAME="ubuntu" fi @@ -2649,11 +2651,6 @@ fi ;; freebsd) - dnl Make sure hostname is resolved - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi DISTVER=`uname -a |awk '{print $3}'` VER=`echo $DISTVER | cut -c 1` if test x$VER = x4 ; then @@ -2713,11 +2710,6 @@ platforms/openbsd/bacula-dir" ;; redhat) - dnl Make sure hostname is resolved - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi if test -f /etc/whitebox-release ; then f=/etc/whitebox-release else @@ -2739,14 +2731,10 @@ platforms/redhat/bacula-sd \ platforms/redhat/bacula-dir \ platforms/redhat/bacula.spec \ + platforms/redhat/bsys.spec \ " ;; mandrake) - dnl Make sure hostname is resolved - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi DISTVER=`cat /etc/mandrake-release | grep release |\ cut -f 5 -d ' '` TAPEDRIVE="/dev/nst0" @@ -2760,11 +2748,6 @@ " ;; gentoo) - dnl Make sure hostname is resolved - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release` TAPEDRIVE="/dev/nst0" PSCMD="ps -e -o pid,command" @@ -2776,11 +2759,6 @@ platforms/gentoo/bacula-dir" ;; slackware) - dnl Make sure hostname is resolved - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi DISTVER=`cat /etc/slackware-version` TAPEDRIVE="/dev/nst0" PSCMD="ps -e -o pid,command" @@ -2806,11 +2784,6 @@ LIBS="$LIBS -lresolv" ;; suse) - dnl Make sure hostname is resolved - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi DISTVER=`cat /etc/SuSE-release |grep VERSION|\ cut -f 3 -d ' '` TAPEDRIVE="/dev/nst0" @@ -2824,11 +2797,6 @@ platforms/suse/bacula.spec" ;; suse5) - dnl Make sure hostname is resolved - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi DISTNAME=suse DISTVER=5.x TAPEDRIVE="/dev/nst0" Modified: trunk/bacula/configure =================================================================== --- trunk/bacula/configure 2009-07-25 21:30:08 UTC (rev 9101) +++ trunk/bacula/configure 2009-07-26 17:05:18 UTC (rev 9102) @@ -42564,10 +42564,16 @@ PSCMD="ps -e" WIN32= MACOSX= + hostname=`uname -n | cut -d '.' -f 1` if test x${hostname} = x ; then hostname="localhost" fi +ping -c 1 $hostname 2>/dev/null 1>/dev/null +if test ! $? = 0; then + hostname="localhost" +fi + case "$DISTNAME" in aix) DISTVER=`uname -r` @@ -42619,10 +42625,6 @@ platforms/darwin/Makefile" ;; debian) - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi if `test -f /etc/apt/sources.list && grep -q ubuntu /etc/apt/sources.list`; then DISTNAME="ubuntu" fi @@ -42656,10 +42658,6 @@ fi ;; freebsd) - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi DISTVER=`uname -a |awk '{print $3}'` VER=`echo $DISTVER | cut -c 1` if test x$VER = x4 ; then @@ -42722,10 +42720,6 @@ platforms/openbsd/bacula-dir" ;; redhat) - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi if test -f /etc/whitebox-release ; then f=/etc/whitebox-release else @@ -42747,13 +42741,10 @@ platforms/redhat/bacula-sd \ platforms/redhat/bacula-dir \ platforms/redhat/bacula.spec \ + platforms/redhat/bsys.spec \ " ;; mandrake) - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi DISTVER=`cat /etc/mandrake-release | grep release |\ cut -f 5 -d ' '` TAPEDRIVE="/dev/nst0" @@ -42767,10 +42758,6 @@ " ;; gentoo) - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi DISTVER=`awk '/version / {print $5}' < /etc/gentoo-release` TAPEDRIVE="/dev/nst0" PSCMD="ps -e -o pid,command" @@ -42782,10 +42769,6 @@ platforms/gentoo/bacula-dir" ;; slackware) - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi DISTVER=`cat /etc/slackware-version` TAPEDRIVE="/dev/nst0" PSCMD="ps -e -o pid,command" @@ -42814,10 +42797,6 @@ LIBS="$LIBS -lresolv" ;; suse) - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi DISTVER=`cat /etc/SuSE-release |grep VERSION|\ cut -f 3 -d ' '` TAPEDRIVE="/dev/nst0" @@ -42831,10 +42810,6 @@ platforms/suse/bacula.spec" ;; suse5) - ping -c 1 $hostname 2>&1 1>/dev/null - if test ! $? = 0; then - hostname="localhost" - fi DISTNAME=suse DISTVER=5.x TAPEDRIVE="/dev/nst0" Modified: trunk/bacula/platforms/redhat/bacula.spec.in =================================================================== --- trunk/bacula/platforms/redhat/bacula.spec.in 2009-07-25 21:30:08 UTC (rev 9101) +++ trunk/bacula/platforms/redhat/bacula.spec.in 2009-07-26 17:05:18 UTC (rev 9102) @@ -1,8 +1,169 @@ # Bacula RPM spec file -# Copyright (C) 2000-2008 Kern Sibbald +# +# Copyright (C) 2000-2009 Free Software Foundation Europe e.V. # Platform Build Configuration + +BuildRequires: libacl-devel + +# probems with mandriva build: + +# nothing provides libbonobo2_0-devel, nothing provides libbonoboui2_0-devel + +# set Macros by opensuse_bs, see http://en.opensuse.org/Build_Service/cross_distribution_package_how_to +#openSUSE 11.1 %if 0%{?suse_version} == 1110 +#openSUSE 11.0 %if 0%{?suse_version} == 1100 +#openSUSE 10.3 %if 0%{?suse_version} == 1030 +#openSUSE 10.2 %if 0%{?suse_version} == 1020 +#SUSE Linux 10.1 %if 0%{?suse_version} == 1010 +#SUSE Linux 10.0 %if 0%{?suse_version} == 1000 +#SUSE Linux 9.3 %if 0%{?suse_version} == 930 +#SLES 9 %if 0%{?sles_version} == 9 also set: %if 0%{?suse_version} == 910 +#SLE 10 %if 0%{?sles_version} == 10 also set: %if 0%{?suse_version} == 1010 +#SLE 11 %if 0%{?sles_version} == 11 also set: %if 0%{?suse_version} == 1110 +#CentOS 5 %if 0%{?centos_version} == 501 +#RHEL 4 %if 0%{?rhel_version} == 406 +#RHEL 5 %if 0%{?rhel_version} == 501 +#Fedora 6 with Extras %if 0%{?fedora_version} == 6 +#Fedora 7 with Extras %if 0%{?fedora_version} == 7 +#Fedora 8 with Extras %if 0%{?fedora_version} == 8 +#Fedora 9 with Extras %if 0%{?fedora_version} == 9 +#Fedora 10 with Extras %if 0%{?fedora_version} == 10 +#Mandriva 2006 %if 0%{?mandriva_version} == 2006 +#Mandriva 2007 %if 0%{?mandriva_version} == 2007 +#Mandriva 2008 %if 0%{?mandriva_version} == 2008 + + +%if 0%{?opensuse_bs} +# am I running in opensuse build service? +# TODO: seems to make problems + +# choose database backend here +# postgres, mysql, sqlite +%define build_postgresql 1 + +# Build Service: Determine Distribution + +%ifarch x86_64 + %define build_x86_64 1 +%endif + + +%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} +BuildRequires: GConf2-devel +BuildRequires: freetype-devel +BuildRequires: libtermcap-devel +BuildRequires: shadow-utils +%endif + + + + +%if 0%{?mandriva_version} == 2007 +%define build_mdv 1 +%define _dist "Mandriva 2007" +# %define gconsole 0 +%endif + +%if 0%{?fedora_version} == 8 +%define build_fc8 1 +%define _dist "Fedora Core 8" +BuildRequires: redhat-release +%endif + +%if 0%{?fedora_version} == 9 +%define build_fc9 1 +%define _dist "Fedora Core 9" +BuildRequires: redhat-release +%endif + + +%if 0%{?fedora_version} == 10 +%define build_fc9 1 +%define _dist "Fedora Core 10" +BuildRequires: PolicyKit-gnome +BuildRequires: fedora-release +%endif + +%if 0%{?fedora_version} == 11 +%define build_fc9 1 +%define _dist "Fedora Core 11" +BuildRequires: PolicyKit-gnome +BuildRequires: fedora-release +%endif + + + + +%if 0%{?rhel_version} == 501 +%define build_rhel5 1 +%define _dist "Red Hat Enterprise Linux Server release 5" +BuildRequires: redhat-release +%endif + +%if 0%{?rhel_version} == 406 +%define build_rhel4 1 +%define _dist "Red Hat Enterprise Linux Server release 4" +BuildRequires: redhat-release +%endif + + +%if 0%{?centos_version} == 501 +%define build_centos5 1 +%define _dist "CentOS 5" +BuildRequires: redhat-release +%endif + + +%if 0%{?suse_version} == 1020 +%define build_su102 1 +%define _dist "OpenSUSE 10.2" +BuildRequires: suse-release +%endif + + +%if 0%{?suse_version} == 1030 +%define build_su103 1 +%define _dist "OpenSUSE 10.3" +BuildRequires: suse-release +%endif + +%if 0%{?suse_version} == 1100 +%define build_su110 1 +%define _dist "SUSE 11" +BuildRequires: suse-release +%endif + + +%if 0%{?suse_version} == 1110 +%define build_su111 1 +%define _dist "SUSE 11" +%endif + + +%if 0%{?sles_version} == 9 +%define build_su9 1 +%define _dist "SLES 9" +%endif + + +%if 0%{?sles_version} == 10 +%define build_su10 1 +%define _dist "SLE 10" +%endif + + +%if 0%{?sles_version} == 11 +%define build_su111 1 +%define _dist "SLES 11" +%endif + + + +%endif +# opensuse-bs? + # basic defines for every build %define _version @VERSION@ %define _release 1 @@ -255,6 +416,23 @@ %if %{mdk} %define _dist %(grep Mand /etc/mandrake-release) %endif + +# opensuse build service start +%if 0%{?sles_version} == 9 +%define _dist "SLES 9" +%endif + +%if 0%{?sles_version} == 10 +%define _dist "SLE 10" +%endif + + +%if 0%{?sles_version} == 11 +%define _dist "SLE 11" +%endif + +# opensuse build service end + %{?DISTNAME:%define _dist %{DISTNAME}} Distribution: %{_dist} @@ -318,12 +496,9 @@ %define wxconsole 0 %endif -%{expand: %%define gccver %(rpm -q --queryformat %%{version} gcc)} -%{expand: %%define gccrel %(rpm -q --queryformat %%{release} gcc)} - BuildRequires: gcc, gcc-c++, make, autoconf BuildRequires: ncurses-devel, perl -BuildRequires: libstdc++-devel = %{gccver}-%{gccrel}, zlib-devel +BuildRequires: libstdc++-devel, zlib-devel BuildRequires: openssl-devel %if ! %{rh7} BuildRequires: libxml2-devel @@ -1516,15 +1691,15 @@ %configure \ --prefix=%{_prefix} \ --sbindir=%{_sbindir} \ - --sysconfdir=%{sysconf_dir} \ - --with-scriptdir=%{script_dir} \ - --with-working-dir=%{working_dir} \ - --with-pid-dir=%{pid_dir} \ + --sysconfdir=%{sysconf_dir} \ + --with-scriptdir=%{script_dir} \ + --with-working-dir=%{working_dir} \ + --with-pid-dir=%{pid_dir} \ --enable-smartalloc \ --enable-client-only \ - %if %{mdk} - --disable-nls \ - %endif + %if %{mdk} + --disable-nls \ + %endif --enable-static-fd make @@ -1533,10 +1708,10 @@ %configure \ --prefix=%{_prefix} \ --sbindir=%{_sbindir} \ - --sysconfdir=%{sysconf_dir} \ - --with-scriptdir=%{script_dir} \ - --with-working-dir=%{working_dir} \ - --with-pid-dir=%{pid_dir} \ + --sysconfdir=%{sysconf_dir} \ + --with-scriptdir=%{script_dir} \ + --with-working-dir=%{working_dir} \ + --with-pid-dir=%{pid_dir} \ --enable-smartalloc \ %if %{gconsole} --enable-gnome \ @@ -1554,23 +1729,23 @@ --with-postgresql \ %endif %if %{wxconsole} - --enable-bwx-console \ + --enable-bwx-console \ %endif %if %{bat} - --enable-bat \ - --with-qwt=${cwd}/%{depkgs}/qwt \ + --enable-bat \ + --with-qwt=${cwd}/%{depkgs}/qwt \ %endif %if %{python} - --with-python \ + --with-python \ %endif %if %{client_only} - --enable-client-only \ + --enable-client-only \ %endif %if %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{wb3} - --disable-batch-insert \ + --disable-batch-insert \ %endif - --mandir=%{_mandir} \ - --with-plugindir=%{script_dir} \ + --mandir=%{_mandir} \ + --with-plugindir=%{script_dir} \ --with-subsys-dir=%{_subsysdir} \ --with-dir-user=%{director_daemon_user} \ --with-dir-group=%{daemon_group} \ @@ -1627,10 +1802,10 @@ make \ prefix=$RPM_BUILD_ROOT%{_prefix} \ sbindir=$RPM_BUILD_ROOT%{_sbindir} \ - sysconfdir=$RPM_BUILD_ROOT%{sysconf_dir} \ - scriptdir=$RPM_BUILD_ROOT%{script_dir} \ + sysconfdir=$RPM_BUILD_ROOT%{sysconf_dir} \ + scriptdir=$RPM_BUILD_ROOT%{script_dir} \ working_dir=$RPM_BUILD_ROOT%{working_dir} \ - piddir=$RPM_BUILD_ROOT%{pid_dir} \ + piddir=$RPM_BUILD_ROOT%{pid_dir} \ mandir=$RPM_BUILD_ROOT%{_mandir} \ mtx-install cd ${cwd} @@ -2017,6 +2192,7 @@ %{_mandir}/man8/dbcheck.8.%{manpage_ext} %{_mandir}/man1/bsmtp.1.%{manpage_ext} %{_libdir}/libbac* + %endif %if ! %{client_only} && %{rescue} @@ -2050,24 +2226,24 @@ # are we upgrading from sqlite to sqlite3? if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then echo "This version of bacula-sqlite involves an upgrade to sqlite3." - echo "Your catalog database file is not compatible with sqlite3, thus" - echo "you will need to dump the data, delete the old file, and re-run" - echo "this rpm upgrade." - echo "" - echo "Backing up your current database..." + echo "Your catalog database file is not compatible with sqlite3, thus" + echo "you will need to dump the data, delete the old file, and re-run" + echo "this rpm upgrade." + echo "" + echo "Backing up your current database..." echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db > %{working_dir}/bacula_backup.sql - mv %{working_dir}/bacula.db %{working_dir}/bacula.db.old - echo "Your catalog data has been saved in %{working_dir}/bacula_backup.sql and your" - echo "catalog file has been renamed %{working_dir}/bacula.db.old." - echo "" - echo "Please re-run this rpm package upgrade." - echo "After the upgrade is complete, restore your catalog" - echo "with the following commands:" - echo "%{script_dir}/drop_sqlite3_tables" - echo "cd %{working_dir}" - echo "%{sqlite_bindir}/sqlite3 $* bacula.db < bacula_backup.sql" - echo "chown bacula.bacula bacula.db" - exit 1 + mv %{working_dir}/bacula.db %{working_dir}/bacula.db.old + echo "Your catalog data has been saved in %{working_dir}/bacula_backup.sql and your" + echo "catalog file has been renamed %{working_dir}/bacula.db.old." + echo "" + echo "Please re-run this rpm package upgrade." + echo "After the upgrade is complete, restore your catalog" + echo "with the following commands:" + echo "%{script_dir}/drop_sqlite3_tables" + echo "cd %{working_dir}" + echo "%{sqlite_bindir}/sqlite3 $* bacula.db < bacula_backup.sql" + echo "chown bacula.bacula bacula.db" + exit 1 fi # test for bacula database older than version 10 and sqlite3 if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite3 ];then @@ -2084,7 +2260,7 @@ echo "This bacula upgrade will update a bacula database from version 10 to 11." echo "You appear to be running database version $DB_VER. You must first update" echo "your database to version 10 and then install this upgrade. The alternative" - echo "is to use %{script_dir}/drop_%{db_backend}_tables to delete all your your current" + echo "is to use %{script_dir}/drop_%{db_backend}_tables to delete all your your current" echo "catalog information, then do the upgrade. Information on updating a" echo "database older than version 10 can be found in the release notes." exit 1 @@ -2098,7 +2274,7 @@ %if ! %{client_only} # check for and copy %{sysconf_dir}/console.conf to bconsole.conf if [ -s %{sysconf_dir}/console.conf ];then - cp -p %{sysconf_dir}/console.conf %{sysconf_dir}/bconsole.conf + cp -p %{sysconf_dir}/console.conf %{sysconf_dir}/bconsole.conf fi # create the daemon users and groups @@ -2180,11 +2356,11 @@ if [ -z "$DB_VER" ]; then echo "Hmm, doesn't look like you have an existing database." echo "Granting privileges for MySQL user bacula..." - %{script_dir}/grant_mysql_privileges + %{script_dir}/grant_mysql_privileges echo "Creating MySQL bacula database..." - %{script_dir}/create_mysql_database + %{script_dir}/create_mysql_database echo "Creating bacula tables..." - %{script_dir}/make_mysql_tables + %{script_dir}/make_mysql_tables # check to see if we need to upgrade a 2.x database elif [ "$DB_VER" -lt "11" ]; then @@ -2192,7 +2368,7 @@ echo "Backing up your current database..." mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2 echo "Upgrading bacula database ..." - %{script_dir}/update_mysql_tables + %{script_dir}/update_mysql_tables echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" fi @@ -2208,17 +2384,17 @@ echo "Backing up your current database..." echo ".dump" | %{sqlite_bindir}/sqlite3 %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2 echo "Upgrading bacula database ..." - %{script_dir}/update_sqlite3_tables + %{script_dir}/update_sqlite3_tables echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" fi else # create the database and tables echo "Hmm, doesn't look like you have an existing database." echo "Creating SQLite database..." - %{script_dir}/create_sqlite3_database - chown %{director_daemon_user}.%{daemon_group} %{working_dir}/bacula.db + %{script_dir}/create_sqlite3_database + chown %{director_daemon_user}.%{daemon_group} %{working_dir}/bacula.db echo "Creating the SQLite tables..." - %{script_dir}/make_sqlite3_tables + %{script_dir}/make_sqlite3_tables fi %endif @@ -2231,11 +2407,11 @@ if [ -z "$DB_VER" ]; then echo "Hmm, doesn't look like you have an existing database." echo "Creating PostgreSQL bacula database..." - %{script_dir}/create_postgresql_database + %{script_dir}/create_postgresql_database echo "Creating bacula tables..." - %{script_dir}/make_postgresql_tables + %{script_dir}/make_postgresql_tables echo "Granting privileges for PostgreSQL user bacula..." - %{script_dir}/grant_postgresql_privileges + %{script_dir}/grant_postgresql_privileges # check to see if we need to upgrade a 2.x database elif [ "$DB_VER" -lt "11" ]; then @@ -2243,7 +2419,7 @@ echo "Backing up your current database..." pg_dump bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2 echo "Upgrading bacula database ..." - %{script_dir}/update_postgresql_tables + %{script_dir}/update_postgresql_tables echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" fi @@ -2252,7 +2428,7 @@ %if ! %{client_only} # generate passwords if needed if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} + cd %{sysconf_dir} for file in *.conf; do for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do need_password=`grep $string $file 2>/dev/null` @@ -2264,9 +2440,10 @@ done done fi -/sbin/ldconfig %endif +/sbin/ldconfig + %if %{mysql} %preun mysql %endif @@ -2280,25 +2457,22 @@ %if ! %{client_only} # delete our links if [ $1 = 0 ]; then -/sbin/chkconfig --del bacula-dir -/sbin/chkconfig --del bacula-fd -/sbin/chkconfig --del bacula-sd + /sbin/chkconfig --del bacula-dir + /sbin/chkconfig --del bacula-fd + /sbin/chkconfig --del bacula-sd fi %endif %if %{mysql} %postun mysql -/sbin/ldconfig %endif %if %{sqlite} -%postun sqlite -/sbin/ldconfig %endif %if %{postgresql} %postun postgresql -/sbin/ldconfig %endif +/sbin/ldconfig %if ! %{client_only} && %{mtx} %files mtx @@ -2390,7 +2564,7 @@ # generate passwords if needed if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} + cd %{sysconf_dir} for file in *.conf; do for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do need_password=`grep $string $file 2>/dev/null` @@ -2472,7 +2646,7 @@ %post gconsole # generate passwords if needed if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} + cd %{sysconf_dir} for file in *.conf; do for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do need_password=`grep $string $file 2>/dev/null` @@ -2517,7 +2691,7 @@ %post wxconsole # generate passwords if needed if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} + cd %{sysconf_dir} for file in *.conf; do for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do need_password=`grep $string $file 2>/dev/null` @@ -2562,7 +2736,7 @@ %post bat # generate passwords if needed if [ -d %{sysconf_dir} ]; then - cd %{sysconf_dir} + cd %{sysconf_dir} for file in *.conf; do for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do need_password=`grep $string $file 2>/dev/null` Modified: trunk/bacula/platforms/redhat/bsys.spec.in =================================================================== --- trunk/bacula/platforms/redhat/bsys.spec.in 2009-07-25 21:30:08 UTC (rev 9101) +++ trunk/bacula/platforms/redhat/bsys.spec.in 2009-07-26 17:05:18 UTC (rev 9102) @@ -1,8 +1,169 @@ # Bacula RPM spec file +# # Copyright (C) 2000-2009 Free Software Foundation Europe e.V. # Platform Build Configuration + +BuildRequires: libacl-devel + +# probems with mandriva build: + +# nothing provides libbonobo2_0-devel, nothing provides libbonoboui2_0-devel + +# set Macros by opensuse_bs, see http://en.opensuse.org/Build_Service/cross_distribution_package_how_to +#openSUSE 11.1 %if 0%{?suse_version} == 1110 +#openSUSE 11.0 %if 0%{?suse_version} == 1100 +#openSUSE 10.3 %if 0%{?suse_version} == 1030 +#openSUSE 10.2 %if 0%{?suse_version} == 1020 +#SUSE Linux 10.1 %if 0%{?suse_version} == 1010 +#SUSE Linux 10.0 %if 0%{?suse_version} == 1000 +#SUSE Linux 9.3 %if 0%{?suse_version} == 930 +#SLES 9 %if 0%{?sles_version} == 9 also set: %if 0%{?suse_version} == 910 +#SLE 10 %if 0%{?sles_version} == 10 also set: %if 0%{?suse_version} == 1010 +#SLE 11 %if 0%{?sles_version} == 11 also set: %if 0%{?suse_version} == 1110 +#CentOS 5 %if 0%{?centos_version} == 501 +#RHEL 4 %if 0%{?rhel_version} == 406 +#RHEL 5 %if 0%{?rhel_version} == 501 +#Fedora 6 with Extras %if 0%{?fedora_version} == 6 +#Fedora 7 with Extras %if 0%{?fedora_version} == 7 +#Fedora 8 with Extras %if 0%{?fedora_version} == 8 +#Fedora 9 with Extras %if 0%{?fedora_version} == 9 +#Fedora 10 with Extras %if 0%{?fedora_version} == 10 +#Mandriva 2006 %if 0%{?mandriva_version} == 2006 +#Mandriva 2007 %if 0%{?mandriva_version} == 2007 +#Mandriva 2008 %if 0%{?mandriva_version} == 2008 + + +%if 0%{?opensuse_bs} +# am I running in opensuse build service? +# TODO: seems to make problems + +# choose database backend here +# postgres, mysql, sqlite +%define build_postgresql 1 + +# Build Service: Determine Distribution + +%ifarch x86_64 + %define build_x86_64 1 +%endif + + +%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} +BuildRequires: GConf2-devel +BuildRequires: freetype-devel +BuildRequires: libtermcap-devel +BuildRequires: shadow-utils +%endif + + + + +%if 0%{?mandriva_version} == 2007 +%define build_mdv 1 +%define _dist "Mandriva 2007" +# %define gconsole 0 +%endif + +%if 0%{?fedora_version} == 8 +%define build_fc8 1 +%define _dist "Fedora Core 8" +BuildRequires: redhat-release +%endif + +%if 0%{?fedora_version} == 9 +%define build_fc9 1 +%define _dist "Fedora Core 9" +BuildRequires: redhat-release +%endif + + +%if 0%{?fedora_version} == 10 +%define build_fc9 1 +%define _dist "Fedora Core 10" +BuildRequires: PolicyKit-gnome +BuildRequires: fedora-release +%endif + +%if 0%{?fedora_version} == 11 +%define build_fc9 1 +%define _dist "Fedora Core 11" +BuildRequires: PolicyKit-gnome +BuildRequires: fedora-release +%endif + + + + +%if 0%{?rhel_version} == 501 +%define build_rhel5 1 +%define _dist "Red Hat Enterprise Linux Server release 5" +BuildRequires: redhat-release +%endif + +%if 0%{?rhel_version} == 406 +%define build_rhel4 1 +%define _dist "Red Hat Enterprise Linux Server release 4" +BuildRequires: redhat-release +%endif + + +%if 0%{?centos_version} == 501 +%define build_centos5 1 +%define _dist "CentOS 5" +BuildRequires: redhat-release +%endif + + +%if 0%{?suse_version} == 1020 +%define build_su102 1 +%define _dist "OpenSUSE 10.2" +BuildRequires: suse-release +%endif + + +%if 0%{?suse_version} == 1030 +%define build_su103 1 +%define _dist "OpenSUSE 10.3" +BuildRequires: suse-release +%endif + +%if 0%{?suse_version} == 1100 +%define build_su110 1 +%define _dist "SUSE 11" +BuildRequires: suse-release +%endif + + +%if 0%{?suse_version} == 1110 +%define build_su111 1 +%define _dist "SUSE 11" +%endif + + +%if 0%{?sles_version} == 9 +%define build_su9 1 +%define _dist "SLES 9" +%endif + + +%if 0%{?sles_version} == 10 +%define build_su10 1 +%define _dist "SLE 10" +%endif + + +%if 0%{?sles_version} == 11 +%define build_su111 1 +%define _dist "SLES 11" +%endif + + + +%endif +# opensuse-bs? + # basic defines for every build %define _version @VERSION@ %define _release 1 @@ -240,6 +401,24 @@ %if %{mdk} %define _dist %(grep Mand /etc/mandrake-release) %endif + +# opensuse build service start +%if 0%{?sles_version} == 9 +%define _dist "SLES 9" +%endif + +%if 0%{?sles_version} == 10 +%define _dist "SLE 10" +%endif + + +%if 0%{?sles_version} == 11 +%define _dist "SLE 11" +%endif + +# opensuse build service end + +%{?DISTNAME:%define _dist %{DISTNAME}} Distribution: %{_dist} # Should we build gconsole, possible only if gtk= >= 2.4 available. @@ -302,14 +481,11 @@ %define wxconsole 0 %endif -%{expand: %%define gccver %(rpm -q --queryformat %%{version} gcc)} -%{expand: %%define gccrel %(rpm -q --queryformat %%{release} gcc)} - -#BuildRequires: libattr-devel for 3.0 +BuildRequires: libattr-devel BuildRequires: libacl-devel BuildRequires: gcc, gcc-c++, make, autoconf BuildRequires: ncurses-devel, perl -BuildRequires: libstdc++-devel = %{gccver}-%{gccrel}, libxml2-devel, zlib-devel +BuildRequires: libstdc++-devel, libxml2-devel, zlib-devel BuildRequires: openssl-devel %if %{python} BuildRequires: python, python-devel Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-25 21:30:08 UTC (rev 9101) +++ trunk/bacula/technotes 2009-07-26 17:05:18 UTC (rev 9102) @@ -2,6 +2,8 @@ General: +26Jul09 +kes Tweak RedHat spec files 24Jul09 kes Add format to a fprintf kes Attempt to fix SQLite seg fault problem This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-29 11:34:35
|
Revision: 9115 http://bacula.svn.sourceforge.net/bacula/?rev=9115&view=rev Author: kerns Date: 2009-07-29 11:34:17 +0000 (Wed, 29 Jul 2009) Log Message: ----------- Start reworking 3.0.2 bacula.spec file Modified Paths: -------------- trunk/bacula/autoconf/configure.in trunk/bacula/configure trunk/bacula/src/version.h trunk/bacula/technotes Added Paths: ----------- trunk/bacula/platforms/redhat/bacula.spec Removed Paths: ------------- trunk/bacula/platforms/redhat/bacula.spec.in Modified: trunk/bacula/autoconf/configure.in =================================================================== --- trunk/bacula/autoconf/configure.in 2009-07-28 14:52:29 UTC (rev 9114) +++ trunk/bacula/autoconf/configure.in 2009-07-29 11:34:17 UTC (rev 9115) @@ -2729,9 +2729,7 @@ platforms/redhat/Makefile \ platforms/redhat/bacula-fd \ platforms/redhat/bacula-sd \ - platforms/redhat/bacula-dir \ - platforms/redhat/bacula.spec \ - platforms/redhat/bsys.spec \ + platforms/redhat/bacula-dir " ;; mandrake) Modified: trunk/bacula/configure =================================================================== --- trunk/bacula/configure 2009-07-28 14:52:29 UTC (rev 9114) +++ trunk/bacula/configure 2009-07-29 11:34:17 UTC (rev 9115) @@ -42739,9 +42739,7 @@ platforms/redhat/Makefile \ platforms/redhat/bacula-fd \ platforms/redhat/bacula-sd \ - platforms/redhat/bacula-dir \ - platforms/redhat/bacula.spec \ - platforms/redhat/bsys.spec \ + platforms/redhat/bacula-dir " ;; mandrake) Copied: trunk/bacula/platforms/redhat/bacula.spec (from rev 9114, trunk/bacula/platforms/redhat/bacula.spec.in) =================================================================== --- trunk/bacula/platforms/redhat/bacula.spec (rev 0) +++ trunk/bacula/platforms/redhat/bacula.spec 2009-07-29 11:34:17 UTC (rev 9115) @@ -0,0 +1,3123 @@ +# Bacula RPM spec file +# +# Copyright (C) 2000-2009 Free Software Foundation Europe e.V. + +# Platform Build Configuration + +BuildRequires: libacl-devel + +# probems with mandriva build: +# nothing provides libbonobo2_0-devel, nothing provides libbonoboui2_0-devel + +# set Macros by opensuse_bs, see http://en.opensuse.org/Build_Service/cross_distribution_package_how_to +#openSUSE 11.1 %if 0%{?suse_version} == 1110 +#openSUSE 11.0 %if 0%{?suse_version} == 1100 +#openSUSE 10.3 %if 0%{?suse_version} == 1030 +#openSUSE 10.2 %if 0%{?suse_version} == 1020 +#SUSE Linux 10.1 %if 0%{?suse_version} == 1010 +#SUSE Linux 10.0 %if 0%{?suse_version} == 1000 +#SUSE Linux 9.3 %if 0%{?suse_version} == 930 +#SLES 9 %if 0%{?sles_version} == 9 also set: %if 0%{?suse_version} == 910 +#SLE 10 %if 0%{?sles_version} == 10 also set: %if 0%{?suse_version} == 1010 +#SLE 11 %if 0%{?sles_version} == 11 also set: %if 0%{?suse_version} == 1110 +#CentOS 5 %if 0%{?centos_version} == 501 +#RHEL 4 %if 0%{?rhel_version} == 406 +#RHEL 5 %if 0%{?rhel_version} == 501 +#Fedora 6 with Extras %if 0%{?fedora_version} == 6 +#Fedora 7 with Extras %if 0%{?fedora_version} == 7 +#Fedora 8 with Extras %if 0%{?fedora_version} == 8 +#Fedora 9 with Extras %if 0%{?fedora_version} == 9 +#Fedora 10 with Extras %if 0%{?fedora_version} == 10 +#Mandriva 2006 %if 0%{?mandriva_version} == 2006 +#Mandriva 2007 %if 0%{?mandriva_version} == 2007 +#Mandriva 2008 %if 0%{?mandriva_version} == 2008 + + +%if 0%{?opensuse_bs} +# am I running in opensuse build service? +# TODO: seems to make problems + +# choose database backend here +# postgres, mysql, sqlite +%define build_postgresql 1 + +# Build Service: Determine Distribution + +%ifarch x86_64 + %define build_x86_64 1 +%endif + + +%if 0%{?fedora_version} || 0%{?rhel_version} || 0%{?centos_version} +BuildRequires: GConf2-devel +BuildRequires: freetype-devel +BuildRequires: libtermcap-devel +BuildRequires: shadow-utils +%endif + + +%if 0%{?mandriva_version} == 2007 +%define build_mdv 1 +%define _dist "Mandriva 2007" +# %define gconsole 0 +%endif + +%if 0%{?fedora_version} == 8 +%define build_fc8 1 +%define _dist "Fedora Core 8" +BuildRequires: redhat-release +%endif + +%if 0%{?fedora_version} == 9 +%define build_fc9 1 +%define _dist "Fedora Core 9" +BuildRequires: redhat-release +%endif + + +%if 0%{?fedora_version} == 10 +%define build_fc9 1 +%define _dist "Fedora Core 10" +BuildRequires: PolicyKit-gnome +BuildRequires: fedora-release +%endif + +%if 0%{?fedora_version} == 11 +%define build_fc9 1 +%define _dist "Fedora Core 11" +BuildRequires: PolicyKit-gnome +BuildRequires: fedora-release +%endif + +%if 0%{?rhel_version} == 501 +%define build_rhel5 1 +%define _dist "Red Hat Enterprise Linux Server release 5" +BuildRequires: redhat-release +%endif + +%if 0%{?rhel_version} == 406 +%define build_rhel4 1 +%define _dist "Red Hat Enterprise Linux Server release 4" +BuildRequires: redhat-release +%endif + + +%if 0%{?centos_version} == 501 +%define build_centos5 1 +%define _dist "CentOS 5" +BuildRequires: redhat-release +%endif + + +%if 0%{?suse_version} == 1020 +%define build_su102 1 +%define _dist "OpenSUSE 10.2" +BuildRequires: suse-release +%endif + + +%if 0%{?suse_version} == 1030 +%define build_su103 1 +%define _dist "OpenSUSE 10.3" +BuildRequires: suse-release +%endif + +%if 0%{?suse_version} == 1100 +%define build_su110 1 +%define _dist "SUSE 11" +BuildRequires: suse-release +%endif + + +%if 0%{?suse_version} == 1110 +%define build_su111 1 +%define _dist "SUSE 11" +%endif + + +%if 0%{?sles_version} == 9 +%define build_su9 1 +%define _dist "SLES 9" +%endif + + +%if 0%{?sles_version} == 10 +%define build_su10 1 +%define _dist "SLE 10" +%endif + + +%if 0%{?sles_version} == 11 +%define build_su111 1 +%define _dist "SLES 11" +%endif + +%endif +# opensuse-bs? + +# basic defines for every build +%define _version 3.0.2 +%define _release 1 +%define depkgs_version 18Feb09 +%define depkgs_qt_version 28Jul09 +%define _rescuever 3.0.2 +%define docs_version 3.0.2 +%define _packager D. Scott Barninger <bar...@fa...> + +%define single_dir 0 +%{?single_dir_install:%define single_dir 1} + +# Installation Directory locations +%if %{single_dir} +%define _prefix /opt/bacula +%define _sbindir /opt/bacula/bin +%define _subsysdir /opt/bacula/working +%define sqlite_bindir /opt/bacula/sqlite +%define _mandir /usr/share/man +%define sysconf_dir /opt/bacula/etc +%define script_dir /opt/bacula/scripts +%define working_dir /opt/bacula/working +%define pid_dir /opt/bacula/working +%define plugin_dir /opt/bacula/plugins +%define lib_dir /opt/bacula/lib +%else +%define _prefix /usr +%define _sbindir %_prefix/sbin +%define _subsysdir /var/lock/subsys +%define sqlite_bindirf %_libdir/bacula/sqlite +%define _mandir %_prefix/share/man +%define sysconf_dir /etc/bacula +%define script_dir %_libdir/bacula +%define working_dir /var/lib/bacula +%define pid_dir /var/run +%define plugin_dir %_libdir/bacula/plugins +%define lib_dir %_libdir/bacula/lib +%endif + +# Daemon user:group Don't change them unless you know what you are doing +%define director_daemon_user bacula +%define storage_daemon_user bacula +%define file_daemon_user root +%define daemon_group bacula +# group that has write access to tape devices, usually disk on Linux +%define storage_daemon_group disk + + +# any patches for this release +# be sure to check the setup section for patch macros + +#-------------------------------------------------------------------------- +# it should not be necessary to change anything below here for a release +# except for patch macros in the setup section +#-------------------------------------------------------------------------- + +%{?contrib_packager:%define _packager %{contrib_packager}} + +Summary: Bacula - The Network Backup Solution +Name: bacula +Version: %{_version} +Release: %{_release} +Group: System Environment/Daemons +License: GPL v2 +Source0: http://www.prdownloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz +Source1: http://www.prdownloads.sourceforge.net/bacula/depkgs-%{depkgs_version}.tar.gz +Source2: Release_Notes-%{version}-%{release}.tar.gz +Source3: http://www.prdownloads.sourceforge.net/bacula/%{name}-docs-%{docs_version}.tar.gz +Source4: http://www.prdownloads.sourceforge.net/bacula/%{name}-rescue-%{_rescuever}.tar.gz +Source5: bacula-2.2.7-postgresql.patch +Source6: depkgs-qt-%{depkgs_qt_version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-root +URL: http://www.bacula.org/ +Vendor: The Bacula Team +Packager: %{_packager} +Prefix: %{_prefix} + +# define the basic package description +%define blurb Bacula - It comes by night and sucks the vital essence from your computers. +%define blurb2 Bacula is a set of computer programs that permit you (or the system +%define blurb3 administrator) to manage backup, recovery, and verification of computer +%define blurb4 data across a network of computers of different kinds. In technical terms, +%define blurb5 it is a network client/server based backup program. Bacula is relatively +%define blurb6 easy to use and efficient, while offering many advanced storage management +%define blurb7 features that make it easy to find and recover lost or damaged files. +%define blurb8 Bacula source code has been released under the GPL version 2 license. + +# Source directory locations +%define _docsrc ../%{name}-docs-%{docs_version} +%define _rescuesrc ../%{name}-rescue-%{_rescuever} +%define depkgs ../depkgs +%define depkgs_qt ../depkgs-qt + +%define user_file /etc/passwd +%define group_file /etc/group + +# program locations +%define useradd /usr/sbin/useradd +%define groupadd /usr/sbin/groupadd +%define usermod /usr/sbin/usermod + +# platform defines - set one below or define the build_xxx on the command line +# RedHat builds +%define rh7 0 +%{?build_rh7:%define rh7 1} +%define rh8 0 +%{?build_rh8:%define rh8 1} +%define rh9 0 +%{?build_rh9:%define rh9 1} +# Fedora Core build +%define fc1 0 +%{?build_fc1:%define fc1 1} +%define fc3 0 +%{?build_fc3:%define fc3 1} +%define fc4 0 +%{?build_fc4:%define fc4 1} +%define fc5 0 +%{?build_fc5:%define fc5 1} +%define fc6 0 +%{?build_fc6:%define fc6 1} +%define fc7 0 +%{?build_fc7:%define fc7 1} +%define fc8 0 +%{?build_fc8:%define fc8 1} +%define fc9 0 +%{?build_fc9:%define fc9 1} +# Whitebox Enterprise build +%define wb3 0 +%{?build_wb3:%define wb3 1} +# RedHat Enterprise builds +%define rhel3 0 +%{?build_rhel3:%define rhel3 1} +%{?build_rhel3:%define wb3 1} +%define rhel4 0 +%{?build_rhel4:%define rhel4 1} +%{?build_rhel4:%define fc3 1} +%define rhel5 0 +%{?build_rhel5:%define rhel5 1} +%{?build_rhel5:%define fc6 1} +# CentOS build +%define centos3 0 +%{?build_centos3:%define centos3 1} +%{?build_centos3:%define wb3 1} +%define centos4 0 +%{?build_centos4:%define centos4 1} +%{?build_centos4:%define fc3 1} +%define centos5 0 +%{?build_centos5:%define centos5 1} +%{?build_centos5:%define fc6 1} +# SL build +%define sl3 0 +%{?build_sl3:%define sl3 1} +%{?build_sl3:%define wb3 1} +%define sl4 0 +%{?build_sl4:%define sl4 1} +%{?build_sl4:%define fc3 1} +%define sl5 0 +%{?build_sl5:%define sl5 1} +%{?build_sl5:%define fc6 1} +# SuSE build +%define su9 0 +%{?build_su9:%define su9 1} +%define su10 0 +%{?build_su10:%define su10 1} +%define su102 0 +%{?build_su102:%define su102 1} +%define su103 0 +%{?build_su103:%define su103 1} +%define su110 0 +%{?build_su110:%define su110 1} +%define su111 0 +%{?build_su111:%define su111 1} +# Mandrake builds +%define mdk 0 +%{?build_mdk:%define mdk 1} +%define mdv 0 +%{?build_mdv:%define mdv 1} +%{?build_mdv:%define mdk 1} + +# client only build +%define client_only 0 +%{?build_client_only:%define client_only 1} + +# test for a platform definition +%if !%{rh7} && !%{rh8} && !%{rh9} && !%{fc1} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} && !%{wb3} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} +%{error: You must specify a platform. Please examine the spec file.} +exit 1 +%endif + +# database defines +# set for database support desired or define the build_xxx on the command line +%define mysql 0 +%{?build_mysql:%define mysql 1} +# if using mysql 4.x define this and mysql above +# currently: Mandrake 10.1, SuSE 9.x & 10.0, RHEL4 and Fedora Core 4 +%define mysql4 0 +%{?build_mysql4:%define mysql4 1} +%{?build_mysql4:%define mysql 1} +# if using mysql 5.x define this and mysql above +# currently: SuSE 10.1 and Fedora Core 5 +%define mysql5 0 +%{?build_mysql5:%define mysql5 1} +%{?build_mysql5:%define mysql 1} +%define sqlite 0 +%{?build_sqlite:%define sqlite 1} +%define postgresql 0 +%{?build_postgresql:%define postgresql 1} + +# test for a database definition +%if ! %{mysql} && ! %{sqlite} && ! %{postgresql} && ! %{client_only} +%{error: You must specify database support. Please examine the spec file.} +exit 1 +%endif + +%if %{mysql} +%define db_backend mysql +%endif +%if %{sqlite} +%define db_backend sqlite3 +%endif +%if %{postgresql} +%define db_backend postgresql +%endif + +# 64 bit support +%define x86_64 0 +%{?build_x86_64:%define x86_64 1} + +# check what distribution we are +%if %{rh7} || %{rh8} || %{rh9} || %{rhel3} || %{rhel4} || %{rhel5} +%define _dist %(grep Red /etc/redhat-release) +%endif +%if %{fc1} || %{fc4} || %{fc5} || %{fc7} || %{fc8} || %{fc9} +%define _dist %(grep Fedora /etc/redhat-release) +%endif +%if %{centos5} || %{centos4} || %{centos3} +%define _dist %(grep CentOS /etc/redhat-release) +%endif +%if %{sl5} ||%{sl4} || %{sl3} +%define _dist %(grep 'Scientific Linux' /etc/redhat-release) +%endif +%if %{fc3} && ! %{rhel4} && ! %{centos4} && ! %{sl4} +%define _dist %(grep Fedora /etc/redhat-release) +%endif +%if %{fc6} && ! %{rhel5} && ! %{centos5} && ! %{sl5} +%define _dist %(grep Fedora /etc/redhat-release) +%endif +%if %{wb3} && ! %{rhel3} && ! %{centos3} && ! %{sl3} +%define _dist %(grep White /etc/whitebox-release) +%endif +%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} +%define _dist %(grep -i SuSE /etc/SuSE-release) +%endif +%if %{mdk} +%define _dist %(grep Mand /etc/mandrake-release) +%endif +%{?DISTNAME:%define _dist %{DISTNAME}} +Distribution: %{_dist} + +# Should we build gconsole, possible only if gtk= >= 2.4 available. +# leaving all the BuildRequires and Requires in place below for now. +# su10, fc3 and fc4 now nobuild, tray monitor fails to build as of 2.2.1 +# release as it needs 2.10 + +%define gconsole 1 +%if %{rh7} || %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{su9} || %{su10} +%define gconsole 0 +%endif +%if %{mdk} && ! %{mdv} +%define gconsole 0 +%endif + +# specifically disallow gconsole if desired +%{?nobuild_gconsole:%define gconsole 0} + +# specifically disallow rescue files +%define rescue 0 +%{?build_rescue:%define rescue 1} + +# Should we build wxconsole, only wxWidgets >=2.6 is supported +# SuSE 10 and FC4 and newer +%define wxconsole 0 +%{?build_wxconsole:%define wxconsole 1} + +# Should we build bat +# requires >= Qt-4.2 +%define bat 0 +%{?build_bat:%define bat 1} + +# should we turn on python support +%define python 0 +%{?build_python:%define python 1} + +# specifically disallow build of mtx package if desired +%define mtx 0 +%{?nobuild_mtx:%define mtx 0} + +# do we need to patch for old postgresql version? +%define old_pgsql 0 +%{?build_old_pgsql:%define old_pgsql 1} + +# Mandriva somehow forces the manpage file extension to bz2 rather than gz +%if %{mdk} +%define manpage_ext bz2 +%else +%define manpage_ext gz +%endif + +# for client only build +%if %{client_only} +%define mysql 0 +%define mysql4 0 +%define mysql5 0 +%define postgresql 0 +%define sqlite 0 +%define gconsole 0 +%define wxconsole 0 +%endif + +%{expand: %%define gccver %(rpm -q --queryformat %%{version} gcc)} +%{expand: %%define gccrel %(rpm -q --queryformat %%{release} gcc)} + +BuildRequires: gcc, gcc-c++, make, autoconf +BuildRequires: ncurses-devel, perl +BuildRequires: libstdc++-devel = %{gccver}-%{gccrel}, zlib-devel +BuildRequires: openssl-devel +%if ! %{rh7} +BuildRequires: libxml2-devel +%endif +%if %{python} +BuildRequires: python, python-devel +%{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')} +%endif +%if %{gconsole} +BuildRequires: pkgconfig, pango-devel, atk-devel +%endif +%if %{bat} +BuildRequires: pkgconfig +%endif + +# Rh qt4 packages don't have a provide for, guess what, qt! +# still broken in fc8, ok in fc9 +# so fix for broken rh +%define broken_rh 0 +%if %{rhel5} || %{centos5} || %{sl5} || %{fc5} || %{fc6} || %{fc7} || %{fc8} +%define broken_rh 1 +%endif +%if %{bat} && ! %{broken_rh} +BuildRequires: qt-devel >= 4.2 +%endif +%if %{bat} && %{broken_rh} +BuildRequires: qt4-devel >= 4.2 +%endif + +%if %{rh7} +BuildRequires: libtermcap-devel +BuildRequires: glibc-devel >= 2.2 +BuildRequires: libxml-devel +%endif +%if %{su9} +BuildRequires: termcap +BuildRequires: glibc-devel >= 2.3 +%endif +%if %{su9} && %{gconsole} +BuildRequires: libgnome >= 2.0 +BuildRequires: gtk2-devel >= 2.0 +BuildRequires: libgnomeui-devel >= 2.0 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.0 +BuildRequires: libbonobo-devel >= 2.0 +BuildRequires: libbonoboui-devel >= 2.0 +BuildRequires: bonobo-activation-devel +BuildRequires: gconf2-devel +BuildRequires: linc-devel +BuildRequires: freetype2-devel +%endif +%if %{su10} +BuildRequires: termcap +BuildRequires: glibc-devel >= 2.3 +%endif +%if %{su10} && %{gconsole} +BuildRequires: libgnome >= 2.12 +BuildRequires: gtk2-devel >= 2.8 +BuildRequires: libgnomeui-devel >= 2.12 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.3 +BuildRequires: libbonobo-devel >= 2.10 +BuildRequires: libbonoboui-devel >= 2.10 +BuildRequires: bonobo-activation-devel +BuildRequires: gconf2-devel +BuildRequires: freetype2-devel +BuildRequires: cairo-devel +BuildRequires: fontconfig-devel >= 2.3 +BuildRequires: gnome-vfs2-devel >= 2.12 +BuildRequires: libpng-devel +%endif +%if %{su102} +BuildRequires: termcap +BuildRequires: glibc-devel >= 2.5 +%endif +%if %{su102} && %{gconsole} +BuildRequires: libgnome >= 2.16 +BuildRequires: gtk2-devel >= 2.10 +BuildRequires: libgnomeui-devel >= 2.16 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.3 +BuildRequires: libbonobo-devel >= 2.16 +BuildRequires: libbonoboui-devel >= 2.16 +BuildRequires: bonobo-activation-devel +BuildRequires: gconf2-devel +BuildRequires: freetype2-devel +BuildRequires: cairo-devel +BuildRequires: fontconfig-devel >= 2.4 +BuildRequires: gnome-vfs2-devel >= 2.16 +BuildRequires: libpng-devel +%endif +%if %{su103} +BuildRequires: termcap +BuildRequires: glibc-devel >= 2.6 +%endif +%if %{su103} && %{gconsole} +BuildRequires: libgnome >= 2.20 +BuildRequires: gtk2-devel >= 2.12 +BuildRequires: libgnomeui-devel >= 2.20 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.3 +BuildRequires: libbonobo-devel >= 2.20 +BuildRequires: libbonoboui-devel >= 2.20 +BuildRequires: bonobo-activation-devel +BuildRequires: gconf2-devel +BuildRequires: freetype2-devel +BuildRequires: cairo-devel +BuildRequires: fontconfig-devel >= 2.4 +BuildRequires: gnome-vfs2-devel >= 2.20 +BuildRequires: libpng-devel +%endif +%if %{su110} +BuildRequires: termcap +BuildRequires: glibc-devel >= 2.8 +%endif +%if %{su110} && %{gconsole} +BuildRequires: libgnome >= 2.22 +BuildRequires: gtk2-devel >= 2.12 +BuildRequires: libgnomeui-devel >= 2.22 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.3 +BuildRequires: libbonobo-devel >= 2.22 +BuildRequires: libbonoboui-devel >= 2.22 +BuildRequires: bonobo-activation-devel +BuildRequires: gconf2-devel +BuildRequires: freetype2-devel +BuildRequires: cairo-devel +BuildRequires: fontconfig-devel >= 2.4 +BuildRequires: gnome-vfs2-devel >= 2.22 +BuildRequires: libpng-devel +%endif +%if %{su111} +BuildRequires: termcap +BuildRequires: glibc-devel >= 2.9 +%endif +%if %{su111} && %{gconsole} +BuildRequires: libgnome >= 2.24 +BuildRequires: gtk2-devel >= 2.14 +BuildRequires: libgnomeui-devel >= 2.24 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.3 +BuildRequires: libbonobo-devel >= 2.24 +BuildRequires: libbonoboui-devel >= 2.24 +BuildRequires: bonobo-activation-devel +BuildRequires: gconf2-devel +BuildRequires: freetype2-devel +BuildRequires: cairo-devel +BuildRequires: fontconfig-devel >= 2.6 +BuildRequires: gnome-vfs2-devel >= 2.24 +BuildRequires: libpng-devel +%endif +%if %{mdk} +BuildRequires: libtermcap-devel +BuildRequires: libstdc++-static-devel +BuildRequires: glibc-static-devel +BuildRequires: glibc-devel >= 2.3 +%endif +%if %{mdk} && !%{mdv} && %{gconsole} +BuildRequires: gtk2-devel >= 2.0 +BuildRequires: libgnomeui2-devel >= 2.0 +BuildRequires: libORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.0 +BuildRequires: libbonobo2_0-devel +BuildRequires: libbonoboui2_0-devel +BuildRequires: libbonobo-activation-devel +BuildRequires: libGConf2-devel +BuildRequires: freetype2-devel +%endif +%if %{mdv} && %{gconsole} +BuildRequires: gtk2-devel >= 2.8 +BuildRequires: libgnomeui2-devel >= 2.10 +BuildRequires: libORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.3 +BuildRequires: libbonobo2_0-devel +BuildRequires: libbonoboui2_0-devel +BuildRequires: libbonobo-activation-devel +BuildRequires: libGConf2-devel +BuildRequires: freetype2-devel +%endif +%if %{fc3} +BuildRequires: libtermcap-devel +BuildRequires: glibc-devel >= 2.3 +%endif +%if %{fc3} && %{gconsole} +BuildRequires: gtk2-devel >= 2.4 +BuildRequires: libgnomeui-devel >= 2.8 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.3 +BuildRequires: libbonobo-devel >= 2.8 +BuildRequires: libbonoboui-devel >= 2.8 +BuildRequires: bonobo-activation-devel +BuildRequires: GConf2-devel +BuildRequires: freetype-devel +%endif +%if %{fc4} +BuildRequires: libtermcap-devel +BuildRequires: glibc-devel >= 2.3 +%endif +%if %{fc4} && %{gconsole} +BuildRequires: gtk2-devel >= 2.6 +BuildRequires: libgnomeui-devel >= 2.10 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.3 +BuildRequires: libbonobo-devel >= 2.8 +BuildRequires: libbonoboui-devel >= 2.8 +BuildRequires: bonobo-activation-devel +BuildRequires: GConf2-devel +BuildRequires: freetype-devel +%endif +%if %{fc5} +BuildRequires: libtermcap-devel +BuildRequires: glibc-devel >= 2.4 +%endif +%if %{fc5} && %{gconsole} +BuildRequires: gtk2-devel >= 2.8 +BuildRequires: libgnomeui-devel >= 2.14 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.3 +BuildRequires: libbonobo-devel >= 2.14 +BuildRequires: libbonoboui-devel >= 2.14 +BuildRequires: GConf2-devel +BuildRequires: freetype-devel +%endif +%if %{fc6} +BuildRequires: libtermcap-devel +BuildRequires: glibc-devel >= 2.5 +%endif +%if %{fc6} && %{gconsole} +BuildRequires: gtk2-devel >= 2.10 +BuildRequires: libgnomeui-devel >= 2.16 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.3 +BuildRequires: libbonobo-devel >= 2.16 +BuildRequires: libbonoboui-devel >= 2.16 +BuildRequires: GConf2-devel +BuildRequires: freetype-devel +%endif +%if %{fc7} +BuildRequires: libtermcap-devel +BuildRequires: glibc-devel >= 2.5 +%endif +%if %{fc7} && %{gconsole} +BuildRequires: gtk2-devel >= 2.10 +BuildRequires: libgnomeui-devel >= 2.18 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.3 +BuildRequires: libbonobo-devel >= 2.18 +BuildRequires: libbonoboui-devel >= 2.18 +BuildRequires: GConf2-devel +BuildRequires: freetype-devel +%endif +%if %{fc8} +BuildRequires: libtermcap-devel +BuildRequires: glibc-devel >= 2.7 +%endif +%if %{fc8} && %{gconsole} +BuildRequires: gtk2-devel >= 2.12 +BuildRequires: libgnomeui-devel >= 2.20 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.3 +BuildRequires: libbonobo-devel >= 2.20 +BuildRequires: libbonoboui-devel >= 2.20 +BuildRequires: GConf2-devel +BuildRequires: freetype-devel +%endif +%if %{fc9} +BuildRequires: glibc-devel >= 2.8 +BuildRequires: zlib-static +%endif +%if %{fc9} && %{gconsole} +BuildRequires: gtk2-devel >= 2.12 +BuildRequires: libgnomeui-devel >= 2.22 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.3 +BuildRequires: libbonobo-devel >= 2.22 +BuildRequires: libbonoboui-devel >= 2.22 +BuildRequires: GConf2-devel +BuildRequires: freetype-devel +%endif +%if !%{rh7} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} +BuildRequires: libtermcap-devel +BuildRequires: glibc-devel >= 2.3 +%endif +%if !%{rh7} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} && %{gconsole} +BuildRequires: gtk2-devel >= 2.0 +BuildRequires: libgnomeui-devel >= 2.0 +BuildRequires: ORBit2-devel +BuildRequires: libart_lgpl-devel >= 2.0 +BuildRequires: libbonobo-devel >= 2.0 +BuildRequires: libbonoboui-devel >= 2.0 +BuildRequires: bonobo-activation-devel +BuildRequires: GConf2-devel +BuildRequires: linc-devel +BuildRequires: freetype-devel +%endif + +%if %{mysql} && ! %{mysql4} && ! %{mysql5} +BuildRequires: mysql-devel >= 3.23 +%endif + +%if %{mysql} && %{mysql4} +BuildRequires: mysql-devel >= 4.0 +%endif + +%if %{mysql} && %{mysql5} +BuildRequires: mysql-devel >= 5.0 +%endif + +%if %{postgresql} && %{wb3} +BuildRequires: rh-postgresql-devel >= 7 +%endif + +%if %{postgresql} && ! %{wb3} +BuildRequires: postgresql-devel >= 7 +%endif + +%if %{wxconsole} +BuildRequires: wxGTK-devel >= 2.6 +%endif + +%description +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +%if %{mysql} +%package mysql +%endif +%if %{sqlite} +%package sqlite +%endif +%if %{postgresql} +%package postgresql +%endif + +Summary: Bacula - The Network Backup Solution +Group: System Environment/Daemons +Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server +Conflicts: bacula-client +Obsoletes: bacula-rescue + +%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} +Conflicts: bacula +%endif + +Requires: ncurses, libstdc++, zlib, openssl + +%if %{rh7} +Requires: glibc >= 2.2 +Requires: libtermcap +%endif +%if %{su9} || %{su10} +Requires: glibc >= 2.3 +Requires: termcap +%endif +%if %{su102} +Requires: glibc >= 2.5 +Requires: termcap +%endif +%if %{su103} +Requires: glibc >= 2.6 +Requires: termcap +%endif +%if %{su110} +Requires: glibc >= 2.8 +Requires: termcap +%endif +%if %{su111} +Requires: glibc >= 2.9 +Requires: termcap +%endif +%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{fc5} && ! %{fc6} && ! %{fc7} && ! %{fc8} && ! %{fc9} +Requires: glibc >= 2.3 +Requires: libtermcap +%endif +%if %{fc5} +Requires: glibc >= 2.4 +Requires: libtermcap +%endif +%if %{fc6} || %{fc7} +Requires: glibc >= 2.5 +Requires: libtermcap +%endif +%if %{fc8} +Requires: glibc >= 2.7 +Requires: libtermcap +%endif +%if %{fc9} +Requires: glibc >= 2.8 +%endif + +%if %{mysql} && ! %{su9} && ! %{mdk} && ! %{mysql4} && ! %{mysql5} +Requires: mysql >= 3.23 +Requires: mysql-server >= 3.23 +%endif +%if %{mysql} && ! %{su9} && ! %{su10} && ! %{mdk} && %{mysql4} +Requires: mysql >= 4.0 +Requires: mysql-server >= 4.0 +%endif +%if %{mysql} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{mdk} && %{mysql5} +Requires: mysql >= 5.0 +Requires: mysql-server >= 5.0 +%endif + +%if %{mysql} && %{su9} && ! %{mysql4} +Requires: mysql >= 3.23 +Requires: mysql-client >= 3.23 +%endif +%if %{mysql} && %{su9} && %{mysql4} +Requires: mysql >= 4.0 +Requires: mysql-client >= 4.0 +%endif +%if %{mysql} && %{su10} && %{mysql4} +Requires: mysql >= 4.0 +Requires: mysql-client >= 4.0 +%endif +%if %{mysql} && %{su10} && %{mysql5} +Requires: mysql >= 5.0 +Requires: mysql-client >= 5.0 +%endif +%if %{mysql} && %{su102} && %{mysql5} +Requires: mysql >= 5.0 +Requires: mysql-client >= 5.0 +%endif +%if %{mysql} && %{su103} && %{mysql5} +Requires: mysql >= 5.0 +Requires: mysql-client >= 5.0 +%endif +%if %{mysql} && %{su110} && %{mysql5} +Requires: mysql >= 5.0 +Requires: mysql-client >= 5.0 +%endif +%if %{mysql} && %{su111} && %{mysql5} +Requires: mysql >= 5.0 +Requires: mysql-client >= 5.0 +%endif + +%if %{mysql} && %{mdk} && ! %{mysql4} +Requires: mysql >= 3.23 +Requires: mysql-client >= 3.23 +%endif +%if %{mysql} && %{mdk} && %{mysql4} +Requires: mysql >= 4.0 +Requires: mysql-client >= 4.0 +%endif + +%if %{postgresql} && %{wb3} +Requires: rh-postgresql >= 7 +Requires: rh-postgresql-server >= 7 +%endif +%if %{postgresql} && ! %{wb3} +Requires: postgresql >= 7 +Requires: postgresql-server >= 7 +%endif + +%if %{mysql} +%description mysql +%endif +%if %{sqlite} +%description sqlite +%endif +%if %{postgresql} +%description postgresql +%endif + +%if %{python} +Requires: python >= %{pyver} +%endif + +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +%if %{mysql} +This build requires MySQL to be installed separately as the catalog database. +%endif +%if %{postgresql} +This build requires PostgreSQL to be installed separately as the catalog database. +%endif +%if %{sqlite} +This build incorporates sqlite3 as the catalog database, statically compiled. +%endif +%if %{python} +This build includes python scripting support. +%endif + +%if ! %{client_only} && %{mtx} +%package mtx +Summary: Bacula - The Network Backup Solution +Group: System Environment/Daemons +Provides: mtx + +%description mtx +This is Bacula's version of mtx tape utilities for Linux distributions that +do not provide their own mtx package +%endif + +%package client +Summary: Bacula - The Network Backup Solution +Group: System Environment/Daemons +Provides: bacula-fd +Conflicts: bacula-mysql +Conflicts: bacula-sqlite +Conflicts: bacula-postgresql +Obsoletes: bacula-rescue + +%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} +Provides: bacula +%endif + +Requires: libstdc++, zlib, openssl + +%if %{rh7} +Requires: glibc >= 2.2 +Requires: libtermcap +%endif +%if %{su9} || %{su10} +Requires: glibc >= 2.3 +Requires: termcap +%endif +%if %{su102} +Requires: glibc >= 2.5 +Requires: termcap +%endif +%if %{su103} +Requires: glibc >= 2.6 +Requires: termcap +%endif +%if %{su110} +Requires: glibc >= 2.8 +Requires: termcap +%endif +%if %{su111} +Requires: glibc >= 2.9 +Requires: termcap +%endif +%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{fc5} && ! %{fc6} && ! %{fc7} && ! %{fc8} && ! %{fc9} +Requires: glibc >= 2.3 +Requires: libtermcap +%endif +%if %{fc5} +Requires: glibc >= 2.4 +Requires: libtermcap +%endif +%if %{fc6} || %{fc7} +Requires: glibc >= 2.5 +Requires: libtermcap +%endif +%if %{fc8} +Requires: glibc >= 2.7 +Requires: libtermcap +%endif +%if %{fc9} +Requires: glibc >= 2.8 +%endif + +%if %{python} +Requires: python >= %{pyver} +%endif + +%description client +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +This is the File daemon (Client) only package. It includes the command line +console program. +%if %{python} +This build includes python scripting support. +%endif + +%if ! %{client_only} +%package updatedb + +Summary: Bacula - The Network Backup Solution +Group: System Environment/Daemons + +%description updatedb +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +This package installs scripts for updating older versions of the bacula +database. +%endif + +%if %{gconsole} +%package gconsole +Summary: Bacula - The Network Backup Solution +Group: System Environment/Daemons +Requires: atk, libstdc++, zlib, pango, libxml2, bacula-fd, openssl +%endif + +%if %{gconsole} && %{su9} +Requires: gtk2 >= 2.0 +Requires: libgnome >= 2.0 +Requires: libgnomeui >= 2.0 +Requires: glibc >= 2.3 +Requires: ORBit2 +Requires: libart_lgpl >= 2.0 +Requires: libbonobo >= 2.0 +Requires: libbonoboui >= 2.0 +Requires: bonobo-activation +Requires: gconf2 +Requires: linc +Requires: freetype2 +%endif +%if %{gconsole} && %{su10} +Requires: gtk2 >= 2.8 +Requires: libgnome >= 2.12 +Requires: libgnomeui >= 2.12 +Requires: glibc >= 2.3 +Requires: ORBit2 +Requires: libart_lgpl >= 2.3 +Requires: libbonobo >= 2.10 +Requires: libbonoboui >= 2.10 +Requires: bonobo-activation +Requires: gconf2 +Requires: freetype2 +Requires: cairo +Requires: fontconfig >= 2.3 +Requires: gnome-vfs2 >= 2.12 +Requires: libpng +%endif +%if %{gconsole} && %{su102} +Requires: gtk2 >= 2.10 +Requires: libgnome >= 2.16 +Requires: libgnomeui >= 2.16 +Requires: glibc >= 2.5 +Requires: ORBit2 +Requires: libart_lgpl >= 2.3 +Requires: libbonobo >= 2.16 +Requires: libbonoboui >= 2.16 +Requires: bonobo-activation +Requires: gconf2 +Requires: freetype2 +Requires: cairo +Requires: fontconfig >= 2.4 +Requires: gnome-vfs2 >= 2.16 +Requires: libpng +%endif +%if %{gconsole} && %{su103} +Requires: gtk2 >= 2.12 +Requires: libgnome >= 2.20 +Requires: libgnomeui >= 2.20 +Requires: glibc >= 2.6 +Requires: ORBit2 +Requires: libart_lgpl >= 2.3 +Requires: libbonobo >= 2.20 +Requires: libbonoboui >= 2.20 +Requires: bonobo-activation +Requires: gconf2 +Requires: freetype2 +Requires: cairo +Requires: fontconfig >= 2.4 +Requires: gnome-vfs2 >= 2.20 +Requires: libpng +%endif +%if %{gconsole} && %{su110} +Requires: gtk2 >= 2.12 +Requires: libgnome >= 2.22 +Requires: libgnomeui >= 2.22 +Requires: glibc >= 2.8 +Requires: ORBit2 +Requires: libart_lgpl >= 2.3 +Requires: libbonobo >= 2.22 +Requires: libbonoboui >= 2.22 +Requires: bonobo-activation +Requires: gconf2 +Requires: freetype2 +Requires: cairo +Requires: fontconfig >= 2.4 +Requires: gnome-vfs2 >= 2.22 +Requires: libpng +%endif +%if %{gconsole} && %{su111} +Requires: gtk2 >= 2.14 +Requires: libgnome >= 2.24 +Requires: libgnomeui >= 2.24 +Requires: glibc >= 2.9 +Requires: ORBit2 +Requires: libart_lgpl >= 2.3 +Requires: libbonobo >= 2.24 +Requires: libbonoboui >= 2.24 +Requires: bonobo-activation +Requires: gconf2 +Requires: freetype2 +Requires: cairo +Requires: fontconfig >= 2.6 +Requires: gnome-vfs2 >= 2.24 +Requires: libpng +%endif +%if %{gconsole} && %{mdk} && !%{mdv} +Requires: gtk2 >= 2.0 +Requires: libgnomeui2 +Requires: glibc >= 2.3 +Requires: ORBit2 +Requires: libart_lgpl >= 2.0 +Requires: libbonobo >= 2.0 +Requires: libbonoboui >= 2.0 +Requires: GConf2 +Requires: freetype2 +%endif +%if %{gconsole} && %{mdv} +Requires: gtk2 >= 2.8 +Requires: libgnomeui2 +Requires: glibc >= 2.3 +Requires: ORBit2 +Requires: libart_lgpl >= 2.3 +Requires: libbonobo >= 2.10 +Requires: libbonoboui >= 2.10 +Requires: GConf2 +Requires: freetype2 +%endif +%if %{gconsole} && %{fc3} +Requires: gtk2 >= 2.4 +Requires: libgnomeui >= 2.8 +Requires: glibc >= 2.3 +Requires: ORBit2 +Requires: libart_lgpl >= 2.3 +Requires: libbonobo >= 2.8 +Requires: libbonoboui >= 2.8 +Requires: bonobo-activation +Requires: GConf2 +Requires: freetype +%endif +%if %{gconsole} && %{fc4} +Requires: gtk2 >= 2.6 +Requires: libgnomeui >= 2.10 +Requires: glibc >= 2.3 +Requires: ORBit2 +Requires: libart_lgpl >= 2.3 +Requires: libbonobo >= 2.8 +Requires: libbonoboui >= 2.8 +Requires: bonobo-activation +Requires: GConf2 +Requires: freetype +%endif +%if %{gconsole} && %{fc5} +Requires: gtk2 >= 2.8 +Requires: libgnomeui >= 2.14 +Requires: glibc >= 2.4 +Requires: ORBit2 +Requires: libart_lgpl >= 2.3 +Requires: libbonobo >= 2.14 +Requires: libbonoboui >= 2.14 +Requires: GConf2 +Requires: freetype +%endif +%if %{gconsole} && %{fc6} +Requires: gtk2 >= 2.10 +Requires: libgnomeui >= 2.16 +Requires: glibc >= 2.5 +Requires: ORBit2 +Requires: libart_lgpl >= 2.3 +Requires: libbonobo >= 2.16 +Requires: libbonoboui >= 2.16 +Requires: GConf2 +Requires: freetype +%endif +%if %{gconsole} && %{fc7} +Requires: gtk2 >= 2.10 +Requires: libgnomeui >= 2.18 +Requires: glibc >= 2.5 +Requires: ORBit2 +Requires: libart_lgpl >= 2.3 +Requires: libbonobo >= 2.18 +Requires: libbonoboui >= 2.18 +Requires: GConf2 +Requires: freetype +%endif +%if %{gconsole} && %{fc8} +Requires: gtk2 >= 2.12 +Requires: libgnomeui >= 2.20 +Requires: glibc >= 2.7 +Requires: ORBit2 +Requires: libart_lgpl >= 2.3 +Requires: libbonobo >= 2.20 +Requires: libbonoboui >= 2.20 +Requires: GConf2 +Requires: freetype +%endif +%if %{gconsole} && %{fc9} +Requires: gtk2 >= 2.12 +Requires: libgnomeui >= 2.22 +Requires: glibc >= 2.8 +Requires: ORBit2 +Requires: libart_lgpl >= 2.3 +Requires: libbonobo >= 2.22 +Requires: libbonoboui >= 2.22 +Requires: GConf2 +Requires: freetype +%endif +%if %{gconsole} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} +Requires: gtk2 >= 2.0 +Requires: libgnomeui >= 2.0 +Requires: glibc >= 2.3 +Requires: ORBit2 +Requires: libart_lgpl >= 2.0 +Requires: libbonobo >= 2.0 +Requires: libbonoboui >= 2.0 +Requires: bonobo-activation +Requires: GConf2 +Requires: linc +Requires: freetype +%endif +%if %{gconsole} && %{su9} +Requires: xsu +%endif +%if %{gconsole} && %{su10} +Requires: xsu +%endif +%if %{gconsole} && %{su102} +Requires: xsu +%endif +%if %{gconsole} && %{su103} +Requires: xsu +%endif +%if %{gconsole} && %{su110} +Requires: xsu +%endif +%if %{gconsole} && %{su111} +Requires: xsu +%endif +%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} +Requires: usermode +%endif + +%if %{gconsole} +%description gconsole +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +This is the Gnome Console package. It is an add-on to the client or +server packages. +%endif + +%if %{wxconsole} +%package wxconsole +Summary: Bacula - The Network Backup Solution +Group: System Environment/Daemons +Requires: wxGTK >= 2.6, libstdc++, openssl +%endif + +%if %{wxconsole} && %{su10} +Requires: gtk2 >= 2.8 +%endif + +%if %{wxconsole} && %{su102} +Requires: gtk2 >= 2.10 +%endif + +%if %{wxconsole} && %{su103} +Requires: gtk2 >= 2.12 +%endif + +%if %{wxconsole} && %{su110} +Requires: gtk2 >= 2.12 +%endif + +%if %{wxconsole} && %{su111} +Requires: gtk2 >= 2.14 +%endif + +%if %{wxconsole} && %{fc3} +Requires: gtk2 >= 2.4 +%endif + +%if %{wxconsole} && %{fc4} +Requires: gtk2 >= 2.6 +%endif + +%if %{wxconsole} && %{fc5} +Requires: gtk2 >= 2.8 +%endif + +%if %{wxconsole} && %{fc6} +Requires: gtk2 >= 2.10 +%endif + +%if %{wxconsole} && %{fc7} +Requires: gtk2 >= 2.10 +%endif + +%if %{wxconsole} && %{fc8} +Requires: gtk2 >= 2.12 +%endif + +%if %{wxconsole} && %{fc9} +Requires: gtk2 >= 2.12 +%endif + +%if %{wxconsole} +%description wxconsole +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +This is the WXWindows Console package. It is an add-on to the client or +server packages. +%endif + +%if %{bat} +%package bat +Summary: Bacula - The Network Backup Solution +Group: System Environment/Daemons +%endif + +%if %{bat} && %{su10} +Requires: openssl +Requires: glibc >= 2.4 +Requires: fontconfig +Requires: freetype2 +Requires: libgcc +Requires: libpng +Requires: qt >= 4.2 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} && %{su102} +Requires: openssl +Requires: glibc >= 2.5 +Requires: fontconfig +Requires: freetype2 +Requires: libgcc +Requires: libpng +Requires: qt >= 4.2 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} && %{su103} +Requires: openssl +Requires: glibc >= 2.6 +Requires: fontconfig +Requires: freetype2 +Requires: libgcc +Requires: libpng +Requires: qt >= 4.2 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} && %{su110} +Requires: openssl +Requires: glibc >= 2.8 +Requires: fontconfig +Requires: freetype2 +Requires: libgcc +Requires: libpng +Requires: qt >= 4.2 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} && %{su111} +Requires: openssl +Requires: glibc >= 2.9 +Requires: fontconfig +Requires: freetype2 +Requires: libgcc +Requires: libpng +Requires: qt >= 4.2 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} && %{fc5} +Requires: openssl +Requires: glibc >= 2.4 +Requires: fontconfig +Requires: freetype +Requires: libgcc +Requires: libpng +Requires: qt4 >= 4.2 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} && %{fc6} +Requires: openssl +Requires: glibc >= 2.5 +Requires: fontconfig +Requires: freetype +Requires: libgcc +Requires: libpng +Requires: qt4 >= 4.2 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} && %{fc7} +Requires: openssl +Requires: glibc >= 2.5 +Requires: fontconfig +Requires: freetype +Requires: libgcc +Requires: libpng +Requires: qt4 >= 4.2 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} && %{fc8} +Requires: openssl +Requires: glibc >= 2.7 +Requires: fontconfig +Requires: freetype +Requires: libgcc +Requires: libpng +Requires: qt4 >= 4.2 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} && %{fc9} +Requires: openssl +Requires: glibc >= 2.8 +Requires: fontconfig +Requires: freetype +Requires: libgcc +Requires: libpng +Requires: qt4 >= 4.3 +Requires: libstdc++ +Requires: zlib +%endif + +%if %{bat} +%description bat +%{blurb} + +%{blurb2} +%{blurb3} +%{blurb4} +%{blurb5} +%{blurb6} +%{blurb7} +%{blurb8} + +This is the Bacula Administration Tool package. It is an add-on to +the client or server packages. +%endif + +# SuSE turns off stripping of binaries by default. In order to get +# stripped packages we must generate debug package. RedHat and Mandriva +# turn debug packages on by default but strip binaries regardless. +%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} +%debug_package +%endif + +%prep + +%setup +%setup -T -D -b 1 +%setup -T -D -b 2 +%setup -T -D -b 3 +%setup -T -D -b 4 +%setup -T -D -b 5 +%setup -T -D -b 6 + +%build + +%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} +export LDFLAGS="${LDFLAGS} -L/usr/lib/termcap" +%endif + +cwd=${PWD} +%if %{bat} +#export QTDIR=$(pkg-config --variable=prefix QtCore) +#export QTINC=$(pkg-config --variable=includedir QtCore) +#export QTLIB=$(pkg-config --variable=libdir QtCore) +#export PATH=${QTDIR}/bin/:${PATH} +cd %{depkgs_qt} +make qt4 <<EOF +yes +EOF +qtdir=${PWD} +export PATH=${qtdir}/qt4/bin:$PATH +export QTDIR=${qtdir}/qt4/ +export QTINC=${qtdir}/qt4/include/ +export QTLIB=${qtdir}/qt4/lib/ +cd ${cwd} +%endif + +cd %{depkgs} +%if %{sqlite} +make sqlite3 +%endif +%if ! %{client_only} && %{mtx} +make mtx +%endif +cd ${cwd} + +%if %{wb3} || %{old_pgsql} +patch -p3 src/cats/postgresql.c < %SOURCE5 +%endif + +# patches for the bundled sqlite scripts + +# patch the make_sqlite_tables script for installation bindir +#patch src/cats/make_sqlite_tables.in src/cats/make_sqlite_tables.in.patch +patch src/cats/make_sqlite3_tables.in src/cats/make_sqlite3_tables.in.patch + +# patch the create_sqlite_database script for installation bindir +#patch src/cats/create_sqlite_database.in src/cats/create_sqlite_database.in.patch +patch src/cats/create_sqlite3_database.in src/cats/create_sqlite3_database.in.patch + +# patch the make_catalog_backup script for installation bindir +patch src/cats/make_catalog_backup.in src/cats/make_catalog_backup.in.patch + +# patch the update_sqlite_tables script for installation bindir +#patch src/cats/update_sqlite_tables.in src/cats/update_sqlite_tables.in.patch +patch src/cats/update_sqlite3_tables.in src/cats/update_sqlite3_tables.in.patch + +# patch the bacula-dir init script to remove sqlite service +%if %{sqlite} && %{su9} +patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch +%endif +%if %{sqlite} && %{su10} +patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch +%endif +%if %{sqlite} && %{su102} +patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch +%endif +%if %{sqlite} && %{su103} +patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch +%endif +%if %{sqlite} && %{su110} +patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch +%endif +%if %{sqlite} && %{su111} +patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch +%endif + +# 64 bit lib location hacks +# as of 1.39.18 it should not be necessary to enable x86_64 as configure is +# reported to be fixed to properly detect lib locations. +%if %{x86_64} +export LDFLAGS="${LDFLAGS} -L/usr/lib64" +%endif +%if %{mysql} && %{x86_64} +export LDFLAGS="${LDFLAGS} -L/usr/lib64/mysql" +%endif +%if %{python} && %{x86_64} +export LDFLAGS="${LDFLAGS} -L/usr/lib64/python%{pyver}" +%endif + +# Red Hat's 64 bit installation of QT4 appears to be broken so: +%define qt_path 0 +%if %{rhel5} || %{centos5} || %{sl5} +%define qt_path 1 +%endif +#%if %{bat} && %{qt_path} && %{x86_64} +#export PATH=/usr/lib64/qt4/bin/:$PATH +#export QTDIR=/usr/lib64/qt4/ +#export QTINC=/usr/lib64/qt4/include/ +#export QTLIB=/usr/lib64/qt4/ +#%endif + +%if %{rescue} +%configure \ + --prefix=%{_prefix} \ + --sbindir=%{_sbindir} \ + --sysconfdir=%{sysconf_dir} \ + --with-scriptdir=%{script_dir} \ + --with-working-dir=%{working_dir} \ + --with-pid-dir=%{pid_dir} \ + --enable-smartalloc \ + --enable-client-only \ + %if %{mdk} + --disable-nls \ + %endif + --enable-static-fd \ + --without-openssl \ + --disable-libtool + +make +%endif + +# Main Bacula configuration +%configure \ + --prefix=%{_prefix} \ + --sbindir=%{_sbindir} \ + --sysconfdir=%{sysconf_dir} \ + --mandir=%{_mandir} \ + --with-scriptdir=%{script_dir} \ + --with-working-dir=%{working_dir} \ + --with-plugindir=%{script_dir} \ + --with-pid-dir=%{pid_dir} \ + --with-subsys-dir=%{_subsysdir} \ + --enable-smartalloc \ +%if %{gconsole} + --enable-gnome \ +%endif +%if %{gconsole} && ! %{rh8} + --enable-tray-monitor \ +%endif +%if %{mysql} + --with-mysql \ +%endif +%if %{sqlite} + --with-sqlite3=${cwd}/%{depkgs}/sqlite3 \ +%endif +%if %{postgresql} + --with-postgresql \ +%endif +%if %{wxconsole} + --enable-bwx-console \ +%endif +%if %{bat} + --enable-bat \ + --without-qwt \ +%endif +%if %{python} + --with-python \ +%endif +%if %{client_only} + --enable-client-only \ +%endif +%if %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{wb3} + --disable-batch-insert \ +%endif + --with-dir-user=%{director_daemon_user} \ + --with-dir-group=%{daemon_group} \ + --with-sd-user=%{storage_daemon_user} \ + --with-sd-group=%{storage_daemon_group} \ + --with-fd-user=%{file_daemon_user} \ + --with-fd-group=%{daemon_group} \ + --with-dir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" \ + --with-fd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" \ + --with-sd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" \ + --with-mon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" \ + --with-mon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" \ + --with-mon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX" \ + --with-openssl + +make + +%install + +cwd=${PWD} +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" +mkdir -p $RPM_BUILD_ROOT/etc/init.d +mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d +mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/logfiles +mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/services +mkdir -p $RPM_BUILD_ROOT/etc/log.d/scripts/services +mkdir -p $RPM_BUILD_ROOT%{script_dir}/updatedb + +%if %{gconsole} || %{wxconsole} || %{bat} +mkdir -p $RPM_BUILD_ROOT/usr/share/applications +mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps +%endif + +%if %{gconsole} || %{wxconsole} || %{bat} +%define usermode_iftrick 1 +%else +%define usermode_iftrick 0 +%endif + +%if %{usermode_iftrick} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} +mkdir -p $RPM_BUILD_ROOT/etc/pam.d +mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps +mkdir -p $RPM_BUILD_ROOT/usr/bin +%endif + +%if %{sqlite} +mkdir -p $RPM_BUILD_ROOT%{sqlite_bindir} +%endif + +make DESTDIR=$RPM_BUILD_ROOT install + +%if ! %{client_only} && %{mtx} +cd %{depkgs} +make \ + prefix=$RPM_BUILD_ROOT%{_prefix} \ + sbindir=$RPM_BUILD_ROOT%{_sbindir} \ + sysconfdir=$RPM_BUILD_ROOT%{sysconf_dir} \ + scriptdir=$RPM_BUILD_ROOT%{script_dir} \ + working_dir=$RPM_BUILD_ROOT%{working_dir} \ + piddir=$RPM_BUILD_ROOT%{pid_dir} \ + mandir=$RPM_BUILD_ROOT%{_mandir} \ + mtx-install +cd ${cwd} +%endif + +# make install in manpages installs _everything_ shotgun style +# so now delete what we will not be packaging +%if ! %{wxconsole} +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext} +%endif +%if ! %{bat} +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bat.1.%{manpage_ext} +%endif +%if ! %{gconsole} +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext} +%endif +%if %{client_only} +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bsmtp.1.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-dir.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-sd.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bcopy.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bextract.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bls.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bscan.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/btape.8.%{manpage_ext} +rm -f $RPM_BUILD_ROOT%{_mandir}/man8/dbcheck.8.%{manpage_ext} +%endif + +# fixme - make installs the mysql scripts for sqlite build +%if %{sqlite} +rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql +rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql +rm -f $RPM_BUILD_ROOT%{script_dir}/grant_mysql_privileges +%endif + +# fixme - make installs the mysql scripts for postgresql build +%if %{postgresql} +rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql +rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql +%endif + +# fixme - make installs gconsole script for build without gconsole +%if ! %{gconsole} +rm -f $RPM_BUILD_ROOT%{script_dir}/gconsole +%endif + +rm -f $RPM_BUILD_ROOT%{_sbindir}/static-bacula-fd + +# install the init scripts +%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111} +cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir +cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd +cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd +%endif +%if %{mdk} +cp -p platforms/mandrake/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir +cp -p platforms/mandrake/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd +cp -p platforms/mandrake/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd +%endif +%if ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{mdk} +cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir +cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd +cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd +%endif +chmod 0754 $RPM_BUILD_ROOT/etc/init.d/* +%if %{client_only} +rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-dir +rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-sd +%endif + +# install the menu stuff +%if %{gconsole} && %{su9} +cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png +cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop +cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm +cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop +%endif +%if %{gconsole} && %{su10} +cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png +cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop +cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm +cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop +%endif +%if %{gconsole} && %{su102} +cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png +cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop +cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm +cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop +%endif +%if %{gconsole} && %{su103} +cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png +cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop +cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm +cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop +%endif +%if %{gconsole} && %{su110} +cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png +cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop +cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm +cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop +%endif +%if %{gconsole} && %{su111} +cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png +cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop +cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm +cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop +%endif +%if %{wxconsole} && %{su10} +cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm +cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop +%endif +%if %{wxconsole} && %{su102} +cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm +cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop +%endif +%if %{wxconsole} && %{su103} +cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm +cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop +%endif +%if %{wxconsole} && %{su110} +cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm +cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop +%endif +%if %{wxconsole} && %{su111} +cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm +cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop +%endif +%if %{bat} && %{su102} +cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png +cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop +%endif +%if %{bat} && %{su103} +cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png +cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop +%endif +%if %{bat} && %{su110} +cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png +cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop +%endif +%if %{bat} && %{su111} +cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png +cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop +%endif +%if %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc6} || %{fc7} || %{fc8} || %{fc9} || %{mdk} +%define iftrick 1 +%else +%define iftrick 0 +%endif +%if %{gconsole} && %{iftrick} +cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png +cp -p scripts/bacula.desktop.gnome2.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop +cp -p scripts/bgnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bgnome-console +cp -p scripts/bgnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/bgnome-console +ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bgnome-console +%endif +%if %{gconsole} && ! %{rh8} +cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm +cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop +%endif +%if %{wxconsole} && %{iftrick} +cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm +cp -p scripts/wxconsole.desktop.consolehelper $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop +cp -p scripts/wxconsole.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bwx-console +cp -p scripts/wxconsole.pamd $RPM_BUILD_ROOT/etc/pam.d/bwx-console +ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bwx-console +%endif +%if %{bat} && %{iftrick} +cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png +cp -p scripts/bat.desktop.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bat.desktop +cp -p scripts/bat.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bat +cp -p scripts/bat.pamd $RPM_BUILD_ROOT/etc/pam.d/bat +ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bat +%endif + +# install sqlite +%if %{sqlite} +cp -p %{depkgs}/sqlite3/sqlite3 $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3 +cp -p %{depkgs}/sqlite3/sqlite3.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3.h +cp -p %{depkgs}/sqlite3/libsqlite3.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite3.a +%endif + +# install the logrotate file +cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula + +# install the updatedb scripts +cp -p updatedb/* $RPM_BUILD_ROOT%{script_dir}/updatedb/ + +# install the logwatch scripts +%if ! %{client_only} +cp -p scripts/logwatch/bacula $RPM_BUILD_ROOT/etc/log.d/scripts/services/bacula +cp -p scripts/logwatch/logfile.bacula.conf $RPM_BUILD_ROOT/etc/log.d/conf/logfiles/bacula.conf +cp -p scripts/logwatch/services.bacula.conf $RPM_BUILD_ROOT/etc/log.d/conf/services/bacula.conf +chmod 755 $RPM_BUILD_ROOT/etc/log.d/scripts/services/bacula +chmod 644 $RPM_BUILD_ROOT/etc/log.d/conf/logfiles/bacula.conf +chmod 644 $RPM_BUILD_ROOT/etc/log.d/conf/services/bacula.conf +%endif + +# install the rescue files +%if %{rescue} +mkdir $RPM_BUILD_ROOT%{script_dir}/rescue +mkdir $RPM_BUILD_ROOT%{script_dir}/rescue/freebsd +mkdir $RPM_BUILD_ROOT%{script_dir}/rescue/solaris +cp -p %{_rescuesrc}/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/ +cp -p %{_rescuesrc}/freebsd/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/freebsd/ +cp -p %{_rescuesrc}/solaris/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/solaris/ +cp -p %{_rescuesrc}/README $RPM_BUILD_ROOT%{script_dir}/rescue/ +cp -p %{_rescuesrc}/configure $RPM_BUILD_ROOT%{script_dir}/rescue/ +cp -p %{_rescuesrc}/version.h $RPM_BUILD_ROOT%{script_dir}/rescue/ +cp -pr %{_rescuesrc}/linux $RPM_BUILD_ROOT%{script_dir}/rescue/ +cp -pr %{_rescuesrc}/autoconf $RPM_BUILD_ROOT%{script_dir}/rescue/ +cp -pr %{_rescuesrc}/knoppix $RPM_BUILD_ROOT%{script_dir}/rescue/ +touch $RPM_BUILD_ROOT%{script_dir}/rescue/linux/cdrom/rpm_release +cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT%{script_dir}/rescue/linux/cdrom/bacula/bin/bacula-fd +rm -f src/filed/static-bacula-fd +%endif + +# remove the docs installed by make +%if ! %{single_dir} +rm -rf $RPM_BUILD_ROOT/usr/share/doc +%endif + +# install docs for single dir installation +%if %{single_dir} +mkdir $RPM_BUILD_ROOT%{_prefix}/doc +cp COPYING $RPM_BUILD_ROOT%{_prefix}/doc/ +cp ChangeLog $RPM_BUILD_ROOT%{_prefix}/doc/ +cp ReleaseNotes $RPM_BUILD_ROOT%{_prefix}/doc/ +cp VERIFYING $RPM_BUILD_ROOT%{_prefix}/doc/ +cp LICENSE $RPM_BUILD_ROOT%{_prefix}/doc/ +cp kernstodo $RPM_BUILD_ROOT%{_prefix}/doc/ +cp -r %{_docsrc}/manuals/en/catalog/catalog $RPM_BUILD_ROOT%{_prefix}/doc/ +cp %{_docsrc}/manuals/en/catalog/catalog.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ +cp -r %{_docsrc}/manuals/en/concepts/concepts $RPM_BUILD_ROOT%{_prefix}/doc/ +cp %{_docsrc}/manuals/en/concepts/concepts.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ +cp -r %{_docsrc}/manuals/en/console/console $RPM_BUILD_ROOT%{_prefix}/doc/ +cp %{_docsrc}/manuals/en/console/console.pdf $RPM_BUILD_ROOT%{_prefix}/doc/ +cp -r %{_docsr... [truncated message content] |
From: <ri...@us...> - 2009-07-29 13:38:20
|
Revision: 9119 http://bacula.svn.sourceforge.net/bacula/?rev=9119&view=rev Author: ricozz Date: 2009-07-29 13:38:06 +0000 (Wed, 29 Jul 2009) Log Message: ----------- Change time_t by utime_t in accurate function Modified Paths: -------------- trunk/bacula/src/cats/sql_get.c trunk/bacula/technotes Modified: trunk/bacula/src/cats/sql_get.c =================================================================== --- trunk/bacula/src/cats/sql_get.c 2009-07-29 12:48:48 UTC (rev 9118) +++ trunk/bacula/src/cats/sql_get.c 2009-07-29 13:38:06 UTC (rev 9119) @@ -1108,7 +1108,7 @@ POOL_MEM query(PM_FNAME); /* Take the current time as upper limit if nothing else specified */ - time_t StartTime = (jr->StartTime)?jr->StartTime:time(NULL); + utime_t StartTime = (jr->StartTime)?jr->StartTime:time(NULL); bstrutime(date, sizeof(date), StartTime + 1); jobids[0]='\0'; Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-29 12:48:48 UTC (rev 9118) +++ trunk/bacula/technotes 2009-07-29 13:38:06 UTC (rev 9119) @@ -3,6 +3,7 @@ General: 29Jul09 +ebl Change time_t by utime_t in accurate function kes Start reworking 3.0.2 bacula.spec file - Add SuSE build codes - Add depkgs-qt so bat can build on any system This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-30 13:34:34
|
Revision: 9124 http://bacula.svn.sourceforge.net/bacula/?rev=9124&view=rev Author: kerns Date: 2009-07-30 13:34:26 +0000 (Thu, 30 Jul 2009) Log Message: ----------- Modify enable/disable commands to show only appropriate Jobs. Modified Paths: -------------- trunk/bacula/src/dird/protos.h trunk/bacula/src/dird/ua_cmds.c trunk/bacula/src/dird/ua_output.c trunk/bacula/src/dird/ua_select.c trunk/bacula/technotes Modified: trunk/bacula/src/dird/protos.h =================================================================== --- trunk/bacula/src/dird/protos.h 2009-07-29 22:10:46 UTC (rev 9123) +++ trunk/bacula/src/dird/protos.h 2009-07-30 13:34:26 UTC (rev 9124) @@ -241,6 +241,7 @@ /* ua_select.c */ STORE *select_storage_resource(UAContext *ua); JOB *select_job_resource(UAContext *ua); +JOB *select_enable_disable_job_resource(UAContext *ua, bool enable); JOB *select_restore_job_resource(UAContext *ua); CLIENT *select_client_resource(UAContext *ua); FILESET *select_fileset_resource(UAContext *ua); Modified: trunk/bacula/src/dird/ua_cmds.c =================================================================== --- trunk/bacula/src/dird/ua_cmds.c 2009-07-29 22:10:46 UTC (rev 9123) +++ trunk/bacula/src/dird/ua_cmds.c 2009-07-30 13:34:26 UTC (rev 9124) @@ -803,7 +803,7 @@ i = find_arg_with_value(ua, NT_("job")); if (i < 0) { - job = select_job_resource(ua); + job = select_enable_disable_job_resource(ua, setting); if (!job) { return; } Modified: trunk/bacula/src/dird/ua_output.c =================================================================== --- trunk/bacula/src/dird/ua_output.c 2009-07-29 22:10:46 UTC (rev 9123) +++ trunk/bacula/src/dird/ua_output.c 2009-07-30 13:34:26 UTC (rev 9124) @@ -96,8 +96,30 @@ return 1; } +/* + * Enter with Resources locked + */ +static void show_disabled_jobs(UAContext *ua) +{ + JOB *job; + bool first = true; + foreach_res(job, R_JOB) { + if (!acl_access_ok(ua, Job_ACL, job->name())) { + continue; + } + if (!job->enabled) { + if (first) { + first = false; + ua->send_msg(_("Disabled Jobs:\n")); + } + ua->send_msg(" %s\n", job->name()); + } + } + if (first) { + ua->send_msg(_("No disabled Jobs.\n")); + } +} - struct showstruct {const char *res_name; int type;}; static struct showstruct reses[] = { {NT_("directors"), R_DIRECTOR}, @@ -123,6 +145,7 @@ * show all * show <resource-keyword-name> e.g. show directors * show <resource-keyword-name>=<name> e.g. show director=HeadMan + * show disabled shows disabled jobs * */ int show_cmd(UAContext *ua, const char *cmd) @@ -137,6 +160,10 @@ LockRes(); for (i=1; i<ua->argc; i++) { + if (strcasecmp(ua->argk[i], _("disabled")) == 0) { + show_disabled_jobs(ua); + goto bail_out; + } type = 0; res_name = ua->argk[i]; if (!ua->argv[i]) { /* was a name given? */ Modified: trunk/bacula/src/dird/ua_select.c =================================================================== --- trunk/bacula/src/dird/ua_select.c 2009-07-29 22:10:46 UTC (rev 9123) +++ trunk/bacula/src/dird/ua_select.c 2009-07-30 13:34:26 UTC (rev 9124) @@ -245,6 +245,33 @@ /* + * Select a job to enable or disable + */ +JOB *select_enable_disable_job_resource(UAContext *ua, bool enable) +{ + char name[MAX_NAME_LENGTH]; + JOB *job; + + LockRes(); + start_prompt(ua, _("The defined Job resources are:\n")); + foreach_res(job, R_JOB) { + if (!acl_access_ok(ua, Job_ACL, job->name())) { + continue; + } + if (job->enabled == enable) { /* Already enabled/disabled? */ + continue; /* yes, skip */ + } + add_prompt(ua, job->name()); + } + UnlockRes(); + if (do_prompt(ua, _("Job"), _("Select Job resource"), name, sizeof(name)) < 0) { + return NULL; + } + job = (JOB *)GetResWithName(R_JOB, name); + return job; +} + +/* * Select a Job resource from prompt list */ JOB *select_job_resource(UAContext *ua) Modified: trunk/bacula/technotes =================================================================== --- trunk/bacula/technotes 2009-07-29 22:10:46 UTC (rev 9123) +++ trunk/bacula/technotes 2009-07-30 13:34:26 UTC (rev 9124) @@ -2,6 +2,9 @@ General: +30Jul09 +kes Add 'show disabled' command that lists the disabled jobs. +kes Modify enable/disable commands to show only appropriate Jobs. 29Jul09 kes Add ACL check for client in estimate commande ebl Change time_t by utime_t in accurate function This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ke...@us...> - 2009-07-31 06:10:08
|
Revision: 9134 http://bacula.svn.sourceforge.net/bacula/?rev=9134&view=rev Author: kerns Date: 2009-07-31 06:09:56 +0000 (Fri, 31 Jul 2009) Log Message: ----------- Continue work on bacula.spec Modified Paths: -------------- trunk/bacula/platforms/redhat/bacula.spec trunk/bacula/src/version.h Modified: trunk/bacula/platforms/redhat/bacula.spec =================================================================== --- trunk/bacula/platforms/redhat/bacula.spec 2009-07-30 21:38:43 UTC (rev 9133) +++ trunk/bacula/platforms/redhat/bacula.spec 2009-07-31 06:09:56 UTC (rev 9134) @@ -11,7 +11,7 @@ %define docs_version 3.0.2 %define depkgs_version 18Feb09 %define depkgs_qt_version 28Jul09 -%define _packager D. Scott Barninger <bar...@fa...> +%define _packager Kern Sibbald <ke...@si...> %define single_dir 0 %{?single_dir_install:%define single_dir 1} @@ -2278,13 +2278,12 @@ echo "Upgrading bacula database ..." %{script_dir}/update_mysql_tables echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2" - fi %endif %if %{sqlite} # test for an existing database -if [ -s %{working_dir}/bacula.db ]; then +if [ -f %{working_dir}/bacula.db ]; then DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1` # check to see if we need to upgrade a 2.x database if [ "$DB_VER" -lt "11" ] && [ "$DB_VER" -ge "10" ]; then @@ -2337,16 +2336,26 @@ # generate passwords if needed if [ -d %{sysconf_dir} ]; then cd %{sysconf_dir} - for file in *.conf; do for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new + for file in *.conf; do + need_password=`grep ${string} $file 2>/dev/null` + if [ -n "$need_password" ]; then + sed "s@${string}@${pass}@g" $file > $file.new cp -f $file.new $file; rm -f $file.new fi done done +# put actual hostname in conf file + host=`hostname` + string="XXX_HOSTNAME_XXX" + for file in *.conf; do + need_host=`grep ${string} $file 2>/dev/null` + if [ -n "$need_host" ]; then + sed "s@${string}@${host}@g" $file >$file.new + cp -f $file.new $file; rm -f $file.new + fi + done fi /sbin/ldconfig %endif @@ -2456,16 +2465,26 @@ # generate passwords if needed if [ -d %{sysconf_dir} ]; then cd %{sysconf_dir} - for file in *.conf; do for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new + for file in *.conf; do + need_password=`grep ${string} $file 2>/dev/null` + if [ -n "$need_password" ]; then + sed "s@${string}@${pass}@g" $file > $file.new cp -f $file.new $file; rm -f $file.new fi done done +# put actual hostname in conf file + host=`hostname` + string="XXX_HOSTNAME_XXX" + for file in *.conf; do + need_host=`grep ${string} $file 2>/dev/null` + if [ -n "$need_host" ]; then + sed "s@${string}@${host}@g" $file >$file.new + cp -f $file.new $file; rm -f $file.new + fi + done fi /sbin/ldconfig @@ -2538,16 +2557,26 @@ # generate passwords if needed if [ -d %{sysconf_dir} ]; then cd %{sysconf_dir} - for file in *.conf; do for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new + for file in *.conf; do + need_password=`grep ${string} $file 2>/dev/null` + if [ -n "$need_password" ]; then + sed "s@${string}@${pass}@g" $file > $file.new cp -f $file.new $file; rm -f $file.new fi done done +# put actual hostname in conf file + host=`hostname` + string="XXX_HOSTNAME_XXX" + for file in *.conf; do + need_host=`grep ${string} $file 2>/dev/null` + if [ -n "$need_host" ]; then + sed "s@${string}@${host}@g" $file >$file.new + cp -f $file.new $file; rm -f $file.new + fi + done fi %endif @@ -2583,16 +2612,26 @@ # generate passwords if needed if [ -d %{sysconf_dir} ]; then cd %{sysconf_dir} - for file in *.conf; do for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new + for file in *.conf; do + need_password=`grep ${string} $file 2>/dev/null` + if [ -n "$need_password" ]; then + sed "s@${string}@${pass}@g" $file > $file.new cp -f $file.new $file; rm -f $file.new fi done done +# put actual hostname in conf file + host=`hostname` + string="XXX_HOSTNAME_XXX" + for file in *.conf; do + need_host=`grep ${string} $file 2>/dev/null` + if [ -n "$need_host" ]; then + sed "s@${string}@${host}@g" $file >$file.new + cp -f $file.new $file; rm -f $file.new + fi + done fi %endif @@ -2628,16 +2667,26 @@ # generate passwords if needed if [ -d %{sysconf_dir} ]; then cd %{sysconf_dir} - for file in *.conf; do for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do - need_password=`grep $string $file 2>/dev/null` - if [ -n "$need_password" ]; then pass=`openssl rand -base64 33` - sed "s-$string-$pass-g" $file > $file.new + for file in *.conf; do + need_password=`grep ${string} $file 2>/dev/null` + if [ -n "$need_password" ]; then + sed "s@${string}@${pass}@g" $file > $file.new cp -f $file.new $file; rm -f $file.new fi done done +# put actual hostname in conf file + host=`hostname` + string="XXX_HOSTNAME_XXX" + for file in *.conf; do + need_host=`grep ${string} $file 2>/dev/null` + if [ -n "$need_host" ]; then + sed "s@${string}@${host}@g" $file >$file.new + cp -f $file.new $file; rm -f $file.new + fi + done fi %endif Modified: trunk/bacula/src/version.h =================================================================== --- trunk/bacula/src/version.h 2009-07-30 21:38:43 UTC (rev 9133) +++ trunk/bacula/src/version.h 2009-07-31 06:09:56 UTC (rev 9134) @@ -4,8 +4,8 @@ #undef VERSION #define VERSION "3.0.3" -#define BDATE "29 July 2009" -#define LSMDATE "29Jul09" +#define BDATE "30 July 2009" +#define LSMDATE "30Jul09" #define PROG_COPYRIGHT "Copyright (C) %d-2009 Free Software Foundation Europe e.V.\n" #define BYEAR "2009" /* year for copyright messages in progs */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |