[devel] [git update] packages/katrin: heads/master

Slava Semushin =?iso-8859-1?q?slava=2Esemushin_=CE=C1_gmail=2Ecom?=
Ср Июл 11 15:16:49 MSD 2007


2007/7/11, Denis Klimov <zver / altlinux.org>:
[...]
> --- a/katrin.spec
> +++ b/katrin.spec
[...]
> -install -pD -m 644 src/init.d/%name %buildroot/etc/init.d/%name
> +install -pD -m 744 src/init.d/%name %buildroot/%_initdir/%name
[...]

Макрос %_initdir уже начинается с косого слэша, так что можно его
безболезнено убрать:

-install -pD -m 744 src/init.d/%name %buildroot/%_initdir/%name
+install -pD -m 744 src/init.d/%name %buildroot%_initdir/%name

>  %files
>  %_bindir/*
>  %_libdir/%name
>  %config(noreplace) %_sysconfdir/%name
>  %_datadir/%name-%version
> +%_initdir/%name
>  #%_man1dir/*
[...]

1. А зачем нужно версионировать каталог в /usr/share? Это же даже не
документация? Предлагаю написать просто: %_datadir/%name

2. Обычно скрипты для управления демонами заканчиваются на d, что
обозначает что это демон. Может и вам также сделать?

3. #%_man1dir -- так не комментируют. См.
http://www.freesource.info/wiki/AltLinux/Sisyphus/devel/TypicalPackagingErrors/StrikeOutMacro

[...]
> +* Fri Jul 06 2007 Denis Klimov <zver на altlinux.ru> 0.4.10-alt2
> +- change /etc/init.d to %_initdir
[...]

Если вы не хотите, чтобы макрос раскрылся, то его следует записать как
%%_initdir

[...]
> --- a/src/bz/libkatrin-bz-business.c
> +++ b/src/bz/libkatrin-bz-business.c
> @@ -75,6 +75,8 @@ double getCost(struct traffInfo traff) {
>                                 inet_aton(traff.dst_addr,&addr_ip);
>                         //Check of conditions
>                         //Check net area
> +//                     if (strstr(traff.src_addr,"192.168.203")!=NULL)
> +//                             err("========AHTUNG=======");

Несмотря на то, что С99 позволяет использовать комментарии в стиле
С++, в очень многих проектах это не рекомендуется. Я бы тоже не
советовал, как минимум, не все компиляторы вас поймут.

[...]
> +               if (pfl == NULL)
> +                       debug("pfl == NULL");
> +               else
> +                       debug("pfl != NULL");

Я бы попробовал упростить с использованием тернарной операции. Как-нибудь так:

debug("pfl %c= NULL", (pfl == NULL) ? '=' : '!' );

Хотя это менее читабельно получится...

[...]
> --- a/src/db/libkatrin-db-mysql.c
> +++ b/src/db/libkatrin-db-mysql.c
> @@ -294,7 +294,7 @@ if (num_rows > 0)
>                          else
>                          {
>                          (*p).next = (struct filterslist *) malloc(sizeof(struct filterslist));
> -//                        p = (*p).next;
> +                        p = (*p).next;
>                          }
>                  (*p).next = NULL;
>                  (*p).filterid = atoi(row[0]);

Гм. *впал в while(0)*

Отройте для себя оператор стрелки:
http://www.intuit.ru/department/pl/c/14/3.html и пишите p->next вместо
(*p).next


P.S. Изучать язык Си надо на более простых программах, нежели биллинг. IMHO.


-- 
+ Slava Semushin | slava.semushin @ gmail.com
+ ALT Linux Team | php-coder @ altlinux.ru


Подробная информация о списке рассылки Devel