Menu

#31 No uuidgen utility is installed

2.47
closed
dikbsd
None
2016-11-03
2016-09-20
No

Здравствуйте.
После обновления до версии 2.45 при входе в 'FB2 Properties Editor' стало вылетать предупреждение: 'No uuidgen utility is installed in the system. New book ID won't be created. Install uuidgen.' При этом, насколько я вижу, ID книги генерируется без проблем.

OS: Debian Stretch, LibreOffice 5.2.1.2

Discussion

1 2 > >> (Page 1 of 2)
  • Starikov Sergey

    Starikov Sergey - 2016-09-20
    • assigned_to: dikbsd
    • Milestone: 2.9999 --> 2.46
     
  • dikbsd

    dikbsd - 2016-09-20

    Спасибо за сообщение.
    Исправил. Будет в новой версии 2,46
    Скоро выложим на сайт.

     
  • Starikov Sergey

    Starikov Sergey - 2016-09-22
    • status: open --> closed
     
  • Onion Cucumber

    Onion Cucumber - 2016-09-30

    Здравствуйте.
    В версии 2.46 ошибка осталась. В системе установлена libuuid1 версии 2.28.1.
    ID при создании книги генерируется, но окно с предупреждением по-прежнему вылетает.
    В системе есть такие файлы, имеющие отношение к uuid:

    /home/user/.config/libreoffice/4/user/extensions/tmp/extensions/lu312164f8uj7.tmp_/OOoFBTools.oxt/win32/uuidgen.exe
    /home/user/.config/libreoffice/4/user/extensions/tmp/extensions/lu8390bc0sf3.tmp_/OOoFBTools.oxt/win32/uuidgen.exe
    /home/user/.config/libreoffice/4/user/uno_packages/cache/uno_packages/lu8390bc0sf4.tmp_/OOoFBTools.oxt/win32/uuidgen.exe

    /lib/x86_64-linux-gnu/libuuid.so.1
    /lib/x86_64-linux-gnu/libuuid.so.1.3.0

    /usr/bin/dbus-uuidgen

    /usr/lib/python2.7/uuid.py
    /usr/lib/python2.7/uuid.pyc
    /usr/lib/python3.5/uuid.py

     
    • Starikov Sergey

      Starikov Sergey - 2016-09-30

      /usr/bin/dbus-uuidgen

      Странное имя исполняемого файла.
      В каком пакете такая экзотика?

      У меня:

      $ which uuidgen
      /usr/bin/uuidgen
      

      Соответственно твой workaround:
      1. Добавление в PATH каталога ~/bin/;
      2. Создание этого каталога
      3. Создание в каталоге ссылки uuidgen, указывающей на твой исполняемый файл (/usr/bin/dbus-uuidgen).

      На предмет искаробочного решения нужно думать кто, в чём и насколько не прав.

      ЗЫ: Пакеты deb делать не умеешь?

       
      • Onion Cucumber

        Onion Cucumber - 2016-09-30

        Не знаю, в каком пакете.
        Пакеты собирать не умею.
        Предлагаемый тобой workaround- применять не буду, просто подожду, когда баг поправят, он не критичный, жить можно.

         
        • Starikov Sergey

          Starikov Sergey - 2016-10-05

          Недостаточные навыки использования инструментария выбранного дистрибутива — проблема.

          То, что ты не умеешь собирать пакеты не критично.
          Посмотри какие расширения есть в репозиториях и потряси мэйнтейнеров на предмет запинывания туда же OOoFBTools.

           
    • dikbsd

      dikbsd - 2016-09-30

      Странно.
      Напишите, какой  командой в терминале можно на вашей системе вызвать эту утилиту. Подозреваю, что я отлавливаю наличие другой утилиты...

       
      • Onion Cucumber

        Onion Cucumber - 2016-10-01

        Не знаю даже, чем генерируется ID в моём случае, но он генерируется (см. пост ниже).
        Есть способ мне проверить, чем же точно у меня генерируется ID?

         

        Last edit: Onion Cucumber 2016-10-01
        • dikbsd

          dikbsd - 2016-10-01

          Не дописал:
          Или сделать эту опцию показа сообщения ТОЛЬКО для отсутствия uuidgen, поскольку остальные утилиты принципиально важны доя функционирования конвертера (там нет двойного  алгоритма, как с генерацией ID...)?

           
  • Starikov Sergey

    Starikov Sergey - 2016-09-30
    • status: closed --> open
    • Milestone: 2.46 --> 2.47
     
  • Onion Cucumber

    Onion Cucumber - 2016-10-01

    Установил утилиту uuidgen, с ней генерируются ID книги вида:
    8BB17A1B-665F-42DA-A024-070026CAF41A
    0FE45840-B551-4069-93F9-C4F1EC817FA9
    F6F61C1D-8304-44F2-A258-804F2483F07E

    Если же утилиту удалить, генерируются ID вида:
    OOoFBTools-2016-10-1-16-47-11-40323048028277-1241017
    OOoFBTools-2016-10-1-16-47-16-403230480282112-170053
    OOoFBTools-2016-10-1-16-47-22-403230480282154-1863528

    Как по мне, ID второго вида не хуже, чем ID первого вида, и значит, uuidgen не нужен?

     
    • dikbsd

      dikbsd - 2016-10-01

      Это - кому как нравится :)
      Оба варианта -уникальные. Просто 1-й - классического типа, и многим пользователям он кажется более правильным.

       
      • Onion Cucumber

        Onion Cucumber - 2016-10-01

        Ну хорошо, с приверженцами ID "классического типа" понятно. А как же быть простым смертным, которые согласны на второсортный ID, но не хотят вздрагивать каждый раз, заходя в редактор настроек? :D

         
        • dikbsd

          dikbsd - 2016-10-01

          Вы написали, что установили uuidgen. С ней все так де появляется сообщение, заставляющее вздрагивать? :)не должно быть теперь так.
          Если я верно понял, то вы хотите, чтобы была опция в Настройках, позволяющая отключать проверку на установленные утилиты ? 

           
          • Onion Cucumber

            Onion Cucumber - 2016-10-01

            Да, вы правильно поняли, что при установленном uuidgen сообщение с предупреждением пропало. Но я его сразу после этого удалил, ведь он не нужен, чтобы генерировать ID (это факт, согласны?) Но без установленного uuidgen опять вылетает предупреждение о том, что без uuidgen ID сгенерирован не будет.
            Давайте сейчас посмотрим даже не на то, чего я хочу, а чего, скорее всего, хотите Вы. Наверно, Вы хотите, чтобы Ваша программа работала логически корректно и не противоречила сама себе. Но сейчас возникает явное противоречие: вылетающее предупреждение не соответствует действительности. И, возможно, было бы разумно привести сообщение в соответствие с этой действительностью. Это можно сделать двумя путями:
            1. Удалить возможность генерировать ID без установленного uuidgen.
            2. Исправить алгоритм, выводящий предупреждение.
            Очевидно, что второй вариант более прогрессивный, чем первый. Мне кажется, наличие uuidgen в системе должно быть опциональным. Те ребята, которым нужен классный ID, ставят uuidgen и получают свой классный ID. А ребята, которые даже не знали таких слов как ID, uuidgen, так и должны жить дальше, не зная этих слов и генерируя свои книжки с неклассными ID. Согласны?
            Конкретно, я предлагаю заменить проверку наличия uuidgen на проверку, сгенерировался ли ID. Если ID сгенерировался, то мы даже не заморачиваемся, чем он там сгенерировался, и какие утилиты для генерирования у нас установлены. И только если не был сгенерирован ID, придётся предпринимать действия по установке дополнительных утилит. Согласны?

             
            • dikbsd

              dikbsd - 2016-10-01

              Я согласен с вами почти во всем.
              1. Дело в том, что проверку, сгенерировался ли ID вообще делать не надо - он ВСЕГДА генерируется 2-м алгоритмом, если нет утилиты uuidgen. Поэтому такая проверка будет избыточна.
              2. Ввести проверку на наличие всех нужных систем меня просили другие пользователи.

              Поэтому в этой ситуации я думаю, что оптимальным вариантом будет опция в Настройках конвертера "Показывать Сообщение об отсутствии утилит в системе".
              Если пойти по этому пути , то нужно решить пару вопросов:
              Эта опция должна быть для каждой утилиты ( их несколько -base64, xmllib2, uuidgen и др. ) в отдельности, или же для всех сразу?

               
              • Onion Cucumber

                Onion Cucumber - 2016-10-01

                Понятно, спасибо за объяснение.
                Мне кажется, правильнее было бы добавить в окошко сообщения об отсутствии утилит(ы) кнопку "Больше не напоминать". Нажатие на кнопку можно запоминать и хранить в каком-либо файлике, который будет затираться при установке новой версии ooofbtools. Так можно и уведомлять пользователя о том, что некоторые утилиты желательно доустановить, и в то же время частые уведомления не будут надоедать.
                Если такую кнопку добавить непросто, давайте ещё подумаем.

                 

                Last edit: Onion Cucumber 2016-10-01
                • dikbsd

                  dikbsd - 2016-10-01

                  Если честно, то я не сторонник отключения дальнейшего показа сообщения в самом окне сообщения - часто попадал в такую ситуацию, когда мне потом требовалось это сообщение, а включить его уже нельзя. Поэтому все-таки предпочтительней сделать опцию в Настройках: отключил - и все. Понадобилось напоминание - включил.
                  Впрочем, я всегда открыт для разных идей пользователей... Надо подумать, что в действительности будет удобнее.

                   
                  • Onion Cucumber

                    Onion Cucumber - 2016-10-02

                    Хорошо, спасибо.

                     
  • dikbsd

    dikbsd - 2016-10-03

    Сделал опцию в Настройках конвертера показа/скрытия сообщения об отсутствиив системе улититы uuidgen

     
    • Starikov Sergey

      Starikov Sergey - 2016-10-03

      Зависисмости бывают трёх типов:
      1. Критические (в нашем случае — dev-libs/libxml2), при отсутствии которых ничего не работает;
      2. Условные (base64, если нет необходимости в экспорте графики, то можно и не заметить проблемы);
      3. Опциональные (обсуждаемый uuidgen). Про которые можно сказать: есть — хорошо, нет — не критично.

      Поэтому по мне было бы логичнее сделать в настройках выбор типа идентификатора файла: внешний (например с возможностью переопределения имени команды относительно стандарта) и legacy встроенный.
      При выборе внешнего и отсутствии утилиты — сообщение об ошибке с указанием на workaround в виде отката на legacy-реализацию.

       
      • Onion Cucumber

        Onion Cucumber - 2016-10-03

        Здорово придумано.

         
  • Onion Cucumber

    Onion Cucumber - 2016-10-16

    Пользователям линукс можно ещё более упростить жизнь и даже не проверять наличие uuidgen, а генерировать uuid посредством python (если extension так умеет):

    def _uuid():
        import uuid
        return str(uuid.uuid4())
    

    Насколько мне известно, python сейчас предустановлен в популярных дистрибутивах изначально (чего не скажешь о той же uuidgen, как оказывается).

     
    • dikbsd

      dikbsd - 2016-10-17

      Надо посмотреть, можно ли из StarBasic, на чем написан OOoFBTools, вызывать
      код на Питоне...

       
1 2 > >> (Page 1 of 2)

Log in to post a comment.