[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Вопросы по созданию пакета.



Почему-то предыдущее сообщение не отправилось.
Пакет постараюсь отдельно отправить.

16.09.2012 21:05, Anton Gladky пишет:
> Надо только в Build-Depends указать libsox-dev. Вручную указывать в Depends
> библиотеки потенциально опасно.
Чем?

>>> 6) rules: Вы указываете, что debhelper>=8. Вот и сделайте правила
>>>     соответственно. Они должны получится короче.
>> Это автоматическая настройка была.
>> А как короче?
>> Там, вроде всего-то несколько команд, а scons штатно не поддерживается...
>
> Я бы порекомендовал использовать для нового пакета "compat 9" и
> соответственно debhelper>=9
Понял. Исправил.

> rules я бы написал так:
>
> ======================
> #!/usr/bin/make -f
>
> DESTDIR=$(CURDIR)/debian/rhvoice
>
> %:
> 	dh $@  # --buildsystem=scons
>
> override_dh_auto_build:
> 	dh_auto_build
> 	scons prefix=/usr sysconfdir=/etc
Нужно ли вызывать dh_auto_build? Он работает и без него. dh_auto_build нужен не
только для autotools?

> override_dh_auto_install:
> 	dh_auto_install
> 	scons DESTDIR=$(DESTDIR) install
А разве здесь не нужно вызывать dh_installdirs в конце..?
Порядок не имеет значения?

> override_dh_auto_clean:
> 	dh_auto_clean
> 	rm -rf build
> 	rm site_scons/site_tools/installer.pyc
Вызов dh_autoclean нужен?
Кстати, я тут забыл указать -f для rm, при очистке вылетело с ошибкой.

> Ссылки лучше создавать в .link-файлах, если это возможно (man dh_link).
По-идее, ссылки должны создаваться при установке. Но почему-то, при установке в
каталог отличный от /tmp/dir (или чего-то подобного, не знаю), SConstruct не
создаёт их.
Сделал с dh_link.

> Зачем Вы решили использовать нецензурную лексику в комментариях?
Привычка. Весьма нехорошая. Уже тошнит от этого мата, и я понимаю, что надо
отвыкать. Но вокруг не просто матерятся, а "разговаривают" таким образом. И
слово "fucking" (к тому же, на другом языке) уже не воспринимается, как нецензурное.
Хорошо, что заметили. Иначе, забыл бы убрать...

Ещё вопросы:
1. Что делать с watch файлом? Как приспособить uscan к git?
2. Lintian выдаёт:
W: rhvoice: hardening-no-relro usr/bin/RHVoice-client
W: rhvoice: hardening-no-fortify-functions usr/bin/RHVoice-client
W: rhvoice: hardening-no-relro usr/lib/libRHVoice.so.0.0.0
W: rhvoice: hardening-no-fortify-functions usr/lib/libRHVoice.so.0.0.0
W: rhvoice: new-package-should-close-itp-bug

Что с этим делать?

И ещё вопрос по поводу настроек.
К сожалению, RHVoice-client не имеет файла настроек.
Я запускаю RHVoice, как демон.
Для настроек указываю --daemon-dir=/var/run/rhvoice .
Клиент использует UNIX сокет для взаимодействия с сервером.
Чтобы каждый клиент мог работать с одним сервером, мне надо передать параметр
--daemon-dir клиенту.
Нигде прописать я его не могу, т.к. (rhvoice-client.c):
"  if (daemon_dir)
    add_path(&socket_name, daemon_dir);
  else
    {
      add_path(&socket_name, getenv("HOME"));
      add_path(&socket_name, ".rhvoice");
    }
  add_path(&socket_name, "socket");"

У меня несколько вариантов:
1. Написать авторше. Тут ещё есть нюанс: в теории к серверу может обращаться
много клиентов единовременно. Я не смотрел, но у меня есть сомнения в его
многопоточности или, тем более, каких-то хитрых методах распределения времени
между клиентами для обработки их запросов в одном потоке.
2. Самому дописать клиент и сделать патч, чтобы он читал файл настроек.
3. Добавить скрипт, создающий алиасы в /etc/profile.d.

Я склоняюсь к последнему. Но это не универсально... Что правильнее?

P.S.:
Почему-то на ваших письмах у меня не работает кнопка "Ответить в рассылку"...


Reply to: