dh_auto_install 단계에서 데비안 패키지 빌드가 실패함

dh_auto_install 단계에서 데비안 패키지 빌드가 실패함

저는 아주 간단한 데비안 패키지를 만들려고 합니다. 두 개의 파일 이 있는데 main_filefunctionsfunctions.main_fileecho

Makefile다음과 같은 것이 있습니다 .

install:
    cp main_file $(DESTDIR)/usr/bin/main_file
    cp functions $(DESTDIR)/usr/bin/functions

또한 아래와 같이 debian 디렉토리에 제어 파일이 있습니다:

Source: ad
Section: unknown
Priority: extra
Maintainer: James Kelly <[email protected]>
Build-Depends: debhelper (>= 7)
Standards-Version: 3.8.3
Homepage: <insert the upstream URL, if relevant>
Package: ad
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Just messing around
 Playing with debian packages

코드가 포함된 디렉터리 위의 디렉터리와 코드 및 Makefile.

실행하면 $ dpkg-depcheck -d ./configure오류가 발생합니다.

strace: ./configure: command not found
Running strace failed (command line:
strace -e trace=open,execve -f -q -o /tmp/depchwOSqtO ./configure

종속성이 없으므로 중요하지 않다고 생각하므로 실행하면 dpkg-buildpackage -rfakeroot오류가 발생합니다.

dh_auto_clean
dh_auto_clean: failed to write to debian/ad.debhelper.log: Permission denied
END failed--call queue aborted.
make: *** [clean] Error 13
dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 2

sudo dpkg-buildpackage -rfakeroot마지막으로 프로세스를 추가로 실행하면 오류가 발생합니다.

dh_auto_install
make[1]: Entering directory `/home/james/Dummy_Debian/ad-1.0'
cp main_file /home/james/Dummy_Debian/ad-1.0/debian/ad/usr/bin/main_file
cp: cannot create regular file `/home/james/Dummy_Debian/ad-1.0/debian/ad/usr/bin/main_file': No such file or directory
make[1]: *** [install] Error 1
make[1]: Leaving directory `/home/james/Dummy_Debian/ad-1.0'
dh_auto_install: make -j1 install DESTDIR=/home/james/Dummy_Debian/ad-1.0/debian/ad returned exit code 2
make: *** [binary] Error 29
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2

나는 하루 종일 이 문제로 어려움을 겪었고 아마도 내가 잘못하고 있는 간단한 일인 것 같습니다. 누군가 나에게 도움을 줄 수 있다면 나는 영원히 감사할 것입니다!

편집하다:

내 규칙 파일은 여기에 있습니다:

#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

%:
    dh  $@

그리고 내 샘플 코드가 포함된 zip 파일에 대한 링크입니다.

답변1

debhelper(7)는 손상된 파일이 있는 Makefilebuild( dh_auto_build) 및 install( dh_auto_install) 파일을 시도하므로 이를 Makefile수정해야 하거나 재정의를 추가하여 무시할 수 있습니다 debian/rules.

override_dh_auto_build override_dh_auto_install:  
        @

debian/install다음 을 포함하는 파일을 만듭니다 .

main_file  /usr/bin
functions  /usr/bin

데비안 패키징에 대해 더 읽어보세요

관련 정보