Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 397555 - app-backup/bacula 5.2.3 forces a REQUIRED_USE flag for a db, even on a client-only install
Summary: app-backup/bacula 5.2.3 forces a REQUIRED_USE flag for a db, even on a client...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Thomas Beierlein
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-03 22:09 UTC by William Arlofski
Modified: 2012-01-08 14:24 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description William Arlofski 2012-01-03 22:09:09 UTC
On a client machine, the bacula-clientonly USE flag has always been a shortcut to imply no database server (-mysql, -postgres, -sqlite3), not directory (bacula-nodir), and no storage daemon (bacula-nosd)

New 5.2.3 ebuild is unnecessarily forcing the installation of a DB server (see actual results below)

Reproducible: Always

Steps to Reproduce:
1. emerge -va bacula
2. See ebuild requiring "exactly-one-of ( mysql postgres sqlite3 )
Actual Results:  
These are the packages that would be merged, in order:

Calculating dependencies \

!!! Problem resolving dependencies for app-backup/bacula from @selected
... done!

!!! The ebuild selected to satisfy "app-backup/bacula" has unmet requirements.
- app-backup/bacula-5.2.3::gentoo USE="bacula-clientonly ipv6 (multilib) ssl tcpd -X -bacula-nodir -bacula-nosd -logwatch -mysql -postgres -python -qt4 -readline -sqlite3 -static -vim-syntax"

  The following REQUIRED_USE flag constraints are unsatisfied:
    exactly-one-of ( mysql postgres sqlite3 )

(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

 * IMPORTANT: 1 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.

Expected Results:  
Expect the "bacula-clientonly" USE flag to remove any and all DB server requirements
Comment 1 William Arlofski 2012-01-03 22:27:32 UTC
Sorry for the rapid-fire update guys (and thanks for maintaining Bacula on Gentoo!) 

It appears that even using the "bacula-nodir" USE flag, a DB is still required. 

With Bacula, the only component that requires and talks to a DB is the director (bacula-dir) so in addition to my original post regarding a DB being required when the "bacula-clientonly" USE flag is set, a DB is also incorrectly being required when only the fd (file daemon) and/or sd (storage daemons) are being install on a machine:

USE="-bacula-clientonly bacula-nodir" emerge -va bacula

 * IMPORTANT: 1 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.


These are the packages that would be merged, in order:

Calculating dependencies \

!!! Problem resolving dependencies for app-backup/bacula
... done!

!!! The ebuild selected to satisfy "bacula" has unmet requirements.
- app-backup/bacula-5.2.3::gentoo USE="bacula-nodir ipv6 (multilib) ssl tcpd -X -bacula-clientonly -bacula-nosd -logwatch -mysql -postgres -python -qt4 -readline -sqlite3 -static -vim-syntax"                                                                                                                                                                               

  The following REQUIRED_USE flag constraints are unsatisfied:
    exactly-one-of ( mysql postgres sqlite3 )


Thanks!

--
Bill Arlofski
Reverse Polarity, LLC
Comment 2 Thomas Beierlein gentoo-dev 2012-01-04 09:01:44 UTC
Thanks for reporting.

(In reply to comment #1)
> It appears that even using the "bacula-nodir" USE flag, a DB is still required. 
> 
> With Bacula, the only component that requires and talks to a DB is the director
> (bacula-dir) so in addition to my original post regarding a DB being required
> when the "bacula-clientonly" USE flag is set, a DB is also incorrectly being
> required when only the fd (file daemon) and/or sd (storage daemons) are being
> install on a machine:

You are correct for the bacula-clientonly case. But your other analysis is wrong. Please see bug #311099 comment #2 for a detailed discussion why we need database support also in case that we only build a storage daemon.

+*bacula-5.2.3-r1 (04 Jan 2012)
+
+  04 Jan 2012; Thomas Beierlein <tomjbe@gentoo.org> +bacula-5.2.3-r1.ebuild:
+  Change REQUIRED_USE (see bug #397555). Thanks for reporting
+  waa-gentoo@revpol.com
+

The new version allow building without DB backend for bacula-clientonly.
Comment 3 William Arlofski 2012-01-04 15:27:55 UTC
Thank you Thomas.

And of course, you are correct about db support being required for the SD - due to some of the command line tools for interaction with and recovery of individual volumes. Sorry for the false alarm/report on that. :)

Thank you for the FAST response, and fix.

--
Bill Arlofski
Reverse Polarity, LLC
Comment 4 w3gw3rfadr3553 2012-01-07 14:33:03 UTC
This ebuild still makes me scratch my head: I want to install both Director and Storage Daemon on the same machine:

ACCEPT_KEYWORDS="~amd64" USE="-postgres X -sqlite mysql" emerge bacula -vp

These are the packages that would be merged, in order:

Calculating dependencies |

!!! Problem resolving dependencies for app-backup/bacula                      ... done!

!!! The ebuild selected to satisfy "bacula" has unmet requirements.
- app-backup/bacula-5.2.3-r1::gentoo USE="X ipv6 (multilib) mysql python readline sqlite3 ssl tcpd vim-syntax -bacula-clientonly -bacula-nodir -bacula-nosd -logwatch -postgres -qt4 -static"

  The following REQUIRED_USE flag constraints are unsatisfied:
    any-of ( exactly-one-of ( mysql postgres sqlite3 ) bacula-clientonly
Comment 5 Thomas Beierlein gentoo-dev 2012-01-07 15:45:57 UTC
(In reply to comment #4)
> This ebuild still makes me scratch my head: I want to install both Director and
> Storage Daemon on the same machine:
> 
> ACCEPT_KEYWORDS="~amd64" USE="-postgres X -sqlite mysql" emerge bacula -vp
> 

Please see the last line of output:

>     any-of ( exactly-one-of ( mysql postgres sqlite3 ) bacula-clientonly

The USE flag in question is 'sqlite3' not 'sqlite'.
Comment 6 w3gw3rfadr3553 2012-01-08 14:24:49 UTC
Oh, indeed! Sorry for the sunday-molestation!