Coder Social home page Coder Social logo

puppet-apt's People

Contributors

alvagante avatar bguerin avatar damusnet avatar davids avatar dodwmd avatar egeland avatar gwarf avatar itv-timbirk-ci avatar javierbertoli avatar kallies avatar ki0 avatar kos4live avatar mburger avatar php-coder avatar pysysops avatar sathieu avatar tiengo avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

puppet-apt's Issues

Adding support for PPA

Hello, was wondering if this module could have support for PPA (Personal Package Archive), it would be great to install many packages not currently available on the official apt repos (eg. php 5.4).

apt::dater: Parameter path failed on File[undef]

Hello,

I tried to use the module but on deploying I'm getting the error

Error: Failed to apply catalog: Parameter path failed on File[undef]: File paths must be fully qualified, not 'undef' at /etc/puppet/modules/apt/manifests/dater/manager.pp:36

This is my definition:

node 'puppet' {
class { 'apt::dater':
role => 'manager',
manager_ssh_key => template('site/apt-dater.priv.key');
}

apt-pinning syntax error

When trying to apt-pin a package using

node server {
  include apt

  apt::repository { "squeeze-backports":
    url => "http://backports.debian.org/debian-backports",
    distro => 'squeeze-backports',
    repository => 'main',
  }

  apt::pin { "puppet-common":
    release => "squeeze-backports",
    priority => "999",
  }
}

I get a syntax error:

Syntax error at 'file'; expected '}' at /home/hilboll/git/puppet/modules/apt/manifests/pin.pp:54 on node puppet1

add ';' at the end of a conf line

With the current module, I get the error

E: Syntax error /etc/apt/apt.conf.d/20default-release.conf:1: Extra junk at end of file

when using the conf class like this:

apt::conf { "default-release":
  content => 'APT::Default-Release "squeeze"',
  priority => '20',
}

Of course I could add the missing ; to the end of the content parameter, but don't you think the module should add the ; on its own? I can do the appropriate PR, just wanted to check if that's okay with you.

How would I go for checking in the module if the ; is present at the end of the content parameter and add one only if necessary?

Dependency cycle when adding repository

I have a very simple test manifest which results in a dependency cycle on Debian Squeeze with Puppet 2.7 from squeeze-backports.

node server {
  package { apt:
    ensure => installed
  }
  include apt
  apt::repository { "squeeze-backports":
    url => "http://backports.debian.org/debian-backports",
    distro => 'squeeze-backports',
    repository => 'main',
    source => true,
  }
}

The debug output is

debug: /Stage[main]//Node[server]/Apt::Repository[squeeze-backports]/require: requires Class[Apt]
debug: /Stage[main]//Node[server]/Apt::Repository[squeeze-backports]/File[repository_squeeze-backports]/require: requires Package[apt]
debug: /Stage[main]//Node[server]/Apt::Repository[squeeze-backports]/File[repository_squeeze-backports]/before: requires Exec[aptget_update]
debug: /Stage[main]//Node[server]/Apt::Repository[squeeze-backports]/File[repository_squeeze-backports]/notify: subscribes to Exec[aptget_update]
debug: /Stage[main]/Apt/File[apt.conf]/require: requires Package[debconf-utils]
err: Could not apply complete catalog: Found 1 dependency cycle:
(Exec[aptget_update] => Class[Apt] => Apt::Repository[squeeze-backports] => File[repository_squeeze-backports] => Exec[aptget_update])

Is this a bug, or am I doing something wrong?

dependency cycle

In my site.pp manifest, having only those 2 lines based on your nextgen modules:

include apt
include rvm

I get the following error:

Error: Could not apply complete catalog: Found 1 dependency cycle:
(Exec[aptget_update] => Package[libreadline6-dev] => Class[Rvm::Dependencies::Ubuntu] => Stage[rvm-install] => Stage[main] => Class[Apt] => Exec[aptget_update])
Try the '--graph' option and opening the resulting '.dot' file in OmniGraffle or GraphViz

I have absolutely no clue as to how to fix this. Hope it helps somehow. Thanks for the numerous modules anyway!

Repository class should allow specifying keyserver

Creating a repo with a key always calls apt::key without passing a keyserver parameter, so defaulting to subkeys.pgp.net, which has been super unreliable lately. I believe we should be able to pass a keyserver to the repository?

apt::dater: Lack of support for apt-dater 1.0.2+ XML configuration files

For some reason the author of apt-dater decided to change the configuration format of the management host to XML structures in a minor update (1.0.2 -- changelog), resulting in backwards incompatible generated hosts.conf files.

This breaks apt-dater for the latest Ubuntu release 15.04 which incorporates a 1.0.1 version with some extra commits introducing the XML configuration format.

gert@host:~$ apt-dater
** Message: Creating default config file /home/gert/.config/apt-dater/apt-dater.xml
** Message: Creating default config file /home/gert/.config/apt-dater/hosts.xml
** Message: Creating default config file /home/gert/.config/apt-dater/screenrc

It took me some time to find out why all of this stuff broke down after the Ubuntu 15.04 upgrade and I was surprised to find out this backwards incompatible change in a minor apt-dater release and Debian/Ubuntu having backported it to 1.0.1 as well.

FYI - submitted Ubuntu bug report too: 1451002.

Unattended-Upgrade, is it removed or replaced?

in version 1.8 there was support for unattended-upgrades, including a function for remove-unused-dependencies.
Now I can´t find it back and our service doesn´t do this anymore.
What happened to it?
Regards, F

Can`t update sources.list file

I`m use this config:

    class { 'apt':
        source_dir => 'puppet:///modules/mymodule/apt',
    }

In path /modules/mymodule/apt i have two files: apt.conf and sources.list, but files in /etc/apt are empty.

Each time puppet seems to run the apt key and ppa get's added over and over?

Each time puppet seems to run the apt key and ppa get's added over and over?

Expected Behavior

key and repository to be added once

Actual Behavior

Notice: /Stage[main]/Hhvm::Install::Package/Apt::Key[2048R/1BE7A449]/Exec[aptkey_add_2048R/1BE7A449]/returns: executed successfully
Notice: /Stage[main]/Varnish::Install/Apt::Key[4096R/C4DEFFEB]/Exec[aptkey_add_4096R/C4DEFFEB]/returns: executed successfully
Notice: /Stage[main]/Php70/Apt::Ppa[ppa:ondrej/php]/Exec[add-apt-repository-ppa:ondrej/php]/returns: executed successfully

Could it have something to do with this output?

apt-key adv --list-public-keys --with-fingerprint --with-colons | grep -q "2048R/1BE7A449"
N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
ccarnell@web:~$ 

After removing /etc/apt/apt.conf.d/50unattended-upgrades.ucf-dist, the output of the command is blank. However, the issue still remains

Steps to Reproduce the Problem

sudo puppet agent --test --verbose

node definition:

include apt
apt::key { "4096R/C4DEFFEB": url => 'https://repo.varnish-cache.org/ubuntu/GPG-key.txt' }

OR:

apt::ppa {
  "ppa:ondrej/php":
}

Specifications

Please add this info:

  1. Output of facter -p:
os => {"name"=>"Ubuntu", "family"=>"Debian", "release"=>{"major"=>"16.04", "full"=>"16.04"}, "lsb"=>{"distcodename"=>"xenial", "distid"=>"Ubuntu", "distdescription"=>"Ubuntu 16.04.2 LTS", "distrelease"=>"16.04", "majdistrelease"=>"16.04"}}
osfamily => Debian
  1. puppet 3.8.5, apt module master

support multiple packages per apt::pin definition

Currently, if I want to pin a whole range of packages (e.g. icinga, icinga-web, icinga-common, icinga-core, ...) to a specific apt-repo, I need to define one apt::pin per package. I think it would be great if apt::pin would support setting a list of packages and then iterate through the packages in the template.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.