Re: CVS doesn't like its own checkouts???



Johnathan, I am trying to use that makefile-like script that you posted here
several days ago (BTW, thank you very much for doing so; that was a GREAT idea; it
is much more usable than that ASCII art shit -- no offense to Sergei :-).  Well, I
have my own build and checkout scripts that I use (attached), but I want to use
your makefile-like thing to get my dependencies right.  I am doing something like
this in my script to get the modules that I want to both check out and compile:

modules=`make -s -f /home/shane/sbin/gnome-deps WORLD | xargs`

This line generates a perfect (assuming your dep script is perfect :-) list of
modules in proper COMPILE-TIME dependency order.

Where gnome-deps is just your makefile script, modified slightly so that each
target just echoes its name, so each target entry in the "makefile" looks like:

target:  dep1 dep2 dep3 ...
        echo target

This seems to work great for generating a non-redundant, dependency-correct list
of modules for both checkout and compilation.  Furthermore, it is paremetrized so
that you can quite easily replace WORLD with any subset or single target module
that you like.  My question is:

1.) Is this dependency tree (attached) still accurate?

And:

2.) Any idea why I might be getting caught in an infinite loop when trying to do
a:

cvs -z3 -d $CVSROOT co glib

I already have a copy of glib locally, yes, but I am using checkout because there
are some modules in my string of modules (generated by that thing I described
above) that I don't have at all, so I want to ensure that they are downloaded too
and not skipped.  Is there any reason that you can see for this circularity?

My update log looks like:

cvs server: Updating glib/docs
cvs server: Updating glib/gmodule
cvs server: Updating glib/gthread
cvs server: Updating glib
cvs server: Updating glib/debian
cvs server: Updating glib/docs
cvs server: Updating glib/gmodule
cvs server: Updating glib/gthread
cvs server: Updating glib
cvs server: Updating glib/debian
cvs server: Updating glib/docs
cvs server: Updating glib/gmodule
cvs server: Updating glib/gthread
.
.
.
ad infinitum, ad nauseam, etc., etc....

Hmm, I'm stumped.

TIA,
shane

Jonathan Sergent wrote:

> In message <19981219172442.A27565@bluegreen.brown.edu>, Daniel Burrows writes:
>  ] Running  `cvs  checkout'  on  a  directory that was already built by a prior
>  ] checkout is  also  permitted,  and  has the same effect as specifying the -d
>  ] option to the update command described below.
>
> Yes, but I think you can't do it on a subdirectory of something you
> checked out.
>
> --jss.
>
> --
>         FAQ: Frequently-Asked Questions at http://www.gnome.org/gnomefaq
>          To unsubscribe: mail gnome-list-request@gnome.org with
>                        "unsubscribe" as the Subject.

gnome-scripts.tar.gz

#
# @(#)module-deps 1.2   12/12/98
#
# Jonathan Sergent <sergent@io.com>
#
# Gathered by looking at <module>/configure.in as well as by doing
#     find <module> -name '*.[ch]' | xargs grep '#include' /dev/null | 
#               grep -v '"' | cut -d: -f2 | sort | uniq
#
# Note that the ordering here on each line doesn't matter.  The
# resolver orders them based on dependencies in the end, so if you
# need things in a certain order, you must use dependencies to 
# express that.
#

ORBit: glib
	echo ORBit

audiofile:                              # No external module dependencies.
	echo audiofile

balsa: ORBit gnome-libs gtk+ libPropList
	echo balsa

control-center: ORBit esound gnome-libs 
	echo control-center

dia: glib gnome-xml gtk+
	echo dia

ee: gnome-libs gtk+ imlib
	echo ee

esound: audiofile
	echo esound

gdm: glib gnome-libs gtk+
	echo gdm

# gedit/plugins/launcher appears to depend on a header file from panel.
gedit: ORBit glib gnome-libs gtk+ gnome-core
	echo gedit

ggv: glib gnome-libs gtk+
	echo ggv

glib:                                   # No external module dependencies.
	echo glib

gnome-admin: glib gnome-libs gnome-objc gtk+
	echo gnome-admin

gnome-chess: glib gnome-libs gtk+
	echo gnome-chess

gnome-core: glib ORBit esound gnome-http gnome-libs imlib libgtop gtk+
	echo gnome-core

gnome-dom: ORBit glib gnome-xml
	echo gnome-dom

gnome-games: ORBit glib gnome-libs gnome-guile gnome-objc gtk+ imlib
	echo gnome-games

gnome-guile: gnome-libs gtk+
	echo gnome-guile

gnome-http:                             # No external module dependencies.
	echo gnome-http

gnome-libs: ORBit audiofile esound glib gtk+ imlib
	echo gnome-libs

gnome-media: esound gnome-libs gtk+ imlib
	echo gnome-media

gnome-network: glib gnome-libs gnome-objc gnome-guile gtk+
	echo gnome-network

gnome-objc: gnome-libs gtk+ imlib
	echo gnome-objc

gnome-pilot: ORBit glib gnome-libs gtk+ imlib
	echo gnome-pilot

gnome-pim: ORBit glib gnome-libs gtk+
	echo gnome-pim

gnome-python: gnome-libs gtk+ imlib
	echo gnome-python

gnome-utils: glib libgtop gnome-guile gnome-libs gnome-objc gtk+
	echo gnome-utils

gnome-xml:                              # No external module dependencies.
	echo gnome-xml

gnumeric: ORBit glib gnome-guile gnome-libs gnome-xml gtk+
	echo gnumeric

# Looked in makeconfig.pl instead of configure.in.  (Auto-generator.)
go: glib gnome-libs gtk+
	echo go

grpm: glib gnome-libs gtk+
	echo grpm	

gtk+: glib
	echo gtk+

gtk-engines: gtk+ imlib
	echo gtk-engines

gtkicq: esound gnome-libs gtk+
	echo gtkicq

gtop: libgtop gnome-libs
	echo gtop

gwp: glib gnome-libs gnome-print gnome-xml gtk+
	echo gwp

imlib: gtk+
	echo imlib

libgtop: glib gnome-guile gnome-libs 
	echo libgtop

libPropList:                            # No external module dependencies.
	echo libPropList

mc: ORBit glib gnome-libs gtk+
	echo mc

sane: gnome-libs gtk+
	echo sane

yagirc: esound glib gnome-libs gtk+ imlib 
	echo yagirc

gnome-print:
	echo gnome-print

WORLD: ORBit audiofile balsa control-center dia ee esound gdm gedit ggv 
WORLD: glib gnome-admin gnome-chess gnome-core gnome-dom gnome-games 
WORLD: gnome-guile gnome-http gnome-libs gnome-media gnome-network 
WORLD: gnome-objc gnome-pilot gnome-pim gnome-python gnome-utils gnome-xml 
WORLD: gnumeric go grpm gtk+ gtk-engines gtkicq gtop gwp imlib libgtop 
WORLD: libPropList mc sane yagirc








[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]