[20:38] <chillysurfer> hello! i've successfully pushed up a new package to my ppa and i'm seeing the following build error in my ppa:
[20:38] <chillysurfer> subprocess.CalledProcessError: Command '['sudo', '/usr/sbin/chroot', '/home/buildd/build-PACKAGEBUILD-17374618/chroot-autobuild', 'linux64', 'env', 'LANG=C', 'DEBIAN_FRONTEND=noninteractive', 'TTY=unknown', '/usr/bin/apt-get', '-uy', 'update']' returned non-zero exit status 100
[20:38] <chillysurfer> RUN: /usr/share/launchpad-buildd/bin/in-target scan-for-processes --backend=chroot --series=bionic --arch=amd64 PACKAGEBUILD-17374618
[20:38] <chillysurfer> Scanning for processes to kill in build PACKAGEBUILD-17374618
[20:39] <chillysurfer> any thoughts on what i could be doing wrong?
[21:16] <chillysurfer> i retried and i'm seeing this error now: error: binary build with no binary artifacts found
[21:16] <chillysurfer> this is a dpkg-biuldpackage failure
[22:13] <cjwatson> chillysurfer: Your debian/rules is empty, which really isn't going to go well
[22:14] <chillysurfer> cjwatson: ahh i see. but in the instance where i don't really need much to happen, as this is a python package, what should go in my rules file?
[22:14] <chillysurfer> i am running `python3 setup.py install` in the postinst script
[22:14] <cjwatson> You're what
[22:14] <chillysurfer> should that naturally be in rules instead?
[22:14] <cjwatson> No
[22:15] <cjwatson> chillysurfer: I suggest running lintian before you upload - you may not necessarily want to do absolutely everything it says, but it has lots of alarming red output in your case that corresponds to real errors
[22:15] <chillysurfer> ok trying that now
[22:15] <cjwatson> chillysurfer: Let me dig up the relevant bits of the Debian Python wiki for you
[22:16] <chillysurfer> cjwatson: i really appreciate that
[22:16] <chillysurfer> ah lintian explains a lot
[22:16] <chillysurfer> basically the rules file is a Makefile with required targets?
[22:16] <cjwatson> Yes, but there are a lot of helpers that can make it pretty simple
[22:16] <chillysurfer> cjwatson: oh nice, that'd be helpful
[22:16] <cjwatson> So is this a library or an application?
[22:17] <chillysurfer> technically both
[22:17] <chillysurfer> but let's call it an application
[22:17] <chillysurfer> to install it (both the application and the library) just need to `python3 setup.py install`
[22:18] <chillysurfer> cjwatson: ah is `dh` the helper you're talking about?
[22:19] <cjwatson> Start with https://wiki.debian.org/Python/LibraryStyleGuide
[22:19] <cjwatson> And adjust as needed - you'll probably want to drop any Python 2 bits there
[22:20] <cjwatson> I strongly suggest setting yourself up for local builds since it will make it much easier to iterate
[22:20] <cjwatson> https://wiki.ubuntu.com/SimpleSbuild if you don't already have something
[22:20] <cjwatson> dh is the main entry point to most of the modern helpers, yes
[22:21] <chillysurfer> cjwatson: oh wow this information is really great
[22:21] <chillysurfer> thank you!
[22:21] <cjwatson> (https://wiki.debian.org/Python/AppStyleGuide does exist too, but it's mostly elaborations on top of the library style guide; I think you're better off starting with the library guide and making whatever small adjustments are needed)
[22:21] <cjwatson> np
[22:22] <cjwatson> General way to think about rules vs. stuff like postinst: the job of the rules file is essentially to prepare a filesystem tree plus some metadata that can be packed up into a deb
[22:22] <cjwatson> The postinst runs on the installed system
[22:22] <chillysurfer> cjwatson: ahhh ok
[22:22] <chillysurfer> that makes much more sense
[22:23] <cjwatson> If you can, you should avoid writing a postinst
[22:23] <chillysurfer> yeah sounds like i used it in all the wrong ways
[22:23] <cjwatson> (debhelper will often write out postinst fragments for you, but at least those are centrally-maintained and well-debugged)
[22:25] <cjwatson> chillysurfer: So actually I think you probably just want https://wiki.debian.org/Python/Pybuild
[22:26] <chillysurfer> cjwatson: yeah reading through the style guide it seems like the case
[22:26] <cjwatson> Ah, LibraryStyleGuide links to that, as you were :)
[22:26] <chillysurfer> but still things i need to do with dh i think
[22:26] <cjwatson> Right, pybuild is part of dh-python which is a debhelper extension
[22:26] <chillysurfer> ahhh
[22:26] <chillysurfer> that makes sense