Launchpad 图书管理员无法安装软件包

Launchpad 图书管理员无法安装软件包

我正在使用启动板库管理器从我的源包构建包。

源包,我已经通过dput我的 PPA 上传。

然后,Launchpad 继续构建(已完成)和安装(失败)。

当我有Makefile这个安装目标时:

install:
        cp imcat /usr/bin/

它失败了Permission denied所以我尝试了这个:

install:
        sudo cp imcat /usr/bin/

由于未找到 sudo,因此仍然失败。这是构建日志:

dh binary
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
    install -d /<<PKGBUILDDIR>>/debian/.debhelper/generated/_source/home
   dh_auto_build
    make -j4 "INSTALL=install --strip-program=true"
make[1]: Entering directory '/<<PKGBUILDDIR>>'
cc -D_POSIX_C_SOURCE=2 -std=c99 -Wall -g -o imcat imcat.c -lm
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_auto_test
    rm -fr -- /tmp/dh-xdg-rundir-U4Jl8XPG
   create-stamp debian/debhelper-build-stamp
   dh_prep
    rm -f -- debian/imcat.substvars
    rm -fr -- debian/.debhelper/generated/imcat/ debian/imcat/ debian/tmp/
   dh_auto_install --destdir=debian/imcat/
    install -d /<<PKGBUILDDIR>>/debian/imcat
    make -j4 install DESTDIR=/<<PKGBUILDDIR>>/debian/imcat AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true"
make[1]: Entering directory '/<<PKGBUILDDIR>>'
sudo cp imcat /usr/bin/
make[1]: sudo: No such file or directory
make[1]: *** [Makefile:11: install] Error 127
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_install: error: make -j4 install DESTDIR=/<<PKGBUILDDIR>>/debian/imcat AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" returned exit code 2
make: *** [debian/rules:18: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

什么是正确的安装目标,以便dh可以安装二进制文件?

这是我的 debian/规则

#!/usr/bin/make -f

# Output every command that modifies files on the build system.
export DH_VERBOSE = 1


# See FEATURE AREAS in dpkg-buildflags(1).
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all

# See ENVIRONMENT in dpkg-buildflags(1).
# Package maintainers to append CFLAGS.
#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
# Package maintainers to append LDFLAGS.
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed


%:
    dh $@

答案1

解决方案是使用DESTDIR环境变量和install实用程序,如下所示:

install: imcat
    install -d ${DESTDIR}/usr/bin
    install -m 755 imcat ${DESTDIR}/usr/bin/

uninstall:
    sudo rm -f ${DESTDIR}/usr/bin/imcat

相关内容