Pull to refresh

Как тяжело «попасть» в Ubuntu

Reading time3 min
Views1.3K
Данный топик я пишу не для того, чтобы хвастаться своими небольшими достижениями, хотя для меня это настоящая победа, учитывая мой программерский и жизненный опыт.

Победа заключается в том, что моя программа официально включена в релиз Ubuntu 8.10. Началось всё с того, что на LinuxForum я создал тему, в которой предлагал способ сделать ОС Linux более доступной для новичков. Многие линуксоиды против так называемых «GUI для редактирования конфигурационных файлов», но я считаю, что необязательно новому пользователю Linux разбираться в устройстве работы ОС, чтобы получить требуемый ему результат. Возможно, такое отношение к GUI программам такого рода вызвано состоянием большинства таких программ, ведь они действительно «нечеловечны». Доходит до того, что для получения результата легче понять увиденный в первый раз конфигурационный файл, чем GUI программу. Именно поэтому я решил попробовать создать такой инструмент для обычных пользователей, который был бы понятен и удобен всем. На данный момент результатом является MountManager 0.2.4, который и был включён в самый популярный дистрибутив мира.


Вы можете понять про что я, сравнив интерфейсы этих двух программ, которые по сути делают одно и то же:
image image

Я опубликовал свою программу на kde-apps.org и примерно через два месяца мне на e-mail пришло следующее сообщение:

Hi Sergey,

I'm packaging mountmanager so that it will be part of next Ubuntu release, (you can see it at revu.ubuntuwire.com/details.py?package=mountmanager) and I have several problems:
— Source file should have a license and copyright header. Without, that, I won't be able to upload it.
— The directories are not correct. I patched the configure file, to get it fixed, but I think it should be included in your sources (file standarise_configure.patch).
— Also, I had to patch configure file to add gksu command (gnome su)
— The desktop file contains a command that was not working for me (mm). I had to change it to su_to_root -c "/usr/bin/mountmanager". This is the content of the second file (correct_su_in_desktop_file.patch).

As soon as you will upload a new tarball with corrected header, I'll download it again, to follow up with the packaging tasks.

Thanks,

Fabrice


После этого у нас с Ubuntu'овским упаковщиком получилась цепочка из 64 сообщений, в которых мы пытались привести программу к достойному виду.

Ниже я опишу критерии того, из чего должна состоять программа, чтобы она могла быть включена в хороший дистрибутив. Возможно, кому-нибудь будет интересно, какие требования выставляют разработчикам:
  1. В каждом файле исходных кодов должен быть лицензионный заголовок с указанием копирайта
  2. Обязательное наличие manual страниц
  3. Все неисполняемые файлы должны храниться в диретории prefix/share, но никак не в prefix/lib.
  4. Все исполняемые файлы должны храниться либо в prefix/bin, либо в prefix/lib(например расширения)
  5. В файле configure все ковычки, обособляющие текст, должны быть одинарные
  6. Не должно быть ни одного бинарного файла в архиве исходных файлов
  7. Исходные файлы должны проходить тест программы lintian

Возможно, все эти условия вам хорошо известны, но для меня, например, это было ново.

Во время доработки программы я немного изучил систему разработки Ubuntu. Например у них есть свой сайт и своя иерархия упаковщиков и разработчиков. Как они друг с другом контактируют можно посмотреть здесь: UbuntuWire.com. А после доработки программы она идёт сюда: Launchpad.net.

Я ещё слишком мал, чтобы давать советы в этой сфере, но тем не менее могу с увереностью сказать, что каждый разработчик gui программ должен уделить не мало времени разработке интерфейса, а не только разработке функционала, чтобы программа добилать успеха. Ах, да, и самое главное: никогда не отступайте от своих идей, даже если другие говорят что она бредовая — по себе знаю, ведь я не раз выкладывал новость о выходе новой версии программы на LOR. ;)

Спасибо за внимание.
Tags:
Hubs:
Total votes 114: ↑112 and ↓2+110
Comments51

Articles