Bug 115582 - [MAINTAINER-UPDATE] sysutils/bacula-server - repair PID
Summary: [MAINTAINER-UPDATE] sysutils/bacula-server - repair PID
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-16 19:40 UTC by Dan Langille
Modified: 2007-08-16 21:40 UTC (History)
1 user (show)

See Also:


Attachments
patch.bacula.diff (2.19 KB, patch)
2007-08-16 19:40 UTC, Dan Langille
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dan Langille 2007-08-16 19:40:02 UTC
	
The code has a PID/priv issue.  See bug # 932 at http://bugs.bacula.org/
In short, it was dropping privs before setting PID. 
Patch the code locally to get FreeBSD users running.
While here, if PostgreSQL is not installed, ask for 8.2, not the default of 8.1.
Comment 1 Dan Langille 2007-08-16 19:53:20 UTC
Sorry, that should be bug 923
Comment 2 Dan Langille 2007-08-16 20:33:19 UTC
BTW, files/eotmodel-src-stored-dev.c.patch can be removed as the 
issue has been fixed upstream.

confirmed this with the original eotmodel-src-stored-dev.c.patch 
submitter, nox.
Comment 3 Dan Langille 2007-08-16 21:09:37 UTC
Please use this Description:

The code has a PID/priv issue. See bug # 932 at 
http://bugs.bacula.org/
In short, it was dropping privs before setting PID.
Patch the code locally to get FreeBSD users running.
While here, if PostgreSQL is not installed, ask for 8.2, not the 
default of 8.1.
Remove EOT model patch, now in vendor code.
Update pkg-message to reflect new version.

Please use this patch instead:

diff -ruN /usr/ports/sysutils/bacula-server/Makefile bacula-
server/Makefile
--- /usr/ports/sysutils/bacula-server/Makefile	Wed Aug 15 05:45:33 
2007
+++ bacula-server/Makefile	Thu Aug 16 14:33:08 2007
@@ -7,6 +7,7 @@
 
 PORTNAME=	bacula
 DISTVERSION=	2.2.0
+PORTREVISION	1
 CATEGORIES=	sysutils
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
 MASTER_SITE_SUBDIR=	bacula
@@ -140,6 +141,7 @@
 DBTYPE=			mysql
 SUB_LIST+=		REQ_MYSQL=mysql REQ_PGSQL=""
 .elif defined(WITH_POSTGRESQL)
+DEFAULT_PGSQL_VER?=	82
 USE_PGSQL=		yes
 CONFIGURE_ARGS+=	--with-postgresql=yes
 DBTYPE=			postgresql
