SMF entry for the CVS pserver

This is something which I stumbled over last year: with the move to SMF (Service Management Facility), just adding a line to /etc/inet/inetd.conf for a new service such as CVS doesn't work any more. This manifest will let you run CVS as a service on your Solaris 10/Express machine. Save it as /var/svc/manifest/network/cvspserver-tcp.xml and ensure you've got the line cvspserver 2401/tcp #cvs pserver process in your /etc/services, edit the exec_method to suit your site, then run # svccfg import /var/svc/manifest/network/cvspserver-tcp.xml # svccfg disable svc:/network/cvspserver/tcp:default # svccfg enable svc:/network/cvspserver/tcp:default and be on your merry way. You should check the manpages for inetconv(1M) and smf(5), and the docs.sun.com entries in the Solaris 10 System Administrator Collection for more information. If you really want to get stuck into SMF, then check out these resources at the bigadmin site: SMF hits on bigadmin Sun Microsystems --- BigAdmin: Solaris Service Management Facility --- Service Developer Introduction Sun Microsystems --- BigAdmin: Solaris Service Management Facility --- Quickstart Guide BigAdmin Feature Article: Solaris 10 OS Feature Spotlight: Predictive Self---Healing
Comments:

Fortunately you can also use <code>inetconv</code>(1M) after inserting the CVS (or any other) entry into <code>inetd.conf</code>(4) to generate a suspiciously similar-looking manifest to the one posted here. :)

Posted by Liane Praza on April 06, 2005 at 07:58 AM EST #

Ooh, you've found me out! That's exactly how I got that manifest to start with. I figured that I might save somebody a few seconds somewhere...

Posted by James McPherson on April 06, 2005 at 08:12 AM EST #

Absolutely -- I'm just trying to help out anyone else who might end up here with google and a different <code>inetd.conf</code>(5) entry. You could take out the "Generated by..." line to stump all but the true <code>smf</code>(5) nerds...

Posted by Liane Praza on April 06, 2005 at 08:25 AM EST #

actually in Solaris 10 you use svcadm to enable/disable; probably a typo: ie. svcadm disable svc:/network/cvspserver/tcp:default svcadm enable svc:/network/cvspserver/tcp:default In the XML file its assumed then exec entry points to your repository: exec='/opt/sfw/bin/cvs -f --allow-root=/usr/local/cvsroot pserver' Believe it or not lots of newbies out there - just clarifying the readabiliyt of the manifest. NB: also remember to change the path to the cvs utility; on solaris is probably under /opt/sfw/bin or /usr/sfw/bin if you installed the companion CD. Cheers, Mano.

Posted by Mano Koseos on May 24, 2005 at 01:37 PM EST #

Thanks for the info - like the poster said I wound up here after a quick google - so it was a useful posting. I was getting a bit fed up of hunting through the manuals for Solaris 10 information that has changed from Solaris 9 and this provides a nice short cut. Thanks.

Posted by Jon Green on May 29, 2005 at 01:13 AM EST #

I have done all this but I still fails: I get:
Aug 19 15:44:17 x inetd[23233]: [ID 702911 daemon.error] Property 'name' of instance svc:/network/cvspserver/tcp:default is missing, inconsistent or invalid
Aug 19 15:44:17 x inetd[23233]: [ID 702911 daemon.error] Property 'proto' of instance svc:/network/cvspserver/tcp:default is missing, inconsistent or invalid
Aug 19 15:44:17 x inetd[23233]: [ID 702911 daemon.error] Invalid configuration for instance svc:/network/cvspserver/tcp:default, placing in maintenance

I'm on a machine using NIS+ and I wonder if that is causing me problems. I have cvspserver 2401/tcp in /etc/services i have files listed in nsswitch.conf for services stuck now :(

Posted by Richard Ambridge on August 19, 2005 at 05:47 PM EST #

Hi bro I'm trying to star CVS on Saliris 10, but here is missing your file manifest (cvspserver-tcp.xml), if someone culd send me that file or culd post it will be nice from you. Thanks

Posted by Moisés on April 17, 2006 at 09:20 PM EST #

