I'm going insane here. I've built a tool that doesn't need any actual compilation - it's just a Perl script - and when I run bzr builddeb
on it, I get a WORKING .deb file which copies my script - zfsync - to /usr/bin/zfsync when I run dpkg -i zfsync_1.0.0-0ubuntu3_all.deb
.
However, when I run bzr builddeb -S
and then dput
the resulting source.changes file to my PPA, it builds without errors... but apt-get install zfsync results in a "successful" installation, only my binary isn't actually placed in /usr/bin!
I have a debian/install file which contains zfsync usr/bin
and nothing else. Out of desperation, I created a simple Makefile which, if make install
is run, will copy zfsync to /usr/bin also. Nothing seems to help, though, and the half-hour "build" time on Canonical's godawful arm-based PPA farm is making me lose my mind.
When I do an apt-get source zfsync, looking in the source directory fetched shows me no debian/install
file whatsoever. I don't know why the PPA is stripping that file, but it apparently is - and without it, my script doesn't actually get installed.
Please, please, are there any packaging gurus out there? Help!
I still have no idea why it was screwing me - I was following the Ubuntu packaging guide to the letter - but eventually I got it working.
What I ended up doing is: apt-get source zfsync
into a completely different directory, then investigating what was in there.
In addition to a "zfsync-1.0.0" folder which contained all my stuff, there was a "zfsync" folder that had usr/share/doc
in there but no usr/bin
at all. I manually created usr/bin/zfsync
in the "zfsync" folder, made damn certain that the "debian/install" had "zfsync usr/bin" in it, then did a bzr init
, a bzr commit
, and a dput ppa:jrssnet/zfsync zfsync_1.0.0-0ubuntu5_source.changes
... and, five or ten minutes later, SUCCESS! Ubuntu's build process actually resulted in not only a .deb, but a .deb that ACTUALLY INSTALLED MY DAMN SCRIPT. :)