Bug 23553

Summary: tuxguitar. Не прописаны зависимости от eclipse-swt и от java-1.6.0-sun. Неверно указан путь к jre в командном файле tuxguitar.
Product: Branch p5 Reporter: TECTEP SLAV <TECTEP>
Component: cross-componentAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED WONTFIX QA Contact: QA p5 <qa-p5>
Severity: normal    
Priority: P3 CC: grenka
Version: unspecified   
Hardware: all   
OS: Linux   

Description TECTEP SLAV 2010-05-30 10:27:10 MSD
~~~ПОСЛЕДОВАТЕЛЬНОСТЬ ШАГОВ~~~
Нужно открыть файлы gp5 в alt linux (там гитарные аккорды).
Набираю в поиске Synaptic строку gp5.
Устанавливаю пакет tuxguitar.
Ищу эту программу в главном меню - ярлык есть, без иконки и программа по нему не стартует.
Пишу в консоли tuxguitar (тут выясняется, что не все зависимости установлены и что путь к яве формируется неправильно).

~~~НАБЛЮДАЕМЫЙ РЕЗУЛЬТАТ~~~
1. Пакет tuxguitar зависит от явы, при этом в зависимостях она не указана.

2. В командном файле /usr/bin/tuxguitar неверно определено местоположение jre, из-за этого при запуске происходит ошибка:
/usr/bin/tuxguitar: line 154: /usr/lib/jvm/jre-1.6.0-sun/bin/..//jre/bin/java: Нет такого файла или каталога

3. Нужно добавить зависимость от пакета eclipse-swt, так как при его отсутствии происходит ошибка запуска
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Control
        at org.herac.tuxguitar.gui.TGMain.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.eclipse.swt.widgets.Control
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
        ... 1 more

4. При запуске программы появляется предупреждение
(<unknown>:30360): GLib-WARNING **: g_set_prgname() called multiple times
org.herac.tuxguitar.io.base.TGFileFormatException: Невозможно открыть: file:/usr/share/tuxguitar/tuxguitar.tg
        at org.herac.tuxguitar.gui.actions.file.FileActionUtils.open(Unknown Source)
        at org.herac.tuxguitar.gui.TuxGuitar$2$1.run(Unknown Source)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.herac.tuxguitar.io.base.TGFileFormatException: Unsupported file format
        at org.herac.tuxguitar.io.base.TGSongLoader.load(Unknown Source)
        ... 3 more
 
~~~РЕШЕНИЕ~~~
1. Нужно добавить в зависимости пакет java-1.6.0-sun

2. В файле /usr/bin/tuxguitar добавить в конец функции java_guess() такие строчки
# Alt Linux
    d="/usr/lib/jvm/"
    [-d "$t"] && d="$t"

Эти три строчки надо добавить перед строкой #results этой функции. Тогда путь будет не таким: /usr/lib/jvm/jre-1.6.0-sun/bin/..//jre/bin/java (это используется путь как для мандривы)
А вот таким: /usr/lib/jvm//jre/bin/java
И программа будет запускаться.

3. Нужно добавить в зависимости пакет eclipse-swt

4. Не знаю что это за файл /usr/share/tuxguitar/tuxguitar.tg, но его нужно добавить в пакет, чтобы копировался по этому пути при установке пакета tuxguitar.
Comment 1 Grigory Ustinov 2018-06-29 20:12:25 MSK
В p5 уже не обновится, а в p8 почти то же самое: https://bugzilla.altlinux.org/show_bug.cgi?id=34458