Проблема с архивами zip

Пакеты zip-natspec и unzip-natspec требуют дополнительно пакет libnatspec, тоже из AUR.
Пакет unzip-iconv, код которого я смотрел, содержит жутчайший хак:
+/* A mapping of local <-> archive charsets used by default to convert filenames
+ * of DOS/Windows Zip archives. Currently very basic. */
+static CHARSET_MAP dos_charset_map[] = {
+ { "ANSI_X3.4-1968", "CP850" },
+ { "ISO-8859-1", "CP850" },
+ { "CP1252", "CP850" },
+ { "UTF-8", "CP866" },
+ { "KOI8-R", "CP866" },
+ { "KOI8-U", "CP866" },
+ { "ISO-8859-5", "CP866" }
+};
Догадайтесь с трёх раз, для какого единственного языка оно будет работать ;)
Теоретически его вполне можно переделать по-нормальному, но пока прогресса не заметно.
Natrio
Пакеты zip-natspec и unzip-natspec требуют дополнительно пакет libnatspec, тоже из AUR.
Это плохо?
mehanoid
Это плохо?
Это мои пакеты, я сам допиливал патчи :)
Альтлинуксовская библиотека libnatspec по текущему языку локали определяет “недостающие” кодировки, в частности по русскому языку угадывает, что DOS/OEM/IBM-кодировка (которая как раз используется в ZIP-архивах) это 866.
И всё было бы хорошо, если бы эта библиотека на самом деле где-то использовалась, и добавление столь “интеллектуального” механизма для столь одноразовой задачи оправдывалось бы большим количеством сделанных с её помощью локализаций.
На практике же она фактически используется только в Альтлинуксе, и то довольно вяло.

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

Я выбрал патчи от альтлинукса исключительно потому, что мне их было проще всего всего допилить до полностью рабочего состояния, что я и сделал. Тогда же я выложил об этом статью на опеннете, которую там, правда, без моего согласия слегка подредактировали.
Понятно
В таком случае, спасибо за пакет)
Попробовал поставить, создал архив в винде, патченный unzip всё распаковывает отлично.
Правда в File Roller всё равно кракозябры. Причём кракозябры из него выглядят иначе, чем кракозябры из непатченного unzip.

File Roller вместо unzip что-то ещё использует, что ли?
Судя по зависимостям, file-roller должен использовать zip/unzip:
Зависит от            : desktop-file-utils  gtk3  hicolor-icon-theme  dconf
Дополнительно         : unrar: the RAR uncompression program
                        zip: creates PKZIP-compatible .zip files
                        unzip: unpacks .zip archives
                        p7zip: 7zip compression utility
                        xz: managing LZMA and XZ compressed files
                        arj: ARJ archiver
                        unace: extraction tool for the proprietary ace archive
                        format
Специально установил и проверил. Вот это тестовый “досовский” архив, созданый патченым zip, как его видит патченый unzip:
$ zipinfo test.zip 
Archive:  test.zip
Zip file size: 633 bytes, number of entries: 4
drwx---     2.0 fat        0 bx stor 10-Dec-03 21:23 тест/
-rw----     2.0 fat        7 tx stor 10-Dec-03 21:23 тест/эюя
-rw----     2.0 fat        7 tx stor 10-Dec-03 21:23 тест/абв
-rw----     2.0 fat       17 tx stor 10-Dec-10 11:49 Шах и мат.txt
4 files, 31 bytes uncompressed, 31 bytes compressed:  0.0%
В file-roller действительно видно чёрт-те что, а пункт меню “Архив – Проверить целостность” выдаёт его с головой:
7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)
Processing archive: test.zip
Testing     â¥áâ
Testing     â¥áâ/íîï
Testing     â¥áâ/ ¡¢
Testing     ˜ å ¨ ¬ â.txt
Everything is Ok
Folders: 1
Files: 3
Size:       31
Compressed: 633
По-видимому, file-roller может использовать zip/unzip, но если установлен p7zip, предпочитает именно его.
Никаких настроек у file-roller я не нашел, так что изменить его поведение этой неуправляемой программы не представляется возможным, разве что удалить p7zip, чего я делать категорически не собираюсь.
Точно, так и есть.
Ладно, невелика проблема, можно и из консоли распаковать, если надо
Как все таки решить проблему с кирилицей в архивах? libnatspec в репозиториях и при сборке пакетов не найден
belirafor
. Вся проблема в том, что одни архивы открываются, распаковываются и видят кириллицу. А в других архивах видят кириллицу, в виде знаков вопроса (в кубиках).
Я юзаю unzip и unrar для распаковки из консоли. И прописал в качестве дефолтных архиваторов в krusader для распаковки через GUI
Да пребудет с нами Сила...!
CPU Intel Core i9 10900-KF/RAM DDR4 128 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/SSD M2 512 Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb/HDD Toshiba 6Tb
http://rusrailsim.org
ForumLiker
libnatspec в репозиториях и при сборке пакетов не найден
Не перенесли его в AUR4, пакет был не мой.
Ну, значит, будет мой.
...
Всё, восстановил пакет libnatspec в AUR4.
Natrio
ForumLiker
libnatspec в репозиториях и при сборке пакетов не найден
Не перенесли его в AUR4, пакет был не мой.
Ну, значит, будет мой.
...
Всё, восстановил пакет libnatspec в AUR4.
Спасибо тебе добрый человек!)))
 
Зарегистрироваться или войдите чтобы оставить сообщение.