Привет! Не знаю, насколько это решит проблему поддержки LFS на уровне сборочницы, но для локальных сборок (через gear-hsh/gear-rpm) это работает. https://git.altlinux.org/people/lakostis/packages/?p=gear.git&a=commitdiff&h=4c707ece59895e019138e04be33c6c53faaaa4f1 Пример упаковки с данным параметром: nvidia_glx on master [?] took 15s ❯ git ls-tree 21c442cb23632f1e6eca6c149bfe9197c38ecd24 040000 tree d9a41cb4c766af661c7d04cc37051c96b03e8487 .gear 100644 blob 923e9ab2b292ab9167a5aae79a4de219aa6a96b5 .gitattributes 100644 blob 1b7f4ae76654a530122a5b751e0027ac9e1263ea 10-nvidia-render-offload.conf 100644 blob 3fdd67853aa2410ea22e48276a778ca32f5e37cc 10-nvidia.conf 100644 blob db545ee8a64ffcfb9eeb6d354df32de600f15988 99-nvidia.rules 100644 blob f6d53c3eef54afdeb793eaaaf33fa9f7a7ee133d NVIDIA-Linux-aarch64-595.45.04.run 100644 blob 5428345834407cf48dda1e2f1aa428bec546f6e8 NVIDIA-Linux-x86_64-595.45.04.run 100755 blob 5a78033bad65a314a5cf327dac2b760e2acb8501 get.sh 100644 blob fc6d0694249959452deb58bbaf06955edf2c9af7 nvidia-persistenced.init.alt 100644 blob 5cbec478c24b923d3d2059253cdfa975d12e913e nvidia-persistenced.service.alt 100644 blob a2c7869821cf3957be2de5db1698eb14f568e07c nvidia.modprobe 100755 blob 751433b3a1429c755266e39ff792c729a22a1485 nvidia_create_xinf.sh 100644 blob 08ab8537b23e9bab1207482985e7815b7e8b8c6a nvidia_glx.spec ❯ gear-rpm -bs -v --nodeps --lfs mkdir: created directory '/home/lakostis/tmp/gear.YTcUGVxS/out' gear: Extracted file by pattern "*.run": NVIDIA-Linux-aarch64-595.45.04.run gear: Extracting LFS object f6d53c3eef54afdeb793eaaaf33fa9f7a7ee133d -> /home/lakostis/tmp/gear.YTcUGVxS/out/NVIDIA-Linux-aarch64-595.45.04.run gear: Extracted file by pattern "*.run": NVIDIA-Linux-x86_64-595.45.04.run gear: Extracting LFS object 5428345834407cf48dda1e2f1aa428bec546f6e8 -> /home/lakostis/tmp/gear.YTcUGVxS/out/NVIDIA-Linux-x86_64-595.45.04.run gear: Extracted file by pattern "*.modprobe": nvidia.modprobe gear: Extracted file by pattern "*.conf": 10-nvidia-render-offload.conf gear: Extracted file by pattern "*.conf": 10-nvidia.conf gear: Extracted file by pattern "*.init*": nvidia-persistenced.init.alt gear: Extracted file by pattern "*.service*": nvidia-persistenced.service.alt gear: Extracted file by pattern "*.rules": 99-nvidia.rules gear: Extracted file by pattern "*.sh": get.sh gear: Extracted file by pattern "*.sh": nvidia_create_xinf.sh gear: Extracted specfile: nvidia_glx.spec gear: Executing: gear-command-rpmbuild rpmbuild -bs --nodeps gear-command-rpmbuild: Executing: rpmbuild -bs --nodeps --define _specdir /home/lakostis/tmp/gear.YTcUGVxS/out --define _sourcedir /home/lakostis/tmp/gear.YTcUGVxS/out /home/lakostis/tmp/gear.YTcUGVxS/out/nvidia_glx.spec warning: ignored self-provides: libnvidia-pkcs11 = 2:595.45.04-alt1 Wrote: /home/lakostis/local/src/RPM/SRPMS/nvidia_glx-595.45.04-alt1.src.rpm (w2T16.xzdio)
Использование "$dir_name/.gitattributes" не будет работать, если предварительно не был сделан git checkout; ожидается, что gear функционирует правильно без этого предположения.
(In reply to Dmitry V. Levin from comment #1) > Использование "$dir_name/.gitattributes" не будет работать, если > предварительно не был сделан git checkout; ожидается, что gear функционирует > правильно без этого предположения. gear функционирует в рамках git репозитория, какие там ожидания это как раз скорее вопрос к реализуемой функциональности. да, данная модификация работает, если сделан git lfs install/git lfs checkout и только для объектов, которые копируются через .gear/rules. Для других случаев, например, если git lfs install/checkout сделан для репозитория, git archive отработает без каких-либо модификаций. И теперь мы приблизились к вопросу - когда сборочница будет поддерживать lfs? Если эта поддержка ожидается, то данный патч закрывает все случаи.