Bug 39491 - {fsck,mkfs}.vfat отсутствуют в dosfstools-4.1
Summary: {fsck,mkfs}.vfat отсутствуют в dosfstools-4.1
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: dosfstools (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Anton Farygin
QA Contact: qa-sisyphus
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2020-12-31 11:49 MSK by Speccyfighter
Modified: 2021-10-03 21:46 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Speccyfighter 2020-12-31 11:49:50 MSK
Сабж:
Отказ выполнения изменения размера FAT раздела в gnome-disk-utility в системах на p9/branch

В dosfstools на p8/branch файлы {fsck,mkfs}.vfat были

# chroot /mountpoint

# rpm -qf /sbin/{fsck,mkfs}.vfat
dosfstools-3.0.28-alt1
dosfstools-3.0.28-alt1

# rpm -qvl dosfstools | grep sbin/ | sed 's/          //g'
lrwxrwxrwx    1 root    root      8 окт 22  2015 /sbin/dosfsck -> fsck.fat
lrwxrwxrwx    1 root    root      8 окт 22  2015 /sbin/dosfslabel -> fatlabel
-rwxr-xr-x    1 root    root  58956 окт 22  2015 /sbin/fatlabel
-rwxr-xr-x    1 root    root  58960 окт 22  2015 /sbin/fsck.fat
lrwxrwxrwx    1 root    root      8 окт 22  2015 /sbin/fsck.msdos -> fsck.fat
lrwxrwxrwx    1 root    root      8 окт 22  2015 /sbin/fsck.vfat -> fsck.fat
lrwxrwxrwx    1 root    root      8 окт 22  2015 /sbin/mkdosfs -> mkfs.fat
-rwxr-xr-x    1 root    root  26680 окт 22  2015 /sbin/mkfs.fat
lrwxrwxrwx    1 root    root      8 окт 22  2015 /sbin/mkfs.msdos -> mkfs.fat
lrwxrwxrwx    1 root    root      8 окт 22  2015 /sbin/mkfs.vfat -> mkfs.fat

# grep -B1 PRETTY /etc/os-release
VERSION_ID=p8
PRETTY_NAME="ALT Starterkit (Hypericum)"

# exit

но в p9/branch у альтов {fsck,mkfs}.vfat из dosfstools исчезли, приводя к отказу resize fat в gnome-disks (пакет gnome-disk-utility):

# rpm -qf /sbin/{fsck,mkfs}.vfat
ошибка: файл /sbin/fsck.vfat: Нет такого файла или каталога
ошибка: файл /sbin/mkfs.vfat: Нет такого файла или каталога

# rpm -q dosfstools
dosfstools-4.1-alt2.x86_64

# rpm -ql dosfstools | grep fat
/sbin/fatlabel
/sbin/fsck.fat
/sbin/mkfs.fat
/usr/share/man/man8/fatlabel.8.xz
/usr/share/man/man8/fsck.fat.8.xz
/usr/share/man/man8/mkfs.fat.8.xz

# rpm -qi dosfstools | grep '^Source\|^Packager'
Source RPM  : dosfstools-4.1-alt2.src.rpm
Packager    : Anton Farygin (Rider) <rider@altlinux.org>

# grep -B1 PRETTY /etc/os-release
VERSION_ID=p9
PRETTY_NAME="ALT Starterkit (Hypericum)"


с выводом окна gnome-disk-utility сообщения об ошибке:

Ошибка восстановления файловой системы

Cannot repair vfat filesystem on dev/sdc1: executable fsck.vfat
not found (udisks-error-quark, 0)


В Makefile
https://github.com/dosfstools/dosfstools/releases

dosfstools-3.0.28, блок создающий симлинки {fsck,mkfs}.vfat есть. Начиная с dosfstools-4.0, создание этих симлинков исчезло. Что приводит к отказу resize fat в gnome-disk-utility.


В debian, в dosfstools-4.1-2, симлики {fsck,mkfs}.vfat есть:

https://packages.debian.org/bullseye/amd64/dosfstools/filelist
https://packages.debian.org/bullseye/dosfstools

$ less -N /path/dosfstools-4.1/README | sed -n '27,32p'

The ./configure script has an option --enable-compat-symlinks that will
configure the build to symlink older names of the tools to the current ones on
installation. These are dosfsck, fsck.msdos and fsck.vfat for fsck.fat, mkdosfs,
mkfs.msdos and mkfs.vfat for mkfs.fat and dosfslabel for fatlabel.


Ошибка замечена при тестировании и отладке рулезов polkit-sysvint (pre-0.4.2) на форуме в теме Xfce c Sysv:
https://forum.altlinux.org/index.php?topic=36177.msg354863#msg354863
Comment 1 Anton Farygin 2020-12-31 12:08:55 MSK
Было бы отлично исправить те программы, которые полагаются на устаревшие симлинки и отправить это исправление в upstream тех проектов.
Comment 2 Michael Shigorin 2021-01-02 00:03:31 MSK
Да, "благодарить" тут стоит апстрим.
Comment 3 Anton Farygin 2021-01-02 10:43:19 MSK
ну сейчас они исправляют ошибки молодости.
Comment 4 Speccyfighter 2021-01-03 18:45:54 MSK
К тому времени когда апстрим починит, уже наверное не доживу.
А почему нельзя временно, пока апстрим всё починит, нельзя собрать с --enable-compat-symlinks? Чтобы в стабильном репозитории не лежала бажная программа со сломанным функционалом.

К тому же проблема шире чем кажется:
Убранные симлинки ломают не только какой-то исполняемый код. Например man-ы util-linux минимум раз пять ссылаются на несуществующие в dosfstools симлинки на его маны:

$ man -Kw {fsck,mkfs}.{msdos,vfat} mkdosfs
/usr/share/man/man8/fsck.8.xz
/usr/share/man/man8/fsck.8.xz
/usr/share/man/man8/mkfs.8.xz
/usr/share/man/man8/mkfs.8.xz
/usr/share/man/man8/mkfs.8.xz

$ rpm -qf $(man -Kw {fsck,mkfs}.{msdos,vfat} mkdosfs) | sort -u
util-linux-2.33.2-alt2.x86_64