Old KDE building system – not used for TDE
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
Timothy Pearson d78f33315c
Rename KIcon to enhance compatibility with KDE4
12 years ago
apps Rename many classes and header files to avoid conflicts with KDE4 12 years ago
apps-unstable Additional renaming of kde to tde 13 years ago
i18n Finish rename from prior commit 13 years ago
libs Rename KIcon to enhance compatibility with KDE4 12 years ago
meta Rename many classes and header files to avoid conflicts with KDE4 12 years ago
misc Rename a number of libraries and executables to avoid conflicts with KDE4 12 years ago
tde Rename kde to tde 13 years ago
CHANGELOG Fix unintended renaming 12 years ago
README Rename KDEHOME and KDEDIR 13 years ago
category.mk Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
color.mk Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
gar.conf.mk.in Convert remaining references to kde3 (e.g. in paths) to trinity 13 years ago
gar.lib.mk Rename kde-config to tde-config 13 years ago
gar.mk Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. 15 years ago
kde.conf.mk Additional renaming of kde to tde 13 years ago

README

Introduction
============
"Konstruct" is a build system which helps you to install KDE releases and
applications on your system. It downloads defined source tarballs, checks
their integrity, decompresses, patches, configures, builds and installs them.

A complete KDE installation should be as easy as "cd meta/kde;make install"
which with this version gives a KDE 3.5.7 installation. Optionally you can
install additional applications like KOffice 1.6.3 or KDevelop 3.4.1, just
run for example "cd apps/office/koffice ; make install".

By default "Konstruct" installs to ~/trinity.5.7/ which means you don't have to
possess root privileges or risk to damage your system or affect another KDE.

The following table shows how many MBytes source tarballs will be downloaded:

   Directory/Target   |  Size | Description
  --------------------+-------+----------------------------------------------
   kde/tdebase        |  56MB | Desktop with browser, editor and terminal
   meta/tdepim-crypto |  68MB | Above plus tdepim and crypto libraries
   meta/kde           | 172MB | All "KDE 3.5.7" packages & dependencies
   meta/everything    | 248MB | Most stable known targets, see next table

Following (unstable) targets are not included in the meta/everything target:

   Directory/Target       | Reason
  ------------------------+---------------------------------------------------
   apps-unstable/         | Unstable development versions and/or undelivered
                          | dependencies, maybe conflict with apps/ entries
   i18n/                  | Nobody needs everything, just pick your language
   kde/tdebindings        | Only needed for developing with non-C++ language

If you have at least Qt 3.3 installed, define variable HAVE_QT_3_3_INSTALLED
(see "Configuration" chapter) and subtract 14 MB from the numbers in every
column.

If you want to have KDE localized into your native language, look into the
i18n/ directory, change to your language directory and start "make install".
To localize KOffice, install an i18n/koffice-l10n-<language-code> package.

