6ea6b80
From 92c847ef13cd721a37187c5878a05b54df48114a Mon Sep 17 00:00:00 2001
6ea6b80
From: Jakub Filak <jfilak@redhat.com>
6ea6b80
Date: Sat, 20 Feb 2016 08:27:32 +0100
6ea6b80
Subject: [PATCH] Add basic documentation
6ea6b80
6ea6b80
Signed-off-by: Jakub Filak <jfilak@redhat.com>
6ea6b80
---
6ea6b80
 CONTRIBUTING.md | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6ea6b80
 INSTALL         |  7 -----
6ea6b80
 INSTALL.md      | 56 ++++++++++++++++++++++++++++++++++
6ea6b80
 Makefile.am     |  2 ++
6ea6b80
 README          | 11 -------
6ea6b80
 README.md       | 48 +++++++++++++++++++++++++++++
6ea6b80
 6 files changed, 200 insertions(+), 18 deletions(-)
6ea6b80
 create mode 100644 CONTRIBUTING.md
6ea6b80
 delete mode 100644 INSTALL
6ea6b80
 create mode 100644 INSTALL.md
6ea6b80
 delete mode 100644 README
6ea6b80
 create mode 100644 README.md
6ea6b80
6ea6b80
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
6ea6b80
new file mode 100644
6ea6b80
index 0000000..4b27138
6ea6b80
--- /dev/null
6ea6b80
+++ b/CONTRIBUTING.md
6ea6b80
@@ -0,0 +1,94 @@
6ea6b80
+# Contributing to ABRT
6ea6b80
+
6ea6b80
+Adopted from http://www.contribution-guide.org/
6ea6b80
+
6ea6b80
+BSD, Copyright (c) 2015 Jeff Forcier
6ea6b80
+
6ea6b80
+## Submitting bugs
6ea6b80
+
6ea6b80
+### Due diligence
6ea6b80
+
6ea6b80
+Before submitting a bug, please do the following:
6ea6b80
+
6ea6b80
+* Perform **basic troubleshooting** steps:
6ea6b80
+
6ea6b80
+    * **Make sure you're on the latest version.** If you're not on the most
6ea6b80
+      recent version, your problem may have been solved already! Upgrading is
6ea6b80
+      always the best first step.
6ea6b80
+    * **Try older versions.** If you're already *on* the latest release, try
6ea6b80
+      rolling back a few minor versions (e.g. if on 1.7, try 1.5 or 1.6) and
6ea6b80
+      see if the problem goes away. This will help the devs narrow down when
6ea6b80
+      the problem first arose in the commit log.
6ea6b80
+    * **Try switching up dependency versions.** If the software in question has
6ea6b80
+      dependencies (other libraries, etc) try upgrading/downgrading those as
6ea6b80
+      well.
6ea6b80
+
6ea6b80
+* **Search the project's bug/issue tracker** to make sure it's not a known issue.
6ea6b80
+* If you don't find a pre-existing issue, consider **checking with the mailing
6ea6b80
+  list and/or IRC channel** in case the problem is non-bug-related.
6ea6b80
+* Consult [README.md](README.md) for links to bugtracker, mailinglist or IRC.
6ea6b80
+
6ea6b80
+### What to put in your bug report
6ea6b80
+
6ea6b80
+Make sure your report gets the attention it deserves: bug reports with missing
6ea6b80
+information may be ignored or punted back to you, delaying a fix. The below
6ea6b80
+constitutes a bare minimum; more info is almost always better:
6ea6b80
+
6ea6b80
+* **What version of the core programming language interpreter/compiler are you
6ea6b80
+  using?** For example, if it's a Python project, are you using Python 2.7.3?
6ea6b80
+  Python 3.3.1? PyPy 2.0?
6ea6b80
+* **What operating system are you on?** Make sure to include release and distribution.
6ea6b80
+* **Which version or versions of the software are you using?** Ideally, you
6ea6b80
+  followed the advice above and have ruled out (or verified that the problem
6ea6b80
+  exists in) a few different versions.
6ea6b80
+* **How can the developers recreate the bug on their end?** If possible,
6ea6b80
+  include a copy of your code, the command you used to invoke it, and the full
6ea6b80
+  output of your run (if applicable.)
6ea6b80
+
6ea6b80
+    * A common tactic is to pare down your code until a simple (but still
6ea6b80
+      bug-causing) "base case" remains. Not only can this help you identify
6ea6b80
+      problems which aren't real bugs, but it means the developer can get to
6ea6b80
+      fixing the bug faster.
6ea6b80
+
6ea6b80
+
6ea6b80
+## Contributing changes
6ea6b80
+
6ea6b80
+It would be the best if you could discuss your plans with us on #abrt or on our
6ea6b80
+mailinig list crash-catcher@lists.fedorahosted.org before you spent too much
6ea6b80
+energy and time.
6ea6b80
+
6ea6b80
+Before contributing, please, make yourself familiar with git. You can [try git
6ea6b80
+online](https://try.github.io/). Things would be easier for all of us if you do
6ea6b80
+your changes on a branch. Use a single commit for every logical reviewable
6ea6b80
+change, without unrelated modifications (that will help us if need to revert a
6ea6b80
+particular commit). Please avoid adding commits fixing your previous
6ea6b80
+commits, do amend or rebase instead.
6ea6b80
+
6ea6b80
+Every commit must have either comprehensive commit message saying what is being
6ea6b80
+changed and why or a link (an issue number on Github) to a bug report where
6ea6b80
+this information is available. It is also useful to include notes about
6ea6b80
+negative decisions - i.e. why you decided to not do particular things. Please
6ea6b80
+bare in mind that other developers might not understand what the original
6ea6b80
+problem was.
6ea6b80
+
6ea6b80
+### Full example
6ea6b80
+
6ea6b80
+Here's an example workflow for a project `abrt` hosted on Github
6ea6b80
+Your username is `yourname` and you're submitting a basic bugfix or feature.
6ea6b80
+
6ea6b80
+* Hit 'fork' on Github, creating e.g. `yourname/abrt`.
6ea6b80
+* `git clone git@github.com:yourname/abrt`
6ea6b80
+* `cd abrt`
6ea6b80
+* `git checkout -b foo_the_bars` to create new local branch named foo_the_bars
6ea6b80
+* Hack, hack, hack
6ea6b80
+* Run `make check`
6ea6b80
+* `git status`
6ea6b80
+* `git add`
6ea6b80
+* `git commit -s -m "Foo the bars"`
6ea6b80
+* `git push -u origin HEAD` to create foo_the_bars branch in your fork
6ea6b80
+* Visit your fork at Github and click handy "Pull request" button.
6ea6b80
+* In the description field, write down issue number (if submitting code fixing
6ea6b80
+  an existing issue) or describe the issue + your fix (if submitting a wholly
6ea6b80
+  new bugfix).
6ea6b80
+* Hit 'submit'! And please be patient - the maintainers will get to you when
6ea6b80
+  they can.
6ea6b80
diff --git a/INSTALL b/INSTALL
6ea6b80
deleted file mode 100644
6ea6b80
index 799a4a6..0000000
6ea6b80
--- a/INSTALL
6ea6b80
+++ /dev/null
6ea6b80
@@ -1,7 +0,0 @@
6ea6b80
-How to install
6ea6b80
-==============
6ea6b80
-
6ea6b80
-1. autogen.sh
6ea6b80
-2. ./configure
6ea6b80
-3. make
6ea6b80
-4. make install
6ea6b80
diff --git a/INSTALL.md b/INSTALL.md
6ea6b80
new file mode 100644
6ea6b80
index 0000000..96d42c4
6ea6b80
--- /dev/null
6ea6b80
+++ b/INSTALL.md
6ea6b80
@@ -0,0 +1,56 @@
6ea6b80
+# How to install
6ea6b80
+
6ea6b80
+### Development dependencies
6ea6b80
+
6ea6b80
+Build dependencies can be listed by:
6ea6b80
+
6ea6b80
+    $ ./autogen.sh sysdeps
6ea6b80
+
6ea6b80
+or installed by:
6ea6b80
+
6ea6b80
+    $ ./autogen.sh sysdeps --install
6ea6b80
+
6ea6b80
+The dependency installer gets the data from [the rpm spec file](abrt.spec.in)
6ea6b80
+
6ea6b80
+### Building from sources
6ea6b80
+
6ea6b80
+When you have all dependencies installed run the following commands:
6ea6b80
+
6ea6b80
+    $ ./autogen.sh --prefix=/usr \
6ea6b80
+                   --sysconfdir=/etc \
6ea6b80
+                   --localstatedir=/var \
6ea6b80
+                   --sharedstatedir=/var/lib
6ea6b80
+
6ea6b80
+    $ make
6ea6b80
+
6ea6b80
+or if you want to debug ABRT run:
6ea6b80
+
6ea6b80
+    $ CFLAGS="-g -g3 -ggdb -ggdb3 -O0" ./autogen.sh --prefix=/usr \
6ea6b80
+                                                    --sysconfdir=/etc \
6ea6b80
+                                                    --localstatedir=/var \
6ea6b80
+                                                    --sharedstatedir=/var/lib \
6ea6b80
+                                                    --enable-debug
6ea6b80
+
6ea6b80
+    $ make
6ea6b80
+
6ea6b80
+### Checking
6ea6b80
+
6ea6b80
+ABRT uses [Autotest](http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Using-Autotest.html)
6ea6b80
+to validate source codes. Run the test by:
6ea6b80
+
6ea6b80
+    $ make check
6ea6b80
+
6ea6b80
+If you want to search for memory issues, build ABRT with debug options and then
6ea6b80
+run:
6ea6b80
+
6ea6b80
+    $ make maintainer-check
6ea6b80
+
6ea6b80
+### Installing
6ea6b80
+
6ea6b80
+If you need an rpm package, run:
6ea6b80
+
6ea6b80
+    $ make rpm
6ea6b80
+
6ea6b80
+otherwise run:
6ea6b80
+
6ea6b80
+    $ make install
6ea6b80
diff --git a/Makefile.am b/Makefile.am
6ea6b80
index 01b8a97..e528c93 100644
6ea6b80
--- a/Makefile.am
6ea6b80
+++ b/Makefile.am
6ea6b80
@@ -36,6 +36,8 @@ EXTRA_DIST = doc/coding-style abrt.spec.in abrt.pc.in \
6ea6b80
 	abrt-version asciidoc.conf init-scripts/* $(TESTSUITE_FILES) \
6ea6b80
 	augeas/test_abrt.aug
6ea6b80
 
6ea6b80
+dist_doc_DATA = README.md
6ea6b80
+
6ea6b80
 pkgconfigdir = $(libdir)/pkgconfig
6ea6b80
 pkgconfig_DATA = abrt.pc
6ea6b80
 
6ea6b80
diff --git a/README b/README
6ea6b80
deleted file mode 100644
6ea6b80
index 26cbbcb..0000000
6ea6b80
--- a/README
6ea6b80
+++ /dev/null
6ea6b80
@@ -1,11 +0,0 @@
6ea6b80
-These sources are in early stages. They are changing every day :-)...
6ea6b80
-Anyway, patches are welcome.
6ea6b80
-
6ea6b80
-** Using Valgrind
6ea6b80
-
6ea6b80
-When running ABRT under memcheck, GLib's environment variables should
6ea6b80
-be set to turn off glib's memory optimization, so valgrind is not
6ea6b80
-confused:
6ea6b80
-
6ea6b80
-G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind --tool=memcheck \
6ea6b80
-  --leak-check=full abrtd -dvvv
6ea6b80
diff --git a/README.md b/README.md
6ea6b80
new file mode 100644
6ea6b80
index 0000000..e58a499
6ea6b80
--- /dev/null
6ea6b80
+++ b/README.md
6ea6b80
@@ -0,0 +1,48 @@
6ea6b80
+# ABRT
6ea6b80
+
6ea6b80
+**A set of tools to help users detect and report application crashes.**
6ea6b80
+
6ea6b80
+### About
6ea6b80
+
6ea6b80
+Its main purpose is to ease the process of reporting an issue and finding a
6ea6b80
+solution.
6ea6b80
+
6ea6b80
+The solution in this context might be a bugzilla ticket, knowledge base article
6ea6b80
+or a suggestion to update a package to a version containing a fix.
6ea6b80
+
6ea6b80
+### Documentation
6ea6b80
+
6ea6b80
+Every ABRT program and configuration file has a man page describing it. It is
6ea6b80
+also possible to [read the ABRT documentation](http://abrt.readthedocs.org/)
6ea6b80
+online. For contributors and developers, there are also [wiki
6ea6b80
+pages](https://github.com/abrt/abrt/wiki) describing some topics to deeper
6ea6b80
+technical details.
6ea6b80
+
6ea6b80
+### Development
6ea6b80
+
6ea6b80
+ * IRC Channel: #abrt on FreeNode
6ea6b80
+ * [Mailing List](https://lists.fedorahosted.org/admin/lists/crash-catcher.lists.fedorahosted.org/)
6ea6b80
+ * [Bug Reports and RFEs](https://github.com/abrt/abrt/issues)
6ea6b80
+ * [Contributing to ABRT](CONTRIBUTING.md)
6ea6b80
+ * [Install and run ABRT](INSTALL.md)
6ea6b80
+
6ea6b80
+
6ea6b80
+### Running
6ea6b80
+
6ea6b80
+ABRT consist of several services and many small utilities. While The utilities
6ea6b80
+can be successfully run from the source directories after build, the services
6ea6b80
+often uses the utilities to do actions and expect the utilities installed in
6ea6b80
+the system directories. Hence to run the services, it is recommended to install
6ea6b80
+ABRT first and run them as system services. The instructions how to build
6ea6b80
+and install ABRT can be found in [INSTALL.md](INSTALL.md)
6ea6b80
+
6ea6b80
+### Technologies
6ea6b80
+
6ea6b80
+* [libreport](https://github.com/abrt/libreport) - problem data format, reporting
6ea6b80
+* [satyr](https://github.com/abrt/satyr) - backtrace processing, micro-reports
6ea6b80
+* [Python3](https://www.python.org/)
6ea6b80
+* [GLib2](https://developer.gnome.org/glib/)
6ea6b80
+* [Gtk3](https://developer.gnome.org/gtk3)
6ea6b80
+* [D-Bus](https://www.freedesktop.org/wiki/Software/dbus/)
6ea6b80
+* [SELinux](https://github.com/SELinuxProject/selinux/wiki)
6ea6b80
+* [systemd](https://www.freedesktop.org/wiki/Software/systemd/)
6ea6b80
-- 
6ea6b80
2.5.5
6ea6b80