<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>31924</bug_id>
          
          <creation_ts>2016-03-27 17:48:10 +0300</creation_ts>
          <short_desc>Скрип /usr/bin/nxloadconfig рассчитан на CUPS/1*, в сизифе присутствует CUPS/2.1</short_desc>
          <delta_ts>2016-03-27 19:43:02 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>freenx-server</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Стас">stas.grumbler</reporter>
          <assigned_to name="Michael Shigorin">mike</assigned_to>
          
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>155886</commentid>
    <comment_count>0</comment_count>
    <who name="Стас">stas.grumbler</who>
    <bug_when>2016-03-27 17:48:10 +0300</bug_when>
    <thetext>Команда `/usr/bin/nxloadconfig --check` сообщает об ошибке:

(standard_in) 1: syntax error
/usr/bin/nxloadconfig: line 696: [: -ne: ожидается использование унарного оператора

В строках 696-697 находится проверка версии CUPS:

		[ $(echo &quot;`strings $COMMAND_CUPSD | egrep &apos;CUPS\/1\.&apos; | head -1 | sed &apos;s|CUPS\/\(1\.[0-9]\+\).*|\1|&apos;` &gt;= 1.2&quot; | bc) -ne 1 ] &amp;&amp; \
			WARNING=&quot;yes&quot; &amp;&amp; echo &quot;Warning: Invalid cupsd version of \&quot;$COMMAND_CUPSD\&quot;. Need version more or equal than 1.2.&quot;

Пустой результат появляется в цепочке:
strings $COMMAND_CUPSD | egrep &apos;CUPS\/1\.&apos;
Дело в том, что в строках файла /usr/sbin/cupsd нет подстроки &quot;CUPS/1.&quot;, зато есть &quot;CUPS/%d&quot; и CUPS/2.1

По смыслу условия &quot;версия CUPS больше 1.2&quot; думаю, будет правильным модифицировать регулярное выражение egrep так:
strings $COMMAND_CUPSD | egrep &apos;CUPS\/[1-9]\.&apos;
Или упростить всёю цепочку (sed может и грепать, и взять только первую строку из найденных):
		[ $(echo &quot;`strings $COMMAND_CUPSD | sed -n &apos;/^CUPS\/[0-9.]*$/{s/[^0-9.]//gp;q}&apos;` &gt;= 1.2&quot; | bc) -ne 1 ] &amp;&amp; \
			WARNING=&quot;yes&quot; &amp;&amp; echo &quot;Warning: Invalid cupsd version 

Но IMHO в Altlinux надёжнее извлечь версию из rpm:
rpm -qf $COMMAND_CUPSD | cut -d - -f 2 | sed s/[^0-9.]//g</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155887</commentid>
    <comment_count>1</comment_count>
    <who name="Стас">stas.grumbler</who>
    <bug_when>2016-03-27 19:43:02 +0300</bug_when>
    <thetext>Ошибся в выражении для sed. Правильно и ещё короче строка 696 будет такой:

[ $( strings /usr/sbin/cupsd | sed -n &apos;/^CUPS\/[0-9.]*$/s|.*/\([0-9]\+\.[0-9]\+\)[^0-9].*|\1 &gt;= 1.2|p&apos; | bc ) -ne 1 ] &amp;&amp; \</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>