doc/el_GR.ISO8859-7/articles/problem-reports/article.sgml
Gabor Kovesdan f60009ae7c - XMLify the Greek tree
- Entity cleanup

Approved by:	doceng (implicit)
2012-06-24 06:57:12 +00:00

1068 lines
47 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="ISO-8859-7" standalone="no"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V4.2-Based Extension//EN"
"../../../share/sgml/freebsd42.dtd" [
<!ENTITY % entities PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Entity Set//EL" "../../share/sgml/entities.ent">
%entities;
]>
<!--
Γράφοντας Αναφορές Προβλημάτων για το &os;<
The FreeBSD Greek Documentation Project
%SOURCE% en_US.ISO8859-1/articles/problem-reports/article.sgml
%SRCID% 1.43
-->
<article lang="el">
<articleinfo>
<title>Γράφοντας Αναφορές Προβλημάτων για το &os;</title>
<legalnotice id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.cvsup;
&tm-attrib.ibm;
&tm-attrib.intel;
&tm-attrib.sparc;
&tm-attrib.sun;
&tm-attrib.general;
</legalnotice>
<pubdate>$FreeBSD$</pubdate>
<releaseinfo>$FreeBSD$</releaseinfo>
<abstract>
<para>Αυτό το άρθρο περιγράφει πως να μορφοποιήσετε και να
στείλετε μια αναφορά προβλήματος στην ομάδα ανάπτυξης του &os;.</para>
</abstract>
<authorgroup>
<author>
<firstname>Dag-Erling</firstname>
<surname>Sm&oslash;rgrav</surname>
<contrib>Γράφτηκε από </contrib>
</author>
</authorgroup>
</articleinfo>
<indexterm><primary>αναφορές προβλημάτων</primary></indexterm>
<section id="pr-intro">
<title>Εισαγωγή</title>
<para>Μια από τις πιο αποκαρδιωτικές εμπειρίες που μπορεί κάποιος
να έχει σαν χρήστης ενός προγράμματος είναι να στείλει μια
αναφορά προβλήματος μόνο και μόνο για να δει να την κλείνουν
απότομα με μια σύντομη και απότομη εξήγηση όπως π.χ. <quote>αυτό
δεν είναι πρόβλημα</quote> ή <quote>λάθος PR</quote>. Κατά
παρόμοιο τρόπο, μια από τις πιο αποκαρδιωτικές εμπειρίες ενός
προγραμματιστή είναι να κατακλύζεται από αναφορές
προβλημάτων που δεν είναι πραγματικά προβλήματα αλλά αιτήσεις
για βοήθεια και υποστήριξη ή αναφορές που περιέχουν λίγες έως
καθόλου πληροφορίες σχετικά με το πρόβλημα και πως μπορεί
κάποιος να το αναπαράγει.</para>
<para>Αυτό το κείμενο είναι μια προσπάθεια να περιγράψουμε πως μπορείτε να
γράφετε καλές αναφορές προβλημάτων. Τι είναι, θα αναρωτιέστε, μια καλή
αναφορά προβλήματος; Λοιπόν, για να είμαστε ακριβείς, μια καλή αναφορά
προβλήματος είναι αυτή που μπορεί να αναλυθεί και να τη χειριστεί
κάποιος γρήγορα, με αποτέλεσμα την ικανοποίηση τόσο του αποστολέα όσο
και του προγραμματιστή που την ανέλαβε.</para>
<para>Το κυριότερο μέρος αυτού του άρθρου αναφέρεται στις
αναφορές προβλημάτων του &os;. Τα πιο πολλά από όσα θα πούμε εδώ
ισχύουν όμως και γενικότερα, για πολλά άλλα πράγματα.</para>
<para>Αυτό το άρθρο είναι οργανωμένο θεματικά κι όχι χρονολογικά, οπότε
είναι πιο σωστό να το διαβάσετε ολόκληρο πριν στείλετε κάποια αναφορά
προβλήματος και όχι να το χρησιμοποιήσετε σαν οδηγό, βήμα προς
βήμα.</para>
</section>
<section id="pr-when">
<title>Πότε να στείλετε μια αναφορά προβλήματος</title>
<para>Υπάρχουν πολλοί τύποι προβλημάτων, και δεν αξίζουν όλοι μια αναφορά
προβλήματος. Φυσικά κανείς δεν είναι τέλειος, και θα υπάρξουν φορές που
θα έχετε πειστεί ότι βρήκατε κάποιο πρόβλημα σε ένα πρόγραμμα, όταν στην
πραγματικότητα θα έχετε καταλάβει λάθος τη σύνταξη μιας εντολής ή θα
έχετε κάνει κάποιο τυπογραφικό λάθος σε ένα αρχείο ρυθμίσεων (αν κι αυτό
μερικές φορές είναι ενδεικτικό κακής ή λειψής τεκμηρίωσης ή ακόμα και
κακής διαχείρισης λαθών από κάποια εφαρμογή). Ακόμα, υπάρχουν
περιπτώσεις που το να στείλετε κάποια αναφορά προβλήματος <emphasis>δεν είναι</emphasis>
σωστή κίνηση και το μόνο που μπορεί να πετύχει είναι να ενοχλήσει ή εσάς
ή τους προγραμματιστές. Από την άλλη όμως, υπάρχουν περιπτώσεις που
μπορεί να είναι καλή σκέψη να στείλετε μια αναφορά προβλήματος για κάτι
που δεν είναι bug&mdash;μια βελτίωση ή μια αίτηση για κάποιο νέο
χαρακτηριστικό, για παράδειγμα.</para>
<para>Τότε λοιπόν, πώς μπορείτε να αποφασίσετε αν κάτι είναι πρόβλημα ή
όχι; Ένας απλός κανόνας είναι ότι το πρόβλημά σας
<emphasis>δεν</emphasis> είναι bug αν μπορεί να εκφραστεί σαν ερώτηση
(συνήθως της μορφής <quote>Πώς κάνω το Χ;</quote> ή <quote>Πού μπορώ να
βρω το Ψ;</quote>). Δεν είναι πάντα τόσο άσπρο-μαύρο τα πράγματα
βέβαια, αλλά ο κανόνας της ερώτησης καλύπτει την μεγαλύτερη πλειοψηφία
των περιπτώσεων. Αν αυτό που ψάχνετε είναι κάποια απάντηση, ίσως είναι
καλύτερα να στείλετε την ερώτησή σας στην &a.questions;.</para>
<para>Κάποιες περιπτώσεις που πιθανόν να είναι καλή ιδέα να στείλετε μια
αναφορά προβλήματος για κάτι που δεν είναι bug, είναι:</para>
<itemizedlist>
<listitem>
<para>Αιτήσεις για μελλοντικές βελτιώσεις. Είναι γενικά καλή ιδέα να
δοκιμάσετε να συζητήσετε πρώτα τέτοιες ιδέες σε κάποια λίστα
ηλεκτρονικού ταχυδρομείου πριν στείλετε μια αναφορά
προβλήματος.</para>
</listitem>
<listitem>
<para>Ειδοποίηση για ενημερωμένες εκδόσεις προγραμμάτων (κυρίως ports,
αλλά και μέρη του βασικού συστήματος που συντηρούνται από τρίτους,
όπως το BIND και τα διάφορα GNU εργαλεία).</para>
<para>Όταν ένα πακέτο δεν είναι υπό την άμεση επίβλεψη ενός επίσημου
υπεύθυνου (η τιμή του <makevar>MAINTAINER</makevar>
είναι <literal>ports@FreeBSD.org</literal>) μπορεί οποιοσδήποτε
committer ή άλλος ενδιαφερόμενος να διαχειριστεί αυτές τις
ειδοποιήσεις. Μπορεί, ακόμη, να σας ζητηθεί και κάποιο patch για
ενημερωθεί το πακέτο. Αν έχετε ήδη φτιάξει κάποιο patch, καλό είναι
να το συμπεριλάβετε κι αυτό στην αναφορά προβλήματος που θα
στείλετε. Έτσι αυξάνονται οι πιθανότητες να το δει κάποιος
committer που ενδιαφέρεται και να χειριστεί αυτή την αναφορά
προβλήματος πιο σύντομα.</para>
<para>Όταν ένα πακέτο είναι υπό την επίβλεψη κάποιου, συνήθως δεν
είναι ιδιαίτερα χρήσιμες οι αναφορές που απλώς ανακοινώνουν μια
καινούρια έκδοση από τον συγγραφέα του πηγαίου κώδικα του πακέτου.
Συνήθως το ξέρει ήδη ο υπεύθυνος του πακέτου για το &os;, ή έχει
συνεργαστεί με τον συγγραφέα του πηγαίου κώδικα για τη νέα έκδοση, ή
δοκιμάζει το πακέτο για να δει ότι όλα εξακολουθούν να δουλεύουν,
κοκ.</para>
<para>Όπως και να 'χει, είναι καλή ιδέα να ακολουθήσετε τη διαδικασία
από το <ulink url="&url.books.porters-handbook;/port-upgrading.html">Porter's
Handbook</ulink>.</para>
</listitem>
</itemizedlist>
<para>Ένα bug που δεν μπορεί κανείς να το αναπαράγει είναι πολύ
δύσκολο να διορθωθεί. Αν το bug εμφανίστηκε μια φορά μόνο και δεν
μπορείτε να το αναπαράγετε εσείς, και φαινομενικά δεν εμφανίζεται σε
κανέναν άλλο, είναι πολύ μικρές οι πιθανότητες να μπορεί κάποιος
προγραμματιστής να το ανακαλύψει και να καταλάβει τί είναι αυτό που
προκαλεί το λάθος. Αυτό δεν σημαίνει πως δεν συμβαίνει, αλλά σημαίνει
πως η πιθανότητα να οδηγήσει η αναφορά σας στην λύση του προβλήματος
είναι πάρα πολύ μικρή, και μάλλον είναι καλύτερο να σταματήσετε να
ασχολείστε με το θέμα. Ακόμα χειρότερα, κάποιες φορές αυτού του είδους
τα προβλήματα οφείλονται σε προβλήματα του υλικού (χαλασμένους σκληρούς
δίσκους ή επεξεργαστές που υπερθερμαίνονται). Πρέπει πάντοτε πριν
στέλνετε μια αναφορά προβλήματος, όταν φυσικά είναι δυνατόν να γίνει
κάτι τέτοιο, να προσπαθείτε να αποκλείσετε τέτοιες περιπτώσεις.</para>
<para>Για να αποφασίσετε σε ποιά κατηγορία προβλημάτων ανήκει η αναφορά
σας, πρέπει να έχετε κατά νου τα διάφορα μέρη του λογισμικού από το
οποίο αποτελείται το &os;:</para>
<itemizedlist>
<listitem>
<para>Ο κώδικας του βασικού συστήματος που έχει γραφτεί και
συντηρείται από την ομάδα του &os;. Σε αυτή την κατηγορία
λογισμικού ανήκουν ο πυρήνας, η βιβλιοθήκη της C, και οι οδηγοί
συσκευών (κατηγορία <literal>kern</literal>), τα εργαλεία γραμμής
εντολών του βασικού συστήματος (κατηγορία <literal>bin</literal>),
οι σελίδες βοήθειας και η τεκμηρίωση του &os;
(κατηγορία <literal>docs</literal>), και ο ιστότοπος του &os;
(κατηγορία <literal>www</literal>). Όλα τα προβλήματα με κάποιο από
αυτά τα μέρη του &os; πρέπει να αναφέρονται στην ομάδα ανάπτυξης του
&os;.</para>
</listitem>
<listitem>
<para>Ο κώδικας του βασικού συστήματος που έχει γραφτεί και
συντηρείται από τρίτους αλλά έχει ενσωματωθεί στο &os; κι έχει
προσαρμοστεί σε αυτό. Παραδείγματα τέτοιων προγραμμάτων είναι
το <application>bind</application>, ο μεταγλωττιστής &man.gcc.1; και
το &man.sendmail.8;. Τα περισσότερα προβλήματα με κάποιο από αυτά
τα προγράμματα πρέπει να αναφέρονται στην ομάδα ανάπτυξης του &os;.
Σε μερικές περιπτώσεις μπορεί να χρειαστεί να αναφερθούν στους
αρχικούς συγγραφείς του αντίστοιχου προγράμματος· ειδικά αν το
πρόβλημα δεν εμφανίζεται μόνο στο &os;. Οι πιο συνηθισμένες
κατηγορίες για τις αναφορές προβλημάτων σχετικά με αυτά τα
προγράμματα είναι οι <literal>bin</literal>
και <literal>gnu</literal>.</para>
</listitem>
<listitem>
<para>Άλλες εφαρμογές, οι οποίες δεν είναι μέρος του βασικού
συστήματος του &os;, αλλά υποστηρίζονται ως μέρος της Συλλογής των
Ports (κατηγορία <literal>ports</literal>). Η συντριπτική
πλειοψηφία αυτών των εφαρμογών δεν έχει γραφτεί από την ομάδα του
&os;. Αυτό που παρέχεται από το &os; είναι απλά η δυνατότητα να
εγκατασταθούν αυτές οι εφαρμογές (με μερικές χρήσιμες αλλά όσο το
δυνατόν λιγότερες ή μικρότερες σε έκταση αλλαγές) σε ένα σύστημα
&os;. Οπότε πρέπει να αναφέρετε οποιοδήποτε πρόβλημα έχουν αυτές οι
εφαρμογές στην ομάδα του &os; κυρίως όταν πιστεύετε ότι το πρόβλημα
εμφανίζεται μόνο στο &os;. Σε αντίθετη περίπτωση είναι καλύτερη
ιδέα να αναφέρεται το πρόβλημα στον αρχικό συγγραφέα του αντίστοιχου
προγράμματος.</para>
</listitem>
</itemizedlist>
<para>Τέλος, ελέγξτε ότι η αναφορά που στέλνετε αφορά ένα πρόβλημα το
οποίο υπάρχει ακόμα. Μερικές φορές είναι κάπως ενοχλητικό για έναν
προγραμματιστή να παίρνει ειδοποιήσεις για ένα πρόβλημα το οποίο έχει
ήδη διορθωθεί.</para>
<para>Αν το πρόβλημα που αντιμετωπίζετε αφορά το βασικό σύστημα και δεν
έχετε ενημερωθεί ήδη για τις τελευταίες εκδόσεις του &os;, διαβάστε το
τμήμα <ulink url="&url.books.faq;/introduction.html#LATEST-VERSION">εκδόσεις
του &os;</ulink> στη Λίστα Συχνών Ερωτήσεων του &os;. Η ομάδα του &os;
μπορεί να συντηρεί μόνο ένα ορισμένο (μικρό) αριθμό κλάδων ανάπτυξης του
&os;. Δε μπορεί να διορθώνει προβλήματα για οποιαδήποτε έκδοση του
&os;. Οπότε αν αναφέρετε ότι έχετε πρόβλημα με μια πολύ παλιά έκδοση
του συστήματος, η πιο πιθανή απάντηση που θα πάρετε θα είναι να
αναβαθμίσετε το σύστημά σας σε μια έκδοση που υποστηρίζεται επίσημα από
την ομάδα του &os; και να κάνετε δοκιμές για να δείτε αν το πρόβλημα
έχει ήδη διορθωθεί ή υπάρχει ακόμη. Η Ομάδα Ασφάλειας του &os; συντηρεί
και ενημερώνει μια <ulink url="http://www.freebsd.org/security/">λίστα
εκδόσεων του &os; που υποστηρίζονται επίσημα</ulink>.</para>
<para>Αν το πρόβλημα που αντιμετωπίζετε αφορά ένα πακέτο, τότε πρέπει κατ'
αρχήν να ενημερώσετε τα Ports σας στην τελευταία έκδοση της Συλλογής των
Ports και να δείτε αν το πρόβλημα υπάρχει ακόμα. Οι εφαρμογές που
περιέχονται στη Συλλογή των Ports αλλάζουν πολύ γρήγορα. Λόγω του
γρήγορου ρυθμού με τον οποίο ενημερώνονται είναι πρακτικά αδύνατον για
την ομάδα του &os; να υποστηρίξει οποιαδήποτε παλιότερη έκδοση των
Ports. Αυτό σημαίνει ότι τα προβλήματα που έχουν οι παλιές εκδόσεις
κάποιων προγραμμάτων απλά δε γίνεται να διορθωθούν.</para>
</section>
<section id="pr-prep">
<title>Προετοιμασία</title>
<para>Είναι καλή ιδέα να κάνετε πάντα μια μικρή έρευνα πριν να στείλετε
κάποια αναφορά προβλήματος. Μπορεί το πρόβλημά σας να το έχει ήδη
αναφέρει και κάποιος άλλος. Μπορεί να είναι θέμα συζητήσεων σε κάποια
λίστα ηλεκτρονικού ταχυδρομείου ή να ήταν πρόσφατα. Μπορεί ακόμα, να
είναι ήδη διορθωμένο το πρόβλημα σε κάποια έκδοση νεώτερη από αυτή που
τρέχετε. Πρέπει λοιπόν να ελέγχετε όλα τα προφανή σημεία, πριν να
στείλετε μια αναφορά προβλήματος. Για το &os; αυτό σημαίνει:</para>
<itemizedlist>
<listitem>
<para>Την
<ulink url="&url.books.faq;/index.html">λίστα</ulink>
με τις πιο συχνές ερωτήσεις (FAQ) για το &os;.
Η λίστα αυτή παρέχει απαντήσεις σε μια μεγάλη ποικιλία ερωτήσεων,
όπως αυτές που αφορούν <ulink url="&url.books.faq;/hardware.html">το
υλικό</ulink>,
<ulink url="&url.books.faq;/applications.html">τις εφαρμογές</ulink>
και τις
<ulink url="&url.books.faq;/kernelconfig.html">ρυθμίσεις του
πυρήνα</ulink>.</para>
</listitem>
<listitem>
<para>Οι
<ulink url="&url.books.handbook;/eresources.html#ERESOURCES-MAIL">λίστες
ηλεκτρονικού ταχυδρομείου</ulink>&mdash;αν δεν έχετε γραφτεί σε
κάποια από αυτές, μπορείτε να χρησιμοποιήσετε το
<ulink url="http://www.FreeBSD.org/search/search.html#mailinglists">αρχείο</ulink>
στις σελίδες του &os; για να αναζητήσετε πληροφορίες σχετικές με το
πρόβλημα. Αν το πρόβλημά σας δεν έχει συζητηθεί στις λίστες είναι,
γενικά, καλή ιδέα να στείλετε ένα γράμμα στις λίστες ηλεκτρονικού
ταχυδρομείου και να περιμένετε λίγες μέρες μήπως κάποιος βρει κάτι
που εσείς δεν προσέξατε.</para>
</listitem>
<listitem>
<para>Προαιρετικά, όλο το δίκτυο. Χρησιμοποιήστε την αγαπημένη σας
μηχανή αναζήτησης για να βρείτε πληροφορίες σχετικά με το πρόβλημα.
Έτσι μπορεί να βρείτε ακόμη και αναφορές από λίστες ηλεκτρονικού
ταχυδρομείου ή ομάδες συζητήσεων που δεν ξέρατε ότι υπάρχουν ή δεν
σκεφτήκατε να ψάξετε.</para>
</listitem>
<listitem>
<para>Ύστερα μπορείτε να αναζητήσετε σχετικές αναφορές στην
<ulink url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">βάση
αναφορών του &os;</ulink> (GNATS).
Αν το πρόβλημά σας δεν είναι πρόσφατο ή αρκετά περίεργο, είναι πολύ
πιθανόν να έχει ήδη στείλει κάποιος άλλος μια αναφορά.</para>
</listitem>
<listitem>
<para>Το πιο σημαντικό από όλα όμως είναι να δείτε μήπως η τεκμηρίωση
του &os; περιέχει κάποια λύση στο πρόβλημά σας.</para>
<para>Για το βασικό σύστημα του &os; πρέπει να μελετήσετε προσεκτικά
τις οδηγίες που περιέχει το αρχείο
<filename>/usr/src/UPDATING</filename> στο σύστημά σας ή αυτές που
περιέχει η τελευταία έκδοση του αρχείου, η οποία είναι διαθέσιμη στη
διεύθυνση:
<ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi/src/UPDATING"></ulink>.
(Αυτό το αρχείο περιέχει κρίσιμες πληροφορίες για αναβάθμιση από μια
έκδοση του &os; σε κάποια άλλη&mdash;ειδικά για τις εκδόσεις του
&os.current;).</para>
<para>Αν το πρόβλημα εμφανίζεται σε κάτι που εγκαταστάθηκε ως μέρος
της Συλλογής των Ports του &os;, τα αντίστοιχα αρχεία με πληροφορίες
είναι τα: <filename>/usr/ports/UPDATING</filename> (για πληροφορίες
σχετικά με συγκεκριμένα πακέτα),
<filename>/usr/ports/CHANGES</filename> (για αλλαγές που αφορούν όλη
την Συλλογή των Ports).
Κι αυτά τα αρχεία είναι διαθέσιμα μέσω CVSweb, στις διευθύνσεις
<ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/UPDATING"></ulink>
και
<ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi/ports/CHANGES"></ulink>
αντίστοιχα.</para>
</listitem>
</itemizedlist>
</section>
<section id="pr-writing">
<title>Γράφοντας αναφορές προβλημάτων</title>
<para>Τώρα που έχετε αποφασίσει ότι αξίζει να γράψετε κάποια αναφορά
προβλήματος, και ότι όντως είναι κάποιο πρόβλημα του &os; αυτό που
θέλετε να περιγράψετε, είναι ώρα να γράψετε την αναφορά. Πριν μπούμε σε λεπτομέρειες σχετικά με το πρόγραμμα που χρησιμοποιείται για να γράφονται και να στέλνονται οι αναφορές προβλημάτων, ας δούμε μερικά
κόλπα που θα σας βοηθήσουν να στείλετε χρήσιμες αναφορές.</para>
<section>
<title>Κόλπα για να γράφετε χρήσιμες αναφορές προβλημάτων</title>
<itemizedlist>
<listitem>
<para><emphasis>Μην αφήνετε κενή την γραμμή
<quote>Synopsis</quote>.</emphasis> Οι αναφορές προβλημάτων
στέλνονται σε μια λίστα ηλεκτρονικού ταχυδρομείου, η οποία προωθεί
την αναφορά σας σε ανθρώπους σε όλο τον κόσμο (όπου το κείμενο της
γραμμής <quote>Synopsis</quote> χρησιμοποιείται ως θέμα του
μηνύματος), αλλά και σε μια βάση δεδομένων. Οποιοσδήποτε
προσπαθήσει αργότερα να δει μια λίστα με τις αναφορές προβλημάτων
μπορεί να αγνοήσει εντελώς την αναφορά σας αν δεν έχει θέμα.
Να έχετε κατα νου σας ότι οι αναφορές μένουν σε αυτή τη βάση μέχρι
κάποιος να ασχοληθεί μαζί τους και να τις κλείσει. Μια ανώνυμη
αναφορά, χωρίς κανένα θέμα, συνήθως, χάνεται στο θόρυβο.</para>
</listitem>
<listitem>
<para><emphasis>Μη χρησιμοποιείτε αταίριαστες περιγραφές στη γραμμή
<quote>Synopsis</quote>.</emphasis> Μην θεωρείτε ότι οποιοσδήποτε
διαβάσει την αναφορά σας θα έχει και το κατάλληλο υπόβαθρο για να
καταλάβει τι λέτε, οπότε όσο περισσότερες λεπτομέρειες
συμπεριλάβετε τόσο καλύτερα είναι. Για παράδειγμα, η αναφορά και
το πρόβλημα που στέλνετε ποιο μέρος του συστήματός σας αφορά; Το
πρόβλημα εμφανίζεται μόνο κατά τη διάρκεια της εγκατάστασης ή και
μετά; Για παράδειγμα, δείτε πόσο πιο καλά είναι αν αντί να
γράψετε <literal>Synopsis: portupgrade is broken</literal> γίνετε
πιο περιγραφικοί <literal>Synopsis: port sysutils/portupgrade
coredumps on -current</literal>. (Ειδικά στην περίπτωση των ports
είναι πολύ χρήσιμο να υπάρχει τόσο η κατηγορία όσο και το όνομα
του port στη γραμμή της σύνοψης).</para>
</listitem>
<listitem>
<para><emphasis>Αν έχετε κάποιο patch, πείτε το.</emphasis>
Είναι πολύ ππιο πιθανό να ασχοληθεί κάποιος με μια αναφορά
προβλήματος που περιλαμβάνει και κάποιο patch από ότι με κάποια
που απλά αναφέρει το πρόβλημα. Αν η αναφορά σας περιλαμβάνει
κάποιο patch τότε είναι καλή ιδέα να προσθέσετε το κείμενο
<literal>[patch]</literal> στην αρχή της <quote>Synopsis</quote>
σας. (Παρόλο που δεν είναι υποχρεωτικό να χρησιμοποιήσετε ακριβώς
αυτό το κείμενο, συνήθως αυτό χρησιμοποιούν οι περισσότεροι μέχρι
σήμερα.)</para>
</listitem>
<listitem>
<para><emphasis>Αν είστε εσείς ο υπεύθυνος για τη συντήρηση κάποιου
μέρους του κώδικα, πείτε το.</emphasis> Αν είναι δική σας ευθύνη
η συντήρηση κάποιου μέρους του κώδικα του &os; (για παράδειγμα
είστε ο MAINTAINER κάποιου port), δεν είναι άσχημη ιδέα να
προσθέσετε το κείμενο <literal>[maintainer update]</literal> στην
αρχή της <quote>Synopsis</quote> σας. Οπωσδήποτε όμως να
θυμηθείτε να θέσετε την τιμή του <quote>Class</quote> της αναφοράς
σας σε <literal>maintainer-update</literal>. Έτσι όποιο μέλος της
ομάδας ανάπτυξης ασχοληθεί με την αναφορά σας δε θα χρειάζεται να
ελέγξει αν όντως εσείς είστε ο maintainer.</para>
</listitem>
<listitem>
<para><emphasis>Να είστε ακριβείς &amp; συγκεκριμένοι.</emphasis>
Όσο περισσότερες πληροφορίες γράψετε σχετικά με το πρόβλημα που
αντιμετωπίζετε, τόσο αυξάνονται οι πιθανότητες να πάρετε μια
χρήσιμη και σωστή απάντηση.</para>
<itemizedlist>
<listitem>
<para>Συμπεριλάβετε την έκδοση του &os; που χρησιμοποιείτε
(παρακάτω θα δούμε πως υπάρχει συγκεκριμένο μέρος που μπορείτε
να το γράψετε αυτό) και ποιας αρχιτεκτονικής είναι το μηχάνημά
σας. Είναι ιδιαίτερα χρήσιμο να γράψετε αν τρέχετε κάποια
επίσημη έκδοση (π.χ. από ένα CDROM ή κάποια που κατεβάσατε από
το δίκτυο) ή αν το σύστημα σας το ενημερώνετε με το
&man.cvsup.1; (κι αν ναι, πόσο πρόσφατα το ενημερώσατε).
Αν χρησιμοποιείτε το &os.current;, αυτό είναι και το πρώτο
πράγμα που θα σας ρωτήσει κάποιος, επειδή οι αλλαγές και οι
διορθώσεις (ειδικά για τα σημαντικά προβλήματα) γίνονται,
γενικά, πολύ γρήγορα και συχνά. Οι χρήστες του &os.current;
πρέπει να τις παρακολουθούν με προσοχή και να ενημερώνουν
συχνά το σύστημά τους.</para>
</listitem>
<listitem>
<para>Συμπεριλάβετε και τις ρυθμίσεις που περιέχει το αρχείο
<filename>make.conf</filename> στο σύστημά σας. Σημειώστε πως
η χρήση της επιλογής <literal>-O2</literal> του &man.gcc.1;
είναι γνωστή πηγή προβλημάτων. Παρόλο που η ομάδα ανάπτυξης
του &os; δεν θα 'λεγε όχι σε patches που να διορθώνουν αυτά τα
προβλήματα είναι γενικά απρόθυμη στο να αναζητά τις αιτίες
τέτοιων προβλημάτων επειδή δεν έχει το χρόνο ή το ανθρώπινο
δυναμικό να το κάνει. Αν τα προβλήματά σας οφείλονται σε αυτό
το πρόβλημα των optimizations μπορεί να σας απαντήσουν ότι δεν
υποστηρίζεται αυτός ο τρόπος χρήσης του &os;.</para>
</listitem>
<listitem>
<para>Αν το πρόβλημά σας αφορά τον πυρήνα, τότε να είστε
προετοιμασμένοι να δώσετε και τις εξής έξτρα πληροφορίες.
(Δεν είναι ανάγκη να τις συμπεριλάβετε έτσι κι αλλιώς, αφού το
μόνο που θα καταφέρετε είναι να αυξήσετε χωρίς λόγο το χώρο
που απαιτεί η βάση προβλημάτων στο δίσκο, αλλά δεν είναι κακή
ιδέα να συμπεριλάβετε μόνο τα μέρη που θεωρείτε σχετικά):</para>
<itemizedlist>
<listitem>
<para>τις ρυθμίσεις του πυρήνα σας (και ποιές συσκευές έχετε
εγκατεστημένες στο μηχάνημά σας)</para>
</listitem>
<listitem>
<para>αν έχετε ενεργοποιημένες επιλογές debugging στον
πυρήνα σας (όπως π.χ. την επιλογή
<literal>WITNESS</literal>) κι αν ναι αν το πρόβλημα
συνεχίζει να υπάρχει αφαιρώντας αυτές τις επιλογές</para>
</listitem>
<listitem>
<para>ένα backtrace, αν μπορέσατε να καταγράψετε κάποιο</para>
</listitem>
<listitem>
<para>αν έχετε διαβάσει προσεκτικά το αρχείο
<filename>src/UPDATING</filename> κι αν το πρόβλημά σας
αναφέρεται ή όχι σε αυτό (είναι σίγουρο ότι κάποιος θα σας
ρωτήσει γι αυτό)</para>
</listitem>
<listitem>
<para>αν μπορείτε να τρέξετε κάποιο άλλο πυρήνα σαν
προσωρινή λύση (έτσι αποκλείονται προβλήματα με το υλικό,
όπως δίσκοι που άρχισαν να χαλάνε ή επεξεργαστές που
υπερθερμαίνονται, που μπορεί να σας μπερδέψουν και να
νομίσετε ότι έχει πρόβλημα ο πυρήνας)</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>Αν έχετε πρόβλημα με κάποιο port, τότε να έχετε διαθέσιμες
τις εξής πληροφορίες.
(Δεν είναι ανάγκη να τις συμπεριλάβετε έτσι κι αλλιώς, αλλά
δεν είναι κακή ιδέα να συμπεριλάβετε μόνο τα μέρη που θεωρείτε
σχετικά):</para>
<itemizedlist>
<listitem>
<para>ποια ports έχετε εγκαταστήσει</para>
</listitem>
<listitem>
<para>μεταβλητές του περιβάλλοντος που μπορεί να επηρεάζουν
τις προκαθορισμένες ρυθμίσεις του συστήματος στο αρχείο
<filename>bsd.port.mk</filename>, όπως π.χ. η μεταβλητή
περιβάλλοντος <makevar>PORTSDIR</makevar></para>
</listitem>
<listitem>
<para>αν έχετε διαβάσει το αρχείο
<filename>ports/UPDATING</filename> κι αν το πρόβλημά σας
αναφέρεται ή όχι σε αυτό (είναι σίγουρο ότι κάποιος θα σας
ρωτήσει γι αυτό)</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><emphasis>Αποφύγετε τις ασαφείς αιτήσεις για νέα
χαρακτηριστικά.</emphasis>
Οι αναφορές της μορφής <quote>στ' αλήθεια, κάποιος πρέπει να
υλοποιήσει κάτι που να κάνει το τάδε ή το δείνα</quote> δεν
είναι πολύ σίγουρο ότι θα τύχουν καλύτερης αντιμετώπισης από
τις αναφορές που περιγράφουν συγκεκριμένες αλλαγές. Να
θυμάστε ότι ο κώδικας είναι διαθέσιμος σε όλους, οπότε αν
θέλετε κάποιο νέο χαρακτηριστικό ο καλύτερος τρόπος να το
δείτε να υλοποιείται σαν μέρος του &os; είναι να το φτιάξετε
εσείς. Πολλές φορές μάλιστα είναι προτιμότερο να ρωτήσετε
στην <literal>freebsd-questions</literal> παρά να
δημιουργήσετε μια καινούρια εγγραφή στη βάση αναφορών
προβλημάτων.</para>
</listitem>
<listitem>
<para><emphasis>Σιγουρευτείτε ότι δεν έχει στείλει ήδη κάποιος
άλλος μια παρόμοια αναφορά.</emphasis> Παρόλο που το έχουμε
ξαναπεί αυτό, αξίζει να το αναφέρουμε πάλι εδώ. Χρειάζεται
μόνο ένα λεπτό για να ανοίξετε ένα φυλλομετρητή και να
χρησιμοποιήσετε τη μηχανή αναζήτησης αναφορών προβλημάτων
του &os; στη διεύθυνση
<ulink url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query"></ulink>.
(Φυσικά, όλοι έχουμε ξεχάσει κάποιες φορές να το κάνουμε
αυτό.)</para>
</listitem>
<listitem>
<para><emphasis>Αποφύγετε τις επικίνδυνες αιτήσεις.</emphasis>
Αν η αναφορά σας επηρεάζει ένα μέρος του κώδικα για το οποίο
υπήρξαν διαφωνίες στο παρελθόν, μάλλον πρέπει εκτός από τα
patches που θα ετοιμάσετε να είστε προετοιμασμένοι και για
να δικιολογήσετε τις αλλαγές σας, εξηγώντας γιατί είναι
<quote>Σωστό να Γίνουν</quote>. Όπως είπαμε και πιο πριν,
μια προσεκτική αναζήτηση στα αρχεία των λιστών ηλεκτρονικού
ταχυδρομείου στη διεύθυνση
<ulink url="http://www.FreeBSD.org/search/search.html#mailinglists"></ulink>
είναι πάντα καλός τρόπος να προετοιμαστείτε για τέτοιες
καταστάσεις.</para>
</listitem>
<listitem>
<para><emphasis>Να είστε ευγενικοί.</emphasis>
Σχεδόν όλοι όσοι πρόκειται να ασχοληθούν με την αναφορά σας
για κάποιο πρόβλημα είναι εθελοντές. Σε κανέναν δεν αρέσει
να τους λένε τι να κάνουν όταν ήδη κάνουν το ίδιο πράγμα εδώ
και καιρό για λόγους που δεν έχουν σχέση με οικονομικές
απολαβές. Είναι καλό να το έχετε κατά νου αυτό όταν
ασχολείστε με προγράμματα Ανοιχτού Λογισμικού ή Λογισμικού
Ελεύθερου Κώδικα.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Πριν αρχίσετε</title>
<para>Αν χρησιμοποιείτε το πρόγραμμα &man.send-pr.1;, σιγουρευτείτε ότι η
μεταβλητή περιβάλλοντος <envar>VISUAL</envar> (ή η μεταβλητή
περιβάλλοντος <envar>EDITOR</envar> αν δεν είναι ορισμένη η
<envar>VISUAL</envar>) έχει κάποια λογική τιμή.</para>
<para>Ελέγξτε επίσης ότι η αποστολή ηλεκτρονικής αλληλογραφίας
λειτουργεί σωστά. Το πρόγραμμα &man.send-pr.1; χρησιμοποιεί μηνύματα
ηλεκτρονικής αλληλογραφίας για την αποστολή και την παρακολούθηση των
αναφορών προβλημάτων. Αν δε μπορείτε να στείλετε μηνύματα
ηλεκτρονικής αλληλογραφίας από το μηχάνημα στο οποίο χρησιμοποιείτε
το πρόγραμμα &man.send-pr.1;, το μήνυμά σας και η αναφορά δε θα φτάσει
ποτέ στη βάση αναφορών προβλημάτων του &os;. Για λεπτομέρειες σχετικά
με τη ρύθμιση της ηλεκτρονικής αλληλογραφίας στο &os; δείτε το
κεφάλαιο περί <quote>Ηλεκτρονικής Αλληλογραφίας</quote> στο Εγχειρίδιο
του &os; στη διεύθυνση
<ulink url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/mail.html"></ulink>.</para>
<para>Σιγουρευτείτε ότι το πρόγραμμα αλληλογραφίας το οποίο
χρησιμοποιείτε δεν θα αλλάξει ούτε το περιεχόμενο ούτε τη μορφή του
κειμένου που στέλνετε πριν αυτό φτάσει στο σύστημα GNATS του &os;.
Πιο συγκεκριμένα, αν το πρόγραμμα αλληλογραφίας σας αποφασίζει
αυτόματα για το μήκος κάθε γραμμής κειμένου, αλλάζει τους χαρακτήρες
στηλοθέτη με κενά ή επεμβαίνει στους χαρακτήρες αλλαγής γραμμής, τότε
κάθε patch που στέλνετε μπορεί να είναι εντελώς άχρηστο. Από την
άλλη, στα πεδία της αναφοράς προβλήματος τα οποία περιέχουν απλό
κείμενο είναι πιο βολικό να έχει περίπου 70 στήλες η κάθε γραμμή.
Έτσι διαβάζεται πιο εύκολα το κείμενο της αναφοράς μέσα από το web
interface μας.</para>
<para>Παρόμοια προσοχή χρειάζεται και όταν, αντί για το εργαλείο
&man.send-pr.1;, χρησιμοποιείτε τη φόρμα υποβολής αναφορών που έχει η
ιστοσελίδα μας. Η αντιγραφή και επικόλληση κειμένου μπορεί να
επηρεάσει τη μορφοποίηση του κειμένου. Σε μερικές περιπτώσεις μπορεί
να χρειαστεί ακόμα και το εργαλείο &man.uuencode.1; για να είστε
σίγουροι ότι ένα patch φτάνει ως εμάς χωρίς αλλαγές.</para>
<para>Τέλος, αν η αναφορά σας περιέχει μεγάλα αρχεία ή αρκετό κείμενο,
ίσως είναι καλύτερα να την προετοιμάσετε σε ένα ξεχωριστό αρχείο και
να την αποθηκεύσετε πριν προσπαθήσετε να τη στείλετε. Αν δεν πετύχει
η αποστολή της αναφοράς, δε θα ριψοκινδυνέψετε να χαθεί ότι έχετε
γράψει μέχρι εκείνη τη στιγμή. Η φόρμα αποστολής μέσω web είναι συχνά
πηγή τέτοιων προβλήματων.</para>
</section>
<section>
<title>Επισυνάπτοντας patches ή αρχεία</title>
<para>Το πρόγραμμα &man.send-pr.1; έχει την δυνατότητα να επισυνάψει
αρχεία σε μια αναφορά προβλήματος. Μπορείτε να επισυνάψετε όσα αρχεία
θέλετε, αρκεί το καθένα να έχει μοναδικό βασικό όνομα (το όνομα του
αρχείου χωρίς την διαδρομή). Απλά χρησιμοποιήστε την παράμετρο
<option>-a</option> στην γραμμή εντολών για να καταδείξετε τα ονόματα
των αρχείων που θέλετε να επισυνάψετε:</para>
<screen>&prompt.user; <userinput>send-pr -a /var/run/dmesg -a /tmp/errors</userinput></screen>
<para>Δεν χρειάζεται να ανησυχείτε για τα αρχεία που δεν είναι κείμενο.
Θα κωδικοποιηθούν κατάλληλα για να μην τα αλλάξει το πρόγραμμα
αποστολής ηλεκτρονικής αλληλογραφίας που χρησιμοποιείτε.</para>
<para>Αν μαζί με την αναφορά στείλετε και κάποιο patch, φροντίστε να
χρησιμοποιήσετε την επιλογή <option>-c</option> ή την
<option>-u</option> στην εντολή &man.diff.1; για να δημιουργήσετε ένα
context ή unified αρχείο διαφορών, και μην ξεχάσετε να σημειώσετε τις
ακριβείς εκδόσεις των αρχείων που αλλάξατε έτσι ώστε οι
προγραμματιστές που θα διαβάσουν την αναφορά σας να μπορούν να κάνουν
τις ίδιες αλλαγές εύκολα. Για τα προβλήματα που αφορούν τον πυρήνα ή
τα εργαλεία του βασικού συστήματος είναι προτιμότερο το patch σας να
βασίζεται στο &os.current; (το HEAD branch του CVS) αφού όλες οι
αλλαγές πρέπει πρώτα να γίνονται σε αυτό το branch για να δοκιμαστούν.
Αφού περάσει κάποιος καιρός κι οι αλλαγές δοκιμαστούν αρκετά μόνο τότε
ενσωματώνονται/μεταφέρονται οι αλλαγές στο &os.stable; branch.</para>
<para>Αν ενσωματώσετε το patch σας στην αναφορά, αντί να το στείλετε σαν
επισύναψη, προσέξτε αρκετά γιατί ένα αρκετά συχνό πρόβλημα είναι πως
πολλά προγράμματα ηλεκτρονικής αλληλογραφίας έχουν την τάση να
μετατρέπουν τους στηλοθέτες σε κενά, κάτι που καταστρέφει εντελώς
οτιδήποτε αποτελεί μέρος κάποιου Makefile.</para>
<para>Μη στέλνετε τα patches σας ως επισυνάψεις με την
κωδικοποίηση <command>Content-Transfer-Encoding:
quoted-printable</command>. Αυτή η κωδικοποίηση αλλάζει κάποιους
χαρακτήρες με αποτέλεσμα να είναι άχρηστο ολόκληρο το patch.</para>
<para>Γενικά, πάντως, δεν τρέχει τίποτα αν ενσωματώσετε κάποιο μικρό
patch στην αναφορά σας&mdash;ειδικά αν είναι φανερό πως διορθώνει το
πρόβλημα που περιγράφεται στην αναφορά. Τα πιο μεγάλα patches, κυρίως
κώδικας που μπορεί να απαιτεί λεπτομερή ανάλυση και δοκιμές πριν γίνει
commit, είναι καλύτερα να τα ανεβάζετε σε κάποιο web ή ftp server και
να περιλαμβάνετε στην αναφορά σας το URL για να τα βρίσκει ο
αναγνώστης της αναφοράς αντί να ενσωματώνετε το ίδιο το patch.
Πολλές φορές τα patches καταστρέφονται όταν είναι μέρος ενός email,
ειδικά όταν περνούν από το πρόγραμμα GNATS, κι όσο πιο μεγάλο είναι το
patch τόσο πιο δύσκολο θα είναι για όποιον ενδιαφέρεται να το
διορθώσει για να το δοκιμάσει. Ένα άλλο καλό που έχει η διανομή ενός
patch μέσω web ή ftp είναι ότι μπορείτε να αλλάξετε το patch χωρίς να
χρειάζεται να το ξαναστείλετε όλο σαν μέρος μιας απάντησης στην αρχική
αναφορά. Τα μεγάλα patches αυξάνουν μόνιμα το μέγεθος της βάσης
αναφορών, αφού ακόμη κι όταν διορθωθεί ένα πρόβλημα και κλείσει η
αντίστοιχη αναφορά προβλήματος δε σβήνεται τίποτα από τη βάση
αναφορών, αλλά απλά σημειώνεται ως <literal>closed</literal>.</para>
<para>Μην ξεχνάτε επίσης ότι, αν δεν το δηλώσετε ρητά στην αναφορά που
θα στείλετε ή στο ίδιο το patch, οποιεσδήποτε αλλαγές στείλετε θεωρείται αυτόματα ότι
είναι διαθέσιμες κάτω από τους ίδιους όρους και με την ίδια άδεια που
έχει η έκδοση του κάθε αρχείου που έχετε τροποποιήσει.</para>
</section>
<section>
<title>Συμπληρώνοντας την φόρμα της αναφοράς</title>
<para>Όταν τρέξετε το πρόγραμμα &man.send-pr.1; θα δείτε μια φόρμα αναφοράς.
Η φόρμα της αναφοράς αποτελείται από μια σειρά πεδίων. Κάποια από
αυτά είναι είναι προσυμπληρωμένα. Κάποια άλλα έχουν σχόλια που
εξηγούν τον σκοπό τους ή αναφέρουν τις αποδεκτές τιμές. Μην
ανησυχείτε για τα σχόλια, αφού έτσι κι αλλιώς θα αφαιρεθούν αυτόματα
αν δεν τα αλλάξετε ή δεν τα σβήσετε.</para>
<para>Στην κορυφή της φόρμας, κάτω από τις γραμμές που αρχίζουν με
<literal>SEND-PR:</literal> υπάρχουν οι επικεφαλίδες ενός γράμματος.
Συνήθως δεν χρειάζετε να κάνετε κάποια αλλαγή σε αυτές, εκτός κι αν
στέλνετε την αναφορά από κάποιο μηχάνημα το οποίο μπορεί να στείλει
email αλλά δεν μπορεί να λάβει, που θα πρέπει να προσέξετε οι γραμμές
<literal>From:</literal> και <literal>Reply-To:</literal> να έχουν την
πραγματική σας email διεύθυνση. Μπορείτε φυσικα να στείλετε στον
εαυτό σας ή κάποιον άλλο ένα αντίγραφο της αναφοράς προβλήματος
προσθέτοντας τις κατάλληλες <literal>Cc:</literal> γραμμές.</para>
<para>Μετά θα δείτε μια σειρά από πεδία μιας γραμμής:</para>
<itemizedlist>
<listitem>
<para><emphasis>Submitter-Id:</emphasis> Μην το αλλάξετε αυτό.
Η προκαθορισμένη τιμή του, <literal>current-users</literal>,
είναι σωστή ακόμα κι αν χρησιμοποιείτε το &os.stable;.</para>
</listitem>
<listitem>
<para><emphasis>Originator:</emphasis> Αυτό το πεδίο είναι κανονικά
προσυμπληρωμένο με το όνομα του τρέχοντος χρήστη. Αν αυτό δεν
είναι σωστό, παρακαλώ συμπληρώστε την τιμή αυτού του πεδίου με το
πραγματικό σας όνομα και προαιρετικά την email διεύθυνσή σας μέσα
σε &lt; και &gt;.</para>
</listitem>
<listitem>
<para><emphasis>Organization:</emphasis> Αυτό το πεδίο δεν
χρησιμοποιείται για τίποτα σημαντικό.</para>
</listitem>
<listitem>
<para><emphasis>Confidential:</emphasis> Αυτό το πεδίο είναι
προσυμπληρωμένο με <literal>no</literal>. Δεν έχει νόημα να το
αλλάξετε σε κάτι άλλο, αφού δεν υπάρχουν εμπιστευτικές αναφορές
προβλημάτων στο &os;&mdash;η συλλογή των προβλημάτων είναι
ανοιχτή και διαθέσιμη μέσω <application>CVSup</application> για
όλο τον κόσμο.</para>
</listitem>
<listitem>
<para><emphasis>Synopsis:</emphasis> Συμπληρώστε αυτό με μια σύντομη
και ακριβή περιγραφή του προβλήματος. Η synopsis χρησιμοποιείται
σαν το θέμα στα email τα σχετικά με την αναφορά, καθώς και σε
λίστες αναφορών και περιλήψεις. Οι αναφορές προβλήματος με
περίεργες περιγραφές στο πεδίο αυτό συνήθως αγνοούνται.</para>
<para>Όπως είπαμε παραπάνω, αν η αναφορά σας περιλαμβάνει κάποιο
patch καλό είναι να ξεκινήσετε την γραμμή της σύνοψης με το
κείμενο <literal>[patch]</literal>. Αν πάλι είστε ο υπεύθυνος
(maintainer) για κάποιο μέρος του κώδικα, καλό είναι να προσθέσετε
στη σύνοψη το κείμενο <literal>[maintainer update]</literal> και
να θέσετε την τιμή της επικεφαλίδας <quote>Class</quote> σε
<literal>maintainer-update</literal>.</para>
</listitem>
<listitem>
<para><emphasis>Severity:</emphasis> Μπορεί να πάρει τιμή
<literal>non-critical</literal>,
<literal>serious</literal> ή
<literal>critical</literal>. Μην αντιδράτε υπερβολικά. Αποφύγετε
να χαρακτηρίζετε τις αναφορές σας <literal>critical</literal>
εκτός κι αν είναι όντως μεγάλης σημασίας
(π.χ. <username>root</username> exploit, κάποιο panic που μπορεί
να αναπαραχθεί εύκολα) ή <literal>serious</literal> εκτός κι αν
είναι κάτι που αφορά πολλούς χρήστες (προβλήματα με συγκεκριμένους
οδηγούς συσκευών ή εργαλεία του συστήματος). Δεν είναι απαραίτητο
πως οι προγραμματιστές του &os; θα ασχοληθούν πιο νωρίς με το
πρόβλημά σας αν υπερβάλλετε για την σημασία του επειδή υπάρχει
πολύς κόσμος που το κάνει αυτό&mdash;μάλιστα, υπάρχουν
προγραμματιστές που αγνοούν εντελώς αυτό το πεδίο και το επόμενο,
ακριβώς επειδή αυτοί που στέλνουν τις αναφορές έχουν την τάση να
υπερεκτιμούν τα προβλήματά τους.</para>
</listitem>
<listitem>
<para><emphasis>Priority:</emphasis> Μπορεί να πάρει τιμή
<literal>low</literal>, <literal>medium</literal> ή
<literal>high</literal>. Προτεραιότητα <literal>high</literal>
πρέπει να δίνεται μόνο σε αναφορές προβλημάτων τα οποία επηρεάζουν
πρακτικά όλους τους χρήστες του &os; και <literal>medium</literal>
στα προβλήματα που αφορούν ένα μεγάλο αριθμό χρηστών.</para>
</listitem>
<listitem>
<para><emphasis>Category:</emphasis> Επιλέξτε μια από τις ακόλουθες
κατηγορίες (από το
αρχείο <ulink url="http://www.FreeBSD.org/cgi/cvsweb.cgi/src/gnu/usr.bin/send-pr/categories"></ulink>):</para>
<itemizedlist>
<listitem>
<para><literal>advocacy:</literal> αναφορές σχετικές με την
δημόσια εικόνα του &os;. Χρησιμοποιείται σπάνια.</para>
</listitem>
<listitem>
<para><literal>alpha:</literal> αναφορές σχετικές με την
πλατφόρμα Alpha platform.</para>
</listitem>
<listitem>
<para><literal>amd64:</literal> αναφορές σχετικά με προβλήματα
της πλατφόρμας AMD64.</para>
</listitem>
<listitem>
<para><literal>bin:</literal> αναφορές σχετικές με προγράμματα
στο βασικό σύστημα.</para>
</listitem>
<listitem>
<para><literal>conf:</literal> αναφορές σχετικές με αρχεία
ρυθμίσεων, προκαθορισμένες τιμές, κλπ.</para>
</listitem>
<listitem>
<para><literal>docs:</literal> αναφορές σχετικές με τις manual
pages ή γενικά την τεκμηρίωση.</para>
</listitem>
<listitem>
<para><literal>gnu:</literal> αναφορές σχετικές με προγράμματα
GNU, όπως π.χ. &man.gcc.1; ή &man.grep.1;.</para>
</listitem>
<listitem>
<para><literal>i386:</literal> αναφορές σχετικές με την
πλατφόρμα i386 platform.</para>
</listitem>
<listitem>
<para><literal>ia64:</literal> αναφορές σχετικές με την
πλατφόρμα ia64.</para>
</listitem>
<listitem>
<para><literal>java:</literal> αναφορές σχετικές με την
υλοποίηση της Εικονικής Μηχανής &java;. (Οι αναφορές για
πακέτα τα οποία απλά απαιτούν τη &java; για να τρέξουν
καταχωρούνται στην κατηγορία <literal>ports</literal>.)</para>
</listitem>
<listitem>
<para><literal>kern:</literal> αναφορές για τον πυρήνα.</para>
</listitem>
<listitem>
<para><literal>misc:</literal> οτιδήποτε δεν ταιριάζει σε κάποια
από τις υπόλοιπες κατηγορίες. (Σημειώστε πως είναι εύκολο να
χαθεί μια αναφορά σε αυτή την κατηγορία.)</para>
</listitem>
<listitem>
<para><literal>ports:</literal> αναφορές σχετικές με τα
ports.</para>
</listitem>
<listitem>
<para><literal>powerpc:</literal> αναφορές σχετικές με την
πλατφόρμα PowerPC.</para>
</listitem>
<listitem>
<para><literal>sparc64:</literal> αναφορές σχετικές με την
πλατφόρμα SPARC.</para>
</listitem>
<listitem>
<para><literal>standards:</literal> αναφορές σχετικές με την
συμβατότητα με τα διάφορα Πρότυπα.</para>
</listitem>
<listitem>
<para><literal>threads:</literal> αναφορές σχετικές με την
υλοποίηση των threads στο &os; (ειδικά στο
&os.current;).</para>
</listitem>
<listitem>
<para><literal>usb:</literal> αναφορές σχετικά με το υποσύστημα
USB του &os; και την υποστήριξη συσκευών USB.</para>
</listitem>
<listitem>
<para><literal>www:</literal> αλλαγές ή βελτιώσεις στην δικτυακή
σελίδα του &os;.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><emphasis>Class:</emphasis> Για το πεδίο αυτό, επιλέξτε μια
από τις παρακάτω τιμές:</para>
<itemizedlist>
<listitem>
<para><literal>sw-bug:</literal> software bugs.</para>
</listitem>
<listitem>
<para><literal>doc-bug:</literal> λάθη στην τεκμηρίωση.</para>
</listitem>
<listitem>
<para><literal>change-request:</literal> ιδέες και αιτήσεις για
πρόσθετα χαρακτηριστικά ή αλλαγές σε υπάρχοντα.</para>
</listitem>
<listitem>
<para><literal>update:</literal> ενημερώσεις των ports ή άλλων
προγραμμάτων που φτιάχνονται από τρίτους.</para>
</listitem>
<listitem>
<para><literal>maintainer-update:</literal> ενημερώσεις σε ports
για τα οποία συντηρείτε εσείς.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para><emphasis>Release:</emphasis> Η έκδοση του &os; που
χρησιμοποιείτε. Αυτό το πεδίο συμπληρώνεται αυτόματα από την
&man.send-pr.1; και χρειάζεται να το αλλάξετε μόνο στην περίπτωση
που στέλνετε μια αναφορά προβλήματος από άλλο μηχάννημα, κι όχι
από αυτό που έχει το πρόβλημα.</para>
</listitem>
</itemizedlist>
<para>Τέλος, υπάρχει μια σειρά από πεδία με περισσότερες από μια γραμμές
το καθένα:</para>
<itemizedlist>
<listitem>
<para><emphasis>Environment:</emphasis> Εδώ πρέπει να περιγράφεται,
με όσο το δυνατόν μεγαλύτερη ακρίβεια, το περιβάλλον στο οποίο
παρατηρήσατε το πρόβλημα. Αυτό περιλαμβάνει την έκδοση του
λειτουργικού συστήματος, την έκδοση του συγκεκριμένου προγράμματος
ή αρχείου που έχει το πρόβλημα και οποιαδήποτε άλλα χαρακτηριστικά
από το σύστημα και τις ρυθμίσεις του θεωρείτε σημαντικά, άλλα
εγκατεστημένα προγράμματα που πιστεύετε ότι πιθανόν έχουν σχέση με
το πρόβλημα, κλπ&mdash;πολύ απλά, οτιδήποτε χρειάζεται να ξέρει
ένας προγραμματιστής για να εξομοιώσει με ακρίβεια το περιβάλλον
στο οποίο εμφανίζεται το πρόβλημα.</para>
</listitem>
<listitem>
<para><emphasis>Description:</emphasis> Μια πλήρης και ακριβής
περιγραφή του προβλήματος που αντιμετωπίζετε. Προσπαθείστε να
αποφύγετε εικασίες σχετικά με την αιτία του προβλήματος εκτός κι
αν είστε σίγουροι ότι βρίσκετε σε σωστό δρόμο, καθώς μπορεί να
οδηγήσετε κάποιο προγραμματιστή να κάνει λάθος υποθέτοντας κάποια
πράγματα που δεν είναι σωστά.</para>
</listitem>
<listitem>
<para><emphasis>How-To-Repeat:</emphasis> Μια περίληψη των ενεργειών
που χρειάζονται για να αναπαράγει κάποιος το πρόβλημα.</para>
</listitem>
<listitem>
<para><emphasis>Fix:</emphasis> Κατά προτίμηση κάποιο patch ή
τουλάχιστον κάτι που ξεπερνά/αποφεύγει το πρόβλημα (κάτι που όχι
μόνο βοηθά όποιον έχει το ίδιο πρόβλημα να το αποφύγει, αλλά
μπορεί ακόμη και να βοηθήσει κάποιον προγραμματιστή να καταλάβει
την πραγματική αιτία του προβλήματος). Αν δεν έχετε βέβαια κάποια
ιδέα, μπορείτε πάντα να αφήσετε αυτό το πεδίο κενό. Είναι πολύ
καλύτερα από το να κάνετε απλώς εικασίες.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Στέλνοντας την αναφορά</title>
<para>Όταν τελειώσετε με το γράψιμο, την συμπλήρωση της φόρμας, και
σώσετε το κείμενο της αναφοράς σε ένα αρχείο, το πρόγραμμα
&man.send-pr.1; θα σας δείξει μια προτροπή
<prompt>s)end, e)dit or a)bort?</prompt>. Μπορείτε τότε να πατήσετε
<userinput>s</userinput> για να συνεχίσετε και να σταλεί η αναφορά,
<userinput>e</userinput> για να ξεκινήσετε πάλι τον κειμενογράφο σας,
ή <userinput>a</userinput> για να εγκαταλείψετε. Αν επιλέξετε το
τελευταίο, το κείμενο της αναφοράς σας θα παραμείνει στο δίσκο (η
&man.send-pr.1; θα γράψει το όνομα του αρχείου πριν τερματίσει), οπότε
μπορείτε να το επεξεργαστείτε με την ησυχία σας αργότερα ή να το
μεταφέρετε σε κάποιο σύστημα με καλύτερη σύνδεση δικτύου, πριν να το
στείλετε με την επιλογή <option>-f</option> της
&man.send-pr.1;:</para>
<screen>&prompt.user; <userinput>send-pr -f ~/my-problem-report</userinput></screen>
<para>Αυτή η εντολή θα διαβάσει μια αναφορά προβλήματος από το αρχείο,
θα κάνει κάποιους ελέγχους στα περιεχόμενα, θα σβήσει τα σχόλια και
στείλει την αναφορά.</para>
</section>
</section>
<section id="pr-followup">
<title>Απαντήσεις</title>
<para>Μόλις η αναφορά σας καταχωρηθεί, θα πάρετε μια απάντηση μέσω email
που θα περιλαμβάνει τον αριθμό που έχει σχετιστεί με την αναφορά σας και
μια διεύθυνση URL όπου μπορείτε να διαβάσετε την αναφορά και την
κατάστασή της. Με λίγη τύχη, κάποιος θα ενδιαφερθεί για την αναφορά σας
και θα προσπαθήσει να λύσει το πρόβλημα ή τουλάχιστον, ανάλογα με την
περίπτωση, να σας εξηγήσει γιατί δεν είναι πρόβλημα. Θα ειδοποιήστε
αυτόματα για κάθε αλλαγή στην κατάσταση της αναφοράς, και θα παίρνετε
αντίγραφα μέσω αλληλογραφίας με οποιαδήποτε σχόλια ή patches στέλνει
κάποιος σαν απάντηση στην αναφορά σας.</para>
<para>Αν κάποιος σας ζητήσει επιπλέον πληροφορίες ή θυμηθείτε κάτι ή
ανακαλύψετε κάτι που δεν έχετε αναφέρει στην αρχική σας αναφορά, τότε
χρησιμοποιήστε έναν από τους ακόλουθους τρόπους για να στείλετε
συμπληρωματικές πληροφορίες:</para>
<itemizedlist>
<listitem>
<para>Ο πιο εύκολος τρόπος είναι να ακολουθήσετε το σύνδεσμο στην
σελίδα της αναφοράς, την οποία μπορείτε να βρείτε από τη
<ulink url="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">σελίδα
αναζήτησης των αναφορών</ulink>. Αν ακολουθήσετε το σύνδεσμο που
έχει στο κάτω μέρος η σελίδα θα ανοίξει το πρόγραμμα αλληλογραφίας
σας με το σωστό αποστολέα και το σωστό θέμα (αρκεί ο φυλλομετρητής
σας υποστηρίζει την εκτέλεση εξωτερικών προγραμμάτων).</para>
</listitem>
<listitem>
<para>Εναλλακτικά μπορείτε να στείλετε απλά ένα μήνυμα στη διεύθυνση
&a.bugfollowup;, προσέχοντας να βάλετε το
σωστό αριθμό αναφοράς στο θέμα έτσι ώστε να τον βρει το σύστημα
παρακολούθησης αναφορών του &os; και να ξέρει σε ποιά αναφορά πρέπει
να επισυνάψει το μήνυμά σας.</para>
<note>
<para>Αν <emphasis>δεν</emphasis> συμπεριλάβετε το σωστό αριθμό
αναφοράς στο θέμα, το πρόγραμμα GNATS που οργανώνει τις αναφορές σε
κατηγορίες θα μπερδευτεί και θα ανοίξει μια νέα αναφορά την οποία
μετά αναθέτει στον διαχειριστή του συστήματος GNATS. Έτσι η
απάντησή σας θα μείνει αφανής μέχρι να ψάξει κάποιος για αναφορές
που είναι καταχωρημένες λάθος και να τις ξεκαθαρίσει, κάτι που
μπορεί να γίνει μετά από μέρες ή και ολόκληρες εβδομάδες.</para>
<para>Λάθος τρόπος:
<programlisting>Subject: that PR I sent</programlisting></para>
<para>Σωστός τρόπος:
<programlisting>Subject: Re: ports/12345: compilation problem with foo/bar</programlisting></para>
</note>
</listitem>
</itemizedlist>
<para>Αν η αναφορά προβλήματος παραμένει στην κατάσταση
<quote>open</quote> παρόλο που το πρόβλημα έχει σταματήσει να εμφανίζεται
πλέον, απλώς στείλτε μια απάντηση στην αναφορά (με τον τρόπο που αναφέραμε
παραπάνω), εξηγώντας πως ή πότε διορθώθηκε το πρόβλημα.</para>
</section>
<section id="pr-further">
<title>Αναφορές</title>
<para>Παρακάτω θα βρείτε κάποιες πηγές που είναι σχετικές με το θέμα των
αναφορών προβλήματος. Δεν είναι μια πλήρης ή επαρκής λίστα,
φυσικά.</para>
<itemizedlist>
<listitem>
<para><ulink url="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">
How to Report Bugs Effectively</ulink>&mdash;μια πολύ καλή έκθεση
από τον Simon G. Tatham που περιγράφει πως μπορείτε να γράφετε
χρήσιμες αναφορές προβλήματων (όχι μόνο για το &os;).</para>
</listitem>
<listitem>
<para><ulink url="&url.articles.pr-guidelines;/article.html">Problem Report
Handling Guidelines</ulink>&mdash;χρήσιμες πληροφορίες για τον τρόπο
με τον οποίο χειρίζεται τις αναφορές προβλημάτων η ομάδα ανάπτυξης
του &os;</para>
</listitem>
</itemizedlist>
</section>
</article>
<!--
Local Variables:
mode: sgml
coding: iso-8859-7
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
End:
-->