diff -ruN /usr/ports/sysutils/bacula-server/files/eotmodel-src-stored-
dev.c.patch bacula-server/files/eotmodel-src-stored-dev.c.patch
--- /usr/ports/sysutils/bacula-server/files/eotmodel-src-stored-
dev.c.patch	Wed Mar  7 16:57:47 2007
+++ bacula-server/files/eotmodel-src-stored-dev.c.patch	Wed Dec 31 
19:00:00 1969
@@ -1,10 +0,0 @@
-Index: src/stored/dev.c
-@@ -2368,7 +2368,7 @@
-       }
-    }
- /* Turn this on later when fully tested */
--#if defined(xxxMTIOCSETEOTMODEL) 
-+#if defined(MTIOCSETEOTMODEL) 
-    uint32_t neof;
-    if (dev->has_cap(CAP_TWOEOF)) {
-       neof = 2;
diff -ruN /usr/ports/sysutils/bacula-server/files/patch-src-dird-
dird.c bacula-server/files/patch-src-dird-dird.c
--- /usr/ports/sysutils/bacula-server/files/patch-src-dird-dird.c	Wed 
Dec 31 19:00:00 1969
+++ bacula-server/files/patch-src-dird-dird.c	Thu Aug 16 14:25:40 
2007
@@ -0,0 +1,33 @@
+--- src/dird/dird.c	2007-06-07 10:46:43.000000000 -0400
++++ src/dird/dird.c	2007-08-16 08:58:20.000000000 -0400
+@@ -228,6 +228,15 @@
+       Jmsg((JCR *)NULL, M_ERROR_TERM, 0, _("Please correct 
configuration file: %s\n"), configfile);
+    }
+ 
++   if (background) {
++      daemon_start();
++      init_stack_dump();              /* grab new pid */
++   }
++
++   /* Create pid must come after we are a daemon -- so we have our 
final pid */
++   create_pid_file(director->pid_directory, "bacula-dir", 
get_first_port_host_order(director->DIRaddrs));
++   read_state_file(director->working_directory, "bacula-dir", 
get_first_port_host_order(director->DIRaddrs));
++
+    drop(uid, gid);                    /* reduce privileges if 
requested */
+ 
+    if (!check_catalog()) {
+@@ -247,14 +256,6 @@
+    FDConnectTimeout = (int)director->FDConnectTimeout;
+    SDConnectTimeout = (int)director->SDConnectTimeout;
+ 
+-   if (background) {
+-      daemon_start();
+-      init_stack_dump();              /* grab new pid */
+-   }
+-
+-   /* Create pid must come after we are a daemon -- so we have our 
final pid */
+-   create_pid_file(director->pid_directory, "bacula-dir", 
get_first_port_host_order(director->DIRaddrs));
+-   read_state_file(director->working_directory, "bacula-dir", 
get_first_port_host_order(director->DIRaddrs));
+ 
+ 
+ #if !defined(HAVE_WIN32)
diff -ruN /usr/ports/sysutils/bacula-server/files/pkg-
message.client.in bacula-server/files/pkg-message.client.in
--- /usr/ports/sysutils/bacula-server/files/pkg-message.client.in	Wed 
Mar  7 16:57:47 2007
+++ bacula-server/files/pkg-message.client.in	Thu Aug 16 16:08:48 
2007
@@ -10,14 +10,4 @@
 
   as installed by docs port for the upgrade procedure.
 
-IMPORTANT UPGRADE NOTES:
-
-- A database upgrade is required.
-- Your Director and SD must be simultaneously upgraded.
-- The "Accept Any Volume" directive has been removed.
-
-- Lots of new features
-
-Read the ReleaseNotes for further information.
-
 
######################################################################
##########
diff -ruN /usr/ports/sysutils/bacula-server/files/pkg-
message.server.in bacula-server/files/pkg-message.server.in
--- /usr/ports/sysutils/bacula-server/files/pkg-message.server.in	Wed 
Mar  7 16:57:47 2007
+++ bacula-server/files/pkg-message.server.in	Thu Aug 16 16:01:03 
2007
@@ -55,11 +55,7 @@
 
 IMPORTANT UPGRADE NOTES FOR THIS RELEASE:
 
-- A database upgrade is required.
-- Your Director and SD must be simultaneously upgraded.
-- The "Accept Any Volume" directive has been removed.
-
-- Lots of new features
+- bacula-client and bacula-server do not need to be simultaneously 
upgraded.
 
 Read the ReleaseNotes for further information.
Comment 4 Dan Langille 2007-08-16 21:18:36 UTC
+PORTREVISION	1

I'm sorry, that should be 

+PORTREVISION=	1
Comment 5 dfilter service freebsd_committer freebsd_triage 2007-08-16 21:37:48 UTC
itetcu      2007-08-16 20:37:40 UTC

  FreeBSD ports repository

  Modified files:
    sysutils/bacula-server Makefile 
    sysutils/bacula-server/files pkg-message.client.in 
                                 pkg-message.server.in 
  Added files:
    sysutils/bacula-server/files patch-src-dird-dird.c 
  Removed files:
    sysutils/bacula-server/files eotmodel-src-stored-dev.c.patch 
  Log:
  - The code had a PID/priv issue. See bug # 932 at  http://bugs.bacula.org/
  In short, it was dropping privs before setting PID. Patch the code locally to
  get FreeBSD users running.
  - While here, if PostgreSQL is not installed, ask for 8.2, not the default of
  8.1.
  - Remove EOT model patch, now in vendor code.
  - Update pkg-message to reflect new version.
  
  PR:             115582
  Submitted by:   Dan Langille (maintainer)
  
  Revision  Changes    Path
  1.90      +2 -0      ports/sysutils/bacula-server/Makefile
  1.2       +0 -10     ports/sysutils/bacula-server/files/eotmodel-src-stored-dev.c.patch (dead)
  1.1       +33 -0     ports/sysutils/bacula-server/files/patch-src-dird-dird.c (new)
  1.2       +0 -8      ports/sysutils/bacula-server/files/pkg-message.client.in
  1.2       +2 -5      ports/sysutils/bacula-server/files/pkg-message.server.in
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 6 Ion-Mihai "IOnut" Tetcu freebsd_committer freebsd_triage 2007-08-16 21:38:00 UTC
State Changed
From-To: open->closed

Committed. Thanks!