Realxtend 프로젝트 (https://github.com/realXtend/naali)의 새 .deb 패키지를 만들어야합니다. 이것은 의존성이 많은 커다란 프로젝트이고 모든 deps와 실행 파일을 다운로드, 컴파일 및 설치하는 자동 bash 스크립트 (/tools/Linux/build-deps.bash)입니다. 그래서 나는 많은 튜토리얼을 시도하지만 종종 오류가 있고 자습서가 (새로운 'rules'파일을 중심으로) 구식이기 때문에 나는 꼼짝도하지 않는다. 왜냐하면 나는 dev 초기가 아니기 때문이다.데비안 패키지를 만드는 법 (데비안 패키지로 소스 또는 파일을 압축/압축하는 것)
그래서 처음에는 단순한 아카이브처럼 정확하게 .deb 파일을 만들면됩니다. 즉, 'makefile'또는 다른 것들을 해석하지 않아도됩니다. 그냥 압축/압축을 풀고 싶습니다. .deb 파일에는 이미 모든 폴더와 함께 .zip 파일과 같은 모든 종속성으로 구성된 모든 프로젝트가 들어 있습니다. 모든 아카이브의 압축을 풀면됩니다.
우분투 정밀 x64에서 build-deps.bash를 실행하여 다양한 파일 (exe, src, lib, ...)로 2 개의 폴더/naali-deps를 가지고 있습니다. 내가 dh_make
, 깨끗한 실행하고 입력/데비안 파일 (변경 내역, 제어, 저작권을), 는 GPG 키를 생성하고 sudo debuild -us -uc -k0xCODE
을 실행
1 '데비안 새로운 메인테이너가'와 IRC보다)는 초보자를위한 업데이트하고 완전한 튜토리얼 (알고 다른 수행 그래서 난에 도움이 필요 ...
dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: source package realxtend
dpkg-buildpackage: source version 0-1
dpkg-buildpackage: source changed by sylvain Bicherel <[email protected]>
dpkg-source --before-build realxtend-0
dpkg-buildpackage: host architecture amd64
fakeroot debian/rules clean
dh clean
dh_testdir
dh_auto_clean
dh_clean
dpkg-source -b realxtend-0
dpkg-source: info: using source format `3.0 (quilt)'
dpkg-source: info: building realxtend using existing ./realxtend_0.orig.tar.gz
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/Extras/CDTestFramework/License.txt.bak
dpkg-source: warning: ignoring deletion of directory naali-deps/build/bullet-2.81-rev2613/autom4te.cache
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/traces.1
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/output.1
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/requests
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/traces.0
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/output.0
dpkg-source: info: building realxtend in realxtend_0-1.debian.tar.gz
dpkg-source: info: building realxtend in realxtend_0-1.dsc
debian/rules build
dh build
dh_testdir
dh_auto_configure
dh_auto_build
dh_auto_test
fakeroot debian/rules binary
dh binary
dh_testroot
dh_prep
dh_installdirs
dh_auto_install
dh_install
dh_installdocs
dh_installchangelogs
dh_installexamples
dh_installman
dh_installcatalogs
dh_installcron
dh_installdebconf
dh_installemacsen
dh_installifupdown
dh_installinfo
dh_installinit
dh_installmenu
dh_installmime
dh_installmodules
dh_installlogcheck
dh_installlogrotate
dh_installpam
dh_installppp
dh_installudev
dh_installwm
dh_installxfonts
dh_installgsettings
dh_bugfiles
dh_ucf
dh_lintian
dh_gconf
dh_icons
dh_perl
dh_usrlocal
dh_link
dh_compress
dh_fixperms
dh_strip
dh_makeshlibs
dh_shlibdeps
dh_installdeb
dh_gencontrol
dpkg-gencontrol: warning: Depends field of package realxtend: unknown substitution variable ${shlibs:Depends}
dh_md5sums
dh_builddeb
dpkg-deb : construction du paquet « realxtend » dans « ../realxtend_0-1_amd64.deb ».
dpkg-genchanges >../realxtend_0-1_amd64.changes
dpkg-genchanges: including full source code in upload
dpkg-source --after-build realxtend-0
dpkg-buildpackage: full upload (original source is included)
Now running lintian...
warning: the authors of lintian do not recommend running it with root privileges!
W: realxtend source: configure-generated-file-in-source naali-deps/build/celt-0.11.1/config.status
W: realxtend source: configure-generated-file-in-source naali-deps/build/celt-0.11.1/config.log
W: realxtend: new-package-should-close-itp-bug
W: realxtend: empty-binary-package
Finished running lintian.
:
나는이 얻을/maillist와 같은 # debian-dev ... -> Phpdna 링크 및 특정 소스 패키징을 참조하십시오. 내 오류 및 사용 dpkg-source
cmd : http://debian-handbook.info/browse/wheezy/sect.source-package-structure.html
2) 내 프로젝트의 '데비안 화'를 어떻게 만드나요? ->dh_make
다음 dpkg-buildpackage -rfakeroot
, 그것은 좋은 방법입니다
3) 어디 까지나 나의 실수는 어디입니까? -> 빈 바이너리 - 파일 lintian 경고가 정상적인 다음 잘못된 cmd가 필요합니다 :
4) $ {shlibs : Depends}로 무엇을해야합니까? -> 자동 lib-deps-links 것, 지금은 신경 쓰지 않아요
5) 비어있는 바이너리 패키지가있는 이유는 무엇입니까? -> 사실, 모든 데이터는 이미 내 케이스에 .orig.tar.gz에 머물러 있습니다.
.deb 패키지 마법에 나를 가르쳐 주시면 많은 감사드립니다.
편집 : 그래서 나는 단지 dpkg-source -x projet-version.dsc
이 필요한 최종 cmd를 찾았습니다. 나는 .deb 파일의 내용이 변경 될 뿐이라는 것을 이해하지 못했으며, 추출 소스 (및 모든 파일)를 빌드하지 않기 위해 debuild
및 dpkg-deb -...
cmds와 붙어있었습니다.
해결책 : + 올바르게 입력/데비안에서
sudo apt-get install debhelper build-essential dh-make
- 하기에 다른 폴더/프로젝트를 폴더를 만들고이/프로젝트 버전
dh_make --createorig
라는 이름의 모든 프로젝트가 포함/프로젝트 버전 +rm -rf *ex *EX README*
/데비안/{규칙; 저작권; 변경 로그}dpkg-buildpackage -rfakeroot
-us -uc
또는-k0x[GPG-KEY]
/프로젝트 버전- 항상 함께 유지 {project_version.orig.tar.gz (모든 데이터 프로젝트); project_version.debian.tar.gz (modifs); project_version_all/any.deb (modifs); project_version_arch.changes (메타); project_version.dsc (메타)}
- 실행
dpkg-source -x projet-version.dsc
는 일부 자동 스크립트를 추가하고 즉시이 SUCCES 바와 같이, 내가 해결 표시합니다 이동, 그래서 지금 프로젝트를
를 추출합니다. 일부 정보 원에 당신이 제어 파일을 작성해야합니다 빌드 폴더에 다음 tar czvf data.tar.gz files
:
덕분에 많은 Phpdna! 그래서 마침내 1.5Go 아카이브 .deb 파일을 theses 최소한의 지시문에 의해, 그것을 컨텍스트 메뉴 (또는 추출 cmd 그래서) 콘텐츠를 추출 할 경우 괜찮 았지만 'dpkg-dep -i project.deb'cmd 함께 작동하지 않습니다. 또는 우분투 소프트웨어 센터를 열려면 두 번 클릭하십시오. 그것은 정상입니까 (insall/cp 및 .desktop 파일이 필요한 디렉토리 경로가 없음)? 그리고 'deb helper'튜토리얼의 링크 부분에는 항상 거의 빈 .deb가 있습니다. 하지만 난 '덮어 쓰기 _dh_install' ''새 '규칙'파일에서 'cp'cmds에 의해 '만들기'cmds 필요가 있다고 생각합니다. 나는 이것을 곧 시도한다. –
죄송합니다. 나는 우분투를 사용하지 않는다. – Bytemain