### IMPORTANT ###
# This is a copy of "control", but without the dh_sytemd Build-Depends
# Currently this is neccessary, because Ubuntu/Precise does not have a dh_systemd package
# But we want to force this dependency, for further information take a look at the
# git commit that introduced this file
Source: drbd-utils
Section: admin
Priority: extra
Maintainer: DRBD dev <drbd-dev@lists.linbit.com>
Uploaders: Philipp Reisner <philipp.reisner@linbit.com>, Lars Ellenberg <lars.ellenberg@linbit.com>
Build-Depends: debhelper (>= 7), flex, xsltproc, docbook-xsl, udev
Standards-Version: 3.9.5
Homepage: http://www.drbd.org/
Vcs-Browser: http://git.linbit.com/drbd-utils.git/
Vcs-Git: git://git.linbit.com/drbd-utils.git/

Package: drbd-utils
Architecture: linux-any
Depends: debconf (>= 0.5), ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}
Breaks: drbd8-utils (<< 2:8.9.0)
Replaces: drbd8-utils (<< 2:8.9.0)
Suggests: heartbeat
Recommends: heirloom-mailx|mailx
Description: RAID 1 over TCP/IP for Linux (user utilities)
 DRBD is a block device which is designed to build high availability
 clusters by providing a virtual shared device which keeps disks in
 nodes synchronised using TCP/IP. This simulates RAID 1 but avoiding
 the use of uncommon hardware (shared SCSI buses or Fibre Channel).
 It is currently limited to fail-over HA clusters.
 .
 This package contains the programs that will control the drbd kernel
 module provided in the Linux kernel or external drbd module source.

Package: drbd8-utils
# build process will override epoch to 2:
Architecture: linux-any
Depends: drbd-utils (>= 8.9.0), ${misc:Depends}
Description: transitional dummy package
 This is a transitional dummy package for drbd-utils. It can be removed safely.
