Construindo o pacote ffmpeg deb dá fakeroot debian / rules clean deu status de saída de erro 2

0

Estou tentando construir meu primeiro pacote .deb (com fontes ffmpeg) e recebo alguns erros. Esses são meus passos que podem ser reproduzidos para obter esse erro:

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg-git                                                                                                                                                                                        
cd ffmpeg-git
git checkout n2.4.2
cd ..
mv ffmpeg-git ffmpeg-2.4.2
tar -czf ffmpeg-2.4.2.tar.gz ffmpeg-2.4.2
cd ffmpeg-2.4.2
dh_make --copyright gpl -f ../ffmpeg-2.4.2.tar.gz
dpkg-buildpackage -uc -us -B -rfakeroot

dpkg-buildpackage: source package ffmpeg
dpkg-buildpackage: source version 2.4.2-1
dpkg-buildpackage: source distribution unstable
dpkg-buildpackage: source changed by Patryk <[email protected]>
dpkg-buildpackage: host architecture amd64
 dpkg-source --before-build ffmpeg-2.4.2
 fakeroot debian/rules clean
dh clean  --with autotools-dev
   dh_testdir
   dh_auto_clean
make[1]: Entering directory '/home/XXXXX/programming/tools/vlc/ffmpeg-2.4.2'
Makefile:2: config.mak: No such file or directory
Makefile:58: /common.mak: No such file or directory
Makefile:99: /libavutil/Makefile: No such file or directory
Makefile:99: /library.mak: No such file or directory
Makefile:101: /doc/Makefile: No such file or directory
Makefile:184: /tests/Makefile: No such file or directory
make[1]: *** No rule to make target '/tests/Makefile'.  Stop.
make[1]: Leaving directory '/home/XXXXX/programming/tools/vlc/ffmpeg-2.4.2'
dh_auto_clean: make -j1 distclean returned exit code 2
make: *** [clean] Error 2
dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 2

EDITAR

Tentando depurar:

debuild
 dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: source package ffmpeg
dpkg-buildpackage: source version 2.4.2-1
dpkg-buildpackage: source distribution unstable
dpkg-buildpackage: source changed by Patryk <[email protected]>
 dpkg-source --before-build ffmpeg-2.4.2
dpkg-buildpackage: host architecture amd64
 fakeroot debian/rules clean
dh clean  --with autotools-dev
   dh_testdir
   dh_auto_clean
make[1]: Entering directory '/home/XXXXX/programming/tools/vlc/ffmpeg-2.4.2'
Makefile:2: config.mak: No such file or directory
Makefile:58: /common.mak: No such file or directory
Makefile:99: /libavutil/Makefile: No such file or directory
Makefile:99: /library.mak: No such file or directory
Makefile:101: /doc/Makefile: No such file or directory
Makefile:184: /tests/Makefile: No such file or directory
make[1]: *** No rule to make target '/tests/Makefile'.  Stop.
make[1]: Leaving directory '/home/XXXXX/programming/tools/vlc/ffmpeg-2.4.2'
dh_auto_clean: make -j1 distclean returned exit code 2
make: *** [clean] Error 2
dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 2
debuild: fatal error at line 1364:
dpkg-buildpackage -rfakeroot -D -us -uc -v failed

EDIT1

debian/rules

#!/usr/bin/make -f                                                                                                                                                                                                                         
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

%:
  dh $@  --with autotools-dev

EDIT2

erro após adicionar @ user26687 alterações

INSTALL libavutil/ffversion.h
INSTALL libavutil/libavutil.pc
make[1]: Leaving directory '/home/XXXXX/programming/tools/vlc/ffmpeg-2.4.2'
   dh_installdocs
        install -g 0 -o 0 -d debian/ffmpeg/usr/share/doc/ffmpeg
        cp -a README.md debian/ffmpeg/usr/share/doc/ffmpeg
        chown -R 0:0 debian/ffmpeg/usr/share/doc
        chmod -R go=rX debian/ffmpeg/usr/share/doc
        chmod -R u\+rw debian/ffmpeg/usr/share/doc
        install -g 0 -o 0 -m 644 -p debian/README.Debian debian/ffmpeg/usr/share/doc/ffmpeg/README.Debian
        install -g 0 -o 0 -m 644 -p debian/copyright debian/ffmpeg/usr/share/doc/ffmpeg/copyright
   dh_installchangelogs
        install -o 0 -g 0 -p -m644 debian/changelog debian/ffmpeg/usr/share/doc/ffmpeg/changelog.Debian
   dh_perl
   dh_usrlocal
dh_usrlocal: debian/ffmpeg/usr/local/share/man/man3/libavdevice.3 is not a directory
dh_usrlocal: debian/ffmpeg/usr/local/share/man/man3/libswscale.3 is not a directory
dh_usrlocal: debian/ffmpeg/usr/local/share/man/man3/libswresample.3 is not a directory
dh_usrlocal: debian/ffmpeg/usr/local/share/man/man3/libavcodec.3 is not a directory
dh_usrlocal: debian/ffmpeg/usr/local/share/man/man3/libavutil.3 is not a directory
dh_usrlocal: debian/ffmpeg/usr/local/share/man/man3/libavformat.3 is not a directory
dh_usrlocal: debian/ffmpeg/usr/local/share/man/man3/libavfilter.3 is not a directory
        "rmdir debian/ffmpeg/usr/local/share/man/man3"
rmdir: failed to remove ‘debian/ffmpeg/usr/local/share/man/man3’: Directory not empty
dh_usrlocal: rmdir debian/ffmpeg/usr/local/share/man/man3 returned exit code 1
make: *** [binary] Error 1
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
debuild: fatal error at line 1364:
dpkg-buildpackage -rfakeroot -D -us -uc -b failed
    
por Patryk 26.10.2014 / 01:16

1 resposta

0

Você poderia

Adicione seu arquivo debian / rules como agora estou apenas supondo:

Aqui

Minimal debian / rules.

Com o Trusty, o pacote não funcionou como o dh_auto_clean foi executado muito cedo.

changelog aqui:

% bl0ck_qu0te%

Eu tenho nas regras do Debian:

override_dh_auto_clean:
    dh_testdir
    dh_clean

----- EDITAR -----

Testado com o Ubuntu 14.10.

Com o debian / rules:

#!/usr/bin/make -f                                                                                                                                                                                                                         
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

%:
  dh $@  --with autotools-dev

Eu recebo o mesmo erro que você.

Com o debian / rules:

#!/usr/bin/make -f                                                                                                                                                                                                                         
# -*- makefile -*-
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

%:
    dh $@  --with autotools-dev

override_dh_auto_clean:

override_dh_auto_configure:
    ./configure --enable-gpl

O prédio está acontecendo ...

O 'override_dh_auto_configure:' está lá porque eu recebo um erro com o dh_auto_configure:

Unknown option "--build=x86_64-linux-gnu".
See ./configure --help for available options.
dh_auto_configure: ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libexecdir=${prefix}/lib/ffmpeg --disable-maintainer-mode --disable-dependency-tracking returned exit code 1
debian/rules:7: recipe for target 'build' failed
    
por user26687 26.10.2014 / 07:48