/srv/irclogs.ubuntu.com/2014/12/17/#launchpad-dev.txt

=== Nigel_ is now known as G
adoniscikhow do you set the name of the package with stdeb if I want to create separate packages for python2 and python3?02:08
adoniscikI want X to be renamed python-X and python3-X02:09
wgrantadoniscik: I'd examine the manual and/or code of stdeb, and then ask in #ubuntu-packaging if you still can't work it out.02:12
wgrantThat's not really anything to do with Launchpad.02:12
adoniscikokay, I will ask there.02:13
xnoxadoniscik: export PYBUILD_NAME=X \n %: \n \t dh $@ --with python2,python3 --buildsystem=pybuild02:17
adoniscikcool, xnox That looks like it's intended for pybuild. How does it relate to stdeb?02:22
adoniscikdput refuses to upload a deleted package that it believes "has already been uploaded"07:49
wgrantadoniscik: You need to change the version if you change the package.08:11
adoniscikwgrant, I deleted the package instead since it never built properly in hte first place. I don't see the package but dput seems to think it is there. Should I still increment the version?08:12
wgrantadoniscik: That dput check is local and can be overridden with -f, but Launchpad will reject a reuse of the same version even if you've deleted it.08:12
wgrantYou must change the version if you change the package.08:12
adoniscikwhere is that set, Standards-Version?08:13
wgrantadoniscik: debian/changelog08:15
wgrantAnd you should always use dch to manipulate that.08:16
wgrantIt sounds like you should read the Ubuntu packaging guide.08:16
adoniscikI edited the changelog and ran debuild again, but launchpad rejected the package because it said the file already exists. I added a letter to the version, which the rejection email indicated in the title, but ignored in the body. Weird...08:23
wgrantadoniscik: What exactly did you change it to, and what was the exact text of the error message?08:29
adoniscikfrom "foo (version) dist; urgency=low" to "foo (versiona) dist; urgency=low"08:30
adoniscikthen I dput the new changes file, which launchpad successfully received. The email noted the new version in the title, but the old file name in the body08:31
wgrantExact text of the error message :)08:31
wgrantWas it the orig.tar.gz?08:32
adoniscikfoo_0.1.2.orig.tar.gz08:32
wgrantAlso ensure you've read and understood https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version08:32
wgrantRight.08:32
wgrant" The version number of a package. The format is: [epoch:]upstream_version[-debian_revision] "08:32
wgrantThe orig.tar.gz is the upstream tarball, and that has the upstream version.08:32
wgrantThat is anything before the final -.08:33
wgrantThe orig.tar.gz is meant to be as the name suggests: the original tarball as released by upstream, bit-identical.08:33
wgrantHow did upstream's release tarball change without changing the version number?08:33
adonisciksorry, I am not sure I follow. I merely tagged an "a" to 0.1.2-1, making it 0.1.2-1a. If I follow you, this does not really constitute a version change, so it rejected it?08:35
wgrantIt is a version change, but it's not an upstream version change.08:36
wgrantAnd it sounds like you changed the upstream tarball, so you need to change the upstream version.08:37
wgrantBut how did the upstream tarball change? That normally indicates that something else has gone wrong.08:37
wgrantIn your new version, upstream_version=0.1.2, debian_revision=1a.08:37
adoniscikand the old?08:37
adoniscikbecause I reran debuild after changing the changelog?08:37
adoniscikI thought that was how I would reflect the updated changelog08:38
wgrantThe old version was upstream_version=0.1.2, debian_revision=108:38
wgrantRunning debuild won't have changed your orig.tar.gz.08:38
wgrantDebian tools don't touch it, normally, since it's meant to be identical to the one you downloaded from the upstream author.08:38
adoniscikI have 1 orig.tar.gz, and two debian.tar.gz08:39
adonisciktwo source.builds08:39
wgrantYes.08:39
adoniscikthat's good, right?08:39
wgrantBut if Launchpad rejected it because the orig.tar.gz conflicted, you must have changed the contents of the orig.tar.gz without changing the orig.tar.gz's version.08:39
adoniscikwell it did say the file exists and "uploaded version has different contents"08:40
wgrantThe upstream md5sum is 0a9c0986d9b6c1d3f88135afa3da223008:41
wgrantThat doesn't match the one you uploaded to Launchpad before.08:41
wgrantDoes it match the one you have on disk now?08:41
adoniscikof the tgz?08:42
adoniscikthe orig.tgz is b7532f1be6f7e034a9f04a6e47759bbb08:43
adoniscikthe modified debian.tgz is 99d9aa3fc63361a73d517f1a63e61b0508:44
wgrantadoniscik: That doesn't match either the one you uploaded to Launchpad or the one on PyPI. How did you construct the two orig.tar.gzs?08:45
adonisciki downloaded it from pypi, extracted it, ran "python setup.py --command-packages=stdeb.command sdist_dsc", edited the rules file to use pybuild, etc.08:47
adonisciksorry for the trouble, I am trying to upload my first package :)08:48
wgrantI've not used stdeb.08:49
wgrantBut if it generates an orig.tar.gz itself then that's pretty weird.08:49
wgrantIn future, use the upstream-provided tar.gz instead.08:49
adoniscikI also used debuild08:49
adoniscikyou mean from pypi?08:50
wgrantYes.08:50
wgrantIn this case you'll still have to change the version, since the real upstream version's filename had a bad tarball behind it.08:50
wgrantSo, I would grab the orig.tar.gz from pypi, and name it something like FOO_1.2.3+upstream1.orig.tar.gz08:51
wgrantThen add a new changelog entry for version 1.2.3+upstream1-108:51
wgrant(the "+upstream1" is just an arbitrary string to make the version larger than the old one, while also suggesting what happened)08:51
adoniscikI didn't know I could directly upload those archives. so I just need to put a copy of the tgz from pypi and rename it to foo.orig.tar.gz (i.e., add the orig)08:52
wgrantWhen 1.2.4 is released, ensure that you use the orig.tar.gz from PyPI instead of anything generated by stdeb.08:52
wgrantA normal Debian source package is composed of an orig.tar.gz, and debian.tar.gz, and a dsc.08:52
wgrantThe orig.tar.gz is traditionally exactly the upstream release tarball.08:52
wgrantTHe debian.tar.gz just contains the debian/ directory of your source package. debuild (well, dpkg-buildpackage, called by debuild) generates it by tarring up the debian/ directory.08:53
wgrantThe dsc just provides metadata and the hashes of the orig.tar.gz and debian.tar.gz.08:53
wgrantYou generate none of those files yourself, and debuild generates all except the orig.tar.gz.08:53
wgrantdebuild works out which orig.tar.gz to use based on the latest version in debian/changelog.08:54
wgrantSo if your changelog starts with "foo (1.0) trusty; urgency=low", it'll use foo_1.0.orig.tar.gz in the parent directory.08:54
adoniscikcheers, I'll try again. most informative.08:55
wgrant(note that some older or native Debian source packages have a different set of files, but none you're likely to run into)08:57
adoniscikso the package built, but only for python3, presumably since that's what I ran stdeb with. I suppose I need to run it again with python2. If I wanted to create separate packages, should I just edit the changelog to rename foo to python-foo or python3-foo?09:28
adoniscikthanks for your patience, wgrant09:29
wgrantadoniscik: AFAICR stdeb just generates debian/* from metadata in setup.py. You would normally do that once, trim any unnecessary bits, then edit the autogenerated files to meet your needs.09:31
wgrantOne of those needs might be support for multiple Python versions.09:31
wgrantThere's no reason to have a separate source package; it's normal and common for a single source to generate python-foo and python3-foo.09:32
wgrantSee the example debian/rules that xnox gave earlier, but you'll also need to add a new Package stanza to debian/control.09:32
adoniscikoh good. where does debian/control get the contents of ${python:Depends}? I created a new stanza renaming the package and ${python3:Depends}09:42
wgrantadoniscik: https://wiki.debian.org/Python/Packaging is probably of interest.09:46
wgrantBut ${python:Depends} is a "substvar". Check the dh_python2 manpage for details of the substvars it provides.09:48
=== lifeless_ is now known as lifeless
=== mwhudson_ is now known as mwhudson

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!