%endif
BuildRequires: gcc-c++
BuildRequires: boost-devel
+BuildRequires: boost-random
BuildRequires: cryptsetup
BuildRequires: gdbm
BuildRequires: hdparm
LIBS="${saved_LIBS}"
AC_SUBST(BOOST_THREAD_LIBS)
+# boost-random
+BOOST_RANDOM_LIBS=""
+saved_LIBS="${LIBS}"
+LIBS=""
+AC_CHECK_LIB(boost_random, main, [],
+ [AC_CHECK_LIB(boost_random, main, [],
+ AC_MSG_FAILURE(["Boost random library not found."]))])
+BOOST_RANDOM_LIBS="${LIBS}"
+LIBS="${saved_LIBS}"
+AC_SUBST(BOOST_RANDOM_LIBS)
+
#
# Check for boost_program_options library (defines BOOST_PROGRAM_OPTIONS_LIBS).
#
libboost-program-options-dev (>= 1.42),
libboost-system-dev (>= 1.42),
libboost-thread-dev (>= 1.42),
+ libboost-random-dev,
libcurl4-gnutls-dev,
libedit-dev,
libexpat1-dev,
LIBCOMMON_DEPS += \
$(LIBERASURE_CODE) \
$(LIBMSG) $(LIBAUTH) \
- $(LIBCRUSH) $(LIBJSON_SPIRIT) $(LIBLOG) $(LIBARCH)
+ $(LIBCRUSH) $(LIBJSON_SPIRIT) $(LIBLOG) $(LIBARCH) \
+ $(BOOST_RANDOM_LIBS)
if LINUX
LIBCOMMON_DEPS += -lrt -lblkid
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_generators.hpp>
#include <boost/uuid/uuid_io.hpp>
+#include <boost/random/random_device.hpp>
struct uuid_d {
boost::uuids::uuid uuid;
}
void generate_random() {
- boost::uuids::random_generator gen;
+ boost::random::random_device rng("/dev/urandom");
+ boost::uuids::basic_random_generator<boost::random::random_device> gen(&rng);
uuid = gen();
}