Tracer is written in Python and it is compatible with its both 2.7 and 3.x versions. Besides standard python interpreter, tracer requires its few packages:
- psutil - For getting informations about processes, memory, etc
If you want to contribute and write some code, I will strictly insist on these rules
- Use tabs for indentation
- Tabs are meaningful - 1 tab = 1 logical level
- Everyone can view the one same tab with different width
- Easier to work with
- Use spaces for aligning
- There is no way how to correctly align with tabs
camelCasefor naming files,
underscore_casefor methods and variables
- There are no access modifiers, so use prefix
_for private things
There is an example code following our coding style
class Rpm(IPackageManager): def packages_newer_than(self, unix_time): packages =  for t in self._transactions_newer_than(unix_time): # Append every package in transaction into `packages` ... return packages def _transactions_newer_than(self, unix_time): ...
The default language for the program is english. For translations to other languages, we need contributors. If you are using Tracer and want to help us, you could translate it to languages, that you know. There are only few strings in the code, so its the matter of minutes.
Please see the Tracer on transifex.
Tracer uses tito for managing versions and doing all RPM stuff. There is quote what tito is:
"Tito is a tool for managing RPM based projects using git for their source code repository"
That means if you are fedora user, you can use prepared
tito package, but else you probably would have to install it by your own.
Next, there is Makefile describing most of actions you might want to do.
In general, managing versions
make release # For specific version use tito tag --use-version X.Y.Z
# Develop make rpm-test #  make rpm-try #  # Create official package make rpm #