<commit_before>{% extends "_base.html" %}

{% block titlecontent -%}
    So you want to contribute? – {{ super() }}
{%- endblock titlecontent %}

{% block bodycontent %}

<div class="container">
    <div class="col-md-12">
        <h1>So you want to contribute?</h1>
        <p>
            That's great! What do you want to do?
        </p>

        <div class="well well-sm">
            Table of Contents:
            <ul>
                <li><a href="#package-it">Package it</a></li>
                <li><a href="#investigate-annotate">Investigate &amp; Annotate</a></li>
                <li><a href="#port-it">Port it</a></li>
            </ul>
        </div>

        <h2 id="package-it">Package it</h2>
        <p>
            There are currently <a href="{{ url_for('hello', _anchor='mispackaged') }}">{{ len(mispackaged) }} packages</a> that are Python 3–ready upstream (that we know of), but not quite yet Python 3–ready in Fedora. These are labeled as "mispackaged" in PortingDB.
        </p><p>
            You can view the <a href="{{ url_for('hello', _anchor='mispackaged') }}">mispackaged packages</a> ordered by their last activity, so you can pick one off the top and be relatively sure nobody is currently working on it.
            Alternatively, you can pick one of <a href="{{ url_for('mispackaged', requested=1) }}">these packages</a>, where the packager explicitly asked for someone to provide a patch since they don't have the time for it.
        </p><p>
            Now open the package in PortingDB (e.g. {{ pkglink(random_mispackaged) }}): The {{ badge(mispackaged_status) }} next to <i>Fedora</i> in the sidebar indicates that indeed we are dealing with a mispackaged package.
        </p>
        <h3>What's What</h3>
        <p>
            On the package page in PortingDB, look down the sidebar for the headline <i>RPMs</i>. There you will see all the RPM (sub)packages contained in this package. Sometimes there's just the base package, sometimes it has several subpackages. What we want to know is if there is a (sub)package for Python 3. If there is only a Python 2 (sub)package, then we know that this package needs to be ported.
        </p><p>
            However, sometimes you will find a package that is still mispackaged even though it already has a Python 3 (sub)package. In those cases, something isn't quite right. Usually the Python 3 subpackage depends on both Python 3 <i>and</i> Python 2. That is unfortunate, because it basically renders the porting effort null.
        </p>
        <h3>Open a Pull Request</h3>
        <p>
            In either case, look a bit further down on the package page in PortingDB and find a link to the associated Bugzilla report (under <i>Links→bug</i> in the sidebar). Go there and join the discussion. Find out what's the status quo and if anyone is working on it. If not, be the one that opens a Pagure pull request with a fix! The link to the package repository in Fedora Pagure is right next to the Fedora logo on top of the package page in PortingDB (if you are not a Fedora packager yet, you may use remote pull requests).
        </p><p>
            If you don't find a link to Bugzilla, you'll need to investigate the issue and <a href="https://fedoraproject.org/wiki/User:Pviktori/Python_3_Bug_Filing">file a bug</a> yourself. A hint on the nature of the problem will usually be provided just under the Fedora heading on the package page.
        </p><p>
            To aid you in your porting effort, use the <a href="http://python-rpm-porting.readthedocs.io">Python RPM Porting Guide</a>. If you are investigating why a Python 3 subpackage still depends on Python&nbsp;2, take a look at the <a href="http://python-rpm-porting.readthedocs.io/en/latest/application-modules.html#are-shebangs-dragging-you-down-to-python-2">section on <i>shebangs</i></a>.
        </p>
        <h3 id="make-it-happen">Make it Happen</h3>
        <p>
            When you have a pull request ready, be sure to post a comment about it in the associated Bugzilla report and ask the assigned packager to review and merge it. However, as maintainers can be unresponsive for long periods of time, let us know about your pull request as well so we can merge it if the maintainer is unable.
        </p><p>
            To let us know, edit the <i>Blocks</i> field of the Bugzilla report and add the string <b>PY3PATCH-AVAILABLE</b> (you can use space as a separator). That way it will appear in our <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1312032">tracking bug</a> for packages with an available patch. If need be, we'll review your pull request and merge it for the maintainer.
        </p>

        <img src="/static/parselmouth-III.png" class="pull-right" />
        <h3>Fame and Glory</h3>
        <p><commit_msg>Update info for non-packagers<commit_after>{% extends "_base.html" %}

{% block titlecontent -%}
    So you want to contribute? – {{ super() }}
{%- endblock titlecontent %}

{% block bodycontent %}

