Talk:What is the relationship between rBuilder and multiple repositories?
From rPath Wiki
I'm to the point where I have a local repository, I made myself a user, my first conary package cooked OK, I've run "cvc add" on my recipe file, and my commit is failing with a permission denied.
I think this is because my repository is totally empty and I made up a project name in my .conaryrc file. (My project directory, and the package directory within it, uses the "satellinux" context; see below.)
Now I've been scratching my head on this for a while. Projects don't seem to be a concept that belong to repositories--they belong to "rBuilder". Do I need to own a project in rBuilderOnline in order to cook projects into my own local repository? If so, will the fact that my repository is behind a firewall and is not publicly accessible throw a wrench into the works?
A second question: what is your policy on heirchical namespaces? I have in mind: gov.usda.fs.rmrs. It would seem a little brash to claim all of "gov" for myself.
My .conaryrc
contact [Me very own email] name Bryce Nordgren user *.localhost bnordgren booger repositoryMap localhost http://localhost:8000/ [satellinux] buildLabel localhost@rpl:devel installLabelPath localhost@rpl:devel
- Bnordgren 22:09, 23 August 2007 (EDT)
- For a full index of all existing discussion topics, see Forum Topics.
- For instructions on using the rPath Wiki forums, see Forum Usage Instructions.
- For information on all recommended methods of communicating with rPath, see How to Communicate with rPath.
Comments
You do not need an rBuilder Online project in order to work with a standalone repository.
Your assertion that Projects don't belong to repositories, they belong to rBuilder is a pretty fair assessment. In fact, every last rBuilder Online project has a repository associated with it. rBuilder projects are of course much more than simply a conary repository.
Your overall setup is fine. you do not need to make your repository publically accessible to make it work.
The error you are complaining of is probably accurate. did you set up a conary user with the same credentials you set in your .conaryrc file? I assume that the repository is running and accessible, or you would have gotten various other errors not related to permissions. Are you aware that conary has it's own web interface that you can access? (That's how you'd set up the aforementioned user account.) browse to http://localhost:8000/conary/ (I'm guessing, I assume that's right based on your repositoryMap) and set up a UserGroup with write access (probably to all labels). add a user to that UserGroup (it's perfectly legal to use the same name for both). since this is behind a firewall and you likely want read access from your LAN, consider setting up an anonymous account with read access to all labels. (username anonymous, password anonymous)
Your repositoryMap line is probably suboptimal. "localhost" generally isn't a valid conary repository name. edit your repository.cnr file and change the name to something more meaningful to yourself--make it look like an FQDN, like "satalinux.localhost". alter all the localhost references in your conaryrc to match. try something like this:
contact {try putting a URL here. any text will do and nobody likes spam}
name Bryce Nordgren
user *.localhost bnordgren booger
repositoryMap satellinux.localhost http://localhost:8000/conary/
[satellinux]
buildLabel satellinux.localhost@rpl:devel
installLabelPath satellinux.localhost@rpl:devel
I hope that helps! Please joins us in #conary on irc.freenode.net if you have any further questions.
--StuGott 11:35, 24 August 2007 (EDT)
User permissions
I am/was running the command-line version of the repo server. Pointing a browser at it sported a "not implemented" error. I did add the user with the above credentials by a modification of the same command line that created the admin user. I just dropped the "--admin" and "--migrate" options.
Of course, then I tried setting up repo access thru apache (pointed to the same directory structure), and that let me edit users. The bnordgren user has these permissions:
- Label: all
- Trove: all
- Write: yes
- Capped, Admin, Remove: no
- X: X
- E: E
Here is the error both from the client side and the server side:
Client:
[bnordgren@fchuey szip]$ cvc commit -m "This will fail" error: Insufficient permission to access server localhost:8000
Server:
22166 18:59:11 +18.632 server/server.handleXml decoded xml-rpc call checkVersion from 103 bytes request 22166 18:59:11 +0.002 server/server.handleXml returned from checkVersion 22166 18:59:11 +0.008 server/server.handleXml encoded xml-rpc response to 567 bytes localhost.localdomain - - [24/Aug/2007 18:59:11] "POST http://localhost:8000/ HTTP/1.0" 200 - 22166 18:59:11 +0.001 server/server.handleXml sent response to client 158 bytes 22166 18:59:11 +0.012 server/server.handleXml decoded xml-rpc call getTroveLeavesByLabel from 200 bytes request 22166 18:59:11 +0.003 server/server.handleXml returned from getTroveLeavesByLabel 22166 18:59:11 +0.001 server/server.handleXml encoded xml-rpc response to 208 bytes localhost.localdomain - - [24/Aug/2007 18:59:11] "POST http://localhost:8000/ HTTP/1.0" 200 - 22166 18:59:11 +0.016 server/server.handleXml sent response to client 123 bytes 22166 18:59:11 +0.243 server/server.handleXml decoded xml-rpc call prepareChangeSet from 206 bytes request localhost.localdomain - - [24/Aug/2007 18:59:11] code 403, message Forbidden localhost.localdomain - - [24/Aug/2007 18:59:11] "POST http://localhost:8000/ HTTP/1.0" 403 -
Solution
Urgh. The problem has been fixed by doing a:
conary update --resolve conary-repository
And re-creating the repo from scratch. The trove in the ISO image does not appear to be functional. I did attempt to perform the update early on, but I hadn't configured my network yet and decided to soldier on. Whoops.
