/srv/irclogs.ubuntu.com/2013/11/22/#launchpad.txt

codygarverhey guys, I'm getting this error on a few trusty builds. Anyone know what's up? "dpkg-source: error: can't build with source format '3.0 (native)': native package version may not have a revision" https://launchpadlibrarian.net/157057722/buildlog.txt.gz03:15
dobeycodygarver: fix your debian/source/format file, or your version string. you are using an invalid version string in debian/changelog for the native format03:16
codygarverdobey, are you sure? It used to build and still builds for saucy and precise. Nothing has changed and it was working for Trusty until a few days ago https://code.launchpad.net/~elementary-os/+recipe/granite-daily03:19
codygarverhttp://bazaar.launchpad.net/~elementary-os/granite/deb-packaging/view/head:/debian/changelog and the format is not native http://bazaar.launchpad.net/~elementary-os/granite/deb-packaging/view/head:/debian/source/format03:21
StevenKcodygarver: Nothing has changed except trusty itself, it's the new dpkg in trusty.03:21
StevenKAh, a recipe. bzr-builder will override the format to 3.0 (native) if you don't have pristine-tar information.03:21
codygarverStevenK, so the version string is the problem?03:22
StevenKcodygarver: You have a solution, which is to use pristine-tar with your orig tarball which will stop bzr-builder overriding the format to 3.0 (native). A workaround is to drop the - from the version string.03:24
codygarverStevenK, how can I provie a pristine-tar with a recipe build? It's also happening with this recipe that's changelog doesn't contain a - https://code.launchpad.net/~elementary-os/+recipe/noise-daily03:27
codygarverprovide a pristine-tar*03:27
StevenKcodygarver: A version of 0.2.4 should be 3.0 (native), not 3.0 (quilt)03:31
StevenKAnd that is what is the error is trying to point out.03:31
codygarverok so that one is not liking that it was expecting patches and didn't find them, got it03:32
StevenKNo, it is purely a comparsion of the version, files and format. 3.0 (quilt) is for non-native packages, ie: 1.0-1; 0.2.4 is a native version03:32
codygarverStevenK, oh ok, thanks a lot!03:33
codygarverStevenK, but what about this one https://code.launchpad.net/~elementary-os/+recipe/noise-daily it is not a native version and is quilt with patches?03:33
StevenKnoise-daily is the native version03:34
StevenK0.2.4 is a native version03:34
codygarverStevenK, oh it's complaining about the - in the recipe header?03:34
codygarver{debversion}+r{revno}-0+pkg{revno:packaging}03:35
StevenKOh, yeah, exactly.03:35
dobeycodygarver: you need to change the version in debian/changelog in the packaging branches to be 0.2.4-0elementary1 or something03:35
StevenKSorry, I was comparing the version in debian/changelog, which the recipe machinery doesn't use.03:35
codygarvernow it really all makes sense, thanks dobey and StevenK03:35
StevenKdobey: Still contains a -03:35
StevenKTry again? :-P03:35
dobeyStevenK: yes, it should be fine as long as debian/changelog has the thing. dpkg is looking at what's already in debian/changelog03:36
StevenKbzr-builder adds an entry first, no?03:36
StevenKSo fix the recipe text and retry03:36
dobeyhrmm03:37
dobeyStevenK: then it shouldn't matter, since source/format has 3.0 (quilt)03:37
dobeybut having the - in debian/changelog apparently doesn't fix it either03:38
StevenKdobey: But bzr-builder overrides the format to 3.0 (native) with no pristine-tar information, which I said earlier.03:38
codygarverI have modified the recipe versioning and requested a build, so we'll see in a few minutes03:38
StevenKcodygarver: If it's not already building, link it to me and I'll make it build.03:39
codygarverstgraber, I used a recipe that's not in a somewhat-production environment yet https://code.launchpad.net/~codygarver/+recipe/midori-elementary-daily03:39
codygarverStevenK, ^03:39
dobeythen i guess bzr-builder needs fixing03:39
StevenKOr use pristine-tar, and it won't override.03:40
StevenKIt wants to make the exact same orig from just bzr history, it needs something more.03:40
dobeywhat does it even mean to provide pristine-tar in a source recipe?03:45
StevenKdobey: pristine-tar takes an orig tarball and the repoistory information and creates a diff and commits it. Then you can always reconstruct the *exact same* orig using only bzr history03:46
StevenKdobey: 'man pristine-tar' ?03:49
dobeythat doesn't actually tell me anything. nor does it work for sources that have never actually made a tarball release, and seems like it would be unusable for git imports03:49
StevenKdobey: Sorry for not explaining it well -- the DESCRIPTION in the pristine-tar manual page should help, then.03:50
dobeydoesn't really help either. it tells me it is not a usable solution, though.03:53
wgrantdobey: Sources that have never made a tarball release have to be native.03:55
wgrantBecause non-native implies release tarball.03:55
dobeynative implies the package information is part of the source tree; it doesn't necessarily imply tarball03:55
StevenKnative also implies a format and version03:56
codygarverit looks like removing the - from the recipe version resolved the issue https://code.launchpad.net/~codygarver/+recipe/midori-elementary-daily03:56
codygarverthanks for your help again03:56
wgrantdobey: Non-native necessarily implies release tarball03:57
wgrantA package is non-native iff it has at least one orig.tar.*03:57
dobeydoes "debuild -S -sa" in the tree of a non-native package without an orig.tar in the parent directory, fail completely, or ask you to continue anyway, with the new dpkg?04:00
StevenKIt will fail completly, I think.04:01
wgrantdobey: If you've specified '3.0 (quilt)' as the format it will fail04:01
wgrantI don't know the behaviour of format 1.0 in the new dpkg04:02
dobey:(04:02
wgrantBut it previously would fall back to native, as there was no way to distinguish.04:02
wgrant3.0 (quilt) without an orig.tar.gz has failed since almost day 104:02
dobeysince day 1?04:03
wgrant3.0 (native) with a non-native version has only failed since last week.04:03
wgrantday 1 of the 3.0 formats.04:03
dobeyno, it doesn't fail. it asks if you want to make the source anyway04:03
wgrantdpkg-source: error: can't build with source format '3.0 (quilt)': no upstream tarball found at ../hello_2.8+fake.orig.tar.{bz2,gz,lzma,xz}04:04
wgrantIt asks, but still fails.04:04
dobeyoh, ok04:07
dobeycan't bzr-builder export the tree to the orig.tar.gz if format is 3.0 (quilt)?04:08
dobeyseems like it should do04:08
StevenKIt will do so, given pristine-tar information is in the branch.04:08
dobeyand generate a giant diff for all changes made since that tarball release? that is silly04:10
wgrantSilly?04:11
wgrantWhat else can it do?04:11
dobeyexport the current revision of the tree to the orig.tar?04:12
wgrantThat would be the original tarball, though.04:13
wgrants/would/wouldn't/04:13
dobeyyes it would be04:13
wgrantHow?04:13
dobeyit would be the original tarball for that revision of the branch.04:13
dobeyand it would avoid many other potential failures as a result of not doing that04:14
wgrantWhat potential failures?04:14
dobeysuch as binary files in the tree having changed since the last "tarbsll release"04:14
wgrantThere shouldn't be binary files in a source tree in the first place :P04:15
dobeyyeah, well, good luck with that04:15
wgrantWhat version would the orig.tar.gz have?04:15
wgrantHow do we ensure that it's bit-identical each time?04:15
dobeythe same version as the recipe04:15
wgrant3.0 (quilt) handles changed binaries anyway.04:16
wgrantIf it's the same version as the recipe, what value does it provide over a native non-orig.tar.gz/04:16
wgrantorig.tar.gzs are useful because they can be shared.04:16
dobeymaking versions strings that are correct for things that aren't native sources04:16
dobeywell if you are getting orig.tar.gzs from a PPA to use as "official original tarballs" you've already failed04:17
wgrantThere may be some value in being able to construct a bit-identical tarball from just the upstream branch with a version like 1.0+bzr20131122, but it's not entirely clear how that would work, and it's significantly more complicated.04:18
dobeyfor official archive, sure; for PPAs, many of them aren't maintained by debian developers04:18
dobey"bzr export" isn't complicated04:18
wgrantDaily builds today should either produce a native package with a native version, or produce a non-native package based on some real release tarball for which the branch has pristine-tar metadata, and include changes since the tarball in the debian.tar.gz.04:18
dobeyrecipes can't use real release tarballs04:19
wgrantdobey: Recipes would need to specify how to construct the upstream tree and then separately how to apply the Debian changes.04:19
wgrantdobey: Why can't they?04:19
wgrantLots of recipes do.04:19
dobeybecause people making recipe builds of things don't necessarily have commit priveleges to the things they are packaging to add pristine-tar info to them, even if it made sense to do so04:19
wgrantThey could include the pristine-tar metadata in the packaging branch.04:19
wgrantAnyway, those are the two ways it works today.04:20
wgrantIf you want to implement the separate upstream branch functionality, by all means.04:20
dobeyand pristine-tar doesn't make sense in the recipes; the thing i am packaging isn't the last released tarball with a signficant number of changes in a giant diff. it's trunk.04:22
dobeyanyway, i am not in .au time zone, so i should go get some sleep :)04:22
wgrantpristine-tar makes sense in recipes.04:22
wgrantOne could argue it makes less sense in *daily build* recipes.04:22
wgrantThat's up for debate.04:23
dobeysure, if those recipes are packaging a specific revision of a branch that is exactly the same as the tarball in question :)04:23
wgrantOr recipes composing upstream releases and a Debian branch.l04:23
wgrantNot all recipes are of an ever-changing trunk.04:23
=== caktux_ is now known as caktux
dobeyall the ones i care about are :)04:24
wgrantBut they are not all the recipes in the world.04:24
dobeyno, but they are the ones that are broken by these changes04:24
wgrantRecipes that are daily builds of trunk must today use one of the two solutions I described.04:24
dobeywhile the others aren't, and wouldn't be broken by changing bzr-builder to deal with the changes in a better way for these sorts of recipes04:25
wgrantIf someone wants to implement the third, they can.04:25
wgrantbzr-builder can't simply be magically changed.04:25
wgrantIt would require an extension of the recipe format, for example.04:25
wgrantIf someone wants to do that, that'd be great.04:25
dobeyanyway, sleep for now04:25
dobeylater :)04:26
wgrantNight04:31
Noskcajwgrant, To test if the package builds. If so, it can be synced to ubuntu07:07
czajkowskialoha08:47
=== eagles0513875_ is now known as eagles0513875
philsfI need help with a recipe for building packages in LP. When I test locally (bzr dailydeb recipe wd), the source package is built. When I request a build in LP, I get the following error: https://launchpadlibrarian.net/157361878/buildlog.txt.gz20:23
philsfhow come LP is complaining I didn't set my LP-id, if I'm doing it while logged in?20:23
dobeythat has nothing to do with your lp id; you aren't running the recipe, launchpad is, on a build server in a chroot somewhere. it doesn't have your credentials to access or write to things20:24
dobeywhat is the url for the recipe?20:26
philsfhttps://code.launchpad.net/~philsf/+recipe/philsf-likes-workstation20:29
dobeyso, some stuff in format 0.4 doesn't work on launchpad yet. format 0.3 works fine though. so you need to use something like "{debupstream}+r{revno}" for the version instead of {latest-tag}20:31
philsfdobey, hmm, but this way I can't use a single recipe to track releases from tags, right? that is, unless I request a build whenever I push the revision of a release, am I correct?20:32
dobeywhat do you mean? {latest-tag} also isn't really a good version number. the tag could be "foo" which isn't a number at all. version numbers have to begin with a digit20:37
dobeyphilsf: also, the version string in the recipe doesn't control what revision is being checked out in the build20:37
philsfdobey, I always use tags like "0.1.0", or something like that. I thought it was the simplest way to manage releases in LP20:38
philsfdobey, yay, it built now. thanks! I think I'll only use {debversion}, since I don't need a daily build20:40
dobeywell, the binary build will fail20:41
philsfwhy?20:46
dobeybecause your branch doesn't contain anything but the debian/ directory; so nothing to build or install20:47
philsfI meant {debupstream}, not {debversion}.20:47
philsfdebuild builds the binary package fine. what should I do to create a metapackage that makes LP happy, then?20:48
dobeyyou are trying to make a metapackage?20:59
philsfyup20:59
philsfbtw, is there a way NOT to include ~ubuntu13.10.1 or similar in the uploaded package version?20:59
dobeyit might work as-is. you'll have to wait 5+ hours to see21:00
dobeyno, there isn't21:00
dobeythe ubuntu release version is automatically appended to all recipe builds21:00
dobeyif you are going to build on multiple versions of ubuntu, it is very necessary21:01
philsfIf I want the kind of versioning that is usual in official packages (say, for another project),  would I need to use the likes of dput instead of using a recipe?21:03
dobeyi'm not sure what you're asking exactly21:04
philsflol, sorry. say I have a serious project I'm releasing, and want the package version to be 0.1, or 0.1-1, instead of 0.1~ubuntu13.10. How can I accomplish that in LP?21:05
philsf(for an example, I'm working on launchpad.net/~mmrrsim, but that packaging is not finished yet)21:06
dobeywell, in a PPA you should always append the ~ubuntu13.10.1 for example21:06
dobeywhether it is via dput or a recipe21:06
philsffor this ~mmrrsim project, I intend to ask debian to include it there, then ask ubuntu to include. but I'm using LP as upstream, for both coding and packaging, bugs, questions, etc.21:07
dobeyif you want 0.1 (because you're a native package), or 0.1-1 (because you're a non-native package with an orig.tar.gz), or 0.1-0ubuntu1 (because you want it in ubuntu) you should do the requisite work to get it included in debian or ubuntu21:08
dobeyPPAs are not the place official debian/ubuntu packages21:08
dobeyrecipes are easier because they automatically append the ~ubuntu13.10.1 bit21:09
dobeyso they are great for making use of PPAs easier21:09
philsfdobey, cool. thanks for clarifying that. I'll do exactly that for my work project. the one I bothered you about is just a little thing to help me keep updated in all my boxes.21:09
dobeyphilsf: maybe you should look at using oneconf in software-center, instead of a meta package21:10
dobeyphilsf: it's a feature that allows you to install the same packages as you have installed on another computer on your network21:10
philsfdobey, thanks for the pointer. I was curious about metapackaging, though ;)21:11
philsfit's also a simple way of sharing my base workstation install with coworkers. the rant about the ~ubuntu13.10 is irrelevant, and as you said, useful21:12
slacknerwgrant: Hiho. You probably remember our questions recently about moving PPAs to a different user/groups, where we didn't find a good solution. Is it probably possible to put just a symlink / redirection at the original location of the PPA, and reuse the same signing key for a new one, without breaking the installation of our current users? Or alternatively that all packages are copied automatically from one location to the other one?22:34
maxbAutomatic copying could be done with a cronjob calling the lp web api22:47
wgrantslackner: Neither of those are possible within Launchpad, but as maxb suggests you could use an API script and cron to keep two PPAs in sync.23:09
slacknerwgrant: is it technically not possible, or just not implemented?23:10
wgrantAliasing PPAs is not supported and difficult to support in the current implementation. We could probably work out a way to transfer a PPA key if you have a good reason to request it.23:17
wgrantslackner: ^^23:17
slacknerwgrant: well, what we would like to have is one central PPA for all package, unfortunately we started with several ones, and we cannot just change it with >10k users23:18
slacknerwgrant: transfering PPA keys itself would not be sufficient, as users will need some time to figure out that the old PPA is deprecated23:19
slacknerwgrant: does it make sense to fill out feature requests for this (which could be implemented in the next time)? or do we have to use something like the cronjob approach?23:20
slacknerwgrant: not sure how everything works internally, but in principle a http redirect and a new ppa with same key should already do the trick (if i don't miss anything)23:21
wgrantslackner: We'd transfer the PPA key manually by hacking the database, but it's unlikely that we'd be able implement PPA redirects within say a year. I'd suggest that using an API cronjob would be your best bet for now.23:22
slacknerwgrant: hm, okay.. well, the cronjob method also seems a bit hacky too me, but if there isn't any better solution we'll implement it ^^ thanks!23:25
wgrantslackner: Yeah, it's not ideal, but it should work fine for now.23:28
maxbslackner: there's a script you can use already written, look for lp-promote-ppa in lp:hydrazine23:45
slacknermaxb: ah, nice :)23:46

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