Projects/K3b: Difference between revisions

    From KDE TechBase
    m (Fixed typo)
    m (Text replace - "</code>" to "</syntaxhighlight>")
    (12 intermediate revisions by 3 users not shown)
    Line 1: Line 1:
    ==Development==
    ==Getting Started in K3b Development==


    ===Setting Up Environment===
    ===Setting Up Environment===
    Create target install directory. For the sake of example we will assume your home directory is <tt>/home/joe</tt> and you will install your compiled K3b to <tt>/home/joe/k3b/install</tt>. Add following lines to your <tt>~/.bashrc</tt> file:
    Create target install directory. For the sake of example we will assume your home directory is <tt>/home/joe</tt> and you will install your compiled K3b to <tt>/home/joe/k3b/install</tt>. Add following lines to your <tt>~/.bashrc</tt> file:
    <code>
    <syntaxhighlight lang="text">
    export K3B_INSTALL_PREFIX=/home/joe/k3b/install
    export K3B_INSTALL_PREFIX=/home/joe/k3b/install
    export KDEDIRS=${K3B_INSTALL_PREFIX}:${KDEDIRS}
    export KDEDIRS=${K3B_INSTALL_PREFIX}:${KDEDIRS}
    export PATH=${K3B_INSTALL_PREFIX}/bin:${PATH}
    export PATH=${K3B_INSTALL_PREFIX}/bin:${PATH}
    export XDG_DATA_DIRS=${K3B_INSTALL_PREFIX}/share:${XDG_DATA_DIRS}
    export XDG_DATA_DIRS=${K3B_INSTALL_PREFIX}/share:${XDG_DATA_DIRS}
    </code>
    </syntaxhighlight>
    Relogin to let changes take effect.
    Relogin to let changes take effect.


    ===Getting Source Code===
    ===Getting Source Code===
    K3b sources code is hosted in [http://websvn.kde.org/trunk/extragear/multimedia/k3b KDE Subversion repository]. It is a part of [http://extragear.kde.org KDE Extragear]
    K3b sources code is hosted in [http://gitweb.kde.org/k3b.git KDE git repository]. It is a part of [https://projects.kde.org/projects/extragear KDE Extragear module]


    If you don't have a SVN account you can checkout the source code using anonymous access repository:
    If you don't have a KDE development access you can get the source code using anonymous access repository:
    <code>
    <syntaxhighlight lang="text">
    svn checkout svn://anonsvn.kde.org/home/kde/trunk/extragear/multimedia/k3b .
    git clone git://anongit.kde.org/k3b
    </code>
    </syntaxhighlight>
    If you have SVN account you should go the other way:
    If you have development access you should go the other way:
    <code>
    <syntaxhighlight lang="text">
    svn checkout svn+ssh://your_account@svn.kde.org/home/kde/trunk/extragear/multimedia/k3b .
    git clone ssh://git@git.kde.org:k3b
    </code>
    </syntaxhighlight>
    This will give you read-write access to the repository.
    This will give you right to push back your changes to the origin repository.


    ===Compilation===
    ===Compilation===
    K3b, as the most KDE applications, uses [[Development/Tutorials/CMake|CMake]] for configuration and compilation of source code.
    K3b, as most KDE applications, uses [[Development/Tutorials/CMake|CMake]] for configuration and compilation of source code.


    First the build directory should be created.
    First the build directory should be created.
    <code>
    <syntaxhighlight lang="text">
    cd k3b
    mkdir build
    mkdir build
    cd build
    cd build
    </code>
    </syntaxhighlight>
    It is guaranteed all files created during build will be placed in this directory. That means that if you want to clean up source tree after build the only thing you need to do is to remove <tt>build</tt> directory.
    It is guaranteed all files created during build will be placed in this directory. That means that if you want to clean up source tree after build the only thing you need to do is to remove <tt>build</tt> directory.


    Now we need to configure the source tree. This have to be done only once, later this step will be invoked automatically when necessary. If you are familiar with [[http://pl.wikipedia.org/wiki/Autotools Autotools]] this step corresponds to <tt>./configure</tt> command.
    Now we need to configure the source tree. This have to be done only once, later this step will be invoked automatically when necessary. If you are familiar with [http://en.wikipedia.org/wiki/Autotools Autotools] this step corresponds to <tt>./configure</tt> command.
    <code>
    <syntaxhighlight lang="text">
    cmake .. \
    cmake .. \
           -DCMAKE_INSTALL_PREFIX=/home/joe/k3b/install \
           -DCMAKE_INSTALL_PREFIX=/home/joe/k3b/install \
    Line 41: Line 42:
           -DK3B_DEBUG=ON \
           -DK3B_DEBUG=ON \
           -DCMAKE_BUILD_TYPE=Debug
           -DCMAKE_BUILD_TYPE=Debug
    </code>
    </syntaxhighlight>
    CMake will search for all required and optional libraries.
    CMake will search for all required and optional libraries.


    Finally to compile the source code and install it you should call:
    Finally to compile the source code and install it you should call:
    <code>
    <syntaxhighlight lang="text">
    make && make install
    make && make install
    </code>
    </syntaxhighlight>


    After that compiled K3b will be placed in <tt>/home/joe/k3b/install</tt> directory. Now you can run K3b by simply typing in the console:
    After that compiled K3b will be placed in <tt>/home/joe/k3b/install</tt> directory. Now you can run K3b by simply typing in the console:
    <code>
    <syntaxhighlight lang="text">
    k3b
    k3b
    </code>
    </syntaxhighlight>


    ==Bug Tracker==
    ==See Also==
    K3b uses [http://bugs.kde.org KDE Bugzilla] to track bugs. [https://bugs.kde.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=k3b&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= Here] you can find all bugs related to K3b.
    * [http://community.kde.org/K3b K3b community wiki] &ndash; for roadmap and other organizational information
     
    ==Roadmap==
    ===K3b 2.1===
    * Getting rid of KDE3Support classes
    * Porting audio player in CD audio project to QtMultimedia
    * Porting DCOP interfaces to D-BUS
     
    ==Contact==
    If you have prepared a patch or just want to contact K3b developers please write to [https://mail.kde.org/mailman/listinfo/k3b [email protected]] mailing list. You can also catch them on [irc://irc.freenode.org/#k3b #k3b on Freenode].

    Revision as of 20:57, 29 June 2011

    Getting Started in K3b Development

    Setting Up Environment

    Create target install directory. For the sake of example we will assume your home directory is /home/joe and you will install your compiled K3b to /home/joe/k3b/install. Add following lines to your ~/.bashrc file:

    export K3B_INSTALL_PREFIX=/home/joe/k3b/install
    export KDEDIRS=${K3B_INSTALL_PREFIX}:${KDEDIRS}
    export PATH=${K3B_INSTALL_PREFIX}/bin:${PATH}
    export XDG_DATA_DIRS=${K3B_INSTALL_PREFIX}/share:${XDG_DATA_DIRS}
    

    Relogin to let changes take effect.

    Getting Source Code

    K3b sources code is hosted in KDE git repository. It is a part of KDE Extragear module

    If you don't have a KDE development access you can get the source code using anonymous access repository:

    git clone git://anongit.kde.org/k3b
    

    If you have development access you should go the other way:

    git clone ssh://[email protected]:k3b
    

    This will give you right to push back your changes to the origin repository.

    Compilation

    K3b, as most KDE applications, uses CMake for configuration and compilation of source code.

    First the build directory should be created.

    cd k3b
    mkdir build
    cd build
    

    It is guaranteed all files created during build will be placed in this directory. That means that if you want to clean up source tree after build the only thing you need to do is to remove build directory.

    Now we need to configure the source tree. This have to be done only once, later this step will be invoked automatically when necessary. If you are familiar with Autotools this step corresponds to ./configure command.

    cmake .. \
          -DCMAKE_INSTALL_PREFIX=/home/joe/k3b/install \
          -DKDE4_AUTH_POLICY_FILES_INSTALL_DIR=/home/joe/k3b/install/share/polkit-1/actions \
          -DK3B_DEBUG=ON \
          -DCMAKE_BUILD_TYPE=Debug
    

    CMake will search for all required and optional libraries.

    Finally to compile the source code and install it you should call:

    make && make install
    

    After that compiled K3b will be placed in /home/joe/k3b/install directory. Now you can run K3b by simply typing in the console:

    k3b
    

    See Also