Hi i found the solution in a chinese page: The commands are the following to instal cvs #vi /etc/services cvspserver 2401/tcp # CVS Client/server operations cvspserver 2401/udp # CVS Client/server operations vi /etc/inetd.conf cvspserver stream tcp nowait root /usr/local/bin/cvs -f --allow-root=/export/home/cvsroot pserver #inetconv -n #inetconv -e -i /var/svc/manifest/network/cvspserver-tcp.xml #cd /var/svc/profile #vi inetd_services.xml <service name='network/cvspserver-tcp' version='1' type='service'>    <instance name='default' enabled='true'/>   </service> #svcs restart svc:/network/inetd:default just be care about where is your cvs command the mine is in /cvs/sfw/bin/cvs i found the solution in http://publish.it168.com/2006/0309/20060309029801.shtml?positioncode=1547

Posted by Mr. Bit Fly on November 01, 2006 at 02:38 AM EST #

sorry but somebody can tellme how create users in the /etc/password?

Posted by Mr. Bit Fly on November 01, 2006 at 02:40 AM EST #

Hi i found the solution in a chinese page:

The commands are the following to instal cvs

#vi /etc/services
cvspserver 2401/tcp # CVS Client/server operations
cvspserver 2401/udp # CVS Client/server operations

vi /etc/inetd.conf
cvspserver stream tcp nowait root /usr/local/bin/cvs -f --allow-root=/export/home/cvsroot pserver

#inetconv -n
#inetconv -e -i /var/svc/manifest/network/cvspserver-tcp.xml

#cd /var/svc/profile
#vi inetd_services.xml

<service name='network/cvspserver-tcp' version='1' type='service'>
   <instance name='default' enabled='true'/>
  </service>

#svcs restart svc:/network/inetd:default


just be care about where is your cvs command the mine is in /cvs/sfw/bin/cvs

i found the solution in
http://publish.it168.com/2006/0309/20060309029801.shtml?positioncode=1547

Posted by guest on November 01, 2006 at 02:43 AM EST #

Hi Guys, thanks for this, I'm no newbie but this proved invaluable in setting up cvs on Soalris 10 Zones. Cheers Nick

Posted by Nick Dolan on November 03, 2006 at 06:07 PM EST #

Hi. I am trying to get the cvspserver-tcp.xml working with multiple repositories. I have added the additional --allow-root entries when i try svccfg import /var/svc/manifest/network/cvspserver-tcp.xml i get back "cant parse document" the whole thing within [] is actually 1 line in the cvspserver-tcp.xml [exec='/usr/sfw/bin/cvs -f --allow-root=/cvs/cvsroot --allow-root =/cvs/devel/cvsroot --allow-root=/cvs/impl/cvsroot pserver']

Posted by Gord Cody on December 13, 2006 at 03:47 PM EST #

I should add that even though in the post there appear to be extra spaces they arent really there :)

Posted by Gord Cody on December 13, 2006 at 03:58 PM EST #

Well after not getting any help and a bunch more digging thru man pages here is the proper way to set mutiple repositories with cvspserver: (3 cmds) #inetadm -m network/cvspserver/tcp \\ exec="/usr/sfw/bin/cvs -f \\ --allow-root=/rep1/cvsroot \\ --allow-root=/rep2/cvsroot pserver" #svcadm disable network/cvspserver/tcp #svcadm enable network/cvspserver/tcp Note: your path to the cvs cmd may differ

Posted by Gord Cody on December 24, 2006 at 10:25 AM EST #

Hi,

How can I allow root to get connected with CVS from Remote machine. I'm using CVS Manager, when i issue command :pserver:root@xxxmachine:/opt/cvs, it says:

Invalid CVS entries. Refer the following logs:
root not allowed

How can I allow root to get connected from remote machine.

Anyone knows?

Best Regards

Posted by Imran on January 14, 2008 at 08:35 AM EST #

I think you should check out the doco at the <a href="http://ximbiot.com/cvs/wiki/CVS%20FAQ">CVS FAQ</a> site.

Posted by James McPherson on January 14, 2008 at 09:16 AM EST #

Post a Comment:
Comments are closed for this entry.
About

I work at Oracle in the Solaris group. The opinions expressed here are entirely my own, and neither Oracle nor any other party necessarily agrees with them.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today