Feature #1853
pacman package provider
| Status: | Closed | Start date: | 01/07/2009 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | - | % Done: | 0% |
|
| Category: | package | |||
| Target version: | 2.7.4 | |||
| Affected Puppet version: | 0.24.7 | Branch: | ||
| Keywords: | archlinux pacman | |||
| Votes: | 4 |
Description
In my efforts to get Puppet working with Archlinux, I’ve created a package provider for Pacman. I’ve done a bit of testing with it and it appears to work but I am a ruby novice so there may be some issues. I mostly used the other package providers as examples and reused some existing code. It was definitely fun and frustrating creating this =)
I took a look at adding tests for it, but I am at a loss, the only thing I see is adding package info to the testpackages.yaml file. Please let me know if this is correct or if I need to do something else.
The formatting of the file is a bit rough, is there a standard intentation for Puppet?
I also have a small patch for facter that allows it to detect if the system is Archlinux. I’ll submit a seperate ticket with that patch in the facter mine.
History
Updated by James Turnbull about 3 years ago
- Status changed from Unreviewed to Accepted
- Assignee set to James Turnbull
- Target version set to 0.25.0
Updated by James Turnbull about 3 years ago
- Status changed from Accepted to Needs Decision
- Assignee changed from James Turnbull to Luke Kanies
Luke – you happy?
Updated by Luke Kanies about 3 years ago
- Status changed from Needs Decision to Code Insufficient
- Assignee deleted (
Luke Kanies)
The code mostly looks good, but the indentation seems essentially arbitrary. We use 4space indentation, so updating to that would be good.
Also, please provide tests. They should be pretty straightforward, and I believe there are already examples in the spec/unit/provider/package directory you can use.
Updated by Luke Kanies almost 3 years ago
- Target version changed from 0.25.0 to 2.6.0
Bumping, unless tests show up magically.
Updated by Miah Johnson almost 3 years ago
I’m still a ruby newb, so I’m a bit behind on getting the tests done (learning curves). I’d definitely like to see this get into 0.25.0, but I also don’t want to hold up a release. The bump is fine with me for now, I’ll see what I can do to get the tests done.
Updated by Luke Kanies almost 3 years ago
miah wrote:
I’m still a ruby newb, so I’m a bit behind on getting the tests done (learning curves). I’d definitely like to see this get into 0.25.0, but I also don’t want to hold up a release. The bump is fine with me for now, I’ll see what I can do to get the tests done.
We’re totally willing to help you with the tests. Email what you’ve got to the -dev list and ask for help.
Updated by Ian Taylor over 2 years ago
- Assignee set to Ian Taylor
Updated by Dan Saul over 2 years ago
How would one apply this to their existing source tree?
Updated by Luke Kanies over 2 years ago
Dan Saul wrote:
How would one apply this to their existing source tree?
You should be able to just drop it in lib/puppet/provider/package.
Updated by James Turnbull about 2 years ago
- Target version changed from 2.6.0 to 2.7.x
Updated by Ian Taylor about 2 years ago
- Assignee deleted (
Ian Taylor)
Updated by Nico Schottelius over 1 year ago
Hey!
Is there any progress going on at reductivelabs regarding that issue? Or somewhere else? I would be happy to see archlinux being supported.
Cheers,
Nico
Updated by Miah Johnson over 1 year ago
Nico,
I started working on a rspec for this a few weeks ago (which is the only requirement preventing inclusion afaik) but then my hdd crashed. I just got things going again and am starting work on it. Moving, new job, lack of knowledge of rspec were my issues last year when I wrote this and I had hoped somebody would help me out. Sorry its taken me so long =)
-Miah
Updated by Nico Schottelius over 1 year ago
Dear Puppet devs, can you summarise the current requirements? Is it just rspec or anything else?
We would appreciate to see some movement here, so we can use puppet to manage our arch systems.
Cheers,
Nico
Updated by James Turnbull over 1 year ago
We are after RSpec tests in line with tests for the other package providers – see the spec/unit/provider/package directory:
http://github.com/reductivelabs/puppet/tree/master/spec/unit/provider/package/
Updated by Paul Boyd 11 months ago
- File pacman.diff added
In an effort to see this ticket move along, I wrote some tests. They’re in the attached diff (also on github: https://github.com/pboyd/puppet/tree/pacman).
The provider in the AUR package had some changes not in the version attached to this ticket, so I’m including that in this diff as well.
I noticed a small problem with the query method, which I’m sending a fix for too (it was returning an empty hash, instead of nil, when the package wasn’t found).
Updated by Thomas Hatch 11 months ago
Thanks Paul! I had not seen this yet, your nil solution to the bug in the query function is probably better than mine, but with these tests I hope we can get the type loaded in! I mentioned this on the puppet-dev list, but I think I am safe in saying it here again, I am using this puppet type in hundreds of Arch Linux servers and it works quite well, I would love to see this added into the main puppet code! Please let me know if I can test any of this!
Updated by Nigel Kersten 10 months ago
- Target version changed from 2.7.x to Telly
excellent we have tests! Have those been sent to the dev-list ?
I’d like to see us release this as a module for 2.6/2.7 and merge into Telly at release time.
Updated by Paul Boyd 9 months ago
Nigel Kersten wrote:
excellent we have tests! Have those been sent to the dev-list ?
I’d like to see us release this as a module for 2.6/2.7 and merge into Telly at release time.
I haven’t sent anything to the dev-list.. should I have? (I’m not real sure on the procedure).
Updated by Nigel Kersten 9 months ago
http://projects.puppetlabs.com/projects/puppet/wiki/Development_Development_Lifecycle is the procedure
If you need a hand, feel free to let me know, ask questions on puppet-dev, or jump into the #puppet IRC channel on freenode and we can get you sorted.
If we get this approved relatively quickly, I’m happy to push it into the 2.7.0 release that we’re working on now.
Updated by Nigel Kersten 9 months ago
- Status changed from Code Insufficient to Accepted
- Priority changed from Low to Normal
Updated by Paul Boyd 9 months ago
After dragging my feet sufficiently.. this has been posted to the mailing list.
Updated by Max Martin 9 months ago
- Status changed from Accepted to Merged - Pending Release
Merged into next in commit:3b4fd7a2a44873d3dd4afb882a381a2218e8a0e9
Updated by Michael Stahnke 7 months ago
- Status changed from Merged - Pending Release to Closed
In 2.7 series.
Updated by James Turnbull 6 months ago
- Target version changed from Telly to 2.7.4