debian / rules error “Nenhuma regra para tornar alvo”

1

Estou tendo alguns problemas para criar um arquivo .deb com debuild

antes de ler alguns tutoriais eu consegui fazer o arquivo, mas eu sempre recebo este erro:

    make: *** No rule to make target «build». Stop.
    dpkg-buildpackage: failure: debian/rules build gave error exit status 2
    debuild: fatal error at line 1329:
    dpkg-buildpackage -rfakeroot -D -us -uc -b failed

Qualquer ajuda ??

Este é o meu arquivo de regras debian:

    #!/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

    build-stamp: configure-stamp 
        dh_testdir
        touch build-stamp

    clean:
        dh_testdir
        dh_testroot
        rm -f build-stamp configure-stamp
        dh_clean

    install: build
        dh_testdir
        dh_testroot
        dh_clean -k 
        dh_installdirs
        $(MAKE) install DESTDIR=$(CURDIR)/debian/pycounter
        mkdir -p $(CURDIR)/debian/pycounter

        # Copy .py files
        cp pycounter.py $(CURDIR)/debian/pycounter/opt/extras.ubuntu.com/pycounter/pycounter.py
        cp prefs.py $(CURDIR)/debian/pycounter/opt/extras.ubuntu.com/pycounter/prefs.py

        # desktop copyright and others (not complete, check)
        cp extras-pycounter.desktop $(CURDIR)/debian/pycounter/usr/share/applications/extras-pycounter.desktop
    
por Hairo 24.06.2012 / 02:23

1 resposta

2

Como a mensagem de erro diz, não há build target no seu arquivo de regras. Seu install target o lista como um requisito. debian/rules arquivos são Makefiles. Você pode querer ler um pouco sobre isso.

Mas você pode simplificar muito isso usando o simples ajudante dh . Seu arquivo de regras seria parecido com:

#!/usr/bin/make -f

%:
        dh $@

override_dh_auto_install:
    # Copy .py files
    cp pycounter.py $(CURDIR)/debian/pycounter/opt/extras.ubuntu.com/pycounter/pycounter.py
    cp prefs.py $(CURDIR)/debian/pycounter/opt/extras.ubuntu.com/pycounter/prefs.py

    # desktop copyright and others (not complete, check)
    cp extras-pycounter.desktop $(CURDIR)/debian/pycounter/usr/share/applications/extras-pycounter.desktop
    dh_auto_install

Também sugerimos investigar o uso de dh_install em vez de cp , por exemplo:

dh_install prefs.py /opt/extras.ubuntu.com/pycounter/

Veja a página do manual do comando dh e a página de manual do comando dh_install

    
por andrewsomething 25.06.2012 / 04:15