Add exclude to existing yum repo configuration with puppet - centos

I'm using puppet for managing configuration a bunch of CentOS 5 servers. I would like to add a some package exclusions to the CentOS base yum repo configuration. Is there a way to do this with puppet?
I am going to use the remi repo version of some packages and want to exclude the base versions from yum. To enable remi I have a yumrepo resource defined.

You can use exclude parameter in yumrepo
yumrepo { 'centos_base' :
baseurl => "...",
enabled => 1,
priority => 1,
exclude => "package-name",
}
You can also require a particular yumrepo when installing a package.
package { "package-name" :
ensure => installed,
require => Yumrepo["RemiRepo"],
}

Related

Local package "invalid" when added with yarn

I am trying to add my modified version of vega as a local package as a dependency via:
yarn add vega#file:../vega/packages/vega
however, when I then do yarn, it tells me my package is invalid:
invalid: vega#5.22.1 /Users/alex/Documents/Work/Research/vega_profiler/VegaProf.nosync/editor/node_modules/vega
I think this is because it tries to match the version with the one in my package.json, which does not contain version information for the local package. However, I don't know how to address this.

Perl: Makefile.PL, File::ShareDir::Install, chicken and eggs

The File::ShareDir::Install module represents a practical way of carrying around auxiliary files with a Perl distribution/module. I feel however a bit puzzled on how to include it in the dependencies of my project.
I tried to install my package on a fresh machine (actually a docker container with base OS + Perl + CPAN) and I got the error:
Can't locate File/ShareDir/Install.pm in #INC ... at Makefile.PL line 7.
According to the documentation (perldoc File::ShareDir::Install), the pattern should be, in my Makefile.PL:
use ExtUtils::MakeMaker;
use File::ShareDir::Install;
install_share 'share';
install_share dist => 'dist-share';
install_share module => 'My::Module' => 'other-share';
WriteMakefile( ... ); # As you normaly would
package MY;
use File::ShareDir::Install qw(postamble);
However, by doing so I need File::ShareDir::Install to be pre-installed on my system as requirement to run the Makefile.PL script. Declaring it as dependency will not work, for obvious reasons!
Should I instruct my users to explicitly instasll File::ShareDir::Install before my module? Would it be possible to install it programmatically, within Makefile.PL, by directly calling the CPAN module?
This is what CONFIGURE_REQUIRES is for:
Available in version 6.52 and above.
A hash of modules that are required to run Makefile.PL itself, but not to run your distribution.
This will go into the configure_requires field of your META.yml and the configure of the prereqs field of your META.json.
Defaults to { "ExtUtils::MakeMaker" => 0 } if this attribute is not specified.
The format is the same as PREREQ_PM.
So you would add to your WriteMakefile parameters:
CONFIGURE_REQUIRES => {
"ExtUtils::MakeMaker" => '6.52',
"File::ShareDir::Install" => 0,
},
Then people using cpan or cpanm to install modules will get File::ShareDir::Install installed automatically.
To build the distribution
Make a File::ShareDir::Install a build-time dependency.
CONFIGURE_REQUIRES => {
'ExtUtils::MakeMaker' => '6.52',
'File::ShareDir::Install' => 0,
},
Install File::ShareDir::Install on the machine on which you will build the distribution.
Build the distribution.
This will create a META.yml that includes File::ShareDir::Install as a build-time dependency.
To install the distribution
Just use cpan or cpanm as normal. cpan and cpanm will extract build-time dependencies from META.yml and install them before running Makefile.PL.

Using Puppet to install a specific kernel

I'm using Puppet to install a specific kernel on an agent. The problem is, I can't quite seem to give it a version. I have the following:
class kernel::install_kernel_version {
# Make sure the 'kernel' package is installed in build agent
case $::osfamily {
'RedHat': {
require epel
package {'kernel':
ensure => '2.6.32-431.29.2.e16.x86_64'}
}
default: {
fail("Module is not compatible with ${::operatingsystem}")
}
}
}
Every time I to run it, there's no effect. Presumably because it doesn't know the kernel version exists.

Composer cannot find package for a Symfony2 bundle

I'm creating a Symfony2 bundle hosted on GitHub. I suppose that everything is configured well! However, when I try to install it something goes wrong.
Here follows a summary of the key info.
First, in my Symfony2 app I update the composer.json as follows:
"require": {
...,
"bundle-name": "dev-master"
},
When I try to install the bundle through the command php composer.phar update, I get the following error:
Loading composer repositories with package information
Installing dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package bundle-name could
not be found in any version, there may be a typo in the package name.
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according
to your minimum-stability setting
see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion>
for more details.
Any idea?
You have to add repository for "bundle-name".
I couldn't find it on packagist, so register it first.

How to install ZendRest module in zf2?

I would like to install the ZF2 ZendRest module.
How to install it?
When I'm doing
php .\composer.phar install
in \vendor\zendrest. I get:
Loading composer repositories with package information
Installing dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package zendframework/zend-http 1.0.0 could not be found.
Problem 2
- The requested package zendframework/zend-uri 1.0.0 could not be found.
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum- stability setting
see https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion for more details.
Where should I put the ZendRest folder?
Thanks!
There is no stable version for the ZendRest dependencies: zend-http and zend-uri (see the show output below for the existing versions). Composer relies on stable packages by default. That's why you can't install this package.
$ composer show zendframework/zend-http
name : zendframework/zend-http
descrip. : provides an easy interface for preforming Hyper-Text Transfer Protocol (HTTP) requests
keywords : zf2, http
versions : 2.0.0rc4, 2.0.0rc3, 2.0.0rc2, 2.0.0-rc1, 2.0.0-beta5, 2.0.0-beta4
type : library
...
You should change the minimum-stability to dev in your project:
{
"require": {
// ...
},
"minimum-stability": "dev"
}
Edit: the following composer.json works for instance. This is what you should have in your own project (maybe with more dependencies):
{
"require": {
"zendframework/zend-rest": "*"
},
"repositories": [
{
"type": "composer",
"url": "http://packages.zendframework.com/"
}
],
"minimum-stability": "dev"
}