<div class="container">
    <div class="col-md-12">
        <h1>So you want to contribute?</h1>
        <p>
            That's great! What do you want to do?
        </p>

        <div class="well well-sm">
            Table of Contents:
            <ul>
                <li><a href="#package-it">Package it</a></li>
                <li><a href="#investigate-annotate">Investigate &amp; Annotate</a></li>
                <li><a href="#port-it">Port it</a></li>
            </ul>
        </div>

        <h2 id="package-it">Package it</h2>
        <p>
            There are currently <a href="{{ url_for('hello', _anchor='mispackaged') }}">{{ len(mispackaged) }} packages</a> that are Python 3–ready upstream (that we know of), but not quite yet Python 3–ready in Fedora. These are labeled as "mispackaged" in PortingDB.
        </p><p>
            You can view the <a href="{{ url_for('hello', _anchor='mispackaged') }}">mispackaged packages</a> ordered by their last activity, so you can pick one off the top and be relatively sure nobody is currently working on it.
            Alternatively, you can pick one of <a href="{{ url_for('mispackaged', requested=1) }}">these packages</a>, where the packager explicitly asked for someone to provide a patch since they don't have the time for it.
        </p><p>
            Now open the package in PortingDB (e.g. {{ pkglink(random_mispackaged) }}): The {{ badge(mispackaged_status) }} next to <i>Fedora</i> in the sidebar indicates that indeed we are dealing with a mispackaged package.
        </p>
        <h3>What's What</h3>
        <p>
            On the package page in PortingDB, look down the sidebar for the headline <i>RPMs</i>. There you will see all the RPM (sub)packages contained in this package. Sometimes there's just the base package, sometimes it has several subpackages. What we want to know is if there is a (sub)package for Python 3. If there is only a Python 2 (sub)package, then we know that this package needs to be ported.
        </p><p>
            However, sometimes you will find a package that is still mispackaged even though it already has a Python 3 (sub)package. In those cases, something isn't quite right. Usually the Python 3 subpackage depends on both Python 3 <i>and</i> Python 2. That is unfortunate, because it basically renders the porting effort null.
        </p>
        <h3>Open a Pull Request</h3>
        <p>
            In either case, look a bit further down on the package page in PortingDB and find a link to the associated Bugzilla report (under <i>Links→bug</i> in the sidebar). Go there and join the discussion. Find out what's the status quo and if anyone is working on it. If not, be the one that opens a Pagure pull request with a fix! The link to the package repository in Fedora Pagure is right next to the Fedora logo on top of the package page in PortingDB (if you are not a Fedora packager yet, you may use remote pull requests or attach a patch to the Bugzilla ticket).
        </p><p>
            If you don't find a link to Bugzilla, you'll need to investigate the issue and <a href="https://fedoraproject.org/wiki/User:Pviktori/Python_3_Bug_Filing">file a bug</a> yourself. A hint on the nature of the problem will usually be provided just under the Fedora heading on the package page.
        </p><p>
            To aid you in your porting effort, use the <a href="http://python-rpm-porting.readthedocs.io">Python RPM Porting Guide</a>. If you are investigating why a Python 3 subpackage still depends on Python&nbsp;2, take a look at the <a href="http://python-rpm-porting.readthedocs.io/en/latest/application-modules.html#are-shebangs-dragging-you-down-to-python-2">section on <i>shebangs</i></a>.
        </p>
        <h3 id="make-it-happen">Make it Happen</h3>
        <p>
            When you have a pull request ready, be sure to post a comment about it in the associated Bugzilla report and ask the assigned packager to review and merge it. However, as maintainers can be unresponsive for long periods of time, let us know about your pull request as well so we can merge it if the maintainer is unable.
        </p><p>
            To let us know, edit the <i>Blocks</i> field of the Bugzilla report and add the string <b>PY3PATCH-AVAILABLE</b> (you can use space as a separator). That way it will appear in our <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1312032">tracking bug</a> for packages with an available patch. If need be, we'll review your pull request and merge it for the maintainer.
        </p>

        <img src="/static/parselmouth-III.png" class="pull-right" />
        <h3>Fame and Glory</h3>
        <p>
{'fraction_non_alphanumeric': 0.10231159946097232, 'fraction_numerical': 0.007256141805742718, 'mean_word_length': 2.9687371452077334, 'pattern_counts': {'":': 0, '<': 167, '<?xml version=': 0, '>': 167, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '220183', 'n_tokens_mistral': 2876, 'n_tokens_neox': 2722, 'n_words': 1252}