Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
dev:contributing [2009/10/05 01:18] michael |
dev:contributing [2018/02/08 14:08] tedfelix [2. Prepare the build environment] |
====1. Check out the current Subversion trunk==== | ====1. Check out the current Subversion trunk==== |
| |
<code bash>svn co https://rosegarden.svn.sourceforge.net/svnroot/rosegarden/trunk/rosegarden</code> | $ svn checkout svn+ssh://userid@svn.code.sf.net/p/rosegarden/code/trunk/rosegarden |
| |
| Replace "userid" with your sourceforge user ID. For more checkout options, see the [[dev:subversion|subversion quick start]]. |
| |
====2. Prepare the build environment==== | ====2. Prepare the build environment==== |
| |
^ Command/Library ^ Min. Version ^ From (.deb-based) ^ From (.rpm-based) ^ | ^ Command/Library ^ Min. Version ^ From (.deb-based) ^ From (.rpm-based) ^ |
| gcc | 4.1 | gcc-4.1 | | | | gcc | 4.1 | gcc-4.1 | gcc | |
| g++ | 4.1 | g++-4.1 | | | | g++ | 4.1 | g++-4.1 | gcc-c++ | |
| automake | 1.10 | automake | | | | automake | 1.10 | automake | automake | |
| GNU make | 3.81 | make | | | | GNU make | 3.81 | make | make | |
| makedepend | 1.0.1 | xutils-dev | | | | makedepend | 1.0.1 | xutils-dev | imake | |
| pkg-config | 0.22 | pkg-config | | | | pkg-config | 0.22 | pkg-config | pkgconfig | |
| qt | 4.4.1 | libqt4-dev | | | | qt4 (or qt5) | 4.8.0 | libqt4-dev | qt-devel | |
| alsa | 1.0 | libasound2-dev | | | | qt5 (or qt4) | 5.1.0 | qtbase5-dev, qttools5-dev | qt5-qtbase-devel? | |
| jack | 0.109 | libjack-dev | | | | alsa | 1.0 | libasound2-dev | alsa-lib-devel | |
| ladspa | 1.1 | ladspa-sdk | | | | jack | 0.109 | libjack-dev | jack-audio-connection-kit-devel | |
| dssi | 0.9 | dssi-dev | | | | ladspa | 1.1 | ladspa-sdk | ladspa-devel | |
| lo | 0.23 | liblo0-dev | | | | dssi | 0.9 | dssi-dev | dssi-devel | |
| lirc | 0.8 | liblircclient-dev | | | | lo | 0.23 | liblo0-dev | liblo-devel | |
| liblrdf-dev | | | | | | lirc | 0.8 | liblircclient-dev | lirc-devel | |
| libfftw3-dev | | | | | | liblrdf | | liblrdf-dev | liblrdf-devel | |
| lilypond | 2.6.0 | | | | | libfftw3 | | libfftw3-dev | fftw3-devel | |
| samplerate | 0.1.4 | libsamplerate-dev | | | | lilypond | 2.6.0 | | lilypond | |
| sox | | | | | | libsamplerate | 0.1.4 | libsamplerate-dev | libsamplerate-devel | |
| sndfile-convert | | sndfile-programs | | | | libsndfile | 1.0.16 | libsndfile1-dev | libsndfile-devel | |
| etc./missing | | | | | | perl | | | perl | |
okular/acroread/GNOME-thingie | | bash | | | bash | |
perl | | GNU tar | | | tar | |
bash | | GNU gzip | | | gzip | |
ugh the list just goes on and on | | libsm-dev | | libsm-dev | libSM-devel | |
| |
(an attempt should be made to get this list to be completely exhaustive if possible, but that's all I've got for now, using Ubuntu LTS as a reasonable baseline for the oldest distro we should be supporting, even if we'd really work with even older versions of some of these things) | (Using Debian Lenny as the oldest supportable distro for this) |
| |
| |
| |
====2. Compile source (be prepared to install missing dependencies in first compile)==== | ====2. Compile source (be prepared to install missing dependencies in first compile)==== |
| |
$ sh ./bootstrap.sh | $ sh ./bootstrap.sh |
| $ ./configure [options] |
$ ./configure ''[options]'' | |
| |
Useful things to specify for ''[options]'' include: | Useful things to specify for ''[options]'' include: |
* --enable-debug | * --enable-debug |
| |
$ make | $ make |
| $ sudo make install |
$ sudo make install | |
| |
//NOTE: Rosegarden only installs a few files, and these will not overwrite or conflict with any version you may have installed from a distro package of Rosegarden "Classic"// | //NOTE: Rosegarden only installs a few files, and these will not overwrite or conflict with any version you may have installed from a distro package of Rosegarden "Classic"// |
| |
| //NOTE: On some Fedora installs, you may get an error "Failed to find Qt4 installation. QTDIR must be defined, or --with-qtdir option given" when you run ./configure . This is resolved by running "unset QTDIR" then re-running ./configure ((src: http://ccrma-mail.stanford.edu/pipermail/planetccrma/2010-February/016420.html))// |
| |
| |
Edit files, paying attention to [[coding_style|coding style]]... If you made no changes to anything in data/ then you can simply: | Edit files, paying attention to [[coding_style|coding style]]... If you made no changes to anything in data/ then you can simply: |
| |
$ make && ./rosegarden | $ make && ./rosegarden |
| |
If you did make changes to data, you should | If you did make changes to data, you should |
| |
$ make qrc && make && ./rosegarden | $ make qrc && make && ./rosegarden |
| |
//If you added any new icons, for example, they won't be picked up and added to the resource bundle until you svn add them to your local copy. Even though you're submitting a patch, you must still do this. Hopefully new files will get picked up and incorporated into the patch, although I don't think there's a precedent for this, and I'm not sure if it would work. If this becomes a problem, get in touch with us, and we'll work something out.// | //If you added any new icons, for example, they won't be picked up and added to the resource bundle until you svn add them to your local copy. Even though you're submitting a patch, you must still do this. Hopefully new files will get picked up and incorporated into the patch, although I don't think there's a precedent for this, and I'm not sure if it would work. If this becomes a problem, get in touch with us, and we'll work something out.// |
====4. Create patch (against svn and source root)==== | ====4. Create patch (against svn and source root)==== |
| |
cd to the Rosegarden source root directory, then | cd to the Rosegarden source root directory, then: |
| |
$ svn update | $ svn update |
| $ svn diff >patch-user-[YEAR][MONTH][DAY] |
| |
$ svn diff > patch-''user''-''[YEAR][DAY][MONTH]'' | //For example// ''patch-egonzales-20090523'' //for a patch from Eduardo Gonzáles on the 23rd of May 2009.// |
| |
//for example ''patch-egonzales-20092305'' for a patch from Eduardo Gonzáles on the 23rd of May 2009// | |
| |
====5. Publish patch==== | ====5. Publish patch==== |
===5.A) as a fix to a bug=== | ===5.A) as a fix to a bug=== |
| |
Create new [[http://sourceforge.net/tracker/?group_id=4932&atid=104932|bug report]] (if there is not an existing one), and include the patch as a resolution to the bug. | Create a new [[http://sourceforge.net/p/rosegarden/bugs/|bug report]] (if there is not an existing one), and include the patch as a resolution to the bug. You will need to be logged in to SourceForge to create a ticket. |
| |
===5.B) as an implementation of a feature request=== | ===5.B) as an implementation of a feature request=== |
| |
Create new [[http://sourceforge.net/tracker/?group_id=4932&atid=354932|feature request]] (if there is not an existing one), and include the patch as a fulfillment of the request. | Create a new [[http://sourceforge.net/p/rosegarden/feature-requests/|feature request]] (if there is not an existing one), and include the patch as a fulfillment of the request. You will need to be logged in to SourceForge to create a ticket. |
| |
===5.C) as a follower of the Rosegarden development discussion list: rosegarden-devel AT lists DOT sourceforge DOT net=== | ===5.C) as a patch=== |
| |
| Create a new [[http://sourceforge.net/p/rosegarden/patches/|patch ticket]] and include the patch. You will need to be logged in to SourceForge to create a ticket. |
| |
| ===5.D) as a follower of the Rosegarden development discussion list: rosegarden-devel AT lists DOT sourceforge DOT net=== |
| |
Describe your problem in a mail to the list and add the patch as an attachment. If your patch is large, your post might be rejected by the list software, but the project administrators will attend to this if it should happen. | Describe your problem in a mail to the list and add the patch as an attachment. If your patch is large, your post might be rejected by the list software, but the project administrators will attend to this if it should happen. |
| |
* [[layout_code|Qt Layouts]] | * [[layout_code|Qt Layouts]] |
| |
| * [[file_format_version|File Format Version]] |