diff options
Diffstat (limited to 'documentation/content/ru/articles/contributing')
-rw-r--r-- | documentation/content/ru/articles/contributing/_index.adoc | 461 | ||||
-rw-r--r-- | documentation/content/ru/articles/contributing/_index.po | 2259 |
2 files changed, 2613 insertions, 107 deletions
diff --git a/documentation/content/ru/articles/contributing/_index.adoc b/documentation/content/ru/articles/contributing/_index.adoc index 16a3b6878e..605ac4d6b9 100644 --- a/documentation/content/ru/articles/contributing/_index.adoc +++ b/documentation/content/ru/articles/contributing/_index.adoc @@ -1,8 +1,16 @@ --- -title: Участие в проекте FreeBSD authors: - - author: Джордан Хаббард + - + author: 'Jordan Hubbard' + - + author: 'Sam Lawrance' + - + author: 'Mark Linimon' +description: 'Как внести вклад в проект FreeBSD' +tags: ["Contributing", "FreeBSD", "Non-Programmer Tasks", "Programmer Tasks"] +title: 'Участие в проекте FreeBSD' trademarks: ["freebsd", "ieee", "general"] +weight: 15 --- = Участие в проекте FreeBSD @@ -36,176 +44,168 @@ ifndef::env-beastie[] include::../../../../../shared/asciidoctor.adoc[] endif::[] +pass:[<!-- vale FreeBSD.Pronouns = NO -->] + [.abstract-title] Аннотация -В этой статье описаны различные способы, которыми отдельные лица и организаций могут принять участие в Проекте FreeBSD. +В этой статье описаны различные способы, с помощью которых отдельный человек или организация могут внести вклад в проект FreeBSD. ''' toc::[] -Итак, вы хотите внести свой вклад во FreeBSD? Это великолепно! Жизнеспособность FreeBSD _основана_ на помощи её пользователей. Ваша помощь не только принимается, она жизненно необходима для продолжения роста FreeBSD. +Итак, вы хотите внести свой вклад в FreeBSD? Это замечательно! FreeBSD _полагается_ на вклад своих пользователей для существования. Ваши усилия не только ценятся, они жизненно важны для дальнейшего развития FreeBSD. + +FreeBSD разрабатывает большое и постоянно растущее количество участников из разных стран, самого разного возраста и уровня технической экспертизы. Работы всегда больше, чем доступных людей, и любая помощь всегда приветствуется. -Несмотря на уверения некоторых людей, вам не нужно быть гениальным программистом или персоной, лично связанной с руководящей группой FreeBSD, чтобы ваша помощь была принята. FreeBSD разрабатывает большое и увеличивающееся количество участников со всего мира, самого разного возраста и разных областей технической экспертизы. Работы, которую необходимо сделать, всегда больше, чем разработчиков, могущих её выполнить, и дополнительная помощь всегда приветствуется. +В качестве волонтёра вы ограничены только тем, чем хотите заниматься. Однако мы просим вас учитывать ожидания других участников сообщества FreeBSD. Возможно, вам стоит принять это во внимание, прежде чем решить стать волонтёром. -Проект FreeBSD занимается операционной системой в целом, а не только ядром или несколькими отдельными утилитами. Таким образом, в нашем [.filename]#TODO#-списке широкий спектр задач: от документации, бета-тестирования и презентаций до программы установки системы и специфических разработок уровня ядра. Люди любого уровня практически в любой области определённо смогут помочь проекту. +Проект FreeBSD отвечает за целостную операционную среду, а не только за ядро или несколько разрозненных утилит. Таким образом, наши списки [.filename]#TODO# охватывают очень широкий спектр задач: от документации, бета-тестирования и презентаций до установщика системы и высокоспециализированных видов разработки ядра. Люди с любым уровнем навыков, практически в любой области, почти наверняка могут помочь проекту. -Коммерческие структуры, связанные с использованием FreeBSD, также приглашаются к диалогу. Нужны ли вам особые расширения, для работы вашего продукта? Вы увидите, что мы отвечаем на ваши запросы, если они не слишком необычны. Вы работаете над дополнительными продуктами? Дайте нам знать! Мы сможем работать вместе над некоторыми его аспектами. Мир свободного программного обеспечения ставит под сомнение многие существующие представления о том, как программного обеспечение разрабатывается, продаётся и поддерживается, и мы настоятельно просим вас посмотреть на него ещё раз. +Коммерческие организации, занятые в сферах, связанных с FreeBSD, также приглашаются к сотрудничеству. Вам нужно специальное расширение, чтобы ваш продукт работал? Вы увидите, что мы отвечаем на ваши запросы, если они не слишком экстравагантны. Вы работаете над продуктом, добавляющим ценность системе? Пожалуйста, дайте нам знать! Возможно, мы сможем сотрудничать в каких-то аспектах. Свободное программное обеспечение бросает вызов многим устоявшимся представлениям о том, как разрабатывается, продаётся и поддерживается программное обеспечение, и мы призываем вас хотя бы взглянуть на него ещё раз. [[contrib-what]] -== Что нужно +== Что необходимо -В следующем перечне представлены задачи и подпроекты, являющиеся некоторым отражением различных списков [.filename]#TODO# и запросов пользователей. +Следующий список задач и подпроектов представляет собой своего рода объединение различных списков [.filename]#TODO# и запросов пользователей. [[non-programmer-tasks]] -=== Текущие задачи не для программистов +=== Текущие задачи для непрограммистов -Многие люди, связанные с FreeBSD, не являются программистами. В Проекте участвуют создатели документации, Web-дизайнеры и специалисты по поддержке пользователей. Все, что им нужно для участия, это своё время и желание учиться. +Многие люди, участвующие в FreeBSD, не являются программистами. Проект включает в себя авторов документации, веб-дизайнеров и специалистов поддержки. Всё, что нужно этим людям для участия, — это вложение времени и готовность учиться. -. Периодически читайте FAQ и Руководство. Если что-то описано плохо, устарело или даже полностью неправильно, дайте нам знать. Ещё лучше, если вы пришлёте нам исправление (выучить Docbook не так сложно, но и против посланий в формате ASCII никто возражать не будет). -. Помогите перевести документацию FreeBSD на ваш родной язык. Если документация на вашем языке уже существует, вы можете помочь перевести дополнительные документы или проверить, не устарели ли переводы. Первым делом взгляните на extref:{fdp-primer}[FAQ по переводам, translations] в Учебнике проекта документирования FreeBSD. Вас не призывают перевести все документы FreeBSD - как доброволец, вы можете делать столько переводов, сколько захотите. Если кто-то начал перевод, другие всегда присоединятся. Если у вас есть время и желание перевести одну часть документации, пожалуйста, переведите инструкции по установке. -. Время от времени (или даже регулярно) читайте {freebsd-questions} и news:comp.unix.bsd.freebsd.misc. Вам может понравиться делиться своим опытом и помогать людям решать их проблемы; иногда вы сможете узнать для себя что-то новое! Эти форумы могут также стать источником идей, над которыми вам стоит поработать. +. Периодически перечитывайте FAQ и Руководство. Если что-то объяснено недостаточно ясно, неоднозначно, устарело или неверно, дайте нам знать. Ещё лучше — пришлите нам исправление (AsciiDoc несложно изучить, но можно присылать и обычный текст). +. Помогите перевести документацию FreeBSD на ваш родной язык. Если документация уже существует на вашем языке, вы можете помочь перевести дополнительные документы или проверить, что переводы актуальны и корректны. Сначала ознакомьтесь с extref:{fdp-primer}[FAQ по переводам, translations] в Руководстве проекта документации FreeBSD. Вы не обязаны переводить каждую документацию FreeBSD — как волонтер, вы можете переводить столько, сколько пожелаете. Как только кто-то начинает переводить, к этому процессу почти всегда присоединяются другие. Если у вас есть время и силы перевести только часть документации, пожалуйста, переведите инструкции по установке. +. Читайте {freebsd-questions} время от времени (или даже регулярно). Может быть очень приятно делиться своими знаниями и помогать людям решать их проблемы; иногда вы даже можете узнать что-то новое для себя! Эти форумы также могут быть источником идей для улучшений. [[ongoing-programmer-tasks]] -=== Текущие задачи для программистов - -Большинство задач, перечисленных здесь, требуют либо значительных затрат времени, либо глубоких знаний ядра FreeBSD, либо того и другого. Однако имеется также много полезных задач, которые подойдут для "воскресных хакеров". - -. Если вы работаете с FreeBSD-CURRENT и обладаете хорошим подключением к Internet, то существует машина `current.FreeBSD.org`, которая строит полный релиз ежедневно-сейчас и всегда. Попробуйте установить самый последний релиз с этой машины и сообщите обо всех обнаруженных при этом ошибках. -. Читайте {freebsd-bugs}. Здесь может встретиться проблема, которую вы сможете конструктивно прокомментировать или патчи, которые вы можете протестировать. Либо вы можете даже попытаться исправить какую-то проблему самостоятельно. -. Если вы знаете о существовании каких-либо исправлений ошибок, успешно применённых к -CURRENT, но ещё не перенесённых в -STABLE после достаточно большого интервала времени (обычно несколько недель), направьте коммиттеру вежливое напоминание. -. Перенос стороннего программного обеспечения в каталог [.filename]#src/contrib# дерева исходных текстов. -. Проверка актуальности кода в каталоге [.filename]#src/contrib#. -. Построение из дерева исходных текстов (или её части) с включением режима дополнительных предупреждений, избавление от них. -. Исправление предупреждений от портов, которые используют недопустимые вызовы типа `gets()` или включают файл объявлений [.filename]#malloc.h#. -. Если вы создавали порты и вам приходилось делать специфичные для FreeBSD исправления, пошлите ваши патчи авторам оригинального программного обеспечения (это упростит вам жизнь при выпуске следующей версии). -. Найдите копии официальных стандартов, например, POSIX(R). Вы можете найти несколько ссылок на них на странице Web-сайта link:https://www.FreeBSD.org/projects/c99/[Проекта соответствия FreeBSD стандартам C99 & POSIX]. Сравните поведение FreeBSD с тем, что определено стандартом. Если реакция отличается, особенно в незначительных или непонятных разделах спецификации, направьте об этом PR. Если можете, найдите, как исправить это и включите в PR патч. Если вы полагаете, что в стандарте есть ошибка, направьте запрос его разработчикам. +=== Текущие задачи программистов + +Большинство перечисленных здесь задач может потребовать значительных временных затрат, глубоких знаний о ядре FreeBSD или того и другого. Однако, есть также множество полезных задач, подходящих для "хакеров выходного дня". + +. Если вы используете FreeBSD-CURRENT и имеете хорошее подключение к интернету, существует машина `current.FreeBSD.org`, которая ежедневно собирает полный релиз — время от времени пробуйте установить последний релиз с неё и сообщайте о любых сбоях в процессе. +. Прочитайте {freebsd-bugs}. Возможно, там есть проблема, по которой вы можете конструктивно высказаться, или патчи, которые вы можете протестировать. Или вы даже можете попытаться исправить одну из проблем самостоятельно. +. Если вам известны исправления ошибок, которые были успешно применены в -CURRENT, но не были перенесены в -STABLE в течение разумного срока (обычно пары недель), отправьте коммиттеру вежливое напоминание. +. Переместите стороннее программное обеспечение в [.filename]#src/contrib# в дереве исходных кодов. +. Убедитесь, что код в [.filename]#src/contrib# актуален. +. Соберите дерево исходников (или только его часть) с включенными дополнительными предупреждениями и устраните эти предупреждения. Список предупреждений при сборке также можно найти в нашем https://ci.freebsd.org[CI], выбрав сборку и отметив "LLVM/Clang Warnings". +. Исправление предупреждений для портов, которые используют устаревшие функции, такие как `gets()` или включают [.filename]#malloc.h#. +. Если вы внесли свой вклад в какие-либо порты и вам пришлось внести изменения, специфичные для FreeBSD, отправьте свои исправления оригинальным авторам (это облегчит вашу жизнь, когда они выпустят следующую версию). +. Получите копии официальных стандартов, таких как POSIX(R). Сравните поведение FreeBSD с требованиями стандарта. Если поведение отличается, особенно в сложных или малоизученных аспектах спецификации, отправьте PR об этом. Если вы можете, предложите исправление и включите патч в PR. Если вы считаете, что стандарт ошибочен, обратитесь в орган по стандартизации с просьбой рассмотреть этот вопрос. . Предложите дополнительные задачи для этого списка! -=== Работа с базой сообщений об ошибках PR +=== Пройдитесь по базе данных PR + +https://bugs.FreeBSD.org/search/[Список PR FreeBSD] отображает все текущие активные отчёты о проблемах и запросы на улучшение, отправленные пользователями FreeBSD. База данных PR включает как задачи для программистов, так и для непрограммистов. Просмотрите открытые PR и посмотрите, есть ли среди них что-то, что вас заинтересует. Некоторые из них могут быть очень простыми задачами, которым просто нужен свежий взгляд, чтобы проверить и подтвердить, что исправление в PR является хорошим. Другие могут быть гораздо сложнее или даже не содержать исправления вовсе. + +Начните с PR, которые никому не назначены. Если PR назначен кому-то другому, но вам кажется, что вы можете с ним справиться, напишите этому человеку на почту и спросите, можно ли вам над ним поработать — возможно, у него уже есть готовый патч для тестирования или дополнительные идеи, которые можно обсудить. + +=== Текущие задачи портов + +Коллекция портов — это постоянный процесс. Мы стремимся предоставить нашим пользователям удобный, современный и качественный репозиторий стороннего программного обеспечения. Нам нужны люди, готовые пожертвовать своим временем и усилиями, чтобы помочь нам достичь этой цели. -http://www.FreeBSD.org/cgi/query-pr-summary.cgi[Список сообщений об ошибках FreeBSD] содержит все актуальные сообщения о проблемах и запросы на улучшения, которые были посланы пользователями FreeBSD. База данных PR содержит задачи как для программистов, так и не для них. Просмотрите открытые PR, найдите те, что привлекут ваше внимание. Некоторые из них могут быть очень простыми, требующими лишь ещё одной пары глаз, чтобы посмотреть и подтвердить, что предлагаемое в PR исправление достаточно. Другие могут быть гораздо сложнее и даже вовсе не содержать исправления. +Вовлечься может любой, и способов для этого множество. Участие в разработке портов — отличный способ "отдать долг" проекту. Будь то поиск постоянной роли или интересный вызов на дождливый день — мы будем рады вашей помощи! -Начните с тех PR, которые никому ещё не назначены. Если PR уже за кем-то закреплено, но содержит проблему, которую вы можете решить, направьте по электронной почте письмо человеку, которому назначено это PR, и спросите, можете ли вы поработать над ней-у них уже может готов патч для тестирования или какие-то идеи, которые можно вместе обсудить. +Есть несколько простых способов помочь поддерживать дерево портов в актуальном состоянии и в хорошем рабочем порядке: -=== Выберите один из пунктов со странички "идей" +* Найдите интересное или полезное программное обеспечение и extref:{porters-handbook}[создайте порт] для него. +* Существует множество портов, у которых нет сопровождающего. Станьте сопровождающим и crossref:contributing[adopt-port, Возьмите на сопровождение неподдерживаемый порт]. +* Если вы создали или адаптировали порт, обратите внимание на раздел crossref:contributing[maintain-port, Задача для сопровождающих портов]. +* Если вы ищете быстрый вызов, вы можете crossref:contributing[fix-broken, Найти и исправить сломанный порт]. -http://wiki.freebsd.org/IdeasPage[Список проектов и идей для добровольцев] также доступен для людей, желающих помочь проекту FreeBSD. Список постоянно обновляется и содержит пункты, как для программистов, так и для не программистов, с информацией о каждом проекте. +=== Выберите один из пунктов со страницы Идеи + +https://wiki.freebsd.org/IdeasPage[Список проектов и идей FreeBSD для волонтёров] также доступен для тех, кто хочет внести свой вклад в проект FreeBSD. Список регулярно обновляется и содержит пункты как для программистов, так и для не-программистов, с информацией о каждом проекте. [[contrib-how]] -== Как принять участие в работе +== Как внести свой вклад -Характер участия в работе над системой обычно подпадает под одну или несколько из следующих 5 категорий: +Вклады в систему обычно относятся к одной или нескольким из следующих 5 категорий: [[contrib-general]] -=== Сообщения об ошибках и отзывы общего характера +=== Отчеты об ошибках и общие комментарии -Идеи или пожелания _общего_ технического характера должны направляться по электронной почте в адрес {freebsd-hackers}. Подобным же образом тот, кто интересуется такими вещами (и устойчив к _большому_ потоку почты!) может подписаться на список рассылки {freebsd-hackers}. Обратитесь к extref:{handbook}eresources[Руководству FreeBSD, eresources-mail] для получения дополнительной информации об этом и других списках рассылки. +Идея или предложение, представляющие _общий_ технический интерес, должны быть отправлены на {freebsd-hackers}. Аналогично, люди, заинтересованные в подобных вещах (и готовые терпеть _высокий_ объем почты!), могут подписаться на {freebsd-hackers}. Дополнительную информацию об этом и других списках рассылки см. в extref:{handbook}[The FreeBSD Handbook, eresources-mail]. -Если вы нашли ошибку или предлагаете внести какое-то конкретное исправление, пожалуйста, отправьте сообщение при помощи программы man:send-pr[1] или её link:https://www.FreeBSD.org/send-pr/[Web-эквивалента]. Постарайтесь заполнить все поля в сообщении об ошибке. Если его размер оно не превышает 65 Кбайт, включите все патчи непосредственно в сообщение. Если патч предназначен для дерева исходных текстов, поместите `[PATCH]` в теме сообщения. При включении патчей _не используйте_ технику cut-and-paste, потому что при этом символы табуляции преобразуются в пробелы и патч становится непригодным к использованию. Если объём патчей превышает 20 Кбайт, лучше включать их в сообщение в сжатом виде, для чего упакуйте их (например, при помощи man:gzip[1] или man:bzip2[1]) и обработайте архив утилитой man:uuencode[1]. +Если вы отправляете простой патч в репозиторий src, рассмотрите возможность отправить его в зеркало проекта на GitHub как https://github.com/freebsd/freebsd-src/pulls[запрос на включение]. Подходящие отправки должны: -После отправки сообщения вы должны получить подтверждение и номер для отслеживания. Сохраните этот номер, чтобы использовать его в дальнейшем при направлении подробностей о проблеме по электронной почте на адрес {bugfollowup}. Используйте номер в качестве темы письма, например, `"Re: kern/3377"`. Дополнительная информация о любом сообщении об ошибке должна направляться этим способом. +* Готово или почти готово для включения. Коммиттер должен быть в состоянии применить этот патч с менее чем 10 минутами дополнительной работы. +* Он проходит все задания GitHub CI. +* Вы можете быстро реагировать на обратную связь. +* Он затрагивает менее 10 файлов, а изменения составляют менее 200 строк. Изменения большего размера могут быть допустимы, или вас могут попросить отправить несколько запросов на включение более удобного размера. +* Каждое логическое изменение — это отдельный коммит в рамках pull request. Сообщения коммитов для каждого изменения должны соответствовать extref:{committers-guide}#commit-log-message[руководству по оформлению логов коммитов]. +* Все коммиты содержат ваше имя и действительный адрес электронной почты, которые вы хотите видеть в репозитории FreeBSD в качестве автора. Поддельные адреса github.com использовать нельзя. +* Объем pull request не должен меняться в процессе проверки. Если в ходе проверки предложены изменения, расширяющие объем, создайте отдельный pull request. +* Исправляющие коммиты должны быть объединены (squash) с коммитом, который они исправляют. Каждый коммит в вашей ветке должен быть пригоден для репозитория FreeBSD. +* Коммиты должны включать одну или несколько строк `Signed-off-by:` с полным именем и адресом электронной почты, подтверждающими https://developercertificate.org/[Сертификат происхождения разработчика]. -Если вы не получили подтверждения в течение разумного периода времени (от 3 дней до недели, в зависимости от вашего подключения к электронной почты) или по какой-то причине не можете воспользоваться командой man:send-pr[1], то можете попросить кого-нибудь направить сообщение за вас на адрес {freebsd-bugs}. +При обновлении запроса на включение изменений, пожалуйста, выполняйте перебазирование с принудительной отправкой (forced push), а не слиянием через коммит (merge commit). Более сложные изменения могут быть отправлены как запросы на включение (pull request), но они могут быть отклонены и закрыты, если они слишком большие, слишком громоздкие, становятся неактивными, требуют дополнительного обсуждения в сообществе или нуждаются в значительной доработке. Пожалуйста, избегайте создания больших, широкомасштабных патчей для очистки: они слишком велики и не обладают необходимой фокусировкой для качественного рецензирования. Патчи, отправленные не по адресу, могут быть перенаправлены в более подходящий форум для их доработки. -Прочтите также extref:{problem-reports}[эту статью], чтобы узнать, как писать хорошие сообщения о проблемах. +Запросы на включение изменений, отправленные в репозиторий портов, могут быть обработаны или проигнорированы, в зависимости от настроения разработчиков. На данный момент, вам будет проще, если вы будете следовать процессу отправки портов crossref:contributing[ports-contributing, Вклад в порты]. -=== Изменения в документации +Команда документации также принимает pull requests через GitHub, но пока не установила для них никакой политики. + +Если вы обнаружили ошибку или хотите отправить конкретное изменение, пожалуйста, сообщите об этом, используя https://bugs.FreeBSD.org/submit/[форму отправки отчёта об ошибках]. Постарайтесь заполнить каждое поле отчёта. Если патчи не превышают 65 КБ, включите их непосредственно в отчёт. Если патч подходит для применения к исходному дереву, укажите `[PATCH]` в кратком описании отчёта. При включении патчей _не_ используйте копирование и вставку, так как это превращает табуляции в пробелы и делает их непригодными. Если патчи значительно превышают 20 КБ, рассмотрите возможность их сжатия (например, с помощью man:gzip[1] или man:bzip2[1]) перед загрузкой. -Изменения в документации обсуждаются в {freebsd-doc}. Пожалуйста, посмотрите extref:{fdp-primer}[Учебник Проекта документирования FreeBSD] для получения полных инструкций. Посылайте свои пожелания и изменения (принимаются даже самые небольшие!) при помощи man:send-pr[1], как это описано в разделе о <<contrib-general>>. +После подачи отчета вы должны получить подтверждение вместе с номером для отслеживания. Сохраните этот номер, чтобы вы могли сообщить нам дополнительные сведения о проблеме. + +См. также extref:{problem-reports}[эту статью] о том, как писать хорошие отчёты о проблемах. + +=== Изменения в документации -=== Изменения к имеющемуся исходному коду +Изменения в документации контролируются {freebsd-doc}. Пожалуйста, ознакомьтесь с руководством extref:{fdp-primer}[Проект документации FreeBSD: введение для новых участников] для получения полных инструкций. Отправляйте исправления и изменения (даже небольшие правки приветствуются!) тем же способом, что и другие отчёты об ошибках. -Добавление нового исходного кода или внесение изменений в существующий является не такой простой задачей, и зависит во многом от того, насколько вы далеки от текущего состояния разработок во FreeBSD. Существуют специальные промежуточные релизы FreeBSD, известные как "FreeBSD-CURRENT", которые доступны несколькими разными способами, удобными разработчикам, активно работающим над системой. Обратитесь к extref:{handbook}updating-upgrading[Руководству FreeBSD, current-stable] для получения дополнительной информации о получении и использовании FreeBSD-CURRENT. +=== Изменения в существующем исходном коде -Если вы работаете с несколько устаревшими исходными текстами, то ваши изменения иногда могут оказаться уже ненужными или слишком большими, чтобы повторно интегрировать их во FreeBSD. Уменьшить такой риск можно, подписавшись на списки рассылки {freebsd-announce} и {freebsd-current}, в которых обсуждается текущее состояние системы. +Добавление или изменение существующего исходного кода — это несколько более сложная задача, которая во многом зависит от того, насколько сильно вы отстали от текущего состояния разработки FreeBSD. Существует специальная постоянно обновляемая версия FreeBSD, известная как "FreeBSD-CURRENT", которая доступна различными способами для удобства разработчиков, активно работающих над системой. Подробнее о получении и использовании FreeBSD-CURRENT можно узнать в extref:{handbook}[Руководстве FreeBSD, current-stable]. -Предположим, что вы смогли получить актуальные исходные тексты, на базе которых делали свои изменения. Тогда следующим шагом является создание набора файлов, отражающих ваши изменения для их посылки тем, кто отвечает за поддержку FreeBSD. Это делается при помощи команды man:diff[1]. +Работа с устаревшими исходниками, к сожалению, означает, что ваши изменения иногда могут быть слишком устаревшими или слишком расходящимися для лёгкого повторного включения в FreeBSD. Шансы на это можно несколько уменьшить, подписавшись на списки рассылки {freebsd-announce} и {freebsd-current}, где обсуждается текущее состояние системы. -Предпочтительным форматом man:diff[1] для посылки патчей является унифицированная выдача, создаваемая командой `diff -u`. +Предполагая, что вам удалось получить достаточно актуальные исходные коды для внесения изменений, следующий шаг — создать набор различий (diff) для отправки сопровождающим FreeBSD. Это делается с помощью команды man:diff[1]. -К примеру: +Предпочтительным форматом man:diff[1] для отправки исправлений является унифицированный формат вывода, создаваемый командой `diff -u`. -[source,shell] +[source, shell] .... % diff -u oldfile newfile .... или -[source,shell] +[source, shell] .... % diff -u -r -N olddir newdir .... -создаст набор патчей в унифицированном формате для конкретного файла с исходным текстом или для иерархии каталогов. +сгенерирует набор унифицированных diff-файлов для указанного исходного файла или иерархии каталогов. -Дополнительную информацию можно найти в man:diff[1]. +См. man:diff[1] для получения дополнительной информации. -После того, как вы получили набор diff-файлов (которые вы можете протестировать командой man:patch[1]), вы должны прислать их для включения во FreeBSD. Воспользуйтесь программой man:send-pr[1], как это описано в разделе о <<contrib-general>>. _Не посылайте_ diff-файлы в список рассылки {freebsd-hackers}, они будут потеряны! Нам очень нужна ваша помощь (это добровольный проект!); из-за нашей занятости мы не сможем рассмотреть его сразу, и он будет находиться в базе данных PR, пока мы не сделаем это. Укажите на вашу посылку, включив строку `[PATCH]` в тему сообщения. +После того как у вас есть набор изменений (которые вы можете проверить с помощью команды man:patch[1]), вам следует отправить их для включения в FreeBSD в виде отчета об ошибке. _Не отправляйте_ изменения просто на {freebsd-hackers}, иначе они могут потеряться! Мы очень ценим ваши предложения (это добровольный проект!); поскольку мы заняты, мы не всегда можем обработать их сразу, но они останутся в базе данных PR, пока мы не дойдем до них. Укажите, что это предложение изменений, добавив `[PATCH]` в заголовок отчета. -Если вы считаете, что это нужно (к примеру, вы добавляли, удаляли или переименовывали файлы), то объедините ваши изменения в `tar`-файл и обработайте его программой man:uuencode[1]. Принимаются также и архивы, созданные программой man:shar[1]. +Если вы считаете это уместным (например, вы добавили, удалили или переименовали файлы), упакуйте свои изменения в файл `tar`. -Если ваше изменение потенциально может оказаться сомнительным, например, вы не уверены в отсутствии лицензионных ограничений относительно его распространения, то вы должны послать его напрямую в список рассылки {core}, а не через man:send-pr[1]. В списке рассылки {core} участвует гораздо меньшее количество людей, которые выполняют основную ежедневную работу над FreeBSD. Заметьте, что эта группа также __очень занята__, так что сюда письма нужно посылать только в случае действительной необходимости. +Если ваше изменение носит потенциально чувствительный характер, например, если вы не уверены в вопросах авторского права, регулирующих его дальнейшее распространение, то вам следует отправить его напрямую по адресу {core-email}, а не подавать как отчёт об ошибке. Письмо на {core-email} достигает гораздо меньшей группы людей, которые выполняют большую часть повседневной работы над FreeBSD. Обратите внимание, что эта группа также _очень занята_, поэтому вам следует писать им только в случае действительной необходимости. -Пожалуйста, обратитесь к справке по man:intro[9] и man:style[9] для получения некоторой информации о стиле кодирования. Мы надеемся, что вы хотя бы примете эту информацию к сведению перед тем, как прислать нам свой код. +Пожалуйста, обратитесь к man:intro[9] и man:style[9] для получения информации о стиле написания кода. Мы будем признательны, если вы хотя бы ознакомитесь с этой информацией перед отправкой кода. -=== Новый код или большие дополнительные пакеты +=== Новый код или основные пакеты с добавленной стоимостью -В случае значительного объёма присланного вами кода и соответствующей работы, либо добавления к FreeBSD важной новой функции, становится практически всегда необходимо посылать изменения в виде tar-файлов, обработанных uuencode, или передавать их на Web-сайт или FTP-сервер для получения другими людьми. Если у вас нет доступа к Web- или FTP-серверам, попросите в соответствующем списке рассылке FreeBSD кого-нибудь разместить изменения за вас. +В случае значительного вклада в виде большого объёма работы или добавления важной новой функции в FreeBSD, почти всегда необходимо либо отправить изменения в виде tar-файлов, либо загрузить их на веб- или FTP-сайт для доступа других людей. Если у вас нет доступа к веб- или FTP-сайту, запросите на соответствующем списке рассылки FreeBSD, чтобы кто-то разместил изменения для вас. -При работе с большим объёмом кода неизбежно возникает вопрос о соблюдении авторских прав. Допустимыми лицензионными соглашениями для кода, включаемого во FreeBSD, являются следующие: +При работе с большими объемами кода неизбежно возникает деликатная тема авторских прав. FreeBSD предпочитает свободные лицензии, такие как BSD или ISC. Копилефтные лицензии, например GPLv2, иногда допускаются. Полный список можно найти на странице link:https://www.FreeBSD.org/internal/software-license/[политики лицензирования основной команды]. -. Лицензионное соглашение BSD. Оно является самым предпочтительным из-за "отсутствия дополнительных условий" и общей привлекательности для коммерческих компаний. Проект FreeBSD далёк от того, чтобы выступать против коммерческого использования, но активно популяризирует такое пересечение коммерческих интересов, которое позволит постепенно запустить механизм инвестиций во FreeBSD. -. GNU General Public License, или "GPL". Это лицензионное соглашение не очень популярно у нас из-за объёма требований, которые нужно выполнять всем, кто собирается использовать код в коммерческих целях. Однако, учитывая абсолютное превосходство объёма этого кода (компилятор, ассемблер, инструменты форматирования текста и так далее) было бы глупо отказываться от дополнительных разработок, подпадающих под действие этой лицензии. Код, распространяемый по условиям лицензионного соглашения GPL также размещается в отдельной части дерева исходных текстов, в [.filename]#/sys/gnu# или [.filename]#/usr/src/gnu#, и поэтому легко идентифицируется всяким, для кого GPL представляет проблему. +=== Деньги или Оборудование -Разработки, подпадающие под действие других типов лицензионных соглашений, должны быть тщательно просмотрены перед принятием решения об их включении во FreeBSD. Разработки, на которые распространяются жёсткие ограничения коммерческих лицензионных соглашений, обычно отвергаются, а авторам всегда предлагается распространять подобные изменения по собственным каналам. - -Для того, чтобы на вашу работу распространялись условия лицензионного ограничения "в стиле BSD", разместите следующий текст в самом начале каждого файла с исходными текстами, которые вы хотите защитить, заменив текст между `%%` соответствующей информацией: - -[.programlisting] -.... -Copyright (c) %%полные_номера_годов%% - %%ваше_имя%%, %%ваш_штат%% %%ваш_почтовый_индекс%%. - All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer as - the first lines of this file unmodified. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY %%your_name_here%% ``AS IS'' AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL %%your_name_here%% BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - $FreeBSD$ -.... - -Для вашего удобства копия этого текста размещена в файле [.filename]#/usr/shared/examples/etc/bsd-style-copyright#. - -=== Деньги, оборудование или Internet-доступ - -Мы всегда с удовольствием примем материальную помощь, нужную для дальнейшего существования Проекта FreeBSD, а в добровольном проекте, типа нашего маленькая помощь может послужить долго! Безвозмездная передача вычислительной техники также очень важна для расширения списка поддерживаемого периферийного оборудования, так как обычно у нас нет средств для самостоятельного его приобретения. +Мы всегда рады пожертвованиям для поддержки проекта FreeBSD, и в добровольческих усилиях, подобных нашим, даже небольшая помощь может иметь большое значение! Пожертвования оборудования также очень важны для расширения списка поддерживаемых периферийных устройств, поскольку у нас обычно нет средств на их приобретение. [[donations]] -==== Финансовая помощь +==== Пожертвование средств -The FreeBSD Foundation является некоммерческой организацией, освобождённой от уплаты налогов, созданной с целью реализации целей Проекта FreeBSD. Как организация типа 501(c)3, Фонд обычно освобождается от федерального налога США на прибыль. Суммы безвозмездных пожертвований таким организациям часто вычитаются из общей суммы налогооблагаемой прибыли. +https://www.freebsdfoundation.org[FreeBSD Foundation] — это некоммерческий, освобожденный от налогов фонд, созданный для поддержки целей проекта FreeBSD. Как организация 501(c)3, Фонд, как правило, освобожден от федерального подоходного налога США, а также от подоходного налога штата Колорадо. Пожертвования освобожденным от налогов организациям часто вычитаются из налогооблагаемого федерального дохода. -Финансовая помощь может быть направлена в виде чеков на адрес: +Пожертвования можно отправить в виде чека по адресу: [.address] **** @@ -216,10 +216,257 @@ Boulder CO 80304 + USA **** -The FreeBSD Foundation теперь может принимать помощь через Web по системе PayPal. Для направления помощи, пожалуйста, посетите http://www.freebsdfoundation.org[Web-сайт] Фонда. +Фонд FreeBSD также принимает https://www.freebsdfoundation.org/donate/[онлайн-пожертвования] через различные варианты оплаты. + +Дополнительная информация о Фонде FreeBSD доступна по ссылке https://people.FreeBSD.org/~jdp/foundation/announcement.html[Фонд FreeBSD — введение]. Чтобы связаться с Фондом по электронной почте, напишите на mailto:info@FreeBSDFoundation.org[info@FreeBSDFoundation.org]. + +==== Пожертвование оборудования + +Проект FreeBSD с благодарностью принимает пожертвования в виде оборудования, которое может быть полезно для проекта. Если вы хотите пожертвовать оборудование, пожалуйста, свяжитесь с link:https://www.FreeBSD.org/donations/[Офисом по связям с пожертвованиями]. + +[[ports-contributing]] +== Вклад в порты + +[[adopt-port]] +=== Принятие сопровождения неподдерживаемого порта + +==== Выбор неподдерживаемого порта + +Принятие на себя сопровождения необслуживаемых портов — это отличный способ принять участие. Необслуживаемые порты обновляются и исправляются только тогда, когда кто-то добровольно берется за работу над ними. Существует большое количество необслуживаемых портов. Хорошей идеей будет начать с порта, который вы используете регулярно. + +Неподдерживаемые порты имеют параметр `MAINTAINER`, установленный в `ports@FreeBSD.org`. Многие неподдерживаемые порты могут иметь ожидающие обновления, это можно увидеть на https://portscout.freebsd.org/ports@freebsd.org.html[сканере дистрибутивных файлов портов FreeBSD]. + +На https://portsfallout.com/fallout?port=&maintainer=ports%40FreeBSD.org[PortsFallout] можно увидеть список неподдерживаемых портов с ошибками. + +Некоторые порты влияют на большое количество других из-за зависимостей и вторичных связей между портами. Обычно мы хотим, чтобы у людей был некоторый опыт, прежде чем они начнут сопровождать такие порты. + +Вы можете узнать, есть ли у порта зависимости или вторичные порты, посмотрев в основной индекс портов под названием [.filename]#INDEX#. (Имя файла может различаться в зависимости от версии FreeBSD; например, [.filename]#INDEX-13#.) Некоторые порты имеют условные зависимости, которые не включены в стандартную сборку [.filename]#INDEX#. Мы ожидаем, что вы сможете распознать такие порты, просмотрев [.filename]#Makefile# других портов. + +==== Как принять сопровождение порта + +Убедитесь, что вы понимаете раздел crossref:contributing[maintain-port, Задача для сопровождающих портов]. Также прочитайте extref:{porters-handbook}[Руководство FreeBSD по созданию портов]. _Пожалуйста, не берите на себя больше, чем вам комфортно выполнять._ + +Вы можете запросить статус сопровождающего для любого неподдерживаемого порта, как только пожелаете. Просто установите `MAINTAINER` на ваш собственный адрес электронной почты и отправьте PR (Problem Report) с этим изменением. Если порт имеет ошибки сборки или нуждается в обновлении, вы можете включить другие изменения в тот же PR. Это поможет, поскольку многие коммиттеры менее склонны назначать сопровождающего тому, у кого нет известной истории работы с FreeBSD. Отправка PR, исправляющих ошибки сборки или обновляющих порты, — лучший способ её установить. + +Подайте ваш PR в категорию `Порты и пакеты`. Коммиттер проверит ваш PR, закоммитит изменения и в конце закрыт PR. Иногда этот процесс может занять некоторое время (коммиттеры тоже волонтеры :). + +[[maintain-port]] +=== Задача для сопровождающих портов + +В этом разделе вы узнаете, зачем нужно поддерживать порты, а также ознакомитесь с обязанностями сопровождающего портов. + +[[why-maintenance]] +==== Почему порты требуют обслуживания + +Создание порта — это разовая задача. Обеспечение актуальности порта, его сборки и работы требует постоянных усилий по поддержке. Поддерживающие (maintainers) — это люди, которые посвящают часть своего времени достижению этих целей. + +Основная причина, по которой порты требуют обслуживания, — это предоставление новейших и лучших сторонних программных решений сообществу FreeBSD. Дополнительная задача — обеспечение работоспособности отдельных портов в рамках коллекции Ports по мере её развития. + +Как сопровождающему, вам потребуется управлять следующими задачами: + +* **Новые версии программного обеспечения и обновления.** Новые версии и обновления существующего портированного программного обеспечения появляются постоянно, и их необходимо включать в Коллекцию портов, чтобы обеспечить актуальное ПО. + +* *Изменения в зависимостях.* Если в зависимостях вашего порта были внесены значительные изменения, возможно, его потребуется обновить, чтобы он продолжал работать корректно. + +* *Изменения, затрагивающие зависимые порты.* Если другие порты зависят от порта, который вы поддерживаете, изменения в вашем порте могут потребовать согласования с другими сопровождающими. + +* *Взаимодействие с другими пользователями, сопровождающими и разработчиками.* Часть обязанностей сопровождающего включает в себя поддержку. От вас не ожидают предоставления общей поддержки (но мы приветствуем это, если вы решите её оказывать). Ваша задача — быть точкой координации по вопросам, связанным с вашими портами, специфичным для FreeBSD. + +* *Поиск ошибок.* Порт может быть подвержен ошибкам, специфичным для FreeBSD. Вам потребуется исследовать, находить и исправлять эти ошибки при их поступлении. Ещё лучше тщательно тестировать порт для выявления проблем до их попадания в Коллекцию портов. + +* *Изменения в инфраструктуре и политике портов.* Иногда обновляются системы, используемые для сборки портов и пакетов, или появляются новые рекомендации, влияющие на инфраструктуру. Вам следует учитывать эти изменения, если ваши порты затронуты и требуют обновления. + +* *Изменения в базовой системе.* FreeBSD находится в постоянной разработке. Изменения в программном обеспечении, библиотеках, ядре или даже изменения политики могут вызвать каскадные требования к изменениям в портах. + +==== Обязанности сопровождающего + +===== Поддерживайте свои порты в актуальном состоянии + +В этом разделе описаны шаги, которые необходимо выполнить, чтобы поддерживать ваши порты в актуальном состоянии. + +Это общий обзор. Дополнительная информация об обновлении порта доступна в extref:{porters-handbook}[Руководстве FreeBSD по созданию портов]. + +[.procedure] +==== +. Следите за обновлениями ++ +Отслеживайте у вышестоящего поставщика появление новых версий, обновлений и исправлений безопасности для программного обеспечения. Для этого полезны списки рассылки объявлений или новостные веб-страницы. Иногда пользователи могут связаться с вами и спросить, когда ваш порт будет обновлен. Если вы заняты другими делами или по какой-либо причине просто не можете обновить его в данный момент, спросите, могут ли они помочь вам, предоставив обновление. ++ +Вы также можете получать автоматические письма от `FreeBSD Ports Version Check`, уведомляющие о доступности новой версии дистрибутивного файла вашего порта. В сообщении будет предоставлена дополнительная информация об этой системе (включая инструкции по остановке будущих писем). +. Вносите изменения ++ +Когда они станут доступны, включите изменения в порт. Вам нужно уметь создавать патч между оригинальным портом и вашим обновлённым портом. +. Проверяйте и тестируйте ++ +Тщательно проверьте и протестируйте свои изменения: + +** Соберите, установите и протестируйте ваш порт на максимально возможном количестве платформ и архитектур. Часто бывает, что порт работает в одной ветке или на одной платформе, но не работает в другой. +** Убедитесь, что зависимости вашего порта полные. Рекомендуемый способ сделать это — установить собственный tinderbox для портов. Дополнительную информацию см. в crossref:contributing[resources, Ресурсы для сопровождающих и участников разработки портов]. +** Проверьте, что список упаковки актуален. Это включает добавление новых файлов и каталогов и удаление неиспользуемых записей. +** Проверьте ваш порт, используя man:portlint[1] в качестве помощника. См. crossref:contributing[resources, Ресурсы для сопровождающих и участников портов] для важной информации об использовании portlint. +** Подумайте, могут ли изменения в вашем порту привести к проблемам в других портах. Если это так, согласуйте изменения с их сопровождающими. Это особенно важно, если ваше обновление изменяет версию разделяемой библиотеки; в этом случае, как минимум, зависимые порты должны получить увеличение `PORTREVISION`, чтобы автоматизированные инструменты, такие как package:ports-mgmt/poudriere[], могли их обновить. + +. Представляйте изменения ++ +Отправьте ваше обновление, создав PR с описанием изменений и патчем, содержащим различия между исходным портом и обновлённым. Обратитесь к статье extref:{problem-reports}[Составление сообщений о проблеме во FreeBSD] для получения информации о том, как правильно оформить PR. ++ +[NOTE] +====== +Пожалуйста, не отправляйте архив man:shar[1] всего порта; вместо этого используйте man:git-format-patch[1] или man:diff[1] `-ruN`. Таким образом, коммиттеры смогут гораздо проще увидеть, какие именно изменения были внесены. Раздел extref:{porters-handbook}[Обновление, port-upgrading] в Руководстве портера содержит дополнительную информацию. +====== +. Ждите ++ +На каком-то этапе коммиттер рассмотрит ваш PR. Это может занять минуты, а может и одну-две недели — так что проявите терпение. Если это займет больше времени, обратитесь за помощью в почтовые рассылки ({freebsd-ports}), IRC: #bsdports на EFNet или #freebsd-ports на Libera, например. +. Предоставляйте обратную связь ++ +Если участник проекта обнаружит проблему в ваших изменениях, он, скорее всего, вернёт их вам на доработку. Быстрый ответ поможет ускорить принятие вашего PR, а также упростит поддержание последовательности обсуждения при попытке разрешить возникшие проблемы. +. И наконец ++ +Ваши изменения будут зафиксированы, и ваш порт будет обновлен. Затем PR будет закрыт коммиттером. Вот и все! +==== + +===== Убедитесь, что ваши порты продолжают собираться корректно + +Этот раздел посвящён обнаружению и исправлению проблем, которые мешают правильной сборке портов. + +FreeBSD гарантирует работоспособность Коллекции портов только в ветках `-STABLE`. Теоретически можно обойтись использованием последних выпусков каждой стабильной ветки (поскольку ABI не должны меняться), но если есть возможность использовать саму ветку, это ещё лучше. + +Поскольку большинство установок FreeBSD работают на PC-совместимых машинах (так называемая архитектура `i386`), мы ожидаем, что порт будет работать на этой архитектуре. Мы предпочитаем, чтобы порты также работали на архитектуре `amd64` в нативном режиме. Совершенно допустимо попросить о помощи, если у вас нет одной из таких машин. + +[NOTE] +==== +Обычные режимы сбоя для машин не на архитектуре `x86` связаны с предположениями оригинальных программистов, например, что указатели являются `int`-ами, или что используется относительно старый и менее строгий компилятор gcc. Все чаще авторы приложений перерабатывают свой код, чтобы устранить эти предположения — но если автор не занимается активной поддержкой своего кода, вам, возможно, придется сделать это самостоятельно. +==== + +Вот задачи, которые необходимо выполнить, чтобы убедиться, что ваш порт может быть собран: + +[.procedure] +==== +. Следите за ошибками сборки ++ +Проверьте свою почту на наличие писем от `pkg-fallout@FreeBSD.org` и http://portscout.FreeBSD.org[сканера distfiles], чтобы узнать, не устарели ли какие-либо порты, которые не собираются. +. Собрать информацию ++ +Как только вы обнаружили проблему, соберите информацию, которая поможет её исправить. Ошибки сборки, о которых сообщает `pkg-fallout`, сопровождаются журналами, показывающими, где произошёл сбой. Если о проблеме сообщил пользователь, попросите его предоставить данные, которые могут помочь в диагностике, например: + +** Логи сборки +** Команды и параметры, используемые для сборки порта (включая параметры, установленные в [.filename]#/etc/make.conf#) +** Список пакетов, установленных в системе, как показано в man:pkg-info[8] +** Версия FreeBSD, которую они используют, как показано в man:uname[1] `-a` +** Когда их коллекция портов была последний раз обновлена +** Когда их дерево портов и файл [.filename]#INDEX# были последний раз обновлены + +. Изучить и найти решение ++ +К сожалению, не существует прямого процесса, которому можно следовать для этого. Однако помните: если вы застряли, попросите помощи! Коллекция портов {freebsd-ports} — хорошее место для начала, и разработчики вышестоящих проектов часто очень отзывчивы. +. Представляйте изменения ++ +Как и при обновлении порта, теперь вам следует внести изменения, проверить и протестировать их, отправить изменения в PR и, если требуется, предоставить обратную связь. +. Отправляйте исправления авторам вышестоящих проектов ++ +В некоторых случаях потребуется внести изменения в порт, чтобы он заработал на FreeBSD. Некоторые (но не все) разработчики исходного проекта примут такие изменения в свой код для следующего выпуска. Если это произойдет, это может помочь их пользователям и на других BSD-системах, а также, возможно, сэкономит дублирующие усилия. В качестве жеста вежливости, пожалуйста, рассмотрите возможность отправки соответствующих исправлений авторам. +==== + +===== Изучать отчеты об ошибках и PR, связанные с вашим портом + +Этот раздел посвящён поиску и исправлению ошибок. + +Ошибки, специфичные для FreeBSD, обычно вызваны предположениями о среде сборки и выполнения, которые не применимы к FreeBSD. Вероятность столкнуться с такой проблемой меньше, но она может быть более тонкой и сложной для диагностики. + +Вот задачи, которые необходимо выполнить, чтобы ваш порт продолжал работать должным образом: + +[.procedure] +==== +. Отвечать на отчёты об ошибках ++ +Ошибки могут быть сообщены вам по электронной почте через https://bugs.FreeBSD.org/search/[базу данных отчетов о проблемах]. Также пользователи могут сообщать об ошибках напрямую вам. ++ +Вы должны отвечать на PR и другие сообщения в течение 14 дней, но постарайтесь не затягивать так долго. Старайтесь отвечать как можно скорее, даже если это просто сообщение о том, что вам нужно ещё немного времени, прежде чем вы сможете заняться PR. ++ +Если вы не ответили в течение 14 дней, любой коммиттер может выполнить коммит из PR, на который вы не ответили, используя `maintainer-timeout`. +. Собрать информацию ++ +Если человек, сообщивший об ошибке, также не предоставил исправление, вам необходимо собрать информацию, которая позволит вам создать исправление. ++ +Если ошибка воспроизводима, вы можете собрать большую часть необходимой информации самостоятельно. Если нет, попросите человека, сообщившего об ошибке, собрать информацию для вас, например: + +** Подробное описание их действий, ожидаемого поведения программы и фактического поведения +** Копии входных данных, использованных для выявления ошибки +** Информация о среде сборки и выполнения — например, список установленных пакетов и вывод команды man:env[1] +** Файлы дампов ядра +** Стеки вызовов функций + +. Устраните некорректные отчеты ++ +Некоторые отчеты об ошибках могут быть некорректными. Например, пользователь мог просто неправильно использовать программу; или установленные пакеты могут быть устаревшими и требовать обновления. Иногда сообщаемая ошибка не специфична для FreeBSD. В этом случае следует сообщить об ошибке разработчикам вышестоящего проекта. Если ошибка находится в пределах ваших возможностей для исправления, вы также можете исправить порт, чтобы исправление было применено до следующего релиза вышестоящего проекта. +. Найдите решение ++ +Как и с ошибками сборки, вам потребуется найти решение проблемы. И снова, не забывайте спросить, если застряли! +. Представить или утвердить изменения ++ +Как и при обновлении порта, теперь вам следует внести изменения, проверить и протестировать их, а затем отправить изменения в PR (или отправить дополнение, если PR для данной проблемы уже существует). Если другой пользователь отправил изменения в PR, вы также можете отправить дополнение, указав, одобряете ли вы эти изменения или нет. +==== + +===== Предоставление поддержки + +Часть обязанностей сопровождающего заключается в предоставлении поддержки — не для программного обеспечения в целом, а для порта и любых особенностей и проблем, специфичных для FreeBSD. Пользователи могут обращаться к вам с вопросами, предложениями, проблемами и патчами. В большинстве случаев их обращение будет касаться именно FreeBSD. + +Время от времени вам может понадобиться проявить дипломатические навыки и вежливо направить пользователей, ищущих общую поддержку, к соответствующим ресурсам. Реже вы столкнётесь с людьми, спрашивающими, почему `RPMS` не обновлены или как запустить программное обеспечение под Foo Linux. Воспользуйтесь возможностью сообщить им, что ваш порт актуален (если это так, конечно!), и предложите попробовать FreeBSD. + +Иногда пользователи и разработчики решают, что вы занятой человек, чьё время ценно, и выполняют часть работы за вас. Например, они могут: + +* отправить PR или прислать свои патчи для обновления вашего порта, +* исследовать и, возможно, предоставить исправление для PR, или +* иначе отправить изменения в ваш порт. + +В этих случаях ваша основная обязанность — своевременно отвечать. Напоминаем, что срок ожидания ответа от сопровождающего составляет 14 дней. По истечении этого периода изменения могут быть зафиксированы без одобрения. Они потрудились сделать это за вас; пожалуйста, постарайтесь хотя бы оперативно ответить. Затем как можно скорее проверьте, одобрите, измените или обсудите их изменения с ними. + +Если вы сможете дать им почувствовать, что их вклад ценится (а так и должно быть), у вас будет больше шансов убедить их сделать для вас больше в будущем :-). + +[[fix-broken]] +=== Поиск и исправление сломанного порта + +Есть несколько хороших мест, где можно найти порт, требующий внимания. + +Вы можете использовать https://bugs.freebsd.org/search[веб-интерфейс] базы данных отчетов о проблемах для поиска и просмотра нерешенных PR. Большинство PR для портов — это обновления, но с небольшим поиском и беглым просмотром описаний вы сможете найти что-то интересное для работы. + +https://portsfallout.com/[PortsFallout] отображает проблемы с портами, собранные при сборке пакетов FreeBSD. + +Допустимо отправлять изменения и для поддерживаемого порта, но не забудьте уточнить у сопровождающего, не работает ли он уже над этой проблемой. + +Как только вы обнаружили ошибку или проблему, соберите информацию, изучите её и исправьте! Если уже существует PR, продолжите работу с ним. В противном случае создайте новый PR. Ваши изменения будут проверены и, если всё в порядке, приняты. + +[[mortal-coil]] +=== Как прекратить сопровождение + +По мере изменения ваших интересов и обязательств вы можете обнаружить, что у вас больше нет времени продолжать некоторые (или все) ваши вклады в порты. Это нормально! Пожалуйста, сообщите нам, если вы больше не используете порт или у вас нет времени или интереса продолжать быть его сопровождающим. Таким образом, мы сможем позволить другим людям попытаться решить существующие проблемы с портом, не дожидаясь вашего ответа. Помните, FreeBSD — это добровольный проект, поэтому если сопровождение порта больше не приносит удовольствия, вероятно, пришло время позволить кому-то другому заняться этим! + +В любом случае, команда управления портами (`portmgr`) оставляет за собой право сбросить ваше право сопровождения, если вы не поддерживали свой порт в течение некоторого времени. (В настоящее время этот срок установлен в 3 месяца.) Под этим подразумевается, что есть нерешенные проблемы или ожидающие обновления, над которыми не велась работа в течение этого времени. + +[[resources]] +=== Ресурсы для сопровождающих и участников портов + +extref:{porters-handbook}[Руководство FreeBSD по созданию портов] — это ваш путеводитель по системе портов. Держите его под рукой! + +Статья extref:{problem-reports}[Составление сообщений о проблеме во FreeBSD] описывает, как лучше всего сформулировать и отправить PR. В 2005 году было подано более одиннадцати тысяч PR для портов! Следование этой статье значительно поможет нам сократить время, необходимое для обработки ваших PR. + +https://bugs.freebsd.org/bugzilla/query.cgi[База данных отчетов о проблемах]. + +Сканер дистрибутивных файлов портов FreeBSD (portscout) http://portscout.FreeBSD.org[FreeBSD Ports distfile scanner (portscout)] может показать вам порты, для которых дистрибутивные файлы недоступны для загрузки. Вы можете проверить свои собственные порты или использовать его для поиска портов, которым требуется обновление `MASTER_SITES`. + +package:ports-mgmt/poudriere[] — это наиболее тщательный способ проверить порт на протяжении всего цикла установки, упаковки и удаления. Документация находится в https://github.com/freebsd/poudriere[репозитории poudriere на GitHub] + +man:portlint[1] — это приложение, которое можно использовать для проверки соответствия вашего порта многим важным стилистическим и функциональным рекомендациям. portlint — это простое эвристическое приложение, поэтому его следует использовать __только в качестве ориентира__. Если portlint предлагает изменения, которые кажутся необоснованными, обратитесь к extref:{porters-handbook}[Руководству портировщика] или попросите совета. + +{freebsd-ports} предназначен для общих обсуждений, связанных с портами. Это хорошее место для поиска помощи. Вы можете link:https://lists.freebsd.org/[subscribe, читать и искать в архивах списка]. Также может быть полезно ознакомиться с архивами {freebsd-ports-bugs} и {svn-ports-head}. + +https://portsfallout.com/[PortsFallout] — это место для помощи в поиске по https://lists.freebsd.org/archives/freebsd-pkg-fallout/[архиву FreeBSD package-fallout]. + +[[ideas-contributing]] +== Начало работы в других областях -Дополнительную информацию о Фонде FreeBSD можно найти на странице, содержащей http://people.FreeBSD.org/~jdp/foundation/announcement.html[ вводную информации о Фонде FreeBSD]. Для того, чтобы обратиться в Фонд по электронной почте, напишите письмо на адрес mailto:bod@FreeBSDFoundation.org[bod@FreeBSDFoundation.org]. +Ищете что-то интересное для начала работы, что не упоминается в этой статье? Проект FreeBSD имеет несколько страниц на Wiki, содержащих области, в которых новые участники могут найти идеи о том, как начать. -==== Помощь в виде оборудования +https://wiki.freebsd.org/JuniorJobs[Страница Junior Jobs] содержит список проектов, которые могут быть интересны тем, кто только начинает работать с FreeBSD и хочет попробовать свои силы в интересных задачах. -Проект FreeBSD с удовольствие примет помощь в виде оборудования, которому он найдёт хорошее применение. Если вы заинтересованы в передаче оборудования, пожалуйста, обратитесь к link:https://www.FreeBSD.org/donations/[Руководству Центра пожертвований]. +https://wiki.freebsd.org/IdeasPage[Страница идей] содержит различные «приятные» или «интересные» вещи для работы в Проекте. diff --git a/documentation/content/ru/articles/contributing/_index.po b/documentation/content/ru/articles/contributing/_index.po new file mode 100644 index 0000000000..118ab6104d --- /dev/null +++ b/documentation/content/ru/articles/contributing/_index.po @@ -0,0 +1,2259 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-10-01 20:43+0300\n" +"PO-Revision-Date: 2025-09-05 04:45+0000\n" +"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/articlescontributing_index/ru/>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.17\n" + +#. type: Yaml Front Matter Hash Value: description +#: documentation/content/en/articles/contributing/_index.adoc:1 +#, no-wrap +msgid "How to contribute to the FreeBSD Project" +msgstr "Как внести вклад в проект FreeBSD" + +#. type: Title = +#: documentation/content/en/articles/contributing/_index.adoc:1 +#: documentation/content/en/articles/contributing/_index.adoc:13 +#, no-wrap +msgid "Contributing to FreeBSD" +msgstr "Участие в проекте FreeBSD" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:45 +msgid "pass:[<!-- vale FreeBSD.Pronouns = NO -->]" +msgstr "pass:[<!-- vale FreeBSD.Pronouns = NO -->]" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:48 +msgid "Abstract" +msgstr "Аннотация" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:50 +msgid "" +"This article describes the different ways in which an individual or " +"organization may contribute to the FreeBSD Project." +msgstr "" +"В этой статье описаны различные способы, с помощью которых отдельный человек " +"или организация могут внести вклад в проект FreeBSD." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:52 +msgid "'''" +msgstr "'''" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:59 +msgid "" +"So you want to contribute to FreeBSD? That is great! FreeBSD _relies_ on the " +"contributions of its user base to survive. Your contributions are not only " +"appreciated, they are vital to FreeBSD's continued growth." +msgstr "" +"Итак, вы хотите внести свой вклад в FreeBSD? Это замечательно! FreeBSD " +"_полагается_ на вклад своих пользователей для существования. Ваши усилия не " +"только ценятся, они жизненно важны для дальнейшего развития FreeBSD." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:62 +msgid "" +"A large and growing number of international contributors, of greatly varying " +"ages and areas of technical expertise, develop FreeBSD. There is always " +"more work to be done than there are people available to do it, and more help " +"is always appreciated." +msgstr "" +"FreeBSD разрабатывает большое и постоянно растущее количество участников из " +"разных стран, самого разного возраста и уровня технической экспертизы. " +"Работы всегда больше, чем доступных людей, и любая помощь всегда " +"приветствуется." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:66 +msgid "" +"As a volunteer, what you do is limited only by what you want to do. " +"However, we do ask that you are aware of what other members of the FreeBSD " +"community will expect of you. You may want to take this into account before " +"deciding to volunteer." +msgstr "" +"В качестве волонтёра вы ограничены только тем, чем хотите заниматься. Однако " +"мы просим вас учитывать ожидания других участников сообщества FreeBSD. " +"Возможно, вам стоит принять это во внимание, прежде чем решить стать " +"волонтёром." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:70 +msgid "" +"The FreeBSD project is responsible for an entire operating system " +"environment, rather than just a kernel or a few scattered utilities. As " +"such, our [.filename]#TODO# lists span a very wide range of tasks: from " +"documentation, beta testing and presentation, to the system installer and " +"highly specialized types of kernel development. People of any skill level, " +"in almost any area, can almost certainly help the project." +msgstr "" +"Проект FreeBSD отвечает за целостную операционную среду, а не только за ядро " +"или несколько разрозненных утилит. Таким образом, наши списки " +"[.filename]#TODO# охватывают очень широкий спектр задач: от документации, " +"бета-тестирования и презентаций до установщика системы и " +"высокоспециализированных видов разработки ядра. Люди с любым уровнем " +"навыков, практически в любой области, почти наверняка могут помочь проекту." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:78 +msgid "" +"Commercial entities engaged in FreeBSD-related enterprises are also " +"encouraged to contact us. Do you need a special extension to make your " +"product work? You will find us receptive to your requests, given that they " +"are not too outlandish. Are you working on a value-added product? Please " +"let us know! We may be able to work cooperatively on some aspect of it. The " +"free software world is challenging many existing assumptions about how " +"software is developed, sold, and maintained, and we urge you to at least " +"give it a second look." +msgstr "" +"Коммерческие организации, занятые в сферах, связанных с FreeBSD, также " +"приглашаются к сотрудничеству. Вам нужно специальное расширение, чтобы ваш " +"продукт работал? Вы увидите, что мы отвечаем на ваши запросы, если они не " +"слишком экстравагантны. Вы работаете над продуктом, добавляющим ценность " +"системе? Пожалуйста, дайте нам знать! Возможно, мы сможем сотрудничать в " +"каких-то аспектах. Свободное программное обеспечение бросает вызов многим " +"устоявшимся представлениям о том, как разрабатывается, продаётся и " +"поддерживается программное обеспечение, и мы призываем вас хотя бы взглянуть " +"на него ещё раз." + +#. type: Title == +#: documentation/content/en/articles/contributing/_index.adoc:80 +#, no-wrap +msgid "What Is Needed" +msgstr "Что необходимо" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:83 +msgid "" +"The following list of tasks and sub-projects represents something of an " +"amalgam of various [.filename]#TODO# lists and user requests." +msgstr "" +"Следующий список задач и подпроектов представляет собой своего рода " +"объединение различных списков [.filename]#TODO# и запросов пользователей." + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:85 +#, no-wrap +msgid "Ongoing Non-Programmer Tasks" +msgstr "Текущие задачи для непрограммистов" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:90 +msgid "" +"Many people who are involved in FreeBSD are not programmers. The Project " +"includes documentation writers, Web designers, and support people. All that " +"these people need to contribute is an investment of time and a willingness " +"to learn." +msgstr "" +"Многие люди, участвующие в FreeBSD, не являются программистами. Проект " +"включает в себя авторов документации, веб-дизайнеров и специалистов " +"поддержки. Всё, что нужно этим людям для участия, — это вложение времени и " +"готовность учиться." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:94 +msgid "" +"Read through the FAQ and Handbook periodically. If anything is poorly " +"explained, ambiguous, out of date or incorrect, let us know. Even better, " +"send us a fix (AsciiDoc is not difficult to learn, but there is no objection " +"to plain text submissions)." +msgstr "" +"Периодически перечитывайте FAQ и Руководство. Если что-то объяснено " +"недостаточно ясно, неоднозначно, устарело или неверно, дайте нам знать. Ещё " +"лучше — пришлите нам исправление (AsciiDoc несложно изучить, но можно " +"присылать и обычный текст)." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:100 +msgid "" +"Help translate FreeBSD documentation into your native language. If " +"documentation already exists for your language, you can help translate " +"additional documents or verify that the translations are up-to-date and " +"correct. First take a look at the extref:{fdp-primer}[Translations FAQ, " +"translations] in the FreeBSD Documentation Project Primer. You are not " +"committing yourself to translating every single FreeBSD document by doing " +"this - as a volunteer, you can do as much or as little translation as you " +"desire. Once someone begins translating, others almost always join the " +"effort. If you only have the time or energy to translate one part of the " +"documentation, please translate the installation instructions." +msgstr "" +"Помогите перевести документацию FreeBSD на ваш родной язык. Если " +"документация уже существует на вашем языке, вы можете помочь перевести " +"дополнительные документы или проверить, что переводы актуальны и корректны. " +"Сначала ознакомьтесь с extref:{fdp-primer}[FAQ по переводам, translations] в " +"Руководстве проекта документации FreeBSD. Вы не обязаны переводить каждую " +"документацию FreeBSD — как волонтер, вы можете переводить столько, сколько " +"пожелаете. Как только кто-то начинает переводить, к этому процессу почти " +"всегда присоединяются другие. Если у вас есть время и силы перевести только " +"часть документации, пожалуйста, переведите инструкции по установке." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:103 +msgid "" +"Read the {freebsd-questions} occasionally (or even regularly). It can be " +"very satisfying to share your expertise and help people solve their " +"problems; sometimes you may even learn something new yourself! These forums " +"can also be a source of ideas for things to improve upon." +msgstr "" +"Читайте {freebsd-questions} время от времени (или даже регулярно). Может " +"быть очень приятно делиться своими знаниями и помогать людям решать их " +"проблемы; иногда вы даже можете узнать что-то новое для себя! Эти форумы " +"также могут быть источником идей для улучшений." + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:105 +#, no-wrap +msgid "Ongoing Programmer Tasks" +msgstr "Текущие задачи программистов" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:109 +msgid "" +"Most of the tasks listed here may require a considerable investment of time, " +"an in-depth knowledge of the FreeBSD kernel, or both. However, there are " +"also many useful tasks which are suitable for \"weekend hackers\"." +msgstr "" +"Большинство перечисленных здесь задач может потребовать значительных " +"временных затрат, глубоких знаний о ядре FreeBSD или того и другого. Однако, " +"есть также множество полезных задач, подходящих для \"хакеров выходного " +"дня\"." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:111 +msgid "" +"If you run FreeBSD-CURRENT and have a good Internet connection, there is a " +"machine `current.FreeBSD.org` which builds a full release once a day-every " +"now and again, try to install the latest release from it and report any " +"failures in the process." +msgstr "" +"Если вы используете FreeBSD-CURRENT и имеете хорошее подключение к " +"интернету, существует машина `current.FreeBSD.org`, которая ежедневно " +"собирает полный релиз — время от времени пробуйте установить последний релиз " +"с неё и сообщайте о любых сбоях в процессе." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:114 +msgid "" +"Read the {freebsd-bugs}. There may be a problem you can comment " +"constructively on or with patches you can test. Or you could even try to " +"fix one of the problems yourself." +msgstr "" +"Прочитайте {freebsd-bugs}. Возможно, там есть проблема, по которой вы можете " +"конструктивно высказаться, или патчи, которые вы можете протестировать. Или " +"вы даже можете попытаться исправить одну из проблем самостоятельно." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:115 +msgid "" +"If you know of any bug fixes which have been successfully applied to " +"-CURRENT but have not been merged into -STABLE after a decent interval " +"(normally a couple of weeks), send the committer a polite reminder." +msgstr "" +"Если вам известны исправления ошибок, которые были успешно применены в " +"-CURRENT, но не были перенесены в -STABLE в течение разумного срока (обычно " +"пары недель), отправьте коммиттеру вежливое напоминание." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:116 +msgid "" +"Move contributed software to [.filename]#src/contrib# in the source tree." +msgstr "" +"Переместите стороннее программное обеспечение в [.filename]#src/contrib# в " +"дереве исходных кодов." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:117 +msgid "Make sure code in [.filename]#src/contrib# is up to date." +msgstr "Убедитесь, что код в [.filename]#src/contrib# актуален." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:119 +msgid "" +"Build the source tree (or just part of it) with extra warnings enabled and " +"clean up the warnings. A list of build warnings can also be found from our " +"https://ci.freebsd.org[CI] by selecting a build and checking \"LLVM/Clang " +"Warnings\"." +msgstr "" +"Соберите дерево исходников (или только его часть) с включенными " +"дополнительными предупреждениями и устраните эти предупреждения. Список " +"предупреждений при сборке также можно найти в нашем https://" +"ci.freebsd.org[CI], выбрав сборку и отметив \"LLVM/Clang Warnings\"." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:120 +msgid "" +"Fix warnings for ports which do deprecated things like using `gets()` or " +"including [.filename]#malloc.h#." +msgstr "" +"Исправление предупреждений для портов, которые используют устаревшие " +"функции, такие как `gets()` или включают [.filename]#malloc.h#." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:121 +msgid "" +"If you have contributed any ports and you had to make FreeBSD-specific " +"changes, send your patches back to the original authors (this will make your " +"life easier when they bring out the next version)." +msgstr "" +"Если вы внесли свой вклад в какие-либо порты и вам пришлось внести " +"изменения, специфичные для FreeBSD, отправьте свои исправления оригинальным " +"авторам (это облегчит вашу жизнь, когда они выпустят следующую версию)." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:126 +msgid "" +"Get copies of formal standards like POSIX(R). Compare FreeBSD's behavior to " +"that required by the standard. If the behavior differs, particularly in " +"subtle or obscure corners of the specification, send in a PR about it. If " +"you are able, figure out how to fix it and include a patch in the PR. If " +"you think the standard is wrong, ask the standards body to consider the " +"question." +msgstr "" +"Получите копии официальных стандартов, таких как POSIX(R). Сравните " +"поведение FreeBSD с требованиями стандарта. Если поведение отличается, " +"особенно в сложных или малоизученных аспектах спецификации, отправьте PR об " +"этом. Если вы можете, предложите исправление и включите патч в PR. Если вы " +"считаете, что стандарт ошибочен, обратитесь в орган по стандартизации с " +"просьбой рассмотреть этот вопрос." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:127 +msgid "Suggest further tasks for this list!" +msgstr "Предложите дополнительные задачи для этого списка!" + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:128 +#, no-wrap +msgid "Work through the PR Database" +msgstr "Пройдитесь по базе данных PR" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:135 +msgid "" +"The https://bugs.FreeBSD.org/search/[FreeBSD PR list] shows all the current " +"active problem reports and requests for enhancement that have been submitted " +"by FreeBSD users. The PR database includes both programmer and non-" +"programmer tasks. Look through the open PRs, and see if anything there " +"takes your interest. Some of these might be very simple tasks that just " +"need an extra pair of eyes to look over them and confirm that the fix in the " +"PR is a good one. Others might be much more complex, or might not even have " +"a fix included at all." +msgstr "" +"https://bugs.FreeBSD.org/search/[Список PR FreeBSD] отображает все текущие " +"активные отчёты о проблемах и запросы на улучшение, отправленные " +"пользователями FreeBSD. База данных PR включает как задачи для " +"программистов, так и для непрограммистов. Просмотрите открытые PR и " +"посмотрите, есть ли среди них что-то, что вас заинтересует. Некоторые из них " +"могут быть очень простыми задачами, которым просто нужен свежий взгляд, " +"чтобы проверить и подтвердить, что исправление в PR является хорошим. Другие " +"могут быть гораздо сложнее или даже не содержать исправления вовсе." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:138 +msgid "" +"Start with the PRs that have not been assigned to anyone else. If a PR is " +"assigned to someone else, but it looks like something you can handle, email " +"the person it is assigned to and ask if you can work on it-they might " +"already have a patch ready to be tested, or further ideas that you can " +"discuss with them." +msgstr "" +"Начните с PR, которые никому не назначены. Если PR назначен кому-то другому, " +"но вам кажется, что вы можете с ним справиться, напишите этому человеку на " +"почту и спросите, можно ли вам над ним поработать — возможно, у него уже " +"есть готовый патч для тестирования или дополнительные идеи, которые можно " +"обсудить." + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:139 +#, no-wrap +msgid "Ongoing Ports Tasks" +msgstr "Текущие задачи портов" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:144 +msgid "" +"The Ports Collection is a perpetual work in progress. We want to provide " +"our users with an easy to use, up to date, high quality repository of third " +"party software. We need people to donate some of their time and effort to " +"help us achieve this goal." +msgstr "" +"Коллекция портов — это постоянный процесс. Мы стремимся предоставить нашим " +"пользователям удобный, современный и качественный репозиторий стороннего " +"программного обеспечения. Нам нужны люди, готовые пожертвовать своим " +"временем и усилиями, чтобы помочь нам достичь этой цели." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:148 +msgid "" +"Anyone can get involved, and there are lots of different ways to do so. " +"Contributing to ports is an excellent way to help \"give back\" something to " +"the project. Whether you are looking for an ongoing role, or a fun " +"challenge for a rainy day, we would love to have your help!" +msgstr "" +"Вовлечься может любой, и способов для этого множество. Участие в разработке " +"портов — отличный способ \"отдать долг\" проекту. Будь то поиск постоянной " +"роли или интересный вызов на дождливый день — мы будем рады вашей помощи!" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:150 +msgid "" +"There are a number of easy ways you can contribute to keeping the ports tree " +"up to date and in good working order:" +msgstr "" +"Есть несколько простых способов помочь поддерживать дерево портов в " +"актуальном состоянии и в хорошем рабочем порядке:" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:152 +msgid "" +"Find some cool or useful software and extref:{porters-handbook}[create a " +"port] for it." +msgstr "" +"Найдите интересное или полезное программное обеспечение и extref:{porters-" +"handbook}[создайте порт] для него." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:154 +msgid "" +"There are a large number of ports that have no maintainer. Become a " +"maintainer and crossref:contributing[adopt-port, Adopting an unmaintained " +"port]." +msgstr "" +"Существует множество портов, у которых нет сопровождающего. Станьте " +"сопровождающим и crossref:contributing[adopt-port, Возьмите на сопровождение " +"неподдерживаемый порт]." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:155 +msgid "" +"If you have created or adopted a port, be aware of " +"crossref:contributing[maintain-port, The challenge for port maintainers]." +msgstr "" +"Если вы создали или адаптировали порт, обратите внимание на раздел " +"crossref:contributing[maintain-port, Задача для сопровождающих портов]." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:156 +msgid "" +"When you are looking for a quick challenge you could " +"crossref:contributing[fix-broken, Finding and fixing a broken port]." +msgstr "" +"Если вы ищете быстрый вызов, вы можете crossref:contributing[fix-broken, " +"Найти и исправить сломанный порт]." + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:157 +#, no-wrap +msgid "Pick one of the items from the Ideas page" +msgstr "Выберите один из пунктов со страницы Идеи" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:161 +msgid "" +"The https://wiki.freebsd.org/IdeasPage[FreeBSD list of projects and ideas " +"for volunteers] is also available for people willing to contribute to the " +"FreeBSD project. The list is being regularly updated and contains items for " +"both programmers and non-programmers with information about each project." +msgstr "" +"https://wiki.freebsd.org/IdeasPage[Список проектов и идей FreeBSD для " +"волонтёров] также доступен для тех, кто хочет внести свой вклад в проект " +"FreeBSD. Список регулярно обновляется и содержит пункты как для " +"программистов, так и для не-программистов, с информацией о каждом проекте." + +#. type: Title == +#: documentation/content/en/articles/contributing/_index.adoc:163 +#, no-wrap +msgid "How to Contribute" +msgstr "Как внести свой вклад" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:166 +msgid "" +"Contributions to the system generally fall into one or more of the following " +"5 categories:" +msgstr "" +"Вклады в систему обычно относятся к одной или нескольким из следующих 5 " +"категорий:" + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:168 +#, no-wrap +msgid "Bug Reports and General Commentary" +msgstr "Отчеты об ошибках и общие комментарии" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:173 +msgid "" +"An idea or suggestion of _general_ technical interest should be mailed to " +"the {freebsd-hackers}. Likewise, people with an interest in such things " +"(and a tolerance for a _high_ volume of mail!) may subscribe to the {freebsd-" +"hackers}. See extref:{handbook}[The FreeBSD Handbook, eresources-mail] for " +"more information about this and other mailing lists." +msgstr "" +"Идея или предложение, представляющие _общий_ технический интерес, должны " +"быть отправлены на {freebsd-hackers}. Аналогично, люди, заинтересованные в " +"подобных вещах (и готовые терпеть _высокий_ объем почты!), могут подписаться " +"на {freebsd-hackers}. Дополнительную информацию об этом и других списках " +"рассылки см. в extref:{handbook}[The FreeBSD Handbook, eresources-mail]." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:176 +msgid "" +"If you are submitting a simple patch to the src repo, please consider " +"submitting it to the project's GitHub mirror as https://github.com/freebsd/" +"freebsd-src/pulls[a pull request]. Suitable submissions should:" +msgstr "" +"Если вы отправляете простой патч в репозиторий src, рассмотрите возможность " +"отправить его в зеркало проекта на GitHub как https://github.com/freebsd/" +"freebsd-src/pulls[запрос на включение]. Подходящие отправки должны:" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:179 +msgid "" +"It is ready or nearly ready to be committed. A committer should be able to " +"land this patch with less than 10 minutes of additional work." +msgstr "" +"Готово или почти готово для включения. Коммиттер должен быть в состоянии " +"применить этот патч с менее чем 10 минутами дополнительной работы." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:180 +msgid "It passes all the GitHub CI jobs." +msgstr "Он проходит все задания GitHub CI." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:181 +msgid "You can respond to feedback quickly." +msgstr "Вы можете быстро реагировать на обратную связь." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:183 +msgid "" +"It touches fewer than about 10 files and the changes are less than about 200 " +"lines. Changes larger than this may be OK, or you may be asked to submit " +"multiple pull requests of a more manageable size." +msgstr "" +"Он затрагивает менее 10 файлов, а изменения составляют менее 200 строк. " +"Изменения большего размера могут быть допустимы, или вас могут попросить " +"отправить несколько запросов на включение более удобного размера." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:185 +msgid "" +"Each logical change is a separate commit within the pull request. Commit " +"messages for each change should follow extref:{committers-guide}#commit-log-" +"message[commit log guide]." +msgstr "" +"Каждое логическое изменение — это отдельный коммит в рамках pull request. " +"Сообщения коммитов для каждого изменения должны соответствовать extref:" +"{committers-guide}#commit-log-message[руководству по оформлению логов " +"коммитов]." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:187 +msgid "" +"All commits have your name and valid email address as you'd like to see them " +"in the FreeBSD repository as the author. Fake github.com addresses cannot " +"be used." +msgstr "" +"Все коммиты содержат ваше имя и действительный адрес электронной почты, " +"которые вы хотите видеть в репозитории FreeBSD в качестве автора. Поддельные " +"адреса github.com использовать нельзя." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:189 +msgid "" +"The scope of the pull request should not change during review. If the " +"review suggests changes that expand the scope, please create an independent " +"pull request." +msgstr "" +"Объем pull request не должен меняться в процессе проверки. Если в ходе " +"проверки предложены изменения, расширяющие объем, создайте отдельный pull " +"request." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:191 +msgid "" +"Fixup commits should be squashed with the commit they are fixing. Each " +"commit in your branch should be suitable for FreeBSD's repository." +msgstr "" +"Исправляющие коммиты должны быть объединены (squash) с коммитом, который они " +"исправляют. Каждый коммит в вашей ветке должен быть пригоден для репозитория " +"FreeBSD." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:192 +msgid "" +"Commits should include one or more `Signed-off-by:` lines with full name and " +"email address certifying https://developercertificate.org/[Developer " +"Certificate of Origin]." +msgstr "" +"Коммиты должны включать одну или несколько строк `Signed-off-by:` с полным " +"именем и адресом электронной почты, подтверждающими https://" +"developercertificate.org/[Сертификат происхождения разработчика]." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:197 +msgid "" +"When updating pull request, please rebase with a forced push rather than a " +"merge commit. More complex changes may be submitted as pull requests, but " +"they may be closed if they are too large, too unwieldy, become inactive, " +"need further discussion in the community, or need extensive revision. " +"Please avoid creating large, wide-ranging cleanup patches: they are too " +"large and lack the focus needed for a good review. Misdirected patches may " +"be redirected to a more appropriate forum for the patch to be resolved." +msgstr "" +"При обновлении запроса на включение изменений, пожалуйста, выполняйте " +"перебазирование с принудительной отправкой (forced push), а не слиянием " +"через коммит (merge commit). Более сложные изменения могут быть отправлены " +"как запросы на включение (pull request), но они могут быть отклонены и " +"закрыты, если они слишком большие, слишком громоздкие, становятся " +"неактивными, требуют дополнительного обсуждения в сообществе или нуждаются в " +"значительной доработке. Пожалуйста, избегайте создания больших, " +"широкомасштабных патчей для очистки: они слишком велики и не обладают " +"необходимой фокусировкой для качественного рецензирования. Патчи, " +"отправленные не по адресу, могут быть перенаправлены в более подходящий " +"форум для их доработки." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:201 +msgid "" +"Pull requests submitted to the ports repository may or may not see action, " +"based on the whims of developers. For now, you will have a better " +"experience if you follow the ports submission process " +"crossref:contributing[ports-contributing, Contributing to ports]." +msgstr "" +"Запросы на включение изменений, отправленные в репозиторий портов, могут " +"быть обработаны или проигнорированы, в зависимости от настроения " +"разработчиков. На данный момент, вам будет проще, если вы будете следовать " +"процессу отправки портов crossref:contributing[ports-contributing, Вклад в " +"порты]." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:203 +msgid "" +"The docs team also accepts pull requests via GitHub, but has not established " +"any policy for them yet." +msgstr "" +"Команда документации также принимает pull requests через GitHub, но пока не " +"установила для них никакой политики." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:210 +msgid "" +"If you find a bug or are submitting a specific change, please report it " +"using the https://bugs.FreeBSD.org/submit/[bug submission form]. Try to " +"fill-in each field of the bug report. Unless they exceed 65KB, include any " +"patches directly in the report. If the patch is suitable to be applied to " +"the source tree put `[PATCH]` in the synopsis of the report. When including " +"patches, _do not_ use cut-and-paste because cut-and-paste turns tabs into " +"spaces and makes them unusable. When patches are a lot larger than 20KB, " +"consider compressing them (for example with man:gzip[1] or man:bzip2[1]) " +"prior to uploading them." +msgstr "" +"Если вы обнаружили ошибку или хотите отправить конкретное изменение, " +"пожалуйста, сообщите об этом, используя https://bugs.FreeBSD.org/submit/" +"[форму отправки отчёта об ошибках]. Постарайтесь заполнить каждое поле " +"отчёта. Если патчи не превышают 65 КБ, включите их непосредственно в отчёт. " +"Если патч подходит для применения к исходному дереву, укажите `[PATCH]` в " +"кратком описании отчёта. При включении патчей _не_ используйте копирование и " +"вставку, так как это превращает табуляции в пробелы и делает их " +"непригодными. Если патчи значительно превышают 20 КБ, рассмотрите " +"возможность их сжатия (например, с помощью man:gzip[1] или man:bzip2[1]) " +"перед загрузкой." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:213 +msgid "" +"After filing a report, you should receive confirmation along with a tracking " +"number. Keep this tracking number so that you can update us with details " +"about the problem." +msgstr "" +"После подачи отчета вы должны получить подтверждение вместе с номером для " +"отслеживания. Сохраните этот номер, чтобы вы могли сообщить нам " +"дополнительные сведения о проблеме." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:215 +msgid "" +"See also extref:{problem-reports}[this article] on how to write good problem " +"reports." +msgstr "" +"См. также extref:{problem-reports}[эту статью] о том, как писать хорошие " +"отчёты о проблемах." + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:216 +#, no-wrap +msgid "Changes to the Documentation" +msgstr "Изменения в документации" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:221 +msgid "" +"Changes to the documentation are overseen by the {freebsd-doc}. Please look " +"at the extref:{fdp-primer}[FreeBSD Documentation Project Primer] for " +"complete instructions. Send submissions and changes (even small ones are " +"welcome!) using the same method as any other bug report." +msgstr "" +"Изменения в документации контролируются {freebsd-doc}. Пожалуйста, " +"ознакомьтесь с руководством extref:{fdp-primer}[Проект документации FreeBSD: " +"введение для новых участников] для получения полных инструкций. Отправляйте " +"исправления и изменения (даже небольшие правки приветствуются!) тем же " +"способом, что и другие отчёты об ошибках." + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:222 +#, no-wrap +msgid "Changes to Existing Source Code" +msgstr "Изменения в существующем исходном коде" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:227 +msgid "" +"An addition or change to the existing source code is a somewhat trickier " +"affair and depends a lot on how far out of date you are with the current " +"state of FreeBSD development. There is a special on-going release of " +"FreeBSD known as \"FreeBSD-CURRENT\" which is made available in a variety of " +"ways for the convenience of developers working actively on the system. See " +"extref:{handbook}[The FreeBSD Handbook, current-stable] for more information " +"about getting and using FreeBSD-CURRENT." +msgstr "" +"Добавление или изменение существующего исходного кода — это несколько более " +"сложная задача, которая во многом зависит от того, насколько сильно вы " +"отстали от текущего состояния разработки FreeBSD. Существует специальная " +"постоянно обновляемая версия FreeBSD, известная как \"FreeBSD-CURRENT\", " +"которая доступна различными способами для удобства разработчиков, активно " +"работающих над системой. Подробнее о получении и использовании FreeBSD-" +"CURRENT можно узнать в extref:{handbook}[Руководстве FreeBSD, current-" +"stable]." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:230 +msgid "" +"Working from older sources unfortunately means that your changes may " +"sometimes be too obsolete or too divergent for easy re-integration into " +"FreeBSD. Chances of this can be minimized somewhat by subscribing to the " +"{freebsd-announce} and the {freebsd-current} lists, where discussions on the " +"current state of the system take place." +msgstr "" +"Работа с устаревшими исходниками, к сожалению, означает, что ваши изменения " +"иногда могут быть слишком устаревшими или слишком расходящимися для лёгкого " +"повторного включения в FreeBSD. Шансы на это можно несколько уменьшить, " +"подписавшись на списки рассылки {freebsd-announce} и {freebsd-current}, где " +"обсуждается текущее состояние системы." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:233 +msgid "" +"Assuming that you can manage to secure fairly up-to-date sources to base " +"your changes on, the next step is to produce a set of diffs to send to the " +"FreeBSD maintainers. This is done with the man:diff[1] command." +msgstr "" +"Предполагая, что вам удалось получить достаточно актуальные исходные коды " +"для внесения изменений, следующий шаг — создать набор различий (diff) для " +"отправки сопровождающим FreeBSD. Это делается с помощью команды man:diff[1]." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:235 +msgid "" +"The preferred man:diff[1] format for submitting patches is the unified " +"output format generated by `diff -u`." +msgstr "" +"Предпочтительным форматом man:diff[1] для отправки исправлений является " +"унифицированный формат вывода, создаваемый командой `diff -u`." + +#. type: delimited block . 4 +#: documentation/content/en/articles/contributing/_index.adoc:239 +#, no-wrap +msgid "% diff -u oldfile newfile\n" +msgstr "% diff -u oldfile newfile\n" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:242 +msgid "or" +msgstr "или" + +#. type: delimited block . 4 +#: documentation/content/en/articles/contributing/_index.adoc:246 +#, no-wrap +msgid "% diff -u -r -N olddir newdir\n" +msgstr "% diff -u -r -N olddir newdir\n" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:249 +msgid "" +"would generate a set of unified diffs for the given source file or directory " +"hierarchy." +msgstr "" +"сгенерирует набор унифицированных diff-файлов для указанного исходного файла " +"или иерархии каталогов." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:251 +msgid "See man:diff[1] for more information." +msgstr "См. man:diff[1] для получения дополнительной информации." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:255 +msgid "" +"Once you have a set of diffs (which you may test with the man:patch[1] " +"command), you should submit them for inclusion with FreeBSD as a bug " +"report. _Do not_ just send the diffs to the {freebsd-hackers} or they will " +"get lost! We greatly appreciate your submission (this is a volunteer " +"project!); because we are busy, we may not be able to address it " +"immediately, but it will remain in the PR database until we do. Indicate " +"your submission by including `[PATCH]` in the synopsis of the report." +msgstr "" +"После того как у вас есть набор изменений (которые вы можете проверить с " +"помощью команды man:patch[1]), вам следует отправить их для включения в " +"FreeBSD в виде отчета об ошибке. _Не отправляйте_ изменения просто на " +"{freebsd-hackers}, иначе они могут потеряться! Мы очень ценим ваши " +"предложения (это добровольный проект!); поскольку мы заняты, мы не всегда " +"можем обработать их сразу, но они останутся в базе данных PR, пока мы не " +"дойдем до них. Укажите, что это предложение изменений, добавив `[PATCH]` в " +"заголовок отчета." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:257 +msgid "" +"If you feel it appropriate (for example you have added, deleted, or renamed " +"files), bundle your changes into a `tar` file." +msgstr "" +"Если вы считаете это уместным (например, вы добавили, удалили или " +"переименовали файлы), упакуйте свои изменения в файл `tar`." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:261 +msgid "" +"If your change is of a potentially sensitive nature, such as if you are " +"unsure of copyright issues governing its further distribution then you " +"should send it to {core-email} directly rather than submitting as a bug " +"report. The {core-email} reaches a much smaller group of people who do much " +"of the day-to-day work on FreeBSD. Note that this group is also _very busy_ " +"and so you should only send mail to them where it is truly necessary." +msgstr "" +"Если ваше изменение носит потенциально чувствительный характер, например, " +"если вы не уверены в вопросах авторского права, регулирующих его дальнейшее " +"распространение, то вам следует отправить его напрямую по адресу {core-" +"email}, а не подавать как отчёт об ошибке. Письмо на {core-email} достигает " +"гораздо меньшей группы людей, которые выполняют большую часть повседневной " +"работы над FreeBSD. Обратите внимание, что эта группа также _очень занята_, " +"поэтому вам следует писать им только в случае действительной необходимости." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:264 +msgid "" +"Please refer to man:intro[9] and man:style[9] for some information on coding " +"style. We would appreciate it if you were at least aware of this " +"information before submitting code." +msgstr "" +"Пожалуйста, обратитесь к man:intro[9] и man:style[9] для получения " +"информации о стиле написания кода. Мы будем признательны, если вы хотя бы " +"ознакомитесь с этой информацией перед отправкой кода." + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:265 +#, no-wrap +msgid "New Code or Major Value-Added Packages" +msgstr "Новый код или основные пакеты с добавленной стоимостью" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:269 +msgid "" +"In the case of a significant contribution of a large body work, or the " +"addition of an important new feature to FreeBSD, it becomes almost always " +"necessary to either send changes as tar files or upload them to a web or FTP " +"site for other people to access. If you do not have access to a web or FTP " +"site, ask on an appropriate FreeBSD mailing list for someone to host the " +"changes for you." +msgstr "" +"В случае значительного вклада в виде большого объёма работы или добавления " +"важной новой функции в FreeBSD, почти всегда необходимо либо отправить " +"изменения в виде tar-файлов, либо загрузить их на веб- или FTP-сайт для " +"доступа других людей. Если у вас нет доступа к веб- или FTP-сайту, запросите " +"на соответствующем списке рассылки FreeBSD, чтобы кто-то разместил изменения " +"для вас." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:274 +msgid "" +"When working with large amounts of code, the touchy subject of copyrights " +"also invariably comes up. FreeBSD prefers free software licenses such as " +"BSD or ISC. Copyleft licenses such as GPLv2 are sometimes permitted. The " +"complete listing can be found on the link:https://www.FreeBSD.org/internal/" +"software-license/[core team licensing policy] page." +msgstr "" +"При работе с большими объемами кода неизбежно возникает деликатная тема " +"авторских прав. FreeBSD предпочитает свободные лицензии, такие как BSD или " +"ISC. Копилефтные лицензии, например GPLv2, иногда допускаются. Полный список " +"можно найти на странице link:https://www.FreeBSD.org/internal/software-" +"license/[политики лицензирования основной команды]." + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:275 +#, no-wrap +msgid "Money or Hardware" +msgstr "Деньги или Оборудование" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:279 +msgid "" +"We are always very happy to accept donations to further the cause of the " +"FreeBSD Project and, in a volunteer effort like ours, a little can go a long " +"way! Donations of hardware are also very important to expanding our list of " +"supported peripherals since we generally lack the funds to buy such items " +"ourselves." +msgstr "" +"Мы всегда рады пожертвованиям для поддержки проекта FreeBSD, и в " +"добровольческих усилиях, подобных нашим, даже небольшая помощь может иметь " +"большое значение! Пожертвования оборудования также очень важны для " +"расширения списка поддерживаемых периферийных устройств, поскольку у нас " +"обычно нет средств на их приобретение." + +#. type: Title ==== +#: documentation/content/en/articles/contributing/_index.adoc:281 +#, no-wrap +msgid "Donating Funds" +msgstr "Пожертвование средств" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:286 +msgid "" +"The https://www.freebsdfoundation.org[FreeBSD Foundation] is a non-profit, " +"tax-exempt foundation established to further the goals of the FreeBSD " +"Project. As a 501(c)3 entity, the Foundation is generally exempt from US " +"federal income tax as well as Colorado State income tax. Donations to a tax-" +"exempt entity are often deductible from taxable federal income." +msgstr "" +"https://www.freebsdfoundation.org[FreeBSD Foundation] — это некоммерческий, " +"освобожденный от налогов фонд, созданный для поддержки целей проекта " +"FreeBSD. Как организация 501(c)3, Фонд, как правило, освобожден от " +"федерального подоходного налога США, а также от подоходного налога штата " +"Колорадо. Пожертвования освобожденным от налогов организациям часто " +"вычитаются из налогооблагаемого федерального дохода." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:288 +msgid "Donations may be sent in check form to:" +msgstr "Пожертвования можно отправить в виде чека по адресу:" + +#. type: delimited block * 4 +#: documentation/content/en/articles/contributing/_index.adoc:296 +#, no-wrap +msgid "" +"The FreeBSD Foundation\n" +"3980 Broadway Street\n" +"STE #103-107\n" +"Boulder CO 80304\n" +"USA" +msgstr "" +"The FreeBSD Foundation\n" +"3980 Broadway Street\n" +"STE #103-107\n" +"Boulder CO 80304\n" +"USA" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:299 +msgid "" +"The FreeBSD Foundation is also able to accept https://" +"www.freebsdfoundation.org/donate/[online donations] through various payment " +"options." +msgstr "" +"Фонд FreeBSD также принимает https://www.freebsdfoundation.org/donate/" +"[онлайн-пожертвования] через различные варианты оплаты." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:302 +msgid "" +"More information about the FreeBSD Foundation can be found in https://" +"people.FreeBSD.org/~jdp/foundation/announcement.html[The FreeBSD Foundation " +"-- an Introduction]. To contact the Foundation by email, write to " +"mailto:info@FreeBSDFoundation.org[info@FreeBSDFoundation.org]." +msgstr "" +"Дополнительная информация о Фонде FreeBSD доступна по ссылке https://" +"people.FreeBSD.org/~jdp/foundation/announcement.html[Фонд FreeBSD — " +"введение]. Чтобы связаться с Фондом по электронной почте, напишите на " +"mailto:info@FreeBSDFoundation.org[info@FreeBSDFoundation.org]." + +#. type: Title ==== +#: documentation/content/en/articles/contributing/_index.adoc:303 +#, no-wrap +msgid "Donating Hardware" +msgstr "Пожертвование оборудования" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:307 +msgid "" +"The FreeBSD Project happily accepts donations of hardware that it can find " +"good use for. If you are interested in donating hardware, please contact " +"the link:https://www.FreeBSD.org/donations/[Donations Liaison Office]." +msgstr "" +"Проект FreeBSD с благодарностью принимает пожертвования в виде оборудования, " +"которое может быть полезно для проекта. Если вы хотите пожертвовать " +"оборудование, пожалуйста, свяжитесь с link:https://www.FreeBSD.org/donations/" +"[Офисом по связям с пожертвованиями]." + +#. type: Title == +#: documentation/content/en/articles/contributing/_index.adoc:309 +#, no-wrap +msgid "Contributing to ports" +msgstr "Вклад в порты" + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:312 +#, no-wrap +msgid "Adopting an unmaintained port" +msgstr "Принятие сопровождения неподдерживаемого порта" + +#. type: Title ==== +#: documentation/content/en/articles/contributing/_index.adoc:314 +#, no-wrap +msgid "Choosing an unmaintained port" +msgstr "Выбор неподдерживаемого порта" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:320 +msgid "" +"Taking over maintainership of ports that are unmaintained is a great way to " +"get involved. Unmaintained ports are only updated and fixed when somebody " +"volunteers to work on them. There are a large number of unmaintained " +"ports. It is a good idea to start with adopting a port that you use " +"regularly." +msgstr "" +"Принятие на себя сопровождения необслуживаемых портов — это отличный способ " +"принять участие. Необслуживаемые порты обновляются и исправляются только " +"тогда, когда кто-то добровольно берется за работу над ними. Существует " +"большое количество необслуживаемых портов. Хорошей идеей будет начать с " +"порта, который вы используете регулярно." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:323 +msgid "" +"Unmaintained ports have their `MAINTAINER` set to `ports@FreeBSD.org`. Many " +"unmaintained ports can have pending updates, this can be seen at the https://" +"portscout.freebsd.org/ports@freebsd.org.html[FreeBSD Ports distfile scanner]." +msgstr "" +"Неподдерживаемые порты имеют параметр `MAINTAINER`, установленный в " +"`ports@FreeBSD.org`. Многие неподдерживаемые порты могут иметь ожидающие " +"обновления, это можно увидеть на https://portscout.freebsd.org/" +"ports@freebsd.org.html[сканере дистрибутивных файлов портов FreeBSD]." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:325 +msgid "" +"On https://portsfallout.com/fallout?" +"port=&maintainer=ports%40FreeBSD.org[PortsFallout] can be seen a list of " +"unmaintained ports with errors." +msgstr "" +"На https://portsfallout.com/fallout?" +"port=&maintainer=ports%40FreeBSD.org[PortsFallout] можно увидеть список " +"неподдерживаемых портов с ошибками." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:328 +msgid "" +"Some ports affect a large number of others due to dependencies and secondary " +"port relationships. Generally, we want people to have some experience " +"before they maintain such ports." +msgstr "" +"Некоторые порты влияют на большое количество других из-за зависимостей и " +"вторичных связей между портами. Обычно мы хотим, чтобы у людей был некоторый " +"опыт, прежде чем они начнут сопровождать такие порты." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:332 +msgid "" +"You can find out whether or not a port has dependencies or secondary ports " +"by looking at a primary index of ports called [.filename]#INDEX#. (The name " +"of the file varies by release of FreeBSD; for instance, " +"[.filename]#INDEX-13#.) Some ports have conditional dependencies that are " +"not included in a default [.filename]#INDEX# build. We expect you to be " +"able to recognize such ports by looking through other ports' " +"[.filename]#Makefile#'s." +msgstr "" +"Вы можете узнать, есть ли у порта зависимости или вторичные порты, посмотрев " +"в основной индекс портов под названием [.filename]#INDEX#. (Имя файла может " +"различаться в зависимости от версии FreeBSD; например, " +"[.filename]#INDEX-13#.) Некоторые порты имеют условные зависимости, которые " +"не включены в стандартную сборку [.filename]#INDEX#. Мы ожидаем, что вы " +"сможете распознать такие порты, просмотрев [.filename]#Makefile# других " +"портов." + +#. type: Title ==== +#: documentation/content/en/articles/contributing/_index.adoc:333 +#, no-wrap +msgid "How to adopt the port" +msgstr "Как принять сопровождение порта" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:338 +msgid "" +"First make sure you understand your crossref:contributing[maintain-port, The " +"challenge for port maintainers]. Also read the extref:{porters-handbook}" +"[Porter's Handbook]. _Please do not commit yourself to more than you feel " +"you can comfortably handle._" +msgstr "" +"Убедитесь, что вы понимаете раздел crossref:contributing[maintain-port, " +"Задача для сопровождающих портов]. Также прочитайте extref:{porters-handbook}" +"[Руководство FreeBSD по созданию портов]. _Пожалуйста, не берите на себя " +"больше, чем вам комфортно выполнять._" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:344 +msgid "" +"You may request maintainership of any unmaintained port as soon as you " +"wish. Simply set `MAINTAINER` to your own email address and send a PR " +"(Problem Report) with the change. If the port has build errors or needs " +"updating, you may wish to include any other changes in the same PR. This " +"will help because many committers are less willing to assign maintainership " +"to someone who does not have a known track record with FreeBSD. Submitting " +"PRs that fix build errors or update ports are the best ways to establish one." +msgstr "" +"Вы можете запросить статус сопровождающего для любого неподдерживаемого " +"порта, как только пожелаете. Просто установите `MAINTAINER` на ваш " +"собственный адрес электронной почты и отправьте PR (Problem Report) с этим " +"изменением. Если порт имеет ошибки сборки или нуждается в обновлении, вы " +"можете включить другие изменения в тот же PR. Это поможет, поскольку многие " +"коммиттеры менее склонны назначать сопровождающего тому, у кого нет " +"известной истории работы с FreeBSD. Отправка PR, исправляющих ошибки сборки " +"или обновляющих порты, — лучший способ её установить." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:348 +msgid "" +"File your PR with Product `Ports & Packages`. A committer will examine your " +"PR, commit the changes, and finally close the PR. Sometimes this process " +"can take a little while (committers are volunteers, too :)." +msgstr "" +"Подайте ваш PR в категорию `Порты и пакеты`. Коммиттер проверит ваш PR, " +"закоммитит изменения и в конце закрыт PR. Иногда этот процесс может занять " +"некоторое время (коммиттеры тоже волонтеры :)." + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:350 +#, no-wrap +msgid "The challenge for port maintainers" +msgstr "Задача для сопровождающих портов" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:353 +msgid "" +"This section will give you an idea of why ports need to be maintained and " +"outline the responsibilities of a port maintainer." +msgstr "" +"В этом разделе вы узнаете, зачем нужно поддерживать порты, а также " +"ознакомитесь с обязанностями сопровождающего портов." + +#. type: Title ==== +#: documentation/content/en/articles/contributing/_index.adoc:355 +#, no-wrap +msgid "Why ports require maintenance" +msgstr "Почему порты требуют обслуживания" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:360 +msgid "" +"Creating a port is a once-off task. Ensuring that a port is up to date and " +"continues to build and run requires an ongoing maintenance effort. " +"Maintainers are the people who dedicate some of their time to meeting these " +"goals." +msgstr "" +"Создание порта — это разовая задача. Обеспечение актуальности порта, его " +"сборки и работы требует постоянных усилий по поддержке. Поддерживающие " +"(maintainers) — это люди, которые посвящают часть своего времени достижению " +"этих целей." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:363 +msgid "" +"The foremost reason ports need maintenance is to bring the latest and " +"greatest in third party software to the FreeBSD community. An additional " +"challenge is to keep individual ports working within the Ports Collection " +"framework as it evolves." +msgstr "" +"Основная причина, по которой порты требуют обслуживания, — это " +"предоставление новейших и лучших сторонних программных решений сообществу " +"FreeBSD. Дополнительная задача — обеспечение работоспособности отдельных " +"портов в рамках коллекции Ports по мере её развития." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:365 +msgid "As a maintainer, you will need to manage the following challenges:" +msgstr "Как сопровождающему, вам потребуется управлять следующими задачами:" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:367 +#, fuzzy +#| msgid "" +#| "*New software versions and updates.* New versions and updates of existing " +#| "ported software become available all the time, and these need to be " +#| "incorporated into the Ports Collection to provide up-to-date software.\n" +msgid "" +"*New software versions and updates.* New versions and updates of existing " +"ported software become available all the time, and these need to be " +"incorporated into the Ports Collection to provide up-to-date software." +msgstr "" +"*Новые версии программного обеспечения и обновления.* Новые версии и " +"обновления существующего портированного программного обеспечения появляются " +"постоянно, и их необходимо включать в Коллекцию портов, чтобы обеспечить " +"актуальное ПО.\n" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:369 +#, fuzzy +#| msgid "" +#| "*Changes to dependencies.* If significant changes are made to the " +#| "dependencies of your port, it may need to be updated so that it will " +#| "continue to work correctly.\n" +msgid "" +"*Changes to dependencies.* If significant changes are made to the " +"dependencies of your port, it may need to be updated so that it will " +"continue to work correctly." +msgstr "" +"*Изменения в зависимостях.* Если в зависимостях вашего порта были внесены " +"значительные изменения, возможно, его потребуется обновить, чтобы он " +"продолжал работать корректно.\n" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:371 +#, fuzzy +#| msgid "" +#| "*Changes affecting dependent ports.* If other ports depend on a port that " +#| "you maintain, changes to your port may require coordination with other " +#| "maintainers.\n" +msgid "" +"*Changes affecting dependent ports.* If other ports depend on a port that " +"you maintain, changes to your port may require coordination with other " +"maintainers." +msgstr "" +"*Изменения, затрагивающие зависимые порты.* Если другие порты зависят от " +"порта, который вы поддерживаете, изменения в вашем порте могут потребовать " +"согласования с другими сопровождающими.\n" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:374 +#, fuzzy +#| msgid "" +#| "*Interaction with other users, maintainers and developers.* Part of being " +#| "a maintainer is taking on a support role.\n" +#| "You are not expected to provide general support (but we welcome it if you " +#| "choose to do so). What you should provide is a point of coordination for " +#| "FreeBSD-specific issues regarding your ports.\n" +msgid "" +"*Interaction with other users, maintainers and developers.* Part of being a " +"maintainer is taking on a support role. You are not expected to provide " +"general support (but we welcome it if you choose to do so). What you should " +"provide is a point of coordination for FreeBSD-specific issues regarding " +"your ports." +msgstr "" +"*Взаимодействие с другими пользователями, сопровождающими и разработчиками.* " +"Часть обязанностей сопровождающего включает в себя поддержку.\n" +"От вас не ожидают предоставления общей поддержки (но мы приветствуем это, " +"если вы решите её оказывать). Ваша задача — быть точкой координации по " +"вопросам, связанным с вашими портами, специфичным для FreeBSD.\n" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:378 +#, fuzzy +#| msgid "" +#| "*Bug hunting.* A port may be affected by bugs which are specific to " +#| "FreeBSD.\n" +#| "You will need to investigate, find, and fix these bugs when they are " +#| "reported.\n" +#| "Thoroughly testing a port to identify problems before they make their way " +#| "into the Ports Collection is even better.\n" +msgid "" +"*Bug hunting.* A port may be affected by bugs which are specific to " +"FreeBSD. You will need to investigate, find, and fix these bugs when they " +"are reported. Thoroughly testing a port to identify problems before they " +"make their way into the Ports Collection is even better." +msgstr "" +"*Поиск ошибок.* Порт может быть подвержен ошибкам, специфичным для FreeBSD.\n" +"Вам потребуется исследовать, находить и исправлять эти ошибки при их " +"поступлении.\n" +"Ещё лучше тщательно тестировать порт для выявления проблем до их попадания в " +"Коллекцию портов.\n" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:381 +#, fuzzy +#| msgid "" +#| "*Changes to ports infrastructure and policy.* Occasionally the systems " +#| "that are used to build ports and packages are updated or a new " +#| "recommendation affecting the infrastructure is made.\n" +#| "You should be aware of these changes in case your ports are affected and " +#| "require updating.\n" +msgid "" +"*Changes to ports infrastructure and policy.* Occasionally the systems that " +"are used to build ports and packages are updated or a new recommendation " +"affecting the infrastructure is made. You should be aware of these changes " +"in case your ports are affected and require updating." +msgstr "" +"*Изменения в инфраструктуре и политике портов.* Иногда обновляются системы, " +"используемые для сборки портов и пакетов, или появляются новые рекомендации, " +"влияющие на инфраструктуру.\n" +"Вам следует учитывать эти изменения, если ваши порты затронуты и требуют " +"обновления.\n" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:384 +#, fuzzy +#| msgid "" +#| "*Changes to the base system.* FreeBSD is under constant development.\n" +#| "Changes to software, libraries, the kernel or even policy changes can " +#| "cause flow-on change requirements to ports.\n" +msgid "" +"*Changes to the base system.* FreeBSD is under constant development. " +"Changes to software, libraries, the kernel or even policy changes can cause " +"flow-on change requirements to ports." +msgstr "" +"*Изменения в базовой системе.* FreeBSD находится в постоянной разработке.\n" +"Изменения в программном обеспечении, библиотеках, ядре или даже изменения " +"политики могут вызвать каскадные требования к изменениям в портах.\n" + +#. type: Title ==== +#: documentation/content/en/articles/contributing/_index.adoc:385 +#, no-wrap +msgid "Maintainer responsibilities" +msgstr "Обязанности сопровождающего" + +#. type: Title ===== +#: documentation/content/en/articles/contributing/_index.adoc:387 +#, no-wrap +msgid "Keep your ports up to date" +msgstr "Поддерживайте свои порты в актуальном состоянии" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:390 +msgid "" +"This section outlines the process to follow to keep your ports up to date." +msgstr "" +"В этом разделе описаны шаги, которые необходимо выполнить, чтобы " +"поддерживать ваши порты в актуальном состоянии." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:393 +msgid "" +"This is an overview. More information about upgrading a port is available " +"in the extref:{porters-handbook}[Porter's Handbook]." +msgstr "" +"Это общий обзор. Дополнительная информация об обновлении порта доступна в " +"extref:{porters-handbook}[Руководстве FreeBSD по созданию портов]." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:397 +msgid "Watch for updates" +msgstr "Следите за обновлениями" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:402 +msgid "" +"Monitor the upstream vendor for new versions, updates and security fixes for " +"the software. Announcement mailing lists or news web pages are useful for " +"doing this. Sometimes users will contact you and ask when your port will be " +"updated. If you are busy with other things or for any reason just cannot " +"update it at the moment, ask if they will help you by submitting an update." +msgstr "" +"Отслеживайте у вышестоящего поставщика появление новых версий, обновлений и " +"исправлений безопасности для программного обеспечения. Для этого полезны " +"списки рассылки объявлений или новостные веб-страницы. Иногда пользователи " +"могут связаться с вами и спросить, когда ваш порт будет обновлен. Если вы " +"заняты другими делами или по какой-либо причине просто не можете обновить " +"его в данный момент, спросите, могут ли они помочь вам, предоставив " +"обновление." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:405 +msgid "" +"You may also receive automated email from the `FreeBSD Ports Version Check` " +"informing you that a newer version of your port's distfile is available. " +"More information about that system (including how to stop future emails) " +"will be provided in the message." +msgstr "" +"Вы также можете получать автоматические письма от `FreeBSD Ports Version " +"Check`, уведомляющие о доступности новой версии дистрибутивного файла вашего " +"порта. В сообщении будет предоставлена дополнительная информация об этой " +"системе (включая инструкции по остановке будущих писем)." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:406 +msgid "Incorporate changes" +msgstr "Вносите изменения" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:409 +msgid "" +"When they become available, incorporate the changes into the port. You need " +"to be able to generate a patch between the original port and your updated " +"port." +msgstr "" +"Когда они станут доступны, включите изменения в порт. Вам нужно уметь " +"создавать патч между оригинальным портом и вашим обновлённым портом." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:410 +msgid "Review and test" +msgstr "Проверяйте и тестируйте" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:412 +msgid "Thoroughly review and test your changes:" +msgstr "Тщательно проверьте и протестируйте свои изменения:" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:415 +msgid "" +"Build, install and test your port on as many platforms and architectures as " +"you can. It is common for a port to work on one branch or platform and fail " +"on another." +msgstr "" +"Соберите, установите и протестируйте ваш порт на максимально возможном " +"количестве платформ и архитектур. Часто бывает, что порт работает в одной " +"ветке или на одной платформе, но не работает в другой." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:418 +msgid "" +"Make sure your port's dependencies are complete. The recommended way of " +"doing this is by installing your own ports tinderbox. See " +"crossref:contributing[resources, Resources for ports maintainers and " +"contributors] for more information." +msgstr "" +"Убедитесь, что зависимости вашего порта полные. Рекомендуемый способ сделать " +"это — установить собственный tinderbox для портов. Дополнительную информацию " +"см. в crossref:contributing[resources, Ресурсы для сопровождающих и " +"участников разработки портов]." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:420 +msgid "" +"Check that the packing list is up to date. This involves adding in any new " +"files and directories and removing unused entries." +msgstr "" +"Проверьте, что список упаковки актуален. Это включает добавление новых " +"файлов и каталогов и удаление неиспользуемых записей." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:422 +msgid "" +"Verify your port using man:portlint[1] as a guide. See " +"crossref:contributing[resources, Resources for ports maintainers and " +"contributors] for important information about using portlint." +msgstr "" +"Проверьте ваш порт, используя man:portlint[1] в качестве помощника. См. " +"crossref:contributing[resources, Ресурсы для сопровождающих и участников " +"портов] для важной информации об использовании portlint." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:425 +msgid "" +"Consider whether changes to your port might cause any other ports to break. " +"If this is the case, coordinate the changes with the maintainers of those " +"ports. This is especially important if your update changes the shared " +"library version; in this case, at the very least, the dependent ports will " +"need to get a `PORTREVISION` bump so that they will automatically be " +"upgraded by automated tools such as package:ports-mgmt/poudriere[]." +msgstr "" +"Подумайте, могут ли изменения в вашем порту привести к проблемам в других " +"портах. Если это так, согласуйте изменения с их сопровождающими. Это " +"особенно важно, если ваше обновление изменяет версию разделяемой библиотеки; " +"в этом случае, как минимум, зависимые порты должны получить увеличение " +"`PORTREVISION`, чтобы автоматизированные инструменты, такие как " +"package:ports-mgmt/poudriere[], могли их обновить." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:427 +#: documentation/content/en/articles/contributing/_index.adoc:496 +msgid "Submit changes" +msgstr "Представляйте изменения" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:430 +msgid "" +"Send your update by submitting a PR with an explanation of the changes and a " +"patch containing the differences between the original port and the updated " +"one. Please refer to extref:{problem-reports}[Writing FreeBSD Problem " +"Reports] for information on how to write a really good PR." +msgstr "" +"Отправьте ваше обновление, создав PR с описанием изменений и патчем, " +"содержащим различия между исходным портом и обновлённым. Обратитесь к статье " +"extref:{problem-reports}[Составление сообщений о проблеме во FreeBSD] для " +"получения информации о том, как правильно оформить PR." + +#. type: delimited block = 6 +#: documentation/content/en/articles/contributing/_index.adoc:436 +msgid "" +"Please do not submit a man:shar[1] archive of the entire port; instead, use " +"man:git-format-patch[1] or man:diff[1] `-ruN`. In this way, committers can " +"much more easily see exactly what changes are being made. The Porter's " +"Handbook section on extref:{porters-handbook}[Upgrading, port-upgrading] has " +"more information." +msgstr "" +"Пожалуйста, не отправляйте архив man:shar[1] всего порта; вместо этого " +"используйте man:git-format-patch[1] или man:diff[1] `-ruN`. Таким образом, " +"коммиттеры смогут гораздо проще увидеть, какие именно изменения были " +"внесены. Раздел extref:{porters-handbook}[Обновление, port-upgrading] в " +"Руководстве портера содержит дополнительную информацию." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:438 +msgid "Wait" +msgstr "Ждите" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:442 +msgid "" +"At some stage a committer will deal with your PR. It may take minutes, or " +"it may take one or two weeks - so please be patient. If it takes any " +"longer, please seek for help on mailing lists ({freebsd-ports}), IRC: " +"#bsdports on EFNet or #freebsd-ports on Libera for example." +msgstr "" +"На каком-то этапе коммиттер рассмотрит ваш PR. Это может занять минуты, а " +"может и одну-две недели — так что проявите терпение. Если это займет больше " +"времени, обратитесь за помощью в почтовые рассылки ({freebsd-ports}), IRC: " +"#bsdports на EFNet или #freebsd-ports на Libera, например." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:443 +msgid "Give feedback" +msgstr "Предоставляйте обратную связь" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:446 +msgid "" +"If a committer finds a problem with your changes, they will most likely " +"refer it back to you. A prompt response will help get your PR committed " +"faster, and is better for maintaining a thread of conversation when trying " +"to resolve any problems." +msgstr "" +"Если участник проекта обнаружит проблему в ваших изменениях, он, скорее " +"всего, вернёт их вам на доработку. Быстрый ответ поможет ускорить принятие " +"вашего PR, а также упростит поддержание последовательности обсуждения при " +"попытке разрешить возникшие проблемы." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:447 +msgid "And Finally" +msgstr "И наконец" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:451 +msgid "" +"Your changes will be committed and your port will have been updated. The PR " +"will then be closed by the committer. That is it!" +msgstr "" +"Ваши изменения будут зафиксированы, и ваш порт будет обновлен. Затем PR " +"будет закрыт коммиттером. Вот и все!" + +#. type: Title ===== +#: documentation/content/en/articles/contributing/_index.adoc:453 +#, no-wrap +msgid "Ensure your ports continue to build correctly" +msgstr "Убедитесь, что ваши порты продолжают собираться корректно" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:456 +msgid "" +"This section is about discovering and fixing problems that stop your ports " +"from building correctly." +msgstr "" +"Этот раздел посвящён обнаружению и исправлению проблем, которые мешают " +"правильной сборке портов." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:459 +msgid "" +"FreeBSD only guarantees that the Ports Collection works on the `-STABLE` " +"branches. In theory, you should be able to get by with running the latest " +"release of each stable branch (since the ABIs are not supposed to change) " +"but if you can run the branch, that is even better." +msgstr "" +"FreeBSD гарантирует работоспособность Коллекции портов только в ветках `-" +"STABLE`. Теоретически можно обойтись использованием последних выпусков " +"каждой стабильной ветки (поскольку ABI не должны меняться), но если есть " +"возможность использовать саму ветку, это ещё лучше." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:463 +msgid "" +"Since the majority of FreeBSD installations run on PC-compatible machines " +"(what is termed the `i386` architecture), we expect you to keep the port " +"working on that architecture. We prefer that ports also work on the `amd64` " +"architecture running native. It is completely fair to ask for help if you " +"do not have one of these machines." +msgstr "" +"Поскольку большинство установок FreeBSD работают на PC-совместимых машинах " +"(так называемая архитектура `i386`), мы ожидаем, что порт будет работать на " +"этой архитектуре. Мы предпочитаем, чтобы порты также работали на архитектуре " +"`amd64` в нативном режиме. Совершенно допустимо попросить о помощи, если у " +"вас нет одной из таких машин." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:468 +msgid "" +"The usual failure modes for non-`x86` machines are that the original " +"programmers assumed that, for instance, pointers are `int`-s, or that a " +"relatively lax older gcc compiler was being used. More and more, " +"application authors are reworking their code to remove these assumptions - " +"but if the author is not actively maintaining their code, you may need to do " +"this yourself." +msgstr "" +"Обычные режимы сбоя для машин не на архитектуре `x86` связаны с " +"предположениями оригинальных программистов, например, что указатели являются " +"`int`-ами, или что используется относительно старый и менее строгий " +"компилятор gcc. Все чаще авторы приложений перерабатывают свой код, чтобы " +"устранить эти предположения — но если автор не занимается активной " +"поддержкой своего кода, вам, возможно, придется сделать это самостоятельно." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:471 +msgid "" +"These are the tasks you need to perform to ensure your port is able to be " +"built:" +msgstr "" +"Вот задачи, которые необходимо выполнить, чтобы убедиться, что ваш порт " +"может быть собран:" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:475 +msgid "Watch for build failures" +msgstr "Следите за ошибками сборки" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:477 +msgid "" +"Check your mail for mail from `pkg-fallout@FreeBSD.org` and the http://" +"portscout.FreeBSD.org[distfiles scanner] to see if any of the port which are " +"failing to build are out of date." +msgstr "" +"Проверьте свою почту на наличие писем от `pkg-fallout@FreeBSD.org` и http://" +"portscout.FreeBSD.org[сканера distfiles], чтобы узнать, не устарели ли какие-" +"либо порты, которые не собираются." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:478 +#: documentation/content/en/articles/contributing/_index.adoc:527 +msgid "Collect information" +msgstr "Собрать информацию" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:482 +msgid "" +"Once you are aware of a problem, collect information to help you fix it. " +"Build errors reported by `pkg-fallout` are accompanied by logs which will " +"show you where the build failed. If the failure was reported to you by a " +"user, ask them to send you information which may help in diagnosing the " +"problem, such as:" +msgstr "" +"Как только вы обнаружили проблему, соберите информацию, которая поможет её " +"исправить. Ошибки сборки, о которых сообщает `pkg-fallout`, сопровождаются " +"журналами, показывающими, где произошёл сбой. Если о проблеме сообщил " +"пользователь, попросите его предоставить данные, которые могут помочь в " +"диагностике, например:" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:484 +msgid "Build logs" +msgstr "Логи сборки" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:485 +msgid "" +"The commands and options used to build the port (including options set in " +"[.filename]#/etc/make.conf#)" +msgstr "" +"Команды и параметры, используемые для сборки порта (включая параметры, " +"установленные в [.filename]#/etc/make.conf#)" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:486 +msgid "" +"A list of packages installed on their system as shown by man:pkg-info[8]" +msgstr "" +"Список пакетов, установленных в системе, как показано в man:pkg-info[8]" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:487 +msgid "The version of FreeBSD they are running as shown by man:uname[1] `-a`" +msgstr "" +"Версия FreeBSD, которую они используют, как показано в man:uname[1] `-a`" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:488 +msgid "When their ports collection was last updated" +msgstr "Когда их коллекция портов была последний раз обновлена" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:489 +msgid "When their ports tree and [.filename]#INDEX# was last updated" +msgstr "" +"Когда их дерево портов и файл [.filename]#INDEX# были последний раз обновлены" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:491 +msgid "Investigate and find a solution" +msgstr "Изучить и найти решение" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:495 +msgid "" +"Unfortunately there is no straightforward process to follow to do this. " +"Remember, though: if you are stuck, ask for help! The {freebsd-ports} is a " +"good place to start, and the upstream developers are often very helpful." +msgstr "" +"К сожалению, не существует прямого процесса, которому можно следовать для " +"этого. Однако помните: если вы застряли, попросите помощи! Коллекция портов " +"{freebsd-ports} — хорошее место для начала, и разработчики вышестоящих " +"проектов часто очень отзывчивы." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:498 +msgid "" +"Just as with updating a port, you should now incorporate changes, review and " +"test, submit your changes in a PR, and provide feedback if required." +msgstr "" +"Как и при обновлении порта, теперь вам следует внести изменения, проверить и " +"протестировать их, отправить изменения в PR и, если требуется, предоставить " +"обратную связь." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:499 +msgid "Send patches to upstream authors" +msgstr "Отправляйте исправления авторам вышестоящих проектов" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:504 +msgid "" +"In some cases, you will have to make patches to the port to make it run on " +"FreeBSD. Some (but not all) upstream authors will accept such patches back " +"into their code for the next release. If so, this may even help their users " +"on other BSD-based systems as well and perhaps save duplicated effort. " +"Please consider sending any applicable patches to the authors as a courtesy." +msgstr "" +"В некоторых случаях потребуется внести изменения в порт, чтобы он заработал " +"на FreeBSD. Некоторые (но не все) разработчики исходного проекта примут " +"такие изменения в свой код для следующего выпуска. Если это произойдет, это " +"может помочь их пользователям и на других BSD-системах, а также, возможно, " +"сэкономит дублирующие усилия. В качестве жеста вежливости, пожалуйста, " +"рассмотрите возможность отправки соответствующих исправлений авторам." + +#. type: Title ===== +#: documentation/content/en/articles/contributing/_index.adoc:506 +#, no-wrap +msgid "Investigate bug reports and PRs related to your port" +msgstr "Изучать отчеты об ошибках и PR, связанные с вашим портом" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:509 +msgid "This section is about discovering and fixing bugs." +msgstr "Этот раздел посвящён поиску и исправлению ошибок." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:512 +msgid "" +"FreeBSD-specific bugs are generally caused by assumptions about the build " +"and runtime environments that do not apply to FreeBSD. You are less likely " +"to encounter a problem of this type, but it can be more subtle and difficult " +"to diagnose." +msgstr "" +"Ошибки, специфичные для FreeBSD, обычно вызваны предположениями о среде " +"сборки и выполнения, которые не применимы к FreeBSD. Вероятность столкнуться " +"с такой проблемой меньше, но она может быть более тонкой и сложной для " +"диагностики." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:514 +msgid "" +"These are the tasks you need to perform to ensure your port continues to " +"work as intended:" +msgstr "" +"Вот задачи, которые необходимо выполнить, чтобы ваш порт продолжал работать " +"должным образом:" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:518 +msgid "Respond to bug reports" +msgstr "Отвечать на отчёты об ошибках" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:521 +msgid "" +"Bugs may be reported to you through email via the https://bugs.FreeBSD.org/" +"search/[Problem Report database]. Bugs may also be reported directly to you " +"by users." +msgstr "" +"Ошибки могут быть сообщены вам по электронной почте через https://" +"bugs.FreeBSD.org/search/[базу данных отчетов о проблемах]. Также " +"пользователи могут сообщать об ошибках напрямую вам." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:524 +msgid "" +"You should respond to PRs and other reports within 14 days, but please try " +"not to take that long. Try to respond as soon as possible, even if it is " +"just to say you need some more time before you can work on the PR." +msgstr "" +"Вы должны отвечать на PR и другие сообщения в течение 14 дней, но " +"постарайтесь не затягивать так долго. Старайтесь отвечать как можно скорее, " +"даже если это просто сообщение о том, что вам нужно ещё немного времени, " +"прежде чем вы сможете заняться PR." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:526 +msgid "" +"If you have not responded after 14 days, any committer may commit from a PR " +"that you have not responded to via a `maintainer-timeout`." +msgstr "" +"Если вы не ответили в течение 14 дней, любой коммиттер может выполнить " +"коммит из PR, на который вы не ответили, используя `maintainer-timeout`." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:529 +msgid "" +"If the person reporting the bug has not also provided a fix, you need to " +"collect the information that will allow you to generate one." +msgstr "" +"Если человек, сообщивший об ошибке, также не предоставил исправление, вам " +"необходимо собрать информацию, которая позволит вам создать исправление." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:532 +msgid "" +"If the bug is reproducible, you can collect most of the required information " +"yourself. If not, ask the person who reported the bug to collect the " +"information for you, such as:" +msgstr "" +"Если ошибка воспроизводима, вы можете собрать большую часть необходимой " +"информации самостоятельно. Если нет, попросите человека, сообщившего об " +"ошибке, собрать информацию для вас, например:" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:534 +msgid "" +"A detailed description of their actions, expected program behavior and " +"actual behavior" +msgstr "" +"Подробное описание их действий, ожидаемого поведения программы и " +"фактического поведения" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:535 +msgid "Copies of input data used to trigger the bug" +msgstr "Копии входных данных, использованных для выявления ошибки" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:536 +msgid "" +"Information about their build and execution environment - for example, a " +"list of installed packages and the output of man:env[1]" +msgstr "" +"Информация о среде сборки и выполнения — например, список установленных " +"пакетов и вывод команды man:env[1]" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:537 +msgid "Core dumps" +msgstr "Файлы дампов ядра" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:538 +msgid "Stack traces" +msgstr "Стеки вызовов функций" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:540 +msgid "Eliminate incorrect reports" +msgstr "Устраните некорректные отчеты" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:546 +msgid "" +"Some bug reports may be incorrect. For example, the user may have simply " +"misused the program; or their installed packages may be out of date and " +"require updating. Sometimes a reported bug is not specific to FreeBSD. In " +"this case report the bug to the upstream developers. If the bug is within " +"your capabilities to fix, you can also patch the port so that the fix is " +"applied before the next upstream release." +msgstr "" +"Некоторые отчеты об ошибках могут быть некорректными. Например, пользователь " +"мог просто неправильно использовать программу; или установленные пакеты " +"могут быть устаревшими и требовать обновления. Иногда сообщаемая ошибка не " +"специфична для FreeBSD. В этом случае следует сообщить об ошибке " +"разработчикам вышестоящего проекта. Если ошибка находится в пределах ваших " +"возможностей для исправления, вы также можете исправить порт, чтобы " +"исправление было применено до следующего релиза вышестоящего проекта." + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:547 +msgid "Find a solution" +msgstr "Найдите решение" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:550 +msgid "" +"As with build errors, you will need to sort out a fix to the problem. " +"Again, remember to ask if you are stuck!" +msgstr "" +"Как и с ошибками сборки, вам потребуется найти решение проблемы. И снова, не " +"забывайте спросить, если застряли!" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:551 +msgid "Submit or approve changes" +msgstr "Представить или утвердить изменения" + +#. type: Plain text +#: documentation/content/en/articles/contributing/_index.adoc:554 +msgid "" +"Just as with updating a port, you should now incorporate changes, review and " +"test, and submit your changes in a PR (or send a follow-up if a PR already " +"exists for the problem). If another user has submitted changes in the PR, " +"you can also send a follow-up saying whether or not you approve the changes." +msgstr "" +"Как и при обновлении порта, теперь вам следует внести изменения, проверить и " +"протестировать их, а затем отправить изменения в PR (или отправить " +"дополнение, если PR для данной проблемы уже существует). Если другой " +"пользователь отправил изменения в PR, вы также можете отправить дополнение, " +"указав, одобряете ли вы эти изменения или нет." + +#. type: Title ===== +#: documentation/content/en/articles/contributing/_index.adoc:556 +#, no-wrap +msgid "Providing support" +msgstr "Предоставление поддержки" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:561 +msgid "" +"Part of being a maintainer is providing support - not for the software in " +"general - but for the port and any FreeBSD-specific quirks and problems. " +"Users may contact you with questions, suggestions, problems and patches. " +"Most of the time their correspondence will be specific to FreeBSD." +msgstr "" +"Часть обязанностей сопровождающего заключается в предоставлении поддержки — " +"не для программного обеспечения в целом, а для порта и любых особенностей и " +"проблем, специфичных для FreeBSD. Пользователи могут обращаться к вам с " +"вопросами, предложениями, проблемами и патчами. В большинстве случаев их " +"обращение будет касаться именно FreeBSD." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:565 +msgid "" +"Occasionally you may have to invoke your skills in diplomacy, and kindly " +"point users seeking general support to the appropriate resources. Less " +"frequently you will encounter a person asking why the `RPMS` are not up to " +"date or how can they get the software to run under Foo Linux. Take the " +"opportunity to tell them that your port is up to date (if it is, of " +"course!), and suggest that they try FreeBSD." +msgstr "" +"Время от времени вам может понадобиться проявить дипломатические навыки и " +"вежливо направить пользователей, ищущих общую поддержку, к соответствующим " +"ресурсам. Реже вы столкнётесь с людьми, спрашивающими, почему `RPMS` не " +"обновлены или как запустить программное обеспечение под Foo Linux. " +"Воспользуйтесь возможностью сообщить им, что ваш порт актуален (если это " +"так, конечно!), и предложите попробовать FreeBSD." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:568 +msgid "" +"Sometimes users and developers will decide that you are a busy person whose " +"time is valuable and do some of the work for you. For example, they might:" +msgstr "" +"Иногда пользователи и разработчики решают, что вы занятой человек, чьё время " +"ценно, и выполняют часть работы за вас. Например, они могут:" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:570 +msgid "submit a PR or send you patches to update your port," +msgstr "отправить PR или прислать свои патчи для обновления вашего порта," + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:571 +msgid "investigate and perhaps provide a fix to a PR, or" +msgstr "исследовать и, возможно, предоставить исправление для PR, или" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:572 +msgid "otherwise submit changes to your port." +msgstr "иначе отправить изменения в ваш порт." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:578 +msgid "" +"In these cases your main obligation is to respond in a timely manner. " +"Again, the timeout for non-responsive maintainers is 14 days. After this " +"period changes may be committed unapproved. They have taken the trouble to " +"do this for you; so please try to at least respond promptly. Then review, " +"approve, modify or discuss their changes with them as soon as possible." +msgstr "" +"В этих случаях ваша основная обязанность — своевременно отвечать. " +"Напоминаем, что срок ожидания ответа от сопровождающего составляет 14 дней. " +"По истечении этого периода изменения могут быть зафиксированы без одобрения. " +"Они потрудились сделать это за вас; пожалуйста, постарайтесь хотя бы " +"оперативно ответить. Затем как можно скорее проверьте, одобрите, измените " +"или обсудите их изменения с ними." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:580 +msgid "" +"If you can make them feel that their contribution is appreciated (and it " +"should be) you will have a better chance persuading them to do more things " +"for you in the future :-)." +msgstr "" +"Если вы сможете дать им почувствовать, что их вклад ценится (а так и должно " +"быть), у вас будет больше шансов убедить их сделать для вас больше в " +"будущем :-)." + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:582 +#, no-wrap +msgid "Finding and fixing a broken port" +msgstr "Поиск и исправление сломанного порта" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:585 +msgid "" +"There are some really good places to find a port that needs some attention." +msgstr "Есть несколько хороших мест, где можно найти порт, требующий внимания." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:588 +msgid "" +"You can use the https://bugs.freebsd.org/search[web interface] to the " +"Problem Report database to search through and view unresolved PRs. The " +"majority of ports PRs are updates, but with a little searching and skimming " +"over synopses you should be able to find something interesting to work on." +msgstr "" +"Вы можете использовать https://bugs.freebsd.org/search[веб-интерфейс] базы " +"данных отчетов о проблемах для поиска и просмотра нерешенных PR. Большинство " +"PR для портов — это обновления, но с небольшим поиском и беглым просмотром " +"описаний вы сможете найти что-то интересное для работы." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:590 +msgid "" +"https://portsfallout.com/[PortsFallout] shows port issues gathered from the " +"FreeBSD package building." +msgstr "" +"https://portsfallout.com/[PortsFallout] отображает проблемы с портами, " +"собранные при сборке пакетов FreeBSD." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:592 +msgid "" +"It is OK to send changes for a maintained port as well, but remember to ask " +"the maintainer in case they are already working on the problem." +msgstr "" +"Допустимо отправлять изменения и для поддерживаемого порта, но не забудьте " +"уточнить у сопровождающего, не работает ли он уже над этой проблемой." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:597 +msgid "" +"Once you have found a bug or problem, collect information, investigate and " +"fix! If there is an existing PR, follow up to that. Otherwise create a new " +"PR. Your changes will be reviewed and, if everything checks out, committed." +msgstr "" +"Как только вы обнаружили ошибку или проблему, соберите информацию, изучите " +"её и исправьте! Если уже существует PR, продолжите работу с ним. В противном " +"случае создайте новый PR. Ваши изменения будут проверены и, если всё в " +"порядке, приняты." + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:599 +#, no-wrap +msgid "When to call it quits" +msgstr "Как прекратить сопровождение" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:606 +msgid "" +"As your interests and commitments change, you may find that you no longer " +"have time to continue some (or all) of your ports contributions. That is " +"fine! Please let us know if you are no longer using a port or have otherwise " +"lost time or interest in being a maintainer. In this way we can go ahead " +"and allow other people to try to work on existing problems with the port " +"without waiting for your response. Remember, FreeBSD is a volunteer " +"project, so if maintaining a port is no fun any more, it is probably time to " +"let someone else do it!" +msgstr "" +"По мере изменения ваших интересов и обязательств вы можете обнаружить, что у " +"вас больше нет времени продолжать некоторые (или все) ваши вклады в порты. " +"Это нормально! Пожалуйста, сообщите нам, если вы больше не используете порт " +"или у вас нет времени или интереса продолжать быть его сопровождающим. Таким " +"образом, мы сможем позволить другим людям попытаться решить существующие " +"проблемы с портом, не дожидаясь вашего ответа. Помните, FreeBSD — это " +"добровольный проект, поэтому если сопровождение порта больше не приносит " +"удовольствия, вероятно, пришло время позволить кому-то другому заняться этим!" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:610 +msgid "" +"In any case, the Ports Management Team (`portmgr`) reserves the right to " +"reset your maintainership if you have not actively maintained your port in " +"some time. (Currently, this is set to 3 months.) By this, we mean that " +"there are unresolved problems or pending updates that have not been worked " +"on during that time." +msgstr "" +"В любом случае, команда управления портами (`portmgr`) оставляет за собой " +"право сбросить ваше право сопровождения, если вы не поддерживали свой порт в " +"течение некоторого времени. (В настоящее время этот срок установлен в 3 " +"месяца.) Под этим подразумевается, что есть нерешенные проблемы или " +"ожидающие обновления, над которыми не велась работа в течение этого времени." + +#. type: Title === +#: documentation/content/en/articles/contributing/_index.adoc:612 +#, no-wrap +msgid "Resources for ports maintainers and contributors" +msgstr "Ресурсы для сопровождающих и участников портов" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:616 +msgid "" +"The extref:{porters-handbook}[Porter's Handbook] is your hitchhiker's guide " +"to the ports system. Keep it handy!" +msgstr "" +"extref:{porters-handbook}[Руководство FreeBSD по созданию портов] — это ваш " +"путеводитель по системе портов. Держите его под рукой!" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:620 +msgid "" +"extref:{problem-reports}[Writing FreeBSD Problem Reports] describes how to " +"best formulate and submit a PR. In 2005 more than eleven thousand ports PRs " +"were submitted! Following this article will greatly assist us in reducing " +"the time needed to handle your PRs." +msgstr "" +"Статья extref:{problem-reports}[Составление сообщений о проблеме во FreeBSD] " +"описывает, как лучше всего сформулировать и отправить PR. В 2005 году было " +"подано более одиннадцати тысяч PR для портов! Следование этой статье " +"значительно поможет нам сократить время, необходимое для обработки ваших PR." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:622 +msgid "" +"The https://bugs.freebsd.org/bugzilla/query.cgi[Problem Report database]." +msgstr "" +"https://bugs.freebsd.org/bugzilla/query.cgi[База данных отчетов о проблемах]." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:625 +msgid "" +"The http://portscout.FreeBSD.org[FreeBSD Ports distfile scanner (portscout)] " +"can show you ports for which the distfiles are not fetchable. You can check " +"on your own ports or use it to find ports that need their `MASTER_SITES` " +"updated." +msgstr "" +"Сканер дистрибутивных файлов портов FreeBSD (portscout) http://" +"portscout.FreeBSD.org[FreeBSD Ports distfile scanner (portscout)] может " +"показать вам порты, для которых дистрибутивные файлы недоступны для " +"загрузки. Вы можете проверить свои собственные порты или использовать его " +"для поиска портов, которым требуется обновление `MASTER_SITES`." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:628 +msgid "" +"package:ports-mgmt/poudriere[] is the most thorough way to test a port " +"through the entire cycle of installation, packaging, and deinstallation. " +"Documentation is located at the https://github.com/freebsd/" +"poudriere[poudriere GitHub repository]" +msgstr "" +"package:ports-mgmt/poudriere[] — это наиболее тщательный способ проверить " +"порт на протяжении всего цикла установки, упаковки и удаления. Документация " +"находится в https://github.com/freebsd/poudriere[репозитории poudriere на " +"GitHub]" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:632 +msgid "" +"man:portlint[1] is an application which can be used to verify that your port " +"conforms to many important stylistic and functional guidelines. portlint is " +"a simple heuristic application, so you should use it __only as a guide__. " +"If portlint suggests changes which seem unreasonable, consult the extref:" +"{porters-handbook}[Porter's Handbook] or ask for advice." +msgstr "" +"man:portlint[1] — это приложение, которое можно использовать для проверки " +"соответствия вашего порта многим важным стилистическим и функциональным " +"рекомендациям. portlint — это простое эвристическое приложение, поэтому его " +"следует использовать __только в качестве ориентира__. Если portlint " +"предлагает изменения, которые кажутся необоснованными, обратитесь к extref:" +"{porters-handbook}[Руководству портировщика] или попросите совета." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:637 +msgid "" +"The {freebsd-ports} is for general ports-related discussion. It is a good " +"place to ask for help. You can link:https://lists.freebsd.org/[subscribe, " +"or read and search the list archives]. Reading the archives of the {freebsd-" +"ports-bugs} and the {svn-ports-head} may also be of interest." +msgstr "" +"{freebsd-ports} предназначен для общих обсуждений, связанных с портами. Это " +"хорошее место для поиска помощи. Вы можете link:https://lists.freebsd.org/" +"[subscribe, читать и искать в архивах списка]. Также может быть полезно " +"ознакомиться с архивами {freebsd-ports-bugs} и {svn-ports-head}." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:639 +msgid "" +"https://portsfallout.com/[PortsFallout] is a place to help in searching for " +"the https://lists.freebsd.org/archives/freebsd-pkg-fallout/[FreeBSD package-" +"fallout archive]." +msgstr "" +"https://portsfallout.com/[PortsFallout] — это место для помощи в поиске по " +"https://lists.freebsd.org/archives/freebsd-pkg-fallout/[архиву FreeBSD " +"package-fallout]." + +#. type: Title == +#: documentation/content/en/articles/contributing/_index.adoc:641 +#, no-wrap +msgid "Getting Started in Other Areas" +msgstr "Начало работы в других областях" + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:645 +msgid "" +"Looking for something interesting to get started that is not mentioned " +"elsewhere in this article? The FreeBSD Project has several Wiki pages " +"containing areas within which new contributors can get ideas on how to get " +"started." +msgstr "" +"Ищете что-то интересное для начала работы, что не упоминается в этой статье? " +"Проект FreeBSD имеет несколько страниц на Wiki, содержащих области, в " +"которых новые участники могут найти идеи о том, как начать." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:647 +msgid "" +"The https://wiki.freebsd.org/JuniorJobs[Junior Jobs] page has a list of " +"projects that might be of interest to people just getting started in " +"FreeBSD, and want to work on interesting things to get their feet wet." +msgstr "" +"https://wiki.freebsd.org/JuniorJobs[Страница Junior Jobs] содержит список " +"проектов, которые могут быть интересны тем, кто только начинает работать с " +"FreeBSD и хочет попробовать свои силы в интересных задачах." + +#. type: delimited block = 4 +#: documentation/content/en/articles/contributing/_index.adoc:648 +msgid "" +"The https://wiki.freebsd.org/IdeasPage[Ideas Page] contains various \"nice " +"to have\" or \"interesting\" things to work on in the Project." +msgstr "" +"https://wiki.freebsd.org/IdeasPage[Страница идей] содержит различные " +"«приятные» или «интересные» вещи для работы в Проекте." |