{"id":2728,"date":"2016-02-15T12:39:56","date_gmt":"2016-02-15T10:39:56","guid":{"rendered":"https:\/\/adrhc.go.ro\/wordpress\/?p=2728"},"modified":"2017-05-10T21:34:15","modified_gmt":"2017-05-10T19:34:15","slug":"how-to-create-a-debian-package","status":"publish","type":"post","link":"https:\/\/adrhc.go.ro\/blog\/how-to-create-a-debian-package\/","title":{"rendered":"How to create a debian package"},"content":{"rendered":"<pre>\r\n<strong>method 1<\/strong>\r\nsee also <a href=\"http:\/\/ubuntuforums.org\/showthread.php?t=910717\" target=\"_blank\">http:\/\/ubuntuforums.org\/showthread.php?t=910717<\/a>\r\nsupposing anything-sync-daemon-5.76 contains all package's files\r\n\r\nThan simply create anything-sync-daemon-5.76\/DEBIAN\/control file with a similar content:\r\n<code>Package: anything-sync-daemon\r\nVersion: 5.76\r\nSection: Utilities\r\nPriority: optional\r\nArchitecture: amd64\r\nMaintainer: Gigi Kent &lt;gigi77@yahoo.com>\r\nDescription: anything sync daemon<\/code>\r\n\r\nthen run\r\n<\/pre>\n<pre class=\"brush:bash shell;toolbar: false\">\r\ndpkg-deb --build anything-sync-daemon-5.76\r\ndpkg-deb -c anything-sync-daemon-5.76.deb\r\nsudo dpkg -i anything-sync-daemon-5.76.deb\r\n<\/pre>\n<pre>\r\n<strong>method 2 (problem: will include only the doc files ...)<\/strong>\r\nsee also <a href=\"http:\/\/packaging.ubuntu.com\/html\/packaging-new-software.html\" target=\"_blank\">http:\/\/packaging.ubuntu.com\/html\/packaging-new-software.html<\/a>\r\n<\/pre>\n<pre class=\"brush:bash shell;toolbar: false\">\r\nsudo apt-get install build-essential\r\n<\/pre>\n<pre>\r\n<strong>e.g. for anything-sync-daemon<\/strong>\r\nNEW_BUILD_NAME=anything-sync-daemon\r\nNEW_BUILD_VER=5.76\r\nNEW_BUILD_NAME_AND_VER=$NEW_BUILD_NAME-$NEW_BUILD_VER\r\nls -l \/tmp\/$NEW_BUILD_NAME-*\r\nls -l ~\/ubuntu_packages\/*\/$NEW_BUILD_NAME-*\r\nNEW_BUILD_NR=0\r\nbuild command was something like this: make install DESTDIR=$NEW_BUILD_NAME_AND_VER\r\ntar czf $NEW_BUILD_NAME_AND_VER.tgz $NEW_BUILD_NAME_AND_VER\r\n\r\n<strong>e.g. package anything-sync-daemon<\/strong>\r\nat this point anything-sync-daemon-5.76.tgz must exists!\r\nbzr dh-make anything-sync-daemon 5.76 anything-sync-daemon-5.76.tgz\r\nfind anything-sync-daemon\r\ncd anything-sync-daemon\/debian\r\nrm *ex *EX\r\nrm README.source README.Debian\r\ntake the Ubuntu release name\r\nlsb_release -a | grep Codename | awk '{print $2}'\r\nand use it here (e.g. wily):\r\nsed -i s\/\"unstable\"\/\"wily\"\/ changelog\r\nsed -i s\/\"gigi &lt;gigi@unknown>\"\/\"Gigi Kent &lt;gigi77@yahoo.com>\"\/ changelog\r\nsed -i s\/\"gigi &lt;gigi@unknown>\"\/\"Gigi Kent &lt;gigi77@yahoo.com>\"\/ control\r\nsed -i s\/\"Section: unknown\"\/\"Section: Utilities\"\/ control\r\nalso fill Description in control file\r\n\r\n<strong>Finally commit the code to your packaging branch<\/strong>\r\ncd ..\r\nnow you should be back to the anything-sync-daemon directory\r\nbzr add debian\/source\/format\r\nbzr commit -m \"Initial commit of Debian packaging ($NEW_BUILD_NAME).\"\r\nbuilding the package\r\nbzr builddeb -- -us -uc\r\nlesspipe ..\/anything-sync-daemon_5.76-1_amd64.deb\r\ncheck deb file for errors\r\nlintian ..\/anything-sync-daemon_5.76-1_amd64.deb -> for single binary\r\nlintian ..\/anything-sync-daemon_5.76-1_all.deb -> for indep binary\r\nlist deb content\r\ndpkg-deb -c ..\/anything-sync-daemon_5.76-1_amd64.deb\r\ndpkg-deb -c ..\/anything-sync-daemon_5.76-1_all.deb\r\n\r\nERROR\r\n\tbzr: ERROR: Unable to determine your name\r\n\tPlease, set your name with the 'whoami' command.\r\nSOLUTION\r\n\tbzr whoami \"firstname name &lt;email address>\"\r\n\te.g.:\r\n\tbzr whoami \"Gigi Kent &lt;gigi77@yahoo.com>\"\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>method 1 see also http:\/\/ubuntuforums.org\/showthread.php?t=910717 supposing anything-sync-daemon-5.76 contains all package&#8217;s files Than simply create anything-sync-daemon-5.76\/DEBIAN\/control file with a similar content: Package: anything-sync-daemon Version: 5.76 Section: Utilities Priority: optional Architecture: amd64 Maintainer: Gigi Kent &lt;gigi77@yahoo.com> Description: anything sync daemon then run [&hellip;]<\/p>\n<div class=\"link-more\"><a href=\"https:\/\/adrhc.go.ro\/blog\/how-to-create-a-debian-package\/#more-2728\" class=\"more-link\">Continue reading &#10142; <span class=\"screen-reader-text\">How to create a debian package<\/span><\/a><\/div>","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,11,33],"tags":[63],"class_list":["post-2728","post","type-post","status-publish","format-standard","hentry","category-compiling-from-source","category-linux","category-ubuntu","tag-deb"],"_links":{"self":[{"href":"https:\/\/adrhc.go.ro\/blog\/wp-json\/wp\/v2\/posts\/2728","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adrhc.go.ro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/adrhc.go.ro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/adrhc.go.ro\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/adrhc.go.ro\/blog\/wp-json\/wp\/v2\/comments?post=2728"}],"version-history":[{"count":0,"href":"https:\/\/adrhc.go.ro\/blog\/wp-json\/wp\/v2\/posts\/2728\/revisions"}],"wp:attachment":[{"href":"https:\/\/adrhc.go.ro\/blog\/wp-json\/wp\/v2\/media?parent=2728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/adrhc.go.ro\/blog\/wp-json\/wp\/v2\/categories?post=2728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/adrhc.go.ro\/blog\/wp-json\/wp\/v2\/tags?post=2728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}