Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add README with some tipps and tricks about how to contribute
- Loading branch information
1 parent
7c5f65a
commit 443b3b2
Showing
1 changed file
with
82 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,82 @@ | |||
1. Licensing | |||
Whenever you think about adding your stuff to schwerkraft, you should | |||
think about the license you want to apply to your code/resources. | |||
It is a common agreement in the open source world to put a file called | |||
LICENSE or COPYING into the root directory of your project and/or to add | |||
the license text to the head of all your sources. | |||
|
|||
Please always take care not to violate the license of code you didn't | |||
actually write yourself but got somewhere else. | |||
|
|||
2. Adding new plugins | |||
Everyone is welcome to publish their plugins and/or skins on schwerkraft. | |||
Every plugin and skin added to schwerkraft can be added to the | |||
official build system and will usually be available via the official | |||
experimental mirrors within a day. | |||
|
|||
2.1 Directory structures and paths | |||
Before you start you should have a rough look at existing directory | |||
structures and structure your things accordingly. | |||
Please do not use any absolute paths, neither in the Makefiles nor in a plugin. | |||
Both autotools and enigma2 provide proper mechanisms to locate a path | |||
properly using environment variables or helper-functions. | |||
In Makefiles you would use variables like $(sysconfdir) or $(prefix) | |||
instead of /etc and /usr. | |||
In enimga2 and any of its plugins you could use eEnv.resolve() to do the same. | |||
In addition you can use enigma2's Tools.Directories.resolveFilename() | |||
in conjunction with the according SCOPE_* constants. | |||
|
|||
2.2 Add your plugin to the build system | |||
Basically everything on schwerkraft will automatically be built on a | |||
daily basis. This is done using "autotools" in an openembedded build environment. | |||
If you want to set up your own openembedded you can take a look at | |||
http://opendreambox.org/ (you will need a Linux system for that). | |||
Whenever you have something new that you would like to be built properly, you | |||
have to add a proper Makefile.am to every directory that contains files | |||
that have to be compiled and/or installed somewhere on the target system. | |||
In addition, you should always check that you properly extended the | |||
files "configure.ac" and "Makefile.am" in the root of the git you are | |||
going to commit your files to (no matter if it is a skin or a plugin). | |||
In the Makefile.am in the git-root just add your new plugin's directory | |||
to the "SUBDIRS" variable. | |||
In the configure.ac you have to add all directories containing a | |||
Makefile to the "AC_CONFIG_FILES" call. Just have a look at the existing entries. | |||
Please try to keep the given alphabetical order in those files, it makes | |||
finding and fixing things a lot easier. | |||
|
|||
If you are not familiar with Makefiles or configure.ac, just try to take a look | |||
at existing content. You'll find lots of examples in enigma2-plugins. | |||
|
|||
2.3 Become the maintainer of what you created | |||
If you're adding an enigma2-plugin, please also consider adding a proper | |||
maintainer.info for your plugin. | |||
A maintainer.info just contains two things: the mail address of the author | |||
plus the name of the plugin. | |||
It enables users to send a crashlog to the actual maintainer of a plugin | |||
that seems to have caused a crash. | |||
|
|||
Example: | |||
stephan@reichholf.net | |||
WebInterface | |||
|
|||
3. Changing other people's plugins or skins | |||
Before changing anything in someone else's sources, please try to contact | |||
him/her and discuss the things you want to change. | |||
Sometimes people have good reasons why they don't want particular things to | |||
be in their plugin or maybe they have certain quality-standards they would | |||
like the code to catch up to. | |||
Sometimes though, the original author doesn't maintain a plugin anymore. | |||
So if you have any fixes or enhancements for some existing plugin that | |||
doesn't seem to be maintained anymore or you cannot get any feedback from | |||
the original author, you can always go ahead and commit your changes. | |||
As schwerkraft uses git, you can undo your changes at any time, if you want | |||
or have to. | |||
But again, please check that whatever you're going to change doesn't violate | |||
any licenses! | |||
|
|||
4. Getting in contact | |||
If you want to get in contact with some of the people that created and | |||
maintain the projects on schwerkraft.elitedvb.net you are always welcome | |||
to join us on #enigma2 in the freenode.net IRC network. | |||
|
|||
|