done
clean:
- $(RMF) *~ 1 2 3 *.bak
+ @$(RMF) *~ 1 2 3 *.bak
@find . -name .#* -exec $(RMF) {} \;
depend:
--- /dev/null
+
+ This patch is backported from the development SVN and should fix
+ bug #1213, which is a deadlock in the SD when a volume is on the
+ wrong drive.
+
+ Apply it to version 2.4.4 with:
+
+ cd <bacula-source>
+ patch -p0 <2.4.4-sd-deadlock.patch
+ ./configure <your options>
+ make
+ ...
+ make install
+
+
+Index: src/stored/reserve.c
+===================================================================
+--- src/stored/reserve.c (revision 8426)
++++ src/stored/reserve.c (working copy)
+@@ -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.
+@@ -498,7 +498,6 @@
+ void DCR::unreserve_device()
+ {
+ lock_volumes();
+- dev->dlock();
+ if (is_reserved()) {
+ clear_reserved();
+ reserved_volume = false;
+@@ -514,7 +513,6 @@
+ volume_unused(this);
+ }
+ }
+- dev->dunlock();
+ unlock_volumes();
+ }
+
+Index: src/stored/acquire.c
+===================================================================
+--- src/stored/acquire.c (revision 8426)
++++ src/stored/acquire.c (working copy)
+@@ -1,7 +1,7 @@
+ /*
+ Bacula® - The Network Backup Solution
+
+- Copyright (C) 2002-2008 Free Software Foundation Europe e.V.
++ Copyright (C) 2002-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.
+@@ -647,8 +647,8 @@
+
+ /* Detach this dcr only if attached */
+ if (dcr->attached_to_dev && dev) {
++ dev->dlock();
+ dcr->unreserve_device();
+- dev->dlock();
+ dcr->dev->attached_dcrs->remove(dcr); /* detach dcr from device */
+ dcr->attached_to_dev = false;
+ // remove_dcr_from_dcrs(dcr); /* remove dcr from jcr list */
(cd $${subdir}; $(MAKE) clean) \
fi; \
done
- rm -f 1 2 3
+ @rm -f 1 2 3
distclean:
@rm -f Makefile
&& CONFIG_FILES=$(thisdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
libtool-clean:
- find . -name '*.lo' -print | xargs $(LIBTOOL_CLEAN) $(RMF)
- $(RMF) *.la
- $(RMF) -r .libs _libs
+ @find . -name '*.lo' -print | xargs $(LIBTOOL_CLEAN) $(RMF)
+ @$(RMF) *.la
+ @$(RMF) -r .libs _libs
-clean: @LIBTOOL_CLEAN_TARGET@
- $(RMF) core a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
+clean: libtool-clean
+ @$(RMF) core a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
realclean: clean
$(RMF) tags
&& CONFIG_FILES=$(thisdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
libtool-clean:
- $(RMF) -r .libs _libs
+ @$(RMF) -r .libs _libs
-clean: @LIBTOOL_CLEAN_TARGET@
+clean: libtool-clean
@$(RMF) console bconsole core core.* a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
@$(RMF) static-console static-bconsole gmon.out
&& CONFIG_FILES=$(thisdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
libtool-clean:
- $(RMF) -r .libs _libs
+ @$(RMF) -r .libs _libs
-clean: @LIBTOOL_CLEAN_TARGET@
+clean: libtool-clean
@$(RMF) dird bacula-dir core core.* a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
@$(RMF) static-bacula-dir
&& CONFIG_FILES=$(thisdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
libtool-clean:
- $(RMF) -r .libs _libs
+ @$(RMF) -r .libs _libs
-clean: @LIBTOOL_CLEAN_TARGET@
+clean: libtool-clean
@$(RMF) bacula-fd filed core core.* a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
@$(RMF) static-bacula-fd
@if test -f win32/Makefile -a "${GMAKE}" != "none"; then \
@$(RMF) *.la
@$(RMF) -r .libs _libs
-clean: @LIBTOOL_CLEAN_TARGET@
+clean: libtool-clean
@$(RMF) find core a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
realclean: clean
&& CONFIG_FILES=$(thisdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
libtool-clean:
- $(RMF) -r .libs _libs
+ @$(RMF) -r .libs _libs
-clean: @LIBTOOL_CLEAN_TARGET@
+clean: libtool-clean
@$(RMF) bgnome-console core core.* a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
@$(RMF) static-bgnome-console gmon.out Makefile.am
@$(RMF) *.la
@$(RMF) -r .libs _libs
-clean: @LIBTOOL_CLEAN_TARGET@
+clean: libtool-clean
@$(RMF) core a.out *.o *.bak *.tex *.pdf *~ *.intpro *.extpro 1 2 3
@$(RMF) rwlock_test md5sum sha1sum
$(RMF) $(DESTDIR)$(plugindir)/bpipe-fd.la
libtool-clean:
- find . -name '*.lo' -print | xargs $(LIBTOOL_CLEAN) $(RMF)
- $(RMF) *.la
- $(RMF) -r .libs _libs
+ @find . -name '*.lo' -print | xargs $(LIBTOOL_CLEAN) $(RMF)
+ @$(RMF) *.la
+ @$(RMF) -r .libs _libs
-clean: @LIBTOOL_CLEAN_TARGET@
- rm -f main *.so *.o 1 2 3
+clean: libtool-clean
+ @rm -f main *.so *.o 1 2 3
distclean: clean
- rm -f Makefile
+ @rm -f Makefile
uninstall:
$(RMF) $(DESTDIR)$(plugindir)/bpipe-fd.so
(cd $(DESTDIR)$(sysconfdir); $(RMF) bacula-sd.conf bacula-sd.conf.new)
libtool-clean:
- $(RMF) -r .libs _libs
+ @$(RMF) -r .libs _libs
-clean: @LIBTOOL_CLEAN_TARGET@
+clean: libtool-clean
@$(RMF) bacula-sd stored bls bextract bpool btape shmfree core core.* a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
@$(RMF) bscan bcopy static-bacula-sd
&& CONFIG_FILES=$(thisdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
libtool-clean:
- $(RMF) -r .libs _libs
+ @$(RMF) -r .libs _libs
-clean: @LIBTOOL_CLEAN_TARGET@
+clean: libtool-clean
@$(RMF) bsmtp core core.* a.out *.o *.bak *~ *.intpro *.extpro 1 2 3
@$(RMF) $(DIRTOOLS)
windres.exe -i bwx-console_private.rc -I rc -o bwx-console_private.res -O coff
libtool-clean:
- $(RMF) -r .libs _libs
+ @$(RMF) -r .libs _libs
-clean: @LIBTOOL_CLEAN_TARGET@
+clean: libtool-clean
@$(RMF) $(CONSOBJS) bwx-console $(WIN32RES)
distclean: clean
mixed priorities
General:
+18Feb09
+kes Ensure that libtool directory always cleaned + reduce
+ unnecessary output during make clean.
15Feb09
ebl Check postgresql database encoding that should be SQL_ASCII
and print a warning if it's something else.