cvs update: move away any file; it is in the way

2014-10-14 Thread Stefan Wollny
Hi there,

I am puzzled with a strange behaviour of CVS.

In my .profile I have
PKG_PATH=http://ftp.hostserver.de/pub/OpenBSD/snapshots/packages/amd64/
CVSROOT=anon...@ftp.hostserver.de:/cvs
export PKG_PATH CVSROOT

Now when updating e.g. /usr/src I get the following:

/usr/src $ sudo cvs -q up -Pd
cvs update: move away bin/ln/Makefile; it is in the way
C bin/ln/Makefile
cvs update: move away bin/ln/ln.1; it is in the way
C bin/ln/ln.1
cvs update: move away bin/ln/ln.c; it is in the way
C bin/ln/ln.c
cvs update: move away bin/ln/symlink.7; it is in the way
C bin/ln/symlink.7

This goes on like this for any file in /usr/src.

Is this expected behaviour??? I doubt it ...

dmesg and sysctl -all below. Any other input needed to investigate further?

Anybody any ideas? (Beside deleting the sources and GETing a fresh
checkout?)

TIA.

Cheers,
STEFAN



OpenBSD 5.6-current (GENERIC.MP) #415: Mon Oct 13 16:19:37 MDT 2014
dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 3203203072 (3054MB)
avail mem = 3109289984 (2965MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xe0010 (68 entries)
bios0: vendor LENOVO version 79ETC9WW (2.09 ) date 12/22/2006
bios0: LENOVO 2007VG2
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP SSDT ECDT TCPA APIC MCFG HPET SLIC BOOT SSDT
SSDT SSDT SSDT
acpi0: wakeup devices LID_(S3) SLPB(S3) LURT(S3) DURT(S3) EXP0(S4)
EXP1(S4) EXP2(S4) EXP3(S4) PCI1(S4) USB0(S3) USB1(S3) USB2(S3) USB7(S3)
HDEF(S4)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpiec0 at acpi0
acpimadt0 at acpi0 addr 0xfee0: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz, 1994.60 MHz
cpu0:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,NXE,LONG,LAHF,PERF
cpu0: 4MB 64b/line 16-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 166MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz, 1994.33 MHz
cpu1:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,NXE,LONG,LAHF,PERF
cpu1: 4MB 64b/line 16-way L2 cache
cpu1: smt 0, core 1, package 0
ioapic0 at mainbus0: apid 1 pa 0xfec0, version 20, 24 pins
ioapic0: misconfigured as apic 2, remapped to apid 1
acpimcfg0 at acpi0 addr 0xf000, bus 0-63
acpihpet0 at acpi0: 14318179 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (AGP_)
acpiprt2 at acpi0: bus 2 (EXP0)
acpiprt3 at acpi0: bus 3 (EXP1)
acpiprt4 at acpi0: bus 4 (EXP2)
acpiprt5 at acpi0: bus 12 (EXP3)
acpiprt6 at acpi0: bus 21 (PCI1)
acpicpu0 at acpi0: C3, C2, C1, PSS
acpicpu1 at acpi0: C3, C2, C1, PSS
acpipwrres0 at acpi0: PUBS, resource for USB0, USB2, USB7
acpitz0 at acpi0: critical temperature is 127 degC
acpitz1 at acpi0: critical temperature is 99 degC
acpibtn0 at acpi0: LID_
acpibtn1 at acpi0: SLPB
acpibat0 at acpi0: BAT0 model 92P1139 serial  2887 type LION oem
Panasonic
acpibat1 at acpi0: BAT1 not present
acpiac0 at acpi0: AC unit online
acpithinkpad0 at acpi0
acpidock0 at acpi0: GDCK not docked (0)
cpu0: Enhanced SpeedStep 1994 MHz: speeds: 2000, 1667, 1333, 1000 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 Intel 82945GM Host rev 0x03
ppb0 at pci0 dev 1 function 0 Intel 82945GM PCIE rev 0x03: msi
pci1 at ppb0 bus 1
radeondrm0 at pci1 dev 0 function 0 ATI Radeon Mobility X1300 M52-64
rev 0x00
drm0 at radeondrm0
radeondrm0: apic 1 int 16
azalia0 at pci0 dev 27 function 0 Intel 82801GB HD Audio rev 0x02: msi
azalia0: codecs: Analog Devices AD1981HD, Conexant/0x2bfa, using Analog
Devices AD1981HD
audio0 at azalia0
ppb1 at pci0 dev 28 function 0 Intel 82801GB PCIE rev 0x02: msi
pci2 at ppb1 bus 2
em0 at pci2 dev 0 function 0 Intel 82573L rev 0x00: msi, address
00:15:58:81:15:fb
ppb2 at pci0 dev 28 function 1 Intel 82801GB PCIE rev 0x02: msi
pci3 at ppb2 bus 3
wpi0 at pci3 dev 0 function 0 Intel PRO/Wireless 3945ABG rev 0x02:
msi, MoW2, address 00:19:d2:85:6f:4d
ppb3 at pci0 dev 28 function 2 Intel 82801GB PCIE rev 0x02: msi
pci4 at ppb3 bus 4
ppb4 at pci0 dev 28 function 3 Intel 82801GB PCIE rev 0x02: msi
pci5 at ppb4 bus 12
uhci0 at pci0 dev 29 function 0 Intel 82801GB USB rev 0x02: apic 1 int 16
uhci1 at pci0 dev 29 function 1 Intel 82801GB USB rev 0x02: apic 1 int 17
uhci2 at pci0 dev 29 function 2 Intel 82801GB USB rev 0x02: apic 1 int 18
uhci3 at pci0 dev 29 function 3 Intel 82801GB USB rev 0x02: apic 1 int 19
ehci0 at pci0 dev 29 function 7 Intel 82801GB USB rev 0x02: apic 1 int 19
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 Intel EHCI root hub rev 2.00/1.00 addr 1
ppb5 at pci0 dev 30 function 0 Intel 82801BAM Hub-to-PCI rev 0xe2
pci6 at ppb5 

Re: cvs update: move away any file; it is in the way

2014-10-14 Thread Ingo Schwarze
Hi Stefan,

Stefan Wollny wrote on Tue, Oct 14, 2014 at 02:25:04PM +0200:

 I am puzzled with a strange behaviour of CVS.
 
 In my .profile I have
 PKG_PATH=http://ftp.hostserver.de/pub/OpenBSD/snapshots/packages/amd64/
 CVSROOT=anon...@ftp.hostserver.de:/cvs
 export PKG_PATH CVSROOT

When updating a tree, there are two places where cvs(1) looks for
the CVSROOT that applies to each directory:  (1) In the CVS/Root
file of the directory, if any  and (2) in the CVSROOT environment
variable or the cvs -d command line option.  If (1) and (2) mismatch,
you get conflicts for all affected files.  Note that your .profile
shown above may or may not have influenced what was put into some
CVS/Root files in the past and may or may not have influenced your
current CVSROOT setting in the environment: .profile is somewhat
unrelated to your problem.

 Now when updating e.g. /usr/src I get the following:
 
 /usr/src $ sudo cvs -q up -Pd
 cvs update: move away bin/ln/Makefile; it is in the way
 C bin/ln/Makefile
 cvs update: move away bin/ln/ln.1; it is in the way
 C bin/ln/ln.1
 cvs update: move away bin/ln/ln.c; it is in the way
 C bin/ln/ln.c
 cvs update: move away bin/ln/symlink.7; it is in the way
 C bin/ln/symlink.7
 
 This goes on like this for any file in /usr/src.
 
 Is this expected behaviour??? I doubt it ...

It really depends on what your are actually doing.

Your first step should be to figure out the state of your tree:

 $ find /usr/src -path \*/CVS/Root -print -exec cat {} \;

Do not post the result because it is likely very long.

If all those files have identical content, you can fix your problem
by simply running against that server again (set CVSROOT in your
*current* environment - not .profile - or run cvs with -d).

If those files have *different* content, you need to figure out
whether you did that on purpose or accidentally.  If you did that
on purpose and have a CVS/Root file in each directory, simply
using these files by unsetting the CVSROOT environment variable
may be enough - but note that will update different parts of the
tree against different servers.

I doubt you did it on purpose or you wouldn't be asking this question.
If you did *not* do this on purpose, removing the CVS/Root files
is likely to solve your problem:

 $ find /usr/src -path \*/CVS/Root -print -exec rm {} \;

Obviously, do *NOT* do that in a tree where you intentionally
mixed content from different servers, or where you might forget
which servers parts of it came from.  Also, note that short of
manually recreating CVS/Root files in all directories, you will
never again be able to use a tree where you did that without
having CVSROOT set or specifying cvs -d.

After running the removal, simply set CVSROOT to the server you
want and cvs up -dP away.  Note that some CVS/Root files will
reappear in the future, but only in newly created directories.

 Beside deleting the sources and GETing a fresh checkout?

In case you are unsure about the state of your tree, for example
if you think you ran various commands of unknown effect without
knowing what you were doing, and in case it is important that the
tree be reliable, for example because you want to build releases
from it that you want to run in production, that might be advisable.

In case you are sure that the only bad thing you did was running
cvs up against varying (as opposed to untrusted!) servers and nothing
except CVS/Root files is corrupt, that is not needed.  It is your
call to decide whether you still trust your tree.  Only you know
what you did to it, or if you do not, well, that's a data point,
too...

Yours,
  Ingo



Re: cvs update: move away any file; it is in the way

2014-10-14 Thread Stefan Wollny
Hi Ingo!
Thank you very, very much for your valuable, in-depth answer and advice!
I have issues with the system loosing it's routes. Because of this I had
tried several mirror sites and must have caught the divergent entries
doing so. Your advice solved the problem. Thanks again! Cheers,STEFAN
Gesendet: Dienstag, 14. Oktober 2014 um 15:24 Uhr
Von: Ingo Schwarze schwa...@usta.de
An: Stefan Wollny stefan.wol...@web.de
Cc: openbsd-misc misc@openbsd.org
Betreff: Re: cvs update: move away any file; it is in the wayHi Stefan,

Stefan Wollny wrote on Tue, Oct 14, 2014 at 02:25:04PM +0200:

 I am puzzled with a strange behaviour of CVS.

 In my .profile I have
 PKG_PATH=http://ftp.hostserver.de/pub/OpenBSD/snapshots/packages/amd64/
 CVSROOT=anon...@ftp.hostserver.de:/cvs
 export PKG_PATH CVSROOT

When updating a tree, there are two places where cvs(1) looks for
the CVSROOT that applies to each directory: (1) In the CVS/Root
file of the directory, if any and (2) in the CVSROOT environment
variable or the cvs -d command line option. If (1) and (2) mismatch,
you get conflicts for all affected files. Note that your .profile
shown above may or may not have influenced what was put into some
CVS/Root files in the past and may or may not have influenced your
current CVSROOT setting in the environment: .profile is somewhat
unrelated to your problem.

 Now when updating e.g. /usr/src I get the following:

 /usr/src $ sudo cvs -q up -Pd
 cvs update: move away bin/ln/Makefile; it is in the way
 C bin/ln/Makefile
 cvs update: move away bin/ln/ln.1; it is in the way
 C bin/ln/ln.1
 cvs update: move away bin/ln/ln.c; it is in the way
 C bin/ln/ln.c
 cvs update: move away bin/ln/symlink.7; it is in the way
 C bin/ln/symlink.7

 This goes on like this for any file in /usr/src.

 Is this expected behaviour??? I doubt it ...

It really depends on what your are actually doing.

Your first step should be to figure out the state of your tree:

$ find /usr/src -path \*/CVS/Root -print -exec cat {} \;

Do not post the result because it is likely very long.

If all those files have identical content, you can fix your problem
by simply running against that server again (set CVSROOT in your
*current* environment - not .profile - or run cvs with -d).

If those files have *different* content, you need to figure out
whether you did that on purpose or accidentally. If you did that
on purpose and have a CVS/Root file in each directory, simply
using these files by unsetting the CVSROOT environment variable
may be enough - but note that will update different parts of the
tree against different servers.

I doubt you did it on purpose or you wouldn't be asking this question.
If you did *not* do this on purpose, removing the CVS/Root files
is likely to solve your problem:

$ find /usr/src -path \*/CVS/Root -print -exec rm {} \;

Obviously, do *NOT* do that in a tree where you intentionally
mixed content from different servers, or where you might forget
which servers parts of it came from. Also, note that short of
manually recreating CVS/Root files in all directories, you will
never again be able to use a tree where you did that without
having CVSROOT set or specifying cvs -d.

After running the removal, simply set CVSROOT to the server you
want and cvs up -dP away. Note that some CVS/Root files will
reappear in the future, but only in newly created directories.

 Beside deleting the sources and GETing a fresh checkout?

In case you are unsure about the state of your tree, for example
if you think you ran various commands of unknown effect without
knowing what you were doing, and in case it is important that the
tree be reliable, for example because you want to build releases
from it that you want to run in production, that might be advisable.

In case you are sure that the only bad thing you did was running
cvs up against varying (as opposed to untrusted!) servers and nothing
except CVS/Root files is corrupt, that is not needed. It is your
call to decide whether you still trust your tree. Only you know
what you did to it, or if you do not, well, that's a data point,
too...

Yours,
Ingo