checkout doc from /home/ncvs

Giorgos Keramidas keramida at ceid.upatras.gr
Sat May 10 07:04:31 PDT 2003


On 2003-05-09 20:10, manee <radwasteus at yahoo.com> wrote:
> hi sirs,
>
> oh, the script is vey big one bigger than my first trial.  but i will
> give you and sure i did a dos2unix and add some comments.

No comments, please.  Whenever you modify the output of a command you
create something that isn't repeatable.

> repository is my local one whis is /home/ncvs.

Is the repository owner ncvs:ncvs?  One of the problems you seem to hav
is obvious if you look at the log from my home below:

: giorgos at gothmog[15:00]/home/giorgos$ su -m
: Password:
: giorgos at gothmog[15:00]/home/giorgos# ls -ld /home/ncvs/doc
: drwxrwxr-x  39 ncvs  ncvs  - 1024 Apr 11 17:00 /home/ncvs/doc

Note how only the owner and the 'ncvs' group have write permissions.

: giorgos at gothmog[15:00]/home/giorgos# groups guest
: guest

User `guest' is neither the owner of /home/ncvs/doc nor a member of the
`ncvs' group.

: giorgos at gothmog[15:00]/home/giorgos# su - guest
: guest at gothmog[15:00]/home/guest$ cvs -d /home/ncvs co -l doc
: cvs checkout: Updating doc
: cvs checkout: failed to create lock directory for `/home/ncvs/doc' (/home/ncvs/doc/#cvs.lock): Permission denied
: cvs checkout: failed to obtain dir lock in repository `/home/ncvs/doc'
: cvs [checkout aborted]: read lock failed - giving up
: guest at gothmog[15:00]/home/guest$ exit
: logout

As expected, user `guest' fails to lock the repository.  This is
probably the same thing happens early in your log file:

# manee at bank /home/manee>	id
# uid=1007(manee) gid=1008(manee) groups=1008(manee), 0(wheel), 5(operator), 1006(ncvs)
# manee at bank /home/manee>	cvs -d /home/ncvs checkout doc
# cvs checkout: Updating doc
# cvs checkout: failed to create lock directory for `/home/ncvs/doc' (/home/ncvs/doc/#cvs.lock): Permission denied
# cvs checkout: failed to obtain dir lock in repository `/home/ncvs/doc'
# cvs [checkout aborted]: read lock failed - giving up

I can see that you are in group `ncvs' but is the directory group
writable?  If you'ree uncomfortable with write permissions given to the
`ncvs' group, then you can probably get around the lock problems with
CVSREADONLYFS=yes in your environment.

Using the same `guest' account on my workstation that I showed above:

: guest at gothmog[15:10]/home/guest$ export CVSREADONLYFS=yes
: guest at gothmog[15:11]/home/guest$ cvs -d /home/ncvs co -l doc
: cvs checkout: Updating doc
: U doc/Makefile
: U doc/README
: guest at gothmog[15:11]/home/guest$ unset CVSREADONLYFS
: guest at gothmog[15:12]/home/guest$ rm -fr doc
: guest at gothmog[15:12]/home/guest$ cvs -d /home/ncvs co -l doc
: cvs checkout: Updating doc
: cvs checkout: failed to create lock directory for `/home/ncvs/doc' (/home/ncvs/doc/#cvs.lock): Permission denied
: cvs checkout: failed to obtain dir lock in repository `/home/ncvs/doc'
: cvs [checkout aborted]: read lock failed - giving up
: guest at gothmog[15:12]/home/guest$

Note how the checkout works fine the first time.

# bank@/home/manee# cd tmp
# bank@/home/manee/tmp# cvs checkout doc/README doc/Makefile doc/en_US.ISO8859-1 \
# ? doc\share\
# ? doc\sgml

These backslashes should be the other way around:

	.. doc/share doc/sgml

Also note that there is no doc/sgml subtree in the FreeBSD docs.

# cvs checkout: cannot find module `docshare' - ignored
# cvs checkout: cannot find module `docsgml' - ignored