"Konstruct" is maintained by binner@kde.org and based on GAR ports system by
Nick Moffitt (http://www.lnx-bbc.org/garchitecture.html) and is inspired by
GARNOME distribution started by Jeff Waugh (http://cipherfunk.org/garnome/).


Preconditions
=============
A working GNU tool chain (gcc, GNU make, flex, BSD yacc, gettext etc.) and
additional GNU tools like tar, gzip, bzip2, md5sum, patch and wget.

Some basic libraries and some other libraries enabling additional functionality
are not included in "Konstruct", http://www.kde.org/info/requirements/3.5.php
lists them. Note that you may have to install the header files within separate
"-dev" or "-devel" packages too.

If you use a recent SUSE or Mandrake 9.2 distribution you might be interested in
"Detektive", a simple script which checks and tells which required rpm packages
of your distribution you have not installed: Just run "cd misc/detektive;make".

I'm interested in any help to extend "Detektive" to other distributions/versions.


Configuration
=============
Copy gar.conf.mk.in to gar.conf.mk and change it to your liking. Common options:

  GARCHIVEDIR If you have already downloaded source tarballs set the path here.

  prefix      Where to install your KDE desktop. Default is ~/trinity.5.7/ .
              Moving KDE installation elsewhere afterwards calls for troubles!

  HAVE_64BIT_TARGET Set this if you want to compile KDE for a 64bit target (x86_64)

  OWN_CFLAGS  Allows you to specify compiler flags specific to your CPU.

  HAVE_QT_3_3_INSTALLED  Set this if you have at least Qt 3.3 (including moc,
              uic and headers) installed and want to skip Qt installation.

  BUILD_CLEAN Set this if you're low on available file system space.

If the download fails because of a proxy, then please consult the wget man page
for necessary options in your ~/.wgetrc. If download.kde.org redirects you to a
broken or incomplete mirror you may fix your problem by changing kde.conf.mk.


Usage
=====
Be sure that you have a live internet connection. Choose a target and change
to the directory which helds its definition, e.g. "cd kde/tdebase". Now run
make with one of the following targets, usually you only need "make install".

The GAR system provides seven basic targets for each package:

 fetch
   This target downloads all files and patches needed to compile the package.
   Typically this is a single tarball, accompanied by occasional patch files.

 checksum
   Uses md5sum to ensure that the downloaded files match those with which the
   package maintainer worked.

 extract
   Makes sure that all of the necessary source files are available in a working
   directory. In some cases (such as when downloading a single C++ source file)
   this will simply copy files over.

 patch
   If the package has to be patched (either via third-party patches or package
   maintainer patches), this target will perform that step.

 configure
   Configures the package as specified in the Makefile. It will typically run
   the package's underlying configuration system (such as autoconf or Imake).

 build
   Performs the actual step of compilation after installing the dependencies.

 install
   Puts files in the proper locations and performs any necessary mop-up work.

These targets are named after their counterparts in the BSD Ports system and
behave in the same manner. If you want to install a package you have to enter
the package's or target's directory and to run "make install" or "make patch"
(just two examples). A later target includes all the previously listed ones.

Some additional useful targets which you usually don't require are:

 buildclean
   Clean up the working directory but don't delete downloaded packages. Run this
   if you installed missing dependencies and want to re-configure the package.

 clean
   Clean up the working directory. This also deletes downloaded packages! Either
   use "buildclean" instead or call "garchive" before to prevent new downloads.

 garchive
   Call "checksum" target and save downloaded files to GARCHIVEDIR directory.

 showdeps
   Print a tree with the recursive dependencies of current package.

For every target exists a deep-foo variant which will also call it recursively
for all its dependencies, e.g. with "make deep-checksum" you can download all
required source tarballs and build it later (when you have no net connection).


After installation
==================
After installation you have to set some variables allowing your system to find
KDE binaries and libraries and KDE to allow to find its own files, for Bash:

  export QTDIR=~/trinity.5.7
  export TDEDIR=~/trinity.5.7
  export TDEDIRS=~/trinity.5.7

  export LD_LIBRARY_PATH=~/trinity.5.7/lib
  export PATH=~/trinity.5.7/bin:$PATH

Setting TDEHOME too, e.g. "export TDEHOME=~/.kdetest", will tell KDE to save
your settings to this directory and leave default ~/.kde directory unaffected.

On shadow password systems you have to set $(prefix)/bin/kcheckpass SUID root
or SGID shadow - otherwise you will not be able to unlock a locked desktop.

The complete KDE desktop is started with "starttde", most distributions start
it if you set it to the WINDOWMANAGER variable in your shell initializations.


How to get latest version
=========================
You must have the Subversion client installed, then run in a shell:

  svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/konstruct/

If you have no own old gar.conf.mk, copy gar.conf.mk.in over to gar.conf.mk.

To update your "Konstruct" checkout or the released "Konstruct" tarballs, change
to the "konstruct" directory and run "svn up".

License
=======
Redistribution and/or use, with or without modification, is permitted. This
software is without warranty of any kind. The author(s) shall not be liable
in the event that use of the software causes damage.