mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-07-05 22:25:55 +00:00
faq: git: improve content and formatting
This commit is contained in:
parent
c7e333ca16
commit
764b8d0c70
|
@ -9,15 +9,15 @@ GNOME's jhbuild.
|
|||
|
||||
## How do I check out GStreamer from git?
|
||||
|
||||
GStreamer is hosted on Freedesktop.org. GStreamer consists of
|
||||
various parts. In the beginning, you will be interested in the
|
||||
"gstreamer" module, containing the core, and "gst-plugins-base" and
|
||||
"gst-plugins-good", containing the basic set of plugins. Finally, you
|
||||
may also be interested in "gst-plugins-ugly", "gst-plugins-bad" and
|
||||
"gst-ffmpeg" for more comprehensive media format support.
|
||||
GStreamer and its various official modules are hosted on Freedesktop.org. For
|
||||
starters, you will likely be interested in the core `gstreamer` module and the
|
||||
basic base functionality provided by the `gstreamer-plugins-base` and
|
||||
`gstreamer-plugins-good` modules. Additionally, and in case you want more
|
||||
comprehensive media format support, you might want to check out the
|
||||
`gst-plugins-ugly`, `gst-plugins-bad` and `gst-ffmpeg` modules.
|
||||
|
||||
To check out the latest git version of the core and the basic modules,
|
||||
use
|
||||
You can use the following command to download the latest source code for the
|
||||
base modules:
|
||||
|
||||
```
|
||||
for module in gstreamer gst-plugins-base gst-plugins-good; do
|
||||
|
@ -25,44 +25,44 @@ for module in gstreamer gst-plugins-base gst-plugins-good; do
|
|||
done
|
||||
```
|
||||
|
||||
This will create three directories in your current directory:
|
||||
"gstreamer", "gst-plugins-base", and "gst-plugins-good". If you want to
|
||||
get another module, use the above git clone command line and replace
|
||||
`$module` with the name of the module. Once you have checked out these
|
||||
modules, you will need to change into each directory and run
|
||||
`./autogen.sh`, which will among other things checkout the common module
|
||||
underneath each module checkout.
|
||||
This will create three directories in your current directory: `gstreamer`,
|
||||
`gst-plugins-base`, and `gst-plugins-good`. If you want to get another module,
|
||||
use the above `git clone` command line and replace `$module` with the name of
|
||||
the module. Then you will need to go into each directory and run `./autogen.sh`,
|
||||
this will, among other things, checkout the `common` module underneath each
|
||||
module checkout.
|
||||
|
||||
The [modules page](http://gstreamer.freedesktop.org/modules/) has a list
|
||||
of active ones together with a short description.
|
||||
You can get a list of active modules and their description from the
|
||||
[modules page](http://gstreamer.freedesktop.org/modules/).
|
||||
|
||||
## How do I get developer access to GStreamer git?
|
||||
|
||||
If you want to gain developer access to GStreamer git, you should
|
||||
ask for it on the development lists, or ask one of the maintainers
|
||||
directly. We will usually only consider requests by developers who have
|
||||
been active and competent GStreamer contributors for some time already.
|
||||
If you want to gain developer access to the GStreamer source-code repositories,
|
||||
you need to either send a request to the development lists, or directly ask one
|
||||
of the maintainers. We usually only consider requests by developers who have
|
||||
been active for some time and have shown to be competent GStreamer contributors.
|
||||
If you are not already a registered developer with a user account on
|
||||
Freedesktop.org, you will then have to provide them with:
|
||||
Freedesktop.org, you will have to provide them with:
|
||||
|
||||
1. your desired unix username
|
||||
1. your desired username
|
||||
|
||||
2. your full name
|
||||
|
||||
3. your e-mail address
|
||||
|
||||
4. a copy of your public sshv2 identity. If you do not have this yet,
|
||||
you can generate it by running "ssh-keygen -t rsa -f
|
||||
~/.ssh/id\_rsa.pub-fdo". The resulting public key will be in
|
||||
4. a copy of your public `sshv2` identity. If you do not have this yet,
|
||||
you can generate one by running `ssh-keygen -t rsa -f
|
||||
~/.ssh/id_rsa.pub-fdo`. The resulting public key will be left in
|
||||
`~/.ssh/id_rsa.pub-fdo`
|
||||
|
||||
5. your GPG fingerprint. This would allow you to add and remove ssh
|
||||
keys to your account.
|
||||
5. your GPG fingerprint. This will allow you to add and remove `ssh` keys to
|
||||
your account.
|
||||
|
||||
Once you have all these items, see
|
||||
<http://freedesktop.org/wiki/AccountRequests> for what to do with them.
|
||||
Once you have all these items, review
|
||||
<http://freedesktop.org/wiki/AccountRequests> for instructions on what to do
|
||||
with them.
|
||||
|
||||
## I ran autogen.sh, but it fails with aclocal errors. What's wrong?
|
||||
## I ran autogen.sh, but it failed with aclocal errors. What's wrong?
|
||||
|
||||
```
|
||||
+ running aclocal -I m4 -I common/m4 ...
|
||||
|
@ -73,42 +73,41 @@ aclocal failed
|
|||
|
||||
What's wrong?
|
||||
|
||||
aclocal is unable to find two macros installed by libtool in a
|
||||
file called libtool.m4. Normally this would indicate that you don't have
|
||||
libtool, but that would mean autogen.sh would have failed on not finding
|
||||
libtool.
|
||||
`aclocal` is unable to find two macros installed by `libtool` in a
|
||||
file called `libtool.m4`. Normally, this would indicate that you don't have
|
||||
`libtool`, but that would mean `autogen.sh` should have failed on not finding
|
||||
`libtool`.
|
||||
|
||||
It is more likely that you installed automake (which provides aclocal)
|
||||
in a different prefix than libtool. You can check this by examining in
|
||||
what prefix both aclocal and libtool are installed.
|
||||
It is more likely that you installed `automake` (which provides `aclocal`)
|
||||
and `libtool` in different prefixes. You can check this by examining in
|
||||
what prefix `aclocal` and `libtool` are installed.
|
||||
|
||||
You can do three things to fix this :
|
||||
|
||||
1. install automake in the same prefix as libtool
|
||||
1. install `automake` in the same prefix as `libtool`
|
||||
|
||||
2. force use of the automake installed in the same prefix as libtool by
|
||||
using the --with-automake option
|
||||
2. force use of the `automake` installed in the same prefix as `libtool` by
|
||||
using the `--with-automake` option
|
||||
|
||||
3. figure out what prefix libtool has been installed to and point
|
||||
aclocal to the right location by running
|
||||
3. figure out what prefix `libtool` has been installed to and point
|
||||
`aclocal` to the right location by running
|
||||
|
||||
```
|
||||
export ACLOCAL_FLAGS="-I $(prefix)/share/aclocal"
|
||||
```
|
||||
where you replace prefix with the prefix where libtool was
|
||||
installed.
|
||||
where you need to replace `$(prefix)` with the one where `libtool` was
|
||||
installed to.
|
||||
|
||||
## Why is "-Wall -Werror" being used?
|
||||
|
||||
"-Wall" is being used because it finds a lot of possible problems
|
||||
`-Wall` is being used because it finds a lot of possible problems
|
||||
with code. Not all of them are necessarily a problem, but it's better to
|
||||
have the compiler report some false positives and find a work-around
|
||||
than to spend time chasing a bug for days that the compiler was giving
|
||||
you hints about.
|
||||
than spending days chasing a bug the compiler was already hinting to.
|
||||
|
||||
"-Werror" is turned off for actual releases. It's turned on by default
|
||||
`-Werror` is turned off for actual releases. It's turned on by default
|
||||
for git and prereleases so that people actually notice and fix problems
|
||||
found by "-Wall". We want people to actively hit and report or fix them.
|
||||
found by `-Wall`. We want people to actively hit and report or fix them.
|
||||
|
||||
If for any reason you want to bypass these flags and you are certain
|
||||
it's the right thing to do, you can run:
|
||||
|
@ -117,4 +116,4 @@ it's the right thing to do, you can run:
|
|||
make ERROR_CFLAGS=""
|
||||
```
|
||||
|
||||
to clear the `CFLAGS` for error checking.
|
||||
to clear these error checking `CFLAGS`.
|
||||
|
|
Loading…
Reference in a new issue