Here's cvs complaining about the above typos.

# bank@/home/manee/tmp# cd doc
# bank@/home/manee/tmp/doc# ll
# total 46
# drwxr-xr-x   2 root  manee    512 May 10 09:36 CVS
# drwxr-xr-x   3 root  manee    512 May  9 05:42 FAQ
# -rw-r--r--   1 root  manee   1550 Mar 10 05:20 Makefile
# -rw-r--r--   1 root  manee    392 Oct 14  2001 README
# drwxr-xr-x   6 root  manee    512 May  9 05:42 en
# drwxr-xr-x   7 root  manee    512 May  9 05:42 en_US.ISO8859-1
# drwxr-xr-x   7 root  manee    512 May  9 05:42 en_US.ISO_8859-1

You never checked this (the en_US.ISO_8859-1 subdir) out.  It's old
craft from previous runs.  Delete it.

# drwxr-xr-x   3 root  manee    512 May  9 05:42 handbook
# drwxr-xr-x   3 root  manee    512 May  9 05:42 id_ID.ISO8859-1
# drwxr-xr-x   3 root  manee    512 May  9 05:42 id_ID.ISO_8859-1
# drwxr-xr-x   4 root  manee    512 May  9 05:42 release
# drwxr-xr-x   4 root  manee    512 May  9 05:42 ro_RO.ISO8859-2

All these are leftovers from previous failed runs too.  Clean your tree
up, please :)

# bank@/home/manee/tmp/doc# ll
# total 38
# drwxr-xr-x   2 root  manee    512 May 10 09:38 CVS
# -rw-r--r--   1 root  manee   1550 Mar 10 05:20 Makefile
# -rw-r--r--   1 root  manee    392 Oct 14  2001 README
# drwxr-xr-x   6 root  manee    512 May 10 09:38 en_US.ISO8859-1
# drwxr-xr-x   4 root  manee    512 May  9 05:42 release
# drwxr-xr-x  11 root  manee    512 May 10 09:38 share
# -rw-r--r--   1 root  manee  31497 May  9 05:43 typescript

Hmmm, just because they're empty, the id_ID.* and ro_RO.* subdirs are
now gone, but there's still craft around (i.e. the ./release dir).

# bank@/home/manee/tmp/doc# cd en_US.ISO8859-1/
# bank@/home/manee/tmp/doc/en_US.ISO8859-1# make FORMAT="html"

That's FORMATS with a final 'S'.  This could probably explain the weird
failures you're seeing.

# manee at bank /home/manee>	env | grep SGML
# SGML_ROOT=/usr/local/share/sgml
# SGML_CATALOG_FILES=
# /usr/local/share/xml/dtd/xhtml/xhtml.soc:
# /usr/doc/en_US.ISO8859-1/share/sgml/catalog:
# /usr/doc/share/sgml/catalog:
# /usr/local/share/sgml/docbook/4.1/catalog:
# /usr/local/share/sgml/html/catalog:
# /usr/local/share/sgml/iso8879/catalog:
# /usr/local/share/sgml/jade/catalog

This is different from what the SGML primer suggests:

: giorgos at gothmog[15:38]/home/giorgos$ echo $SGML_CATALOG_FILES
: /usr/doc/en_US.ISO8859-1/share/sgml/catalog:
: /usr/doc/share/sgml/catalog:
: /usr/local/share/sgml/docbook/4.1/catalog:
: /usr/local/share/sgml/html/catalog:
: /usr/local/share/sgml/iso8879/catalog:
: /usr/local/share/sgml/jade/catalog
: giorgos at gothmog[15:38]/home/giorgos$

You have /usr/local/share/xml/dtd/xhtml/xhtml.soc at the beginning of
the list.  Try removing it and starting over with a clean doc/ tree
checkout.

- Giorgos



More information about the freebsd-questions mailing list