#-----------------------------------------------------------------------------
# icaclient setup

bundle agent icaclient
{
classes:
    "multiarch_config_in_place"
          comment => "Check if dpkg has been configured with multiarch",
           handle => "icaclient_classes_multiarch_in_place",
       expression => fileexists("/etc/dpkg/dpkg.cfg.d/multiarch");
    "multiarch_config_not_in_place"
          comment => "Check if dpkg has been configured with multiarch",
           handle => "icaclient_classes_multiarch_not_in_place",
              not => fileexists("/etc/dpkg/dpkg.cfg.d/multiarch");

vars:
 icaclient.ubuntu_10_4.i686::
   "icaclient_packages" slist => { "icaclient", "ctxusb", "libmotif3" },
                      comment => "Packages that provide icaclient for i686",
                       handle => "icaclient_vars_icaclient_packages_i686";

 icaclient.debian.!ubuntu_10_4.i686:: #it seems that both Debian Squeeze, Wheezy and Ubuntu Precise have libXm.so.4 in libmotif4 package
   "icaclient_packages" slist => { "icaclient", "ctxusb", "libmotif4" },
                      comment => "Packages that provide icaclient for i686",
                       handle => "icaclient_vars_icaclient_packages_precise_i686";

 icaclient.debian.x86_64.multiarch_config_not_in_place::
   "icaclient_packages" slist => { "icaclient", "ctxusb", "ia32-libs" },
                      comment => "Packages that provide icaclient for fake amd64",
                       handle => "icaclient_vars_icaclient_packages_fake_amd64";

 icaclient.debian.x86_64.multiarch_config_in_place::
   "icaclient_packages" slist => { "icaclient:i386", "ctxusb:i386", "nspluginwrapper" },
                      comment => "Packages that provide icaclient for multiarch amd64",
                       handle => "icaclient_vars_icaclient_packages_multiarch_amd64";
   "fake_icaclient_packages" slist => { "icaclient", "ctxusb" },
                           comment => "Packages that provide icaclient for multiarch amd64",
                            handle => "icaclient_vars_fake_icaclient_packages_multiarch_amd64";
packages:
 icaclient.debian.x86_64.multiarch_config_in_place::
   "$(fake_icaclient_packages)"
    comment => "Removal of old fake icaclient packages.",
    handle => "icaclient_packages_remove_fakeicaclient_packages",
    package_policy => "delete",
    package_method => aptget;
   "libnss-sss:i386"
    comment => "Special NSS package for precise",
    handle => "icaclient_packages_libnss_sss",
    package_policy => "add",
    package_method => aptget_norecommends;
 icaclient.debian.tieto_network::
   "$(icaclient_packages)"
    comment => "Installation of required icaclient packages.",
    handle => "icaclient_packages_icaclient_packages",
    package_policy => "add",
    package_method => aptget,
    classes => if_ok("have_icaclient_packages");


files:
  icaclient.ubuntu_10_4.have_icaclient_packages.i686::
    "/usr/lib/libXm.so.4"
      link_from => ln_s("/usr/lib/libXm.so.3.0.2"),
      comment => "Hack for old libmotif version",
      handle => "icaclient_files_libXm_hack";

}
