2014-12-02 3 views
0

규칙 파일 안에 링크를 만들려고 할 때 허용되지 않았습니다. 어떻게 할 수 있습니까? 내가 한 일은 다음과 같습니다.데비안 패키지 규칙

#!/usr/bin/make -f 
icon = $(CURDIR)/frontpage.png 
script = $(CURDIR)/guilotinga.py 
launcher = $(CURDIR)/internation.desktop 

DEST1 = $(CURDIR)/debian/internation/usr/share/internation 
DEST2 = $(CURDIR)/debian/internation/usr/share/applications 

build: build-stamp 

build-stamp: 
    dh_testdir 
    touch build-stamp 

clean: 
    dh_testdir 
    dh_testroot 
    rm -f build-stamp 
    dh_clean 

install: build clean $(icon) $(script) $(launcher) 
    dh_testdir 
    dh_testroot 
    dh_prep 
    dh_installdirs 

    mkdir -m 755 -p $(DEST1) 
    mkdir -m 755 -p $(DEST2) 
    install -m 666 $(icon) $(DEST1) 
    install -m 777 $(script) $(DEST1) 
    install -m 777 $(launcher) $(DEST2) 
    ln -s usr/share/internation/guilotinga.py /usr/bin/internation 
    (That's where I stopped) 

위의 줄은 충분한 권한이 없다고 말하는 오류입니다. 내 잘못은 무엇입니까?

binary-indep: build install 
dh_testdir 
dh_testroot 
dh_installchangelogs 
dh_installdocs 
dh_installexamples 
dh_installman 
dh_link 
dh_compress 
dh_fixperms 
dh_installdeb 
dh_gencontrol 
dh_md5sums 
dh_builddeb 

binary-arch: build install 

binary: binary-indep binary-arch 
    .PHONY: build clean binary-indep binary-arch binary install 

답변

0

내가 무엇을 당신이 원하는 것은/usr/bin/internation에 심볼릭 링크 을 확인하고 패키지가 설치 될 때 링크가 /usr/share/internation/guilotinga.py로 표시해야하는 것이라고 믿고있어. 그렇다면 링크 명령을 거꾸로 전달하는 것입니다. 당신은 (Debian Policy 10.5 절 참조) 다른 하나의 최상위 디렉토리를 심볼릭 링크하지 않는 한 추가 참고로하지만, 데비안 패키지의 심볼릭 링크 적, 절대 안

ln -s /usr/bin/internation usr/share/internation/guilotinga.py 

를 원한다.

빌드 스크립트에 dh_link이 필요하므로 아무 것도 변경할 필요가 없습니다. 이 도구는 패키지 빌드 영역의 비 호환 심볼릭 링크를 자동으로 고칩니다 (여러분이 슈퍼 - 베버 제거 모드에서 실행하지 않는 한). 당신이 잠재적으로 혼란 독자 (또는 자신을) 피하려는 경우

는하지만, 아마 당신은

ln -s ../../bin/internation usr/share/internation/guilotinga.py 
을한다고