Хотя я не профессиональный программист, я написал программу или две. Тем не менее, в настоящее время каждый инженер и ученый также немного учатся программировать, и поэтому я привык писать программы на Python, C и MATLAB. Теперь я хочу немного рассказать об Ubuntu и его замечательных людях и исправить ошибку!
Я взглянул на список кампании по кусочкам и обнаружил, что большинство из них мне не так легко исправить, так как я подозреваю, что им требуется много времени, чтобы разобраться в этом вопросе, а у меня его нет. Тем не менее, я обнаружил этот, и он выглядит управляемым и как классная функция для меня.
Поскольку я никогда раньше не писал патчи и не выпускал программы в дикой природе, я понятия не имею, с чего начать. Каким должен быть мой первый шаг к решению этой проблемы?
Итог: где и как я могу починить этого парня?
Ответы:
Ответ на этот вопрос может быть длинным и сложным, поэтому я вместо этого собираюсь указать вам на доступные ресурсы, а не перефразировать их здесь.
Документация
Учебники
Мы проводим мероприятия на протяжении всего цикла, чтобы помочь таким же людям, как и вы, в частности, проводим Ubuntu Developer Week в IRC, которая представляет собой живое руководство и семинар «Вопросы и ответы». В конце февраля появится один, если вы хотите присоединиться!
Вот два журнала из прошлого сеанса, чтобы дать вам представление:
Места для поиска возможностей
Получать помощь
Обращение в MOTU по списку рассылки или IRC - хороший способ получить помощь по отдельным проблемам, с которыми вы столкнулись:
Обратная связь
Мы потратили много времени на доработку этой документации, чтобы она была настолько простой, насколько это возможно, если бы вы делали заметки о своем опыте и о том, как мы можем улучшить этот материал, было бы очень полезно узнать, как сделать так, чтобы он меньше сосал для таких людей, как вы.
источник
Обобщенный ответ Хорхе - отличное введение в процесс разработки Ubuntu, но давайте попробуем немного подробнее рассмотреть конкретную проблему ...
Основной разработчик Apport и сопровождающий Ubuntu - это одно и то же. Это немного упрощает для вас вещи. Вместо того, чтобы узнавать о системах пакетов и исправлений, самый простой путь - работать непосредственно с исходным кодом.
Разработка Apport размещена на Launchpad . Он использует распределенную систему управления версиями Bazaar для управления своим исходным кодом. Первым шагом к исправлению вашей ошибки является получение исходного кода. Если вы не пользовались базаром раньше, базар за пять минут будет хорошим началом.
Установите базар с:
Извлеките исходный код apport:
Теперь вы можете начать взлом. Как и в большинстве VCS, при работе с базаром рекомендуется вносить только одно изменение за коммит. Вы также должны сделать ваши сообщения коммитов информативными. Это делает ваши изменения намного проще для обзора. Когда вы будете готовы сделать свой первый коммит, запустите:
Продолжайте вносить изменения и фиксировать, пока не убедитесь, что ваша ошибка исправлена. С вашим последним коммитом вы также можете пометить его как исправляющий ошибку, добавив
--fixes lp:<bug_number>
к нему команду коммита. Теперь вы готовы представить свои изменения для просмотра и включения.Во-первых, вам нужно отправить его на Launchpad, чтобы сделать его общедоступным:
Ваш филиал теперь можно найти по адресу:
https://code.launchpad.net/~<launchpad_username>/apport/<branch_name>/
Запуск
bzr lp-open
в ветке откроет это место в браузере.Теперь мы хотим предложить слияние. На этой странице выберите «Предложить слияние».
На следующей странице выберите целевую ветку и дайте обзор ваших изменений.
Теперь у вас будет активное предложение о слиянии.
Сопровождающие рассмотрят ваши изменения. Если они уместны, они будут объединены и будут доступны в следующем выпуске. В качестве альтернативы, в предложении может быть указано «Требуется работа», и сопровождающие обсудят с вами дополнительные изменения, которые следует внести перед слиянием. Если это произойдет, пожалуйста, не воспринимайте это как личный отказ от вашей работы. При первом участии в новом проекте часто бывают такие мелочи, как стиль кодирования, о которых вы можете не знать.
источник