Updated INSTALL file

parent 66cb4e1d
Pipeline #1781 passed with stage
in 9 minutes and 21 seconds
# Developer process & workflows
# Contributing to MystiQ Video Converter Project
## Developer process & workflows
This document stablish the process and workflows as per github and gitflow good practices (in some cases simplified and relaxed), if in doubt please take a peek [here](https://medium.com/@devmrin/learn-complete-gitflow-workflow-basics-how-to-from-start-to-finish-8756ad5b7394) or [here](https://nvie.com/posts/a-successful-git-branching-model/)
......@@ -6,19 +8,19 @@ This practices must appear so "elite" or "cathedral style" at first, but believe
At first we will be easy with this but people, please catch the (git)flow ASAP.
## Issues!
### Issues!
Its all about issues, every change must have a reference issue in which the dev team can debate about, and branches that name the user and issue it's working on.
So if you need to do a change, fix something or add a new feature, please open an issue or feature for it. Once you have a issue number to work with, create a branch from latest `develop` in YOUR own fork and name it `user_t#_short_description_of_issue` see [here](https://github.com/stdevPavelmc/MystiQ/tree/stdevPavelmc_t8_travis_integration) where I created a branch named `stdevPavelmc_t8_travis_integration`
## Commits
### Commits
All commits comments must start with `Refs #8, ....` where in this case the #8 refers to the issue you are working on, why? see it [here in action](https://github.com/swl-x/MystiQ/issues/8)
Hover the mouse over the name, number and comments of the commit `d4a19cd` github does a great job by linking all together, this is possible because we mentiones the issue in the branch name and also in the commit comment.
## Pull request
### Pull request
Pull request are intentions to merge some code into the main tree, you can open a pull request of your local work at any time, the only condition is that you have pushed at least a commit for an issue.
......@@ -28,17 +30,31 @@ In fact is a recommended practice, open an issue, analyze, make your first commi
The merge action by the repo owner (@llamaret) will automatically close the corresponding pull request and the issue just by adding a comment like this to the comment of the merge `Closing issue #8...` github will do the magic and will (if travis build is a success) close the PR and the matching issue, all in just one place.
## Travis
### Travis
This repo has travis-ci as CI/CD engine, see [https://travis-ci.org/llamaret/MystiQ](https://travis-ci.org/llamaret/MystiQ) to check the status and latest tests.
This repo has travis-ci as CI/CD engine, see [https://travis-ci.org/swl-x/MystiQ](https://travis-ci.org/swl-x/MystiQ) to check the status and latest tests.
Travis is configured to use your email for notifications of success/fail on the build you triggers, in the near future we will implements github & travis notifications to the Telegram channel (pending Issue for this)
## Deploys
### Deploys
Automatic implementations in github are planned for the generation of an AppImage package that can be run from any GNU/Linux distribution under the 64-bit architecture
### Translations
Any volunteer can contribute translations for MystiQ Video Converter.
You can clone or forge the repository, go to the / translations folder and create a new .ts file and work on the new translation a translation tool like Qt Linguist (Qt5). After the file is finished and reviewed, you can make a pull request and wait for it to be reviewed and approved.
However, the easiest way is to use the [Transifex platform](https://www.transifex.com/swl-x-project/mystiq-video-converter/). From there you can request to participate in the translation of an existing language or request the creation of a new language pack. After the translation is finished, automatically, without your participation, a pull request will be made from Transifex to our repository in Github providing the new language pack.
## Monetary contribution
### Sponsor Management Platforms
Automatic deploys to github are in the plan for tomorrow (aka ASAP) and will cover at least builds for the following distros:
MystiQ is free software. However, development requires a lot of time and a lot of work. To continue developing MystiQ with new features, we need your help. Please consider supporting the MystiQ project by sending a donation. Even the smallest amount will help a lot.
- Ubuntu Bionic (works on Debian 9/10)
- Windows
If you decide and have the possibility of giving us a monetary contribution, you can use one of the following platforms from which we manage the contributions of the community:
In all cases we will try to use 32/64 bits if possible.
- [https://opencollective.com/mystiq](https://opencollective.com/mystiq)
- [https://liberapay.com/llamaret](https://liberapay.com/llamaret)
# Developer Process & Workflow
This document defines the process and workflow as per github and gitflow good practices (in some cases simplified and relaxed). If in doubt, please take a peek [here](https://medium.com/@devmrin/learn-complete-gitflow-workflow-basics-how-to-from-start-to-finish-8756ad5b7394) or [here](https://nvie.com/posts/a-successful-git-branching-model/).
This practices must appear so "elite" or "cathedral style" at first, but they are intended to ensure quality and fluidity in our development process. At the end, and with the time, you'll see how this can help you out to pin-point any info from the entangle of branches, issues, Travis, etc.
If you really want to collaborate with MystyQ's development, please catch our (git)flow ASAP.
## Issues
It's all about issues. Every change must have a reference issue on which the dev team can debate about. Branches must be named after the the user name and the concrete issue he's working on.
So, if you need to do a change, fix something or add a new feature, then please open an issue or feature for it. Once you have an issue number to work with, go and create a branch from latest `develop` in **your own fork** and name it as `user_t#_short_description_of_issue`. For an example, take a look at [this branch](https://github.com/stdevPavelmc/MystiQ/tree/stdevPavelmc_t8_travis_integration).
## Commits
Commit comments must start with `Refs #8, ....`. In this case the `#8` refers to the number of the issue you're working on. Why? see it [here in action](https://github.com/swl-x/MystiQ/issues/8).
If you go to the above link and hover the mouse over the name, number and comments of the commit `d4a19cd`, then you'll notice that GitHub does a great job by linking all together. This is possible because we mentioned the issue in the branch name and also in the commit comment.
## Pull Requests (PR)
Pull requests are intentions to merge some code or change into the main tree. You can open a PR with your proposals at any time, the only condition is that you have pushed at least a commit for an issue.
In fact, the recommended practice is to open an issue, work on it, make your first commit, and open the PR right away. This way, changes will be picked by Travis and CI/CD will fire to tell you if your changes are good o break something.
**As a general rule, a PR must include a comment on which you mention @llamaret and state that the PR is ready for review and to be merged if accepted.**
The merge action by the repo owner (@llamaret) will automatically close the pull request and the issue just by adding a comment like this to the comment of the merge `Closing issue #8...`. GitHub will do the magic and (if Travis build is a success) close the PR and the matching issue, all in just one step.
## Travis CI
This repo has Travis CI as CI/CD engine. Please, see [https://travis-ci.org/llamaret/MystiQ](https://travis-ci.org/llamaret/MystiQ) to check the status and latest tests.
Travis CI is configured to use your email for notifications of success/fail on the build you triggers. In the near future we will implements GitHub & Travis CI notifications to the Telegram channel (pending Issue for this).
## Deploys
Automatic deploys to GitHub are in the plan for tomorrow (aka ASAP) and will cover at least builds for the following Operating Systems:
- Ubuntu Bionic (works on Debian 9/10)
- Windows
In all cases, we'll try to build for 32/64 bits architectures if possible.
......@@ -23,15 +23,111 @@ sudo apt install libc6 ffmpeg qt5-default libqt5multimedia5-plugins libqt5qml5 l
Compile:
- clone git repository: "git clone https://github.com/swl-x/mystiq.git"
- run "qmake <option>"
- run "qmake mystiq.pro"
- run "make"
- run "sudo make install"
qmake options:
DEFINES+=NO_NEW_VERSION_CHECK
Hint:
To check that all external programs are installed,
please run mystiq on the console and control
the output section "---Begin Search external tools---"
If you want to use MystiQ Video Converter from an alternative repository, without the need to compile, you can configure an alternative repository:
### Arch Linux
For Arch Linux, edit `/etc/pacman.conf` and add the following (the order of the repositories is important in pacman.conf, because pacman always downloads the first package it finds):
[home_llamaret_Arch]
SigLevel = Never
Server = https://download.opensuse.org/repositories/home:/llamaret/Arch/$arch
Then run the following as root
pacman -Syu
pacman -S home_llamaret_Arch / mystiq
### Debian
For Debian Unstable run the following as root:
echo 'deb http://download.opensuse.org/repositories/home:/llamaret/Debian_Unstable/ /' > /etc/apt/sources.list.d/home:llamaret.list
wget -nv https://download.opensuse.org/repositories/home:llamaret/Debian_Unstable/Release.key -O Release.key
apt-key add - < Release.key
apt-get update
apt-get install mystiq
For Debian Testing run the following as root:
echo 'deb http://download.opensuse.org/repositories/home:/llamaret/Debian_Testing/ /' > /etc/apt/sources.list.d/home:llamaret.list
wget -nv https://download.opensuse.org/repositories/home:llamaret/Debian_Testing/Release.key -O Release.key
apt-key add - < Release.key
apt-get update
apt-get install mystiq
For Debian Stable (10) run the following as root:
echo 'deb http://download.opensuse.org/repositories/home:/llamaret/Debian_10/ /' > /etc/apt/sources.list.d/home:llamaret.list
wget -nv https://download.opensuse.org/repositories/home:llamaret/Debian_10/Release.key -O Release.key
apt-key add - < Release.key
apt-get update
apt-get install mystiq
### Ubuntu
For Ubuntu 20.04 run the following:
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/llamaret/xUbuntu_Next/ /' > /etc/apt/sources.list.d/home:llamaret.list"
wget -nv https://download.opensuse.org/repositories/home:llamaret/xUbuntu_Next/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo apt-get update
sudo apt-get install mystiq
For Ubuntu 19.10 run the following:
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/llamaret/xUbuntu_19.10/ /' > /etc/apt/sources.list.d/home:llamaret.list"
wget -nv https://download.opensuse.org/repositories/home:llamaret/xUbuntu_19.10/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo apt-get update
sudo apt-get install mystiq
For Ubuntu 19.04 run the following:
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/llamaret/xUbuntu_19.04/ /' > /etc/apt/sources.list.d/home:llamaret.list"
wget -nv https://download.opensuse.org/repositories/home:llamaret/xUbuntu_19.04/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo apt-get update
sudo apt-get install mystiq
### Fedora
For Fedora 31 run the following as root:
dnf config-manager --add-repo https://download.opensuse.org/repositories/home:llamaret/Fedora_31/home:llamaret.repo
dnf install mystiq
For Fedora 30 run the following as root:
dnf config-manager --add-repo https://download.opensuse.org/repositories/home:llamaret/Fedora_30/home:llamaret.repo
dnf install mystiq
### openSUSE
For openSUSE Tumbleweed run the following as root:
zypper addrepo https://download.opensuse.org/repositories/home:llamaret/openSUSE_Tumbleweed/home:llamaret.repo
zypper refresh
zypper install mystiq
For openSUSE Leap 15.2 run the following as root:
zypper addrepo https://download.opensuse.org/repositories/home:llamaret/openSUSE_Leap_15.2/home:llamaret.repo
zypper refresh
zypper install mystiq
For openSUSE Leap 15.1 run the following as root:
zypper addrepo https://download.opensuse.org/repositories/home:llamaret/openSUSE_Leap_15.1/home:llamaret.repo
zypper refresh
zypper install mystiq
......@@ -14,7 +14,7 @@ can also adjust conversion parameters in detail.
For compiling and installing MystiQ, please refer to [INSTALL](INSTALL).
If you want to contribute as a developer please see the file [Developer_process.md](Developer_process.md).
If you want to contribute in any way with the project, see the file [CONTRIBUTING.md](CONTRIBUTING.md).
License
-------
......@@ -23,8 +23,7 @@ Copyright (C) 2020 Maikel Llamaret Heredia <llamaret@webmisolutions.com>
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
Foundation, either version 3 of the License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
......@@ -50,3 +49,10 @@ Other free software projects that influenced the development of MystiQ:
- [Curlew](http://sourceforge.net/projects/curlew)
- [Ciano](https://robertsanseries.github.io/ciano/)
- [FFMulticonverter](https://sites.google.com/site/ffmulticonverter/)
- [HandBrake](https://handbrake.fr)
MystiQ Video Converter is a product of the effort of the [SWL-X Project community](https://swlx.info). We have also received help from the [KaOS Linux project community](https://gitter.im/KaOSx/KaOS/), especially the support of its leader @Demm.
Valid to thank the [Rosa Linux project](http://www.rosalab.com), its leaders and the community of this distribution on [Telegram](https://t.me/rosalinux).
It is appropriate to mention the [Transifex platform](https://www.transifex.com/swl-x-project/mystiq-video-converter/), thanks to which many volunteers have joined to include language packs for MystiQ Video Converter, which has allowed the application to reach many in more languages.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment