{"thread":{"id":"2643","subject":"Question Building Deb Packages","startedAt":"2005-11-22T02:53:30Z","lastAt":"2005-11-22T05:01:49Z","messageCount":2,"participants":["Jon Loeliger","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"12505","messageId":"E1EeOHi-0007Bx-HH@jdl.com","threadId":"2643","inReplyTo":null,"subject":"Question Building Deb Packages","fromName":"Jon Loeliger","fromEmail":"jdl@freescale.com","sentAt":"2005-11-22T02:53:30Z","receivedAt":"2005-11-22T02:53:30Z","isPatch":false,"sender":{"key":"jdl@jdl.com","avatar":"https://gravatar.com/avatar/75ce9a10b151acd2c28ec4ab2136dba7b2ff1634530bd04b155981a749d08a64?d=mp&s=160"},"body":"Guys,\n\nSo, a long and twisty path (all alike) later, I have\na new desktop box with Ubuntu on it.  So what.\n\nIt didn't have git on it at all, the proper git package wasn't\navailable directly, and I didn't know the location of an apt\nsource for one off the top of my head.  So, first principles.\n\nFirst, for the record, after you install ubuntu 5.10, you\nhave to install a whole bunch of normal stuff, like, a compiler.\nWhen you get done with that, I also had to apt-get install some\nform of these:\n\n    linux-kernel-headers\n    libc6-dev\n    libssl-dev\n    libcurl3-dev\n    libexpat-dev\n    openssl\n    zlib1g-dev\n    asciidoc\n    xmlto\n    fakeroot\n\nThe control file lists these:\n\n    Build-Depends-Indep: libz-dev, libssl-dev,\n                    libcurl3-dev|libcurl3-gnutls-dev|libcurl3-openssl-dev,\n\t\t    asciidoc (>= 7), xmlto, debhelper (>= 4.0.0),\n\t\t    bc, libexpat-dev\n\nSo, that is in pretty-good agreement.  The last 3 in my list were\nfor \"doc\" and \"deb\" make targets, of course.\n\nSecond, I then decided to actually make the debian package\nand attempt to install it from the 99.9j tarball directly\nand then add that package to my system.  No dice.\n\nIt _appears_ that the \"deb\" make target requires it to be\ndone in an actual git repository.  This struck me as odd,\nas I _think_ I have done an obvious progression:\n\n    - I don't have git, but want it\n    - I want to build it from a source drop, 0.99.9j\n    - Grab tarball, unpack, build it\n    - Build debian target\n    - Install just-built deb package\n\nLater, of course, I can use that 'official' installation to\nactually grab new (git) repositories and all.  But I have to\nbootstrap the mess, and I want to do that in a \"controlled\"\nway.  Namely, through the debian package target...\n\nDid I get confused?\n\nThanks,\njdl\n\n\n    jdl@ubuntu:/usr/src/git-0.99.9j$ make prefix=/usr\n    make -C templates\n    make[1]: Entering directory `/usr/src/git-0.99.9j/templates'\n    : no custom templates yet\n    make[1]: Leaving directory `/usr/src/git-0.99.9j/templates'\n\n    jdl@ubuntu:/usr/src/git-0.99.9j$ make prefix=/usr deb\n    ./git-tar-tree HEAD git-0.99.9j > git-0.99.9j.tar\n    usage: git-tar-tree <key> [basedir]\n    make: *** [dist] Error 129\n\n    jdl@ubuntu:/usr/src/git-0.99.9j$ ls .git*\n    .gitignore\n"},{"id":"12511","messageId":"7vr799i8ci.fsf@assigned-by-dhcp.cox.net","threadId":"2643","inReplyTo":"E1EeOHi-0007Bx-HH@jdl.com","subject":"Re: Question Building Deb Packages","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-11-22T05:01:49Z","receivedAt":"2005-11-22T05:01:49Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jon Loeliger <jdl@freescale.com> writes:\n\n> It _appears_ that the \"deb\" make target requires it to be\n> done in an actual git repository.\n\nI think we could cheat:\n\n    $ tar zxf original-tarball-of-0.99.9j.tar.gz\n    $ cd there\n    $ fakeroot debian/rules binary\n\nBut you are right; \"make deb\" at the toplevel would not work\nwell on a virgin machine, because it uses git-tar-tree to do the\ntarball construction; we inherited this braindamage from RPM\nbuilding procedure.  So if you do not want to cheat:\n\n    $ tar zxf original-tarball-of-0.99.9j.tar.gz\n    $ cd there\n    $ make install ;# to install in $HOME/bin\n    $ cd ..\n    $ git clone git://kernel.org/pub/scm/git/git.git/\n    $ git checkout -b build v0.99.9j\n    $ make deb\n\nThen install the resulting deb and get rid of $HOME/bin/git*.\n"}]}