-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathcontributing.html
75 lines (65 loc) · 3.41 KB
/
contributing.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
---
layout: default
permalink: /contributing/
title: Contributing
description: Get involved, learn and have a lot of fun!
---
<div class="row">
<div class="col-sm-12">
<div class="main-article docs">
<h2>How to contribute to YaST</h2>
<h3>1. Meet others involved</h3>
<p>YaST is a worldwide project with people from many nations and cultures
contributing to a common purpose – Making YaST Linux's predominant
all-purpose computing tool. The fastest way to get in contact is
to simply show up in the <a href="ircs://irc.libera.chat:6697/">#yast</a>
IRC channel at irc.libera.chat. Most YaST developers will be there
willing to help and answer any question.<p>
<p>You can also reach most developers and follow the development in the
<b>[email protected]</b> mailing list;
<a rel="nofollow" href="mailto:[email protected]">subscribe</a>
to it, take a look at the
<a rel="nofollow" href="http://lists.opensuse.org/yast-devel/">archives</a> or
request a mail offering
<a rel="nofollow" href="mailto:[email protected]">help with the mailinglist</a>.
<h3>2. Get the code</h3>
<p>YaST is a complex system consisting in several components and modules. You
can find them all in the <a href="http://github.com/yast">YaST organization</a>
at GitHub. Most components are written in Ruby with a high level of abstraction and
with some core components handling the graphical stack written in C.
There are still some small legacy parts written in Perl or YCP (YaST Control
Programming language), but they are being ported to Ruby.
</p>
<p>
There are more than 100 YaST repositories at GitHub.
If locating the right one is a problem, let RPM tell you the source package:
</p>
<pre>
$ rpm -qf --qf '%{SOURCERPM} (%{NVRA})\n' /usr/share/YaST2/scrconf/etc_idmapd_conf.scr
yast2-nfs-server-3.0.0-6.2.src.rpm (yast2-nfs-common-3.0.0-6.2.noarch)</pre>
<p>
From that, <b>yast2</b>-nfs-server is found in the repository
<a href="https://github.com/yast/yast-nfs-server"><b>yast</b>-nfs-server</a>
(note the digit is not present).
</p>
<p>The only exceptions are the <code>yast2.rpm</code> package, with code is located in the
<a href="https://github.com/yast/yast-yast2">yast-yast2</a> repository and the
<code>autoyast2.rpm</code> package, which code can be found in the
<a href="https://github.com/yast/yast-autoinstallation">yast-autoinstallation</a> repository.
</p>
<h3>3. Take the first steps</h3>
<p>In order to start improving YaST, you need to setup a development
environment. Up-to-date instructions can be found in the
<a href="http://yastgithubio.readthedocs.org/en/latest/development/">
development documentation</a>.</p>
<p>After preparing the development environment and cloning the desired
yast module in git, all the rake tasks provided by
<a href="https://github.com/yast/yast-rake">yast-rake</a> will be
available from your working copy of the repository.</p>
<p>The first step to fixing or improving any application is to understand how
it works and what it is doing at every moment. The openSUSE wiki
has a <a href="http://en.opensuse.org/openSUSE:YaST_debugging">comprehensive
guide</a> about debugging YaST.</p>
</div>
</div>
</div>