2014-12-02 84 views
0

当我试图在规则文件中创建一个链接时,它不允许我。我该如何做到这一点? 这是我做的。Debian封装规则

#!/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安装包时。如果是这样,你只是将链接命令向后。你想

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

作为再一记,不过,在Debian软件包的符号链接不应该永远是绝对的,除非你是一个符号链接目录顶层到另一个(见Debian Policy节10.5)。

对于您的情况,您可能不需要更改任何内容,因为您在构建脚本中调用dh_link。该工具将自动修复软件包构建区域中的不兼容符号链接(除非您以超古老的debhelper compat模式运行)。

但是,如果你想避免可能造成混淆的读者(或自己),也许你应该做的

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