Bug 12299 - isoinfo adds ";1" to the end of file name
: isoinfo adds ";1" to the end of file name
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/mc)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2007-07-11 14:44 by
Modified: 2010-12-21 23:23 (History)


Attachments
iso9660 mcextfs ";1" patch (1.63 KB, patch)
2007-07-12 15:24, Michael Shigorin
no flags Details | Diff
iso9660 mcextfs ";1" patch for mc 4.7.0.10 (1.26 KB, application/octet-stream)
2010-12-19 04:20, Sergey Y. Afonin
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2007-07-11 14:44:02
Bad: isoinfo выдает в конце имени каждого файла внутри образа ;1
В именах каталогов такого не замечено.
пакет: isoutils-2.01.01-alt2a03.0
Steps to Reproduce:
isoinfo -l -i some-iso.iso
Actual Results:  
Что-то типа:
ABOUT.HTM;1
ABOUTA~1.BMP;1
BG.BMP;1
COMPDE~1.HTM;1
PUNC.HTM;1

Expected Results:  
Хотелось бы без таких излишеств :)
------- Comment #1 From 2007-07-12 12:11:41 -------
Насколько понимаю -- INVALID, поскольку это фича ISO9660.  Попробуйте также -l
-R.
------- Comment #2 From 2007-07-12 12:56:41 -------
(In reply to comment #1)
> Насколько понимаю -- INVALID, поскольку это фича ISO9660.  Попробуйте также -l -R.
тоже самое :(. (и -R и -J пробовал) 
На пробу брались образы дисков из образовательного комплекта для школ. Конечно
можно обойтись монтированием, но для этого надо права рута, а зайти в образ как
в каталог через mc, например, быстрее и удобнее для вытаскивания файлов из
образа пользователем.
------- Comment #3 From 2007-07-12 15:07:30 -------
Стоп.  Уточните версии mc и rpm -qf /usr/bin/isoinfo -- вообще-то к mc именно я
и делал extfs, исправление в связи со сменой формата вывода там потребовалось
один раз года два тому.
------- Comment #4 From 2007-07-12 15:14:09 -------
Вот:
rpm -qf /usr/bin/isoinfo
isoutils-2.01.01-alt2a03.0
и mc:
mc-4.6.1r-alt9
Собственно с него все и началось - mc попросил isoinfo, я поставил, увидел ;1 и
стал копать кто виноват...Так что в mc все это в полный рост :(
------- Comment #5 From 2007-07-12 15:24:34 -------
Created an attachment (id=2088) [details]
iso9660 mcextfs ";1" patch

У меня именно эти версии не вызывают никаких проблем, иначе бы уже и фиксил.

Последнее релевантное из переписки по теме -- проверяйте приложенный патчик для
/usr/share/mc/extfs/iso9660, если поможет, то перевешивайте на mc (хотя мог уже
и приложить):

Date: Thu, 22 Jul 2004 17:07:06 +0400
From: alex <prof_alex/mail.ru>
To: Michael Shigorin <mike/osdn.org.ua>
Subject: Re: iso9660 и новый isoinfo

Michael Shigorin wrote:
>
>Формат опять чуть уехал -- в [ ... ] группа цифр теперь разбита
>надвое пробелом.  Патч прицеплен (и висит на
>https://bugzilla.altlinux.org/show_bug.cgi?id=4536).
>
    В продолжение темы хочестся добавить, что проблемы не только с
форматом. С Joliet вечная беда, то UCS level 1 не понимает, то в UCS
level 3 добавляет ';1' в конце имени файла. Причем некоррекно отображает
даже имена файлов из образов дисков созданных при помощи mkisofs. Вот к
примеру INSERT из http://www.inside-security.de/:
>isoinfo -d -i INSERT-1.2.8_en.iso
CD-ROM is in ISO 9660 format
System id: LINUX
Volume id: Inside Security Rescue Toolkit
Volume set id:
Publisher id:
Data preparer id:
Application id: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD
CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING
---поскипано---
Joliet with UCS level 3 found
Rock Ridge signatures version 1 found
---поскипано---

пробуем получить список файлов:
>isoinfo -R -J -j koi8-r -l -i INSERT-1.2.8_en.iso

---поскипано---
Directory listing of
/isolinux____)____insert-1.2.8_master_en_isolinux____Y___________/
d---------   0	  0    0	    2048 Apr 21 2004 [	   35 02]  .
d---------   0	  0    0	    4096 Mar  3 2004 [	   32 02]  ..
----------   0	  0    0	    2048 Apr 21 2004 [	24561 00]
boot.cat____Y____b___}____boot.catPX$_$______$__________________
----------   0	  0    0	     174 Apr 20 2004 [	24562 00]
boot.msg____1____insert-1.2.8_master_en_isolinux_boot.msg___q0__
----------   0	  0    0	    1545 Apr 20 2004 [	24563 00]
f2_@___@________hV__hV__f_________________h____ ________________
----------   0	  0    0	    9424 Apr 21 2004 [	24564 00]
isolinux.bin________9____insert-1.2.8_master_en_isolinux_isolinu
----------   0	  0    0	    2434 Jan 26 2004 [	24569 00]
isolinux.cfg________9____insert-1.2.8_master_en_isolinux_isolinu  
----------   0	  0    0	    8762 Jul 29 2003 [	24571 00]   
logo.16_____1____insert-1.2.8_master_en_isolinux_logo.16____Y___
----------   0	  0    0	   67648 Apr  2 2004 [	24576 00]
memtest_____1____insert-1.2.8_master_en_isolinux_memtest____Y___
----------   0	  0    0	  495568 Apr  3 2004 [	24610 00]
miniroot.gz_9____insert-1.2.8_master_en_isolinux_miniroot.gz____
----------   0	  0    0	  921594 Apr  2 2004 [	24852 00]
vmlinuz_____1____insert-1.2.8_master_en_isolinux_vmlinuz____Y___

Ключ '-R' есть в командной строке, но он игнорируется, теперь так:
>isoinfo -R -l -i INSERT-1.2.8_en.iso

---поскипано---
Directory listing of /isolinux/
dr-xr-xr-x   2	  0    0	    2048 Apr 21 2004 [	   31 02]  .
dr-xr-xr-x   4	  0    0	    2048 Mar  3 2004 [	   29 02]  ..
-r--r--r--   1	  0    0	    2048 Apr 21 2004 [	24561 00]  boot.cat
-r-xr-xr-x   1	  0    0	     174 Apr 20 2004 [	24562 00]  boot.msg
-r-xr-xr-x   1	  0    0	    1545 Apr 20 2004 [	24563 00]  f2
-r-xr-xr-x   2	  0    0	    9424 Apr 21 2004 [	24564 00]
isolinux.bin
-r-xr-xr-x   1	  0    0	    2434 Jan 26 2004 [	24569 00]
isolinux.cfg
-r-xr-xr-x   1	  0    0	    2434 Jan 26 2004 [	24569 00]
isolinux.cfg
-r-xr-xr-x   2	  0    0	    8762 Jul 29 2003 [	24571 00]  logo.16
-r-xr-xr-x   2	  0    0	   67648 Apr  2 2004 [	24576 00]  memtest
-r-xr-xr-x   1	  0    0	  495568 Apr  3 2004 [	24610 00]
miniroot.gz
-r-xr-xr-x   2	  0    0	  921594 Apr  2 2004 [	24852 00]  vmlinuz

Как видно, Rock Ridge содержит все что нам надо, но игнорируется при
указании ключа '-J' (даже если поменять их местами легче не становится).
Отсюда предложение: забить на Joliet если есть RR. Я думаю, что именно к
этому нас подталкивает Joerg Schilling (очень хвалит RR и ругает 
ограниченность Joliet). Ну и танцы с бубном вокруг имен файлов	
оканчивающихся на ';1' (интересно, а цифры отличные от единицы бывают?).
    То что у меня получилось работает на версиях 2.01a21 - 2.01a34, но
число различных образов у меня не велико, так что интересно как это 
работает у других.
------- Comment #6 From 2007-07-12 16:29:52 -------
(In reply to comment #5)
> Created an attachment (id=2088) [edit] [details]
> iso9660 mcextfs ";1" patch
Посмотрел патч... даже попробовал накатить. - нет он не для файла из
mc-4.6.1r-alt9 (проверил, iso9660 из этого пакета) визуальный анализ показывает
в патче присутствие переменной ISOINFO_CMD и отсутствие оной в исходном файле.
Т.е. как бы или патч "отвалился" или файл с тех пор сильно переделали или у меня
в системе он каким-то образом подменился. Может бросите свой (работающий) для
сравнения?
------- Comment #7 From 2007-07-12 16:39:11 -------
Он не содержит изменений относительон пакетного из mc-4.6.1r-alt9, проверил rpm
-V mc.
------- Comment #8 From 2007-11-26 12:48:57 -------
Короче, это в любом разе не проблема isoinfo как пакета (разве что апстрима,
который меняет формат вывода по погоде на дворе).  Для исправления в mc надо
тестирование.  Если кому-то не лень меня допинать прошерстить архивы и найти
всё, что мне присылали или писали по теме -- пинайте.

PS: "Good" или "Bad" в подсказке багзилы специально покрашены -- это
характеристика строчек из примеров, а не шаблон :)
------- Comment #9 From 2007-11-28 19:58:50 -------
Ээээ... таак...
А я вот накатил патч, и эти ;1 из имен файлов при просмотре исошек, созданных
в виндах, в mc пропали.
А то, что isoinfo их показывает- IMHO, фича, что-то еще по виндовой Нере
смутно припоминается.
[diman@dimanko RPMS.x86_64]$ rpm -q mc
mc-4.6.1r-alt9
Так что, получается, Майк, патч не приложен.
------- Comment #10 From 2007-11-28 20:21:40 -------
О, зато после приложения патча начались чудеса вроде
"Несогласованный архив extfs" при попытке войти в rpm внутри iso.
Надо поисследовать.
------- Comment #11 From 2008-03-16 22:44:58 -------
Шотут?
------- Comment #12 From 2008-03-16 23:16:07 -------
Не совсем в курсе про именно тут...  Краткая история предыдущих серий --
апстрим
isoinfo время от времени (раз в пару лет) слегка меняет формат вывода, отчего
регэкс в extfs/iso9660 ломается; плюс разные кривые порождалки ISO иногда
вылазят.

Хорошо бы им кто-то предложил сделать фиксированный формат (и опцию для того)
а-ля ls -lR, или патчик, но пока могу разве что пофорвардить те несколько
исправлений, которые мне при разных таких изменениях люди слали.  Последнее
применить не удалось (за отсутствием то ли времени, то ли тесткейса).  Надо?
------- Comment #13 From 2008-03-16 23:20:18 -------
Исправлений для mc? Ну давай. В приложенном к багу патче я увидел строку про 
удаление ;1 и сходу не понял, зачем там нужны все остальные строки. Не 
прикладывал, да.
------- Comment #14 From 2008-06-13 13:00:39 -------
*** This bug has been confirmed by popular vote. ***
------- Comment #15 From 2009-11-03 22:44:34 -------
Шотут.
------- Comment #16 From 2010-12-07 18:22:11 -------
А что должна делать вот эта строчка из iso9660 ?

isoinfo -d -i "$1" | gawk "/UCS level 1|NO Joliet/" > /dev/null ||
ISOINFO="$ISOINFO $JOLIET_OPT"

У меня такое ощущение, что она должна выглядеть, как

isoinfo -d -i "$1" | egrep "UCS level 1|NO Joliet" > /dev/null ||
ISOINFO="$ISOINFO $JOLIET_OPT"

C gawk значение "$?" получается 0 при любом раскладе...
------- Comment #17 From 2010-12-14 23:54:23 -------
Вот это вот

   sub(" $", "", name)
+  # for pure ISO9660 and Joliet UCS level 3
+  sub(";1$", "", name)
   ## sub(";[0-9]+$", "", name) ## would break copyout

хватает, относительно текущего iso9660. Но, в одном из имеющихся у меня iso,
есть несколько файлов, у которых в конце ".;1". При монтировании через loop
этой точки нет. Можно сделать, конечно, "\.\?;1$", но, вдруг, эта точка где-то
будет по делу ?
------- Comment #18 From 2010-12-19 04:20:43 -------
Created an attachment (id=4719) [details]
iso9660 mcextfs ";1" patch for mc 4.7.0.10
------- Comment #19 From 2010-12-19 04:23:12 -------
";1" должно обрабатываться, а вот что делать с единичными ".;1", пока не сильно
понятно.
------- Comment #20 From 2010-12-21 23:23:01 -------
 4.7.0.10-alt5

      - fixed processing of ";1" in some ISO images (closes: ALT#12299)