Forum: CFEngine Help Subject: Re: installing specific packages from local directory Author: neilhwatson Link to topic: https://cfengine.com/forum/read.php?3,25415,25418#msg-25418
vars: 'epelrpm' string => 'epel-release'; 'epelrpm' string => '6-5'; 'epelrpm' string => 'noarch'; methods: "install" usebundle => rpm_file('main.epelrpm'); } bundle agent rpm_file(rpm){ vars: 'i' slist => getindices('$(rpm)'); 'file' string => '$($(rpm))-$($(rpm)).$($(rpm)).rpm'; 'loc' string => '/var/cache/rpms'; files: '$(loc)/$(file)' create => "true", copy_from => remote_dcp("$(g.sitefiles)/rpms/$(file)","$(sys.policy_hub)"); packages: '$($(rpm))' package_version => '$($(rpm))', package_architectures => { '$($(rpm))' }, package_method => rpm_version_nhw('$(loc)'), classes => if_notkept("rpm_file_missing"), package_select => '>=', package_policy => 'addupdate'; reports: rpm_file_missing:: "RPM file missing"; } body package_method rpm_version_nhw(repo) { package_changes => "individual"; package_list_command => "/bin/rpm -qa --queryformat \"i | repos | %{name} | %{version}-%{release} | %{arch}\n\""; # set it to "0" to avoid caching of list during upgrade package_list_update_ifelapsed => "240"; package_list_name_regex => "[^|]+\|[^|]+\|\s+([^\s|]+).*"; package_list_version_regex => "[^|]+\|[^|]+\|[^|]+\|\s+([^\s|]+).*"; package_list_arch_regex => "[^|]+\|[^|]+\|[^|]+\|[^|]+\|\s+([^\s]+).*"; package_installed_regex => "i.*"; package_file_repositories => { "$(repo)" }; package_name_convention => "$(name)-$(version).$(arch).rpm"; package_add_command => "/bin/rpm -ivh "; package_update_command => "/bin/rpm -Uvh "; package_delete_command => "/bin/rpm -e --nodeps"; package_noverify_regex => ".*[^\s].*"; } _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine