Ошибка сборки в Launchpad для пакета, написанного на Rust

Я пытаюсь создать popsicle в Launchpad (I клонировал репозиторий из GitHub, и я пытаюсь построить его, используя этот рецепт пакета), и он не может быть собран.

Вот соответствующая часть журнала сборки

dpkg-buildpackage: info: source package popsicle
dpkg-buildpackage: info: source version 1.1.0-0~202008031810~ubuntu20.04.1
dpkg-buildpackage: info: source distribution focal
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
 fakeroot debian/rules clean
dh clean
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make clean
make[2]: Entering directory '/<<PKGBUILDDIR>>'
cargo clean
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
if ! ischroot; then \
    make vendor; \
fi
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_clean
 debian/rules build
dh build
   dh_update_autotools_config
   dh_auto_configure
   debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
env CARGO_HOME="$(pwd)/target/cargo" \
dh_auto_build
    make -j1
make[2]: Entering directory '/<<PKGBUILDDIR>>'
tar pxf vendor.tar
tar: vendor.tar: Cannot open: No such file or directory

и полный журнал сборки .

Однако, когда я пытаюсь собрать его на своей машине с Kubuntu 18.04, я получаю

name@pc:~/popsicle$ debuild -us -uc
 dpkg-buildpackage -rfakeroot -us -uc -ui
dpkg-buildpackage: info: source package popsicle
dpkg-buildpackage: info: source version 1.1.0
dpkg-buildpackage: info: source distribution focal
dpkg-buildpackage: info: source changed by Ian Douglas Scott <idscott@system76.com>
 dpkg-source --before-build popsicle
 fakeroot debian/rules clean
dh clean
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/home/archisman/popsicle'
make clean
make[2]: Entering directory '/home/archisman/popsicle'
cargo clean
make[2]: Leaving directory '/home/archisman/popsicle'
if ! ischroot; then \
        make vendor; \
fi
make[2]: Entering directory '/home/archisman/popsicle'
mkdir -p .cargo
cargo vendor | head -n -1 > .cargo/config
    Updating crates.io index
 Downloading crates ...
  Downloaded bitflags v1.2.1

, и сборка продолжается.

Как установить его в Launchpad?

1
задан 5 August 2020 в 12:52

1 ответ

Как указано в комментарии в OMG! Ubuntu !, исходный пакет PPA Pop! OS намного больше, чем код в GitHub. Скорее всего, разработчики упаковывают все зависимости с помощью Cargo перед загрузкой исходного кода.

Если вы посмотрите ближе к концу журнала сборки , вы увидите, что сервер сборки пытается распаковать отсутствующий vendor.tar и терпит неудачу , Этот файл содержит все зависимости, необходимые для компиляции большого двоичного файла fat popsicle (вот почему я не большой поклонник программного обеспечения Rust), который не может быть загружен онлайн с помощью Cargo, поскольку Debian / Ubuntu имеет надлежащую систему сборки, которая не позволяет доступ к сети. Если вы сравните свою сборку со сборкой из Pop, ваш сжатый источник составляет 269,3 КиБ, а у Pop - 12,4 МБ: разница в размере это именно отсутствующий файл.

0
ответ дан 11 August 2020 в 20:10

Другие вопросы по тегам:

Похожие вопросы: