KDevelop 3 and KDE CVS Repository

Gary Cramblitt garycramblitt at comcast.net
Thu Nov 13 23:37:00 GMT 2003


I'm a newbie and need some help figuring out the proper procedure for
adding programs developed with KDevelop 3 into the KDE CVS repository.

I created a kicker panel applet called KClipSpellApplet.  I started in
KDevelop 3 by using the New Project wizard, selecting panel applet. 
Coded and debugged.  After doing "make clean" and "make distclean",
here's the files and directories in the KDevelop project:

------
acinclude.m4
aclocal.m4
admin
AUTHORS
autom4te.cache
ChangeLog
config.h.in
configure
configure.files
configure.in
configure.in.in
COPYING
doc
Doxyfile
INSTALL
kclipspellapplet.kdevelop
kclipspellapplet.kdevelop.pcs
kclipspellapplet.kdevses
Makefile.am
Makefile.cvs
Makefile.in
NEWS
po
README
src
stamp-h.in
subdirs
templates
TODO

./admin:
acinclude.m4.in
am_edit
ChangeLog
compile
conf.change.pl
config.guess
config.pl
config.sub
configure.in.bot.end
configure.in.min
CVS
cvs-clean.pl
cvs.sh
debianrules
depcomp
detect-autoconf.sh
Doxyfile.am
Doxyfile.global
install-sh
libtool.m4.in
ltmain.sh
Makefile.common
missing
mkinstalldirs
nmcheck
ylwrap

./admin/CVS:
Entries
Repository
Root
Tag

./autom4te.cache:
output.0
requests
traces.0

./doc:
en
Makefile.am
Makefile.in

./doc/en:
index.docbook
Makefile.am
Makefile.in

./po:
Makefile.am
Makefile.in

./src:
cspushbutton.cpp
cspushbutton.h
hi16-app-kclipspell.png
hi32-app-kclipspell.png
kclipspellapplet.cpp
kclipspellapplet.desktop
kclipspellapplet.h
kclipspellapplet.lsm
Makefile.am
Makefile.in

./templates:
cpp
h
-----------------

I wanted to add this new applet to the KDE CVS repository in
/kdenonbeta/applets.  Clearly all these files don't belong there.  On
the advice of of someone in kde-devel mailing list, I did manage to get
my program into the KDE CVS repository.  Here's what I had to do:

1.  Copied /kclipspellapplet directory to
/kdenonbeta/applets/kclipspellapplet working directory.

2.  Deleted a whole bunch of files, and added their names to
.cvsignore files.  I ended up with the following:

-----------------
.cvsignore
AUTHORS
COPYING
ChangeLog
INSTALL
Makefile.am
NEWS
README
TODO
doc
kclipspellapplet.kdevelop
kclipspellapplet.kdevses
src

./doc:
.cvsignore
Makefile.am
en

./doc/en:
.cvsignore
Makefile.am
index.docbook

./src:
.cvsignore
Makefile.am
cspushbutton.cpp
cspushbutton.h
hi16-app-kclipspell.png
hi32-app-kclipspell.png
kclipspellapplet.cpp
kclipspellapplet.desktop
kclipspellapplet.h
kclipspellapplet.lsm
-----------------

3.  Did a "cvs add" of each of the files and directories listed above.  Also did a "cvs add" of the applets/kclipspellapplet directory.

4.  Did "cvs commit".  This committed all the files listed above into the repository.

5.  Did "cvs up" to make sure my working directory matched the repository.

6.  Went to /kdenonbeta and created a file called inst-apps with "applets" in
it.  Then did "make -f Makefile.cvs" and "./configure".  Configure
errored out with "invalid directory".  I traced the problem to the
kclipspellapplet/Makefile.am that KDevelop created.  Here it is:

--------------
SUBDIRS = $(TOPSUBDIRS)

$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs
        cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in ;

$(top_srcdir)/subdirs:
        cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs

$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.i
n
        @cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > acinclude.m4

MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files

package-messages:
        $(MAKE) -f admin/Makefile.common package-messages
        $(MAKE) -C po merge

EXTRA_DIST = admin COPYING configure.in.in

dist-hook:
        cd $(top_distdir) && perl admin/am_edit -padmin
        cd $(top_distdir) && $(MAKE) -f admin/Makefile.common subdirs
--------------

Configure was erroring on the first part of this file, attempting to
"cd" to applets directory.  Even had that worked, I can see that this
Makefile.am won't possibly work because it relies on the admin directory
and KDE CVS repository will not permit you to add an admin directory.

7.  I concluded that KDevelop's build system and the KDE CVS build
systems are incompatible.  So I replaced /kclipspellapplet/Makefile.am
with this:

---------------
SUBDIRS = src
---------------

I also had to add "kclipspellapplet" to the SUBDIRS line in
/kdenonbeta/applets/Makefile.am.  This seems to work, I think.  But I
cannot run KDevelop directly against my
/kdenonbeta/applets/kclipspellapplet directory.

I'm perplexed.  This shouldn't be this hard.  What is the proper
procedure for setting up a KDevelop 3 project so that one can both work
on the code with KDevelop and properly work with the KDE CVS repository?
 The two seem incompatible because:

1.  KDevelop creates Makefile.am that relies on admin directory, which is
a no-no in KDE repository.

2.  KDevelop creates a boatload of make and configure files that one is
not supposed to put into KDE CVS repository.

If you'd like to look at a copy of my project files prior to adding them
to KDE CVS repository, you can download it here:

  http://home.comcast.net/~garycramblitt/oss/kclipspellapplet-0.1.tar.gz

You can see the end result in KDE CVS repository by checking out
kdenonbeta.

How are other people doing this?

Thanks,
Gary Cramblitt

-
to unsubscribe from this list send an email to kdevelop-request at kdevelop.org with the following body:
unsubscribe »your-email-address«



More information about the KDevelop mailing list