/srv/irclogs.ubuntu.com/2010/02/05/#ubuntuone.txt

Severity1hi i need help. :)01:02
CardinalFanghi.  we need descriptions.01:03
Severity1https://bugs.launchpad.net/bugs/51515301:03
ubottuUbuntu bug 515153 in ubuntuone-client "Ubuntu One gave error attempting startup (dup-of: 455544)" [Undecided,Confirmed]01:03
ubottuUbuntu bug 455544 in ubuntuone-client ""Protocol version error" - when bandwidth throttling is enabled with the default values" [High,In progress]01:03
Severity1and here https://bugs.launchpad.net/bugs/51659601:05
ubottuUbuntu bug 516596 in ubuntuone-client "can't connect this morning" [Undecided,Fix released]01:05
Severity1i just wanna make sure that im doing the right thing here01:05
dobeyi don't know enough about which bug it is, but i don't think fix released is right (proposed is not released), and it's probably a dup01:08
Severity1dobey:  yes i think so too01:09
Severity1i checked the changelog of proposed packages and it seems nothing fits the description01:11
dobeyuser descriptions usually are either not descriptive enough, or way too chatty :)01:13
Severity1lol01:13
Severity1okay new update emmet hickory just marked it as New => Triaged01:14
dobeyoh it's probably a dup of the NoAccessToken bug01:14
dobeybased on syncdaemon-exceptions.log anyway01:14
dobeyfor karmic, yes01:14
Severity1normally uisync --authorize fixes client to server sync issues01:16
Severity1*u101:17
habican anyone tell me how to synconise a complete folder?02:09
statikhey jamesh, how is it going?03:05
statiki was wondering whether it's ok to do a 0.2 release of django-openid-auth now, and whether you want to do it or if I should03:06
jameshstatik: bugger.  I got tied up with other stuff earlier.  I'll do the release now: the trunk seems to be fairly stable given the testing on edge03:12
statikjamesh: ah cool, thanks03:13
statikthat will give a good week or two for me to get it into lucid before feature freeze03:14
statiki want to try and convert to the new 3.0 sourcepackage03:14
statikthe new format, that is03:14
jameshas opposed to the Python version :)03:15
statik:) indeed03:22
jameshstatik: here it is: https://launchpad.net/django-openid-auth/trunk/0.203:24
statikjamesh: awesome, thanks!03:26
duanedesign+55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555503:51
duanedesignuh, oh03:52
duanedesignlooks like my cats got on my keyboard while i was away. Sorry for any channel flood.03:53
Severity1ping duanedesign07:40
vtech[12:45:12] <vtech> Hello, have a question11:50
vtech[12:45:39] <vtech> If I have a couchdb database installed11:50
vtech[12:45:52] <vtech> and I put data into that couchdb11:50
vtech[12:46:15] <vtech> will it be replicated via ubuntuone service ?11:50
vtech[12:47:36] <vtech> I know that there is sth like desktopcouch to synchronize application data11:50
vtech[12:48:15] <vtech> but If I put data into couchdb on standard couchdb port11:50
vtech[12:48:50] <vtech> will it be somehow collected by desktopcouch client, and then synchronized by ubuntuone11:50
beunoChipaca, would you know?  ^11:51
Chipacavtech: no, it wouldn't11:51
vtechhmm11:51
vtechchipaca,Ihave to use desktopcouch11:52
Chipacaright11:52
vtechchipaca, Is there c++ client for desktopcouch?11:52
vtechchipaca, I know that it was developed in python, but I do not know if there is a c++ port for that client ?11:55
Chipacavtech: desktopcouch?11:55
vtechchipaca, yhy11:56
vtechChipaca, yhy -means yes :P11:56
Chipacanope, no python11:56
vtechChipaca, desktopcouch is not written in Python ?11:58
vtechChipaca, but I saw sourcecodes of desktopcouch in Python11:59
Chipacavtech: sorry, I meant, just python11:59
vtechChipaca, So I have to make my own wrapper :(12:00
=== jamalta-afk is now known as jamalta
statikhello hello14:04
__lucio__hello14:04
rmcbridehi statik14:04
nessitahi statik14:04
thisfredyo14:06
statikso i'm supposed to talk about packaging14:06
statiki'm sorry i didn't get lernid working14:06
statiki had trouble with the iCal part14:06
facundobatistaHola statik14:06
statikso we have 5 people! thats great14:06
statikdid anyone make it through that incredibly agressive list I sent out?14:07
* statik was being optimistic14:07
pfibigeri'm here!14:07
statikah great, 6 :)14:07
rmcbridewell I did, apart frm putting deesktop couchdb on my PPA, but I've uploaded it several times already, so ;)14:07
statikrmcbride, thats fine :)14:07
thisfredstatik: putting the finishing touches to pbuilder14:08
statikfacundobatista, you mentioned that my list of assumptions you were missing a couple things, maybe I can help explain those? how far did you get on the list?14:08
statikthisfred: great14:08
nessitastatik: I have a question! what's "run through setup-packaging-environtment"?14:08
thisfredfor me at least, putting stuff in ~/bin doesn't put it in my path?14:09
nessitathisfred: you have to export $HOME/bin in your path14:09
statiknessita, there is a command named setup-packaging-environment, it will help with configuring some things14:09
thisfrednessita: run that command, and it'll ask you a series of questions14:09
nessitathisfred: it doesn't happen automatically14:09
__lucio__pbuilder is taking its time14:09
statikthisfred, you can also use /usr/local/bin instead, i just like keeping stuff in my ~14:09
nessitastatik: I don't have that command, at leas not in my PATH14:09
thisfrednessita: which is good (I think it used to, and I got bitten by that once)14:10
* jblount just saw the list and is making his way through it14:10
facundobatistastatik, I did a setup.py like 8 years ago, really don't have a clue what's needed nowadays14:10
thisfrednessita: then you missed the previous step: install ubuntu-dev-tools14:10
facundobatistastatik, and pbuilder is still doing its stuff (and messing with my home dir)14:10
statikthats totally ok14:10
statikthat stuff can run in parallel while we talk14:10
nessitathisfred: I did14:11
statikso, I thought it would be best to start with a practical example of a packaging task, one that I was working on last night14:11
statiknessita, i wonder if the command is only added in the lucid version of ubuntu-dev-tools14:11
thisfrednessita: weird, then I'm out of clues14:11
alecunessita, apt-get install ubuntu-dev-tools14:12
statikso, a very common task that you would do during the dev part of the ubuntu cycle (before feature freeze) is to update an existing package to a new upstream version14:12
nessitaalecu: I did -.-14:12
rmcbridestatik: I think that's the case. it's there on my laptop (lucid) but not on the new machine (still karmic)14:12
statiklast night jamesh cut the 0.2 release of python-django-openid-auth14:12
alecunessita, oh, wrong scrollback :P14:12
nessitaalecu: ubuntu-dev-tools is already the newest version. :)14:12
statikso, we will go through updating that package, using the brand new ubuntu distributed development systems based on bzr14:12
statikI don't remember if I asked everyone to install bzr-builddeb, but you will need that package also14:13
statikI think everyone is familiar with how launchpad organizes branches by lp:~<owner>/<project>/<name>14:13
statikfor using bzr with ubuntu packaging, a new parallel namespace has been set up14:14
statikevery single package in ubuntu and debian has been imported into bzr14:14
statikand every time someone uploads a new version of a package, it's imported into bzr automatically, creating some nice history14:14
statikthis means that we can also work on new versions of packages directly in bzr, and post merge proposals rather than attaching a debdiff to a bug14:14
statikI'll start with how a release is usually created for a python project. so, everyone go to a temp directory and do 'bzr get lp:django-openid-auth'14:15
* nessita is bzr-getting14:16
statiklet me know once that has completed, and i'll explain how upstream would create a release tarball from this using setup.py14:16
__lucio__done14:16
facundobatistadone14:16
thisfreddone14:16
rmcbridedone14:16
pfibigerdone14:17
nessitadone14:17
__lucio__pbuild is still on "d", so it will take tome time :)14:17
jblountdone14:17
__lucio__hey, theres no "debian" directory here14:18
nessita__lucio__: "here"?14:18
thisfredyeah, I've noticed the archives have been super slow lately14:18
alecudone14:18
__lucio__nessita, inside django-openid-auth14:18
nessita__lucio__: oh, right14:18
statikexactly! current standard practice is that in the upstream project, you don't include the debian directory, and that debian directory is not included in the tarball that the upstream project releases14:18
alecubtw: I'm having the same problem nessita does. I'm on karmic, and setup-packaging-environment does not show up.14:19
statikthe work of the packager is to take the original upstream tarball, and add the debian directory14:19
* facundobatista doesn't have setup-packaging-environment either, but pbuilder didn't finish yet... is it supposed to bring it?14:19
statikalecu, nessita: you can probably bzr get lp:ubuntu-dev-tools to get the upstream source and get setup-packaging-environment script right out of the bzr branch14:19
alecustatik, ok.14:20
statikso, back to django-openid-auth - take a look at setup.py, line 5014:20
nessitastatik: ack14:20
statikthis is actually more complicated than most setup.py files are14:20
statikbut you can see some simple things like author, license info, and version number14:20
statika few lines down, packages= explains what python modules this will install14:21
statikand package_data= explains that there are some extra data files that need to be included as well14:21
statikif you were working on a brand new project, you might need to create a similar (or simpler) setup.py and propose it to upstream14:21
statiknow, close out that file and run 'python setup.py sdist'14:22
__lucio__statik, is installing just "install dependencies, put files in correct places, run custon shell commands", or is there more magic to it?14:22
statikand then look at the contents of the dist/ directory14:22
statik__lucio__, thats it. the only magic is a set of rules or policy about how packages are supposed to work14:22
statiksetup.py is nothing to do with ubuntu/debian, thats all pure python, but the ubuntu packaging system knows how to get all the info out of setup.py so you don't have to repeat it14:23
facundobatistanice14:23
statikyou should be seeing a tarball in the dist/ directory14:23
nessitayes14:24
nessitadjango-openid-auth-0.2.tar.gz14:24
statikcongrats, this is a tarball release! now, if you were the upstream release manager, you would upload that tarball to pypi and launchpad14:24
statiknow, we switch hats and look from the perspective of an ubuntu developer rather than a django-openid-auth developer14:24
facundobatistastatik, question14:25
statikearlier, I talked about the namespace for bzr branches on launchpad14:25
statikfacundobatista, sure14:25
facundobatistastatik, the upload to LP is to the project home page (or something about releases under it), or to the PPA?14:25
statikfacundobatista: for the tarball, that would be to the releases area of the project home page, and to the pypi package index on python.org14:25
facundobatistastatik, ok14:26
statikonce we turn this into an ubuntu sourcepackage, then we will upload to the PPA14:26
facundobatistagreat!14:26
__lucio__statik, where do i upload tarballs to lp?14:26
__lucio__ah14:26
statik__lucio__, check out the lp-project-upload command in ubuntu-dev-tools as well14:27
statikubuntu developers are lazy, so if you are doing manual work for this kind of stuff you are making a mistake :)14:27
thisfredI am going to practice this all on my pet project :)14:28
thisfredI also brought an apple for statik14:28
statikthe namespace for ubuntu distributed development bzr branches (UDD) is lp:~<owner>/<distro>/<series>/<packagename>/<branchname>/14:28
facundobatistathisfred, me too, I want to have a PPA for lalita14:29
__lucio__ppa for cocos2d!14:29
statikthis is a crazy set of namespace things to remember, but it gets easier14:29
statikthere are some good shortcuts available though14:29
facundobatistastatik, one example of that namespace?14:29
statikone thing to remember is that the ubuntu package name may be different from the upstream package name14:29
statikupstream project name I mean14:29
thisfredright, the python- prefix for one14:30
* rtgz just caught up :)14:30
thisfredhi rtgz!14:30
statikone example is lp:~ubuntu-branches/ubuntu/lucid/python-django-openid-auth/lucid14:30
statikyou can subst karmic for lucid14:30
statikyou can also swap ubuntu for debian, and lucid for sid14:30
statikthe shortcut is 'bzr get lp:ubuntu/python-django-openid-auth', but wait one moment before running that14:31
statikwhen you use that bzr shortcut, the 'ubuntu' prefix says "this is package, ok? look it up in the current dev version of ubuntu"14:31
statikI keep my branches organized a certain way so I don't get confused when comparing between ubuntu hardy, karmic, lucid, debian sid, etc.14:32
statikso, i recommend this layout (you can change it of course): mkdir -p ~/udd/ubuntu/lucid14:32
statikcd ~/udd/ubuntu/lucid14:32
statikbzr get lp:ubuntu/python-django-openid-auth14:32
statikthis will give you the current version of python-django-openid-auth that is in lucid14:32
statikyou'll notice that branch is different, it has a debian/ directory in it :) this branch is the result of some special bzr import stuff that unpacks a sourcepackage and saves the whole thing in bzr14:33
statiklet me know when everyone has that branch, and is inside the python-django-openid-auth directory14:33
rmcbridedone14:33
thisfreddone14:33
__lucio__done14:33
facundobatistastatik, why ~/udd/ubuntu/lucid, because you're in lucid, or the bzr get will bring lucid stuff14:34
facundobatista?14:34
statikonce there, take a peek at debian/changelog, to confirm that the last changelog is what you expect14:34
statikfacundobatista, because bzr get will bring lucid stuff14:34
rtgzBranched 2 revision(s).14:34
statikyou don't have to be on lucid to do this, you could be running sid14:34
nessitadone14:34
facundobatistastatik, ok14:34
statikchangelogs are kind of special and important in packages14:34
alecufacundobatista, I understand that because of the shortcut, that gets the most recent version.14:35
facundobatistaalecu, and how did you know the most recent version was a lucid one?14:35
statikthe version number and series (lucid) that you see at the top of this changelog file controls the version number of the package that will be built14:35
rtgzpython-django-openid-auth (0.1-0ubuntu1) karmic; urgency=low ?14:35
alecufacundobatista, I mean, the most recent series of a distribution14:36
statikrtgz, exactly. thanks for pasting! i want to explain the different parts of this version string14:36
statikthe first part is the sourcepackage name, that has to be perfect14:36
statikthen, inside the ()14:36
statik0.1 is the upstream release number14:36
statikthis is from the tarball that we would have downloaded from pypi14:36
__lucio__where did all of this come from?14:36
__lucio__was it manually written?14:36
__lucio__its just lp magic?14:37
__lucio__what can i change?14:37
statik__lucio__, most of this was manually written because i didn't know the lazy shortcuts yet14:37
statikwe will change it in just a moment14:37
__lucio__but it is just a branch, right?14:37
statikyes14:37
statikafter the 0.1, the -0 means that this package was never in debian14:38
statikafter that, the ubuntu1 means this is the first version of this package in ubuntu14:38
statikif I patched something in this package, I would change the version number to 0.1-0ubuntu214:38
statikif I was working in my PPA, preparing something that would eventually get uploaded to ubuntu, I would add a magic suffix14:39
statikso, 0.1-0ubuntu2~karmic1 would be what i would use for making a version for karmic in my ppa14:39
statikthe next version I upload to my ppa would be 0.1-0ubuntu2-karmic214:39
rmcbridestatik: check that string14:39
verterokstatik: hi, question about versions14:39
thisfred~ rather than -, right?14:39
statikif I wanted to backport that set of changes to hardy, I would change the version number to 0.1-0ubuntu2-hardy114:39
statikoh right14:40
statikif I wanted to backport that set of changes to hardy, I would change the version number to 0.1-0ubuntu2~hardy114:40
statikand 0.1-0ubuntu2~karmic214:40
statikthe ~ is special14:40
rmcbrideDashes where tilde's should go cause heartache and woe14:40
statikwhat it means is that if dpkg is going to compare packages to see which one is newer (and should be installed as an upgrade), the ~ allows you to say one package is older14:41
statikso, 0.1-0ubuntu2 is ALWAYS newer than 0.1-0ubuntu2~anything14:41
__lucio__what demons would i be invoking if i put a % in that string?14:41
thisfredaren't &s demons?14:42
statikthere are a bunch of crazy complicated rules around version numbers14:42
rmcbridethisfred: good point14:42
statikit's the easiest thing to screw up, and will make your life miserable14:42
__lucio__statik, arent they just strings that get sorted to figure out whats the latests and the rest just conventions? or there non humans parsing them?14:42
statikso i'll stop talking about version numbers now, you can read in the man page for dpkg to get lots more info14:42
statik__lucio__, these get parsed by all kinds of tools14:42
__lucio__yuck14:42
statikthey must be *perfect*14:43
statikthey are also critical for upgrades working correctly between versions of ubuntu14:43
statikso now we have heard there is a new upstream release of django-openid-auth14:43
statikso, lets get the new tarball!14:43
statikthere is a tool to help with this14:43
statiklook at debian/watch14:43
nessitayes14:44
statikthis is a simple pattern that the uscan tool will use to go look at a website and see if there is a new version14:44
statiklets try it out. run 'uscan --verbose --rename'14:44
facundobatistauscan: you must have the libcrypt-ssleay-perl package installed14:45
thisfredneeds libcrypt-ssleay-perl14:45
nessita-- Scanning for watchfiles in .14:45
nessitauscan: No debian directories found14:45
__lucio__nessita, go inside the branch14:45
rmcbrideSuccessfully downloaded updated package django-openid-auth-0.2.tar.gz14:45
rmcbride    and renamed it as python-django-openid-auth_0.2.orig.tar.gz14:45
nessita__lucio__: yes, I noticed :-)14:45
nessitastatik: shouldn't the libcrypt-ssleay-perl be dependency on ubuntu-dev-tools?14:46
rtgzdone, got the same output as rmcbride14:46
statiknessita, maybe it is an optional dependency for uscan14:46
statikmany places publish their tarballs on http or ftp14:46
statiklaunchpad uses https, so thats why the ssl dependency14:46
statikwe can look at the uscan package later, maybe thats a great bug for you to fix :)14:47
nessitastatik: yey!14:47
statikyou will notice that the tarball was renamed, this has to happen in exactly this pattern so that the packaging tools can find the tarball14:47
__lucio__statik, so, libssleay should be shown in apt-cache show ubuntu-dev-tools somewhere?14:47
statikperhaps14:48
statiki'm not sure which package holds uscan14:49
rtgzdevscripts14:49
facundobatistastatik, where the tarball is renamed?14:49
statikfacundobatista, it got renamed by uscan when it was downloaded14:49
statikso you see it is now .orig.tar.gz14:49
__lucio__facundobatista, ls ..14:49
statikand the - was changed to a _ before the version number14:49
facundobatista__lucio__, oh14:49
statikmore tools parsing version strings :/14:50
statikbut, the tools make it easy to get it right most of the time14:50
__lucio__facundobatista, yes, having tools that touch ".." is like having frame hacks in python. ugly :)14:50
statiknow we use a brand new bzr command14:50
facundobatista__lucio__, indeed14:50
statikthis is going to import the upstream tarball into our packaging branch, including saving some pristine-tar info so that the exact tarball can be recreated from the branch later14:51
statikit will also do some smart things with merging14:51
* alecu feels hunting version-of-by-one-character must be a huge timesink14:51
statikbzr merge-upstream --version=0.2 ../python-django-openid-auth_0.2.orig.tar.gz14:51
facundobatistabzr: ERROR: unknown command "merge-upstream"14:52
verterokfacundobatista: I think you need bzr-builddeb installed14:52
rtgzCommitted revision 2.\nAll changes applied successfully.14:52
thisfredfacundobatista: you have bzr-builddeb?14:52
nessitafacundobatista: it worked for me14:52
nessitafacundobatista: so may be a missing package, nior karmic's fault :-)14:52
rmcbrideworked here14:52
statiknow if you do bzr status, you will see a bunch of changes14:52
statikdon't commit yet14:53
facundobatistaok, done14:53
statiklets go back and look at debian/changelog14:53
rtgzwow14:53
statikthere should be a new entry, automatically set up14:53
rmcbrideneat14:53
__lucio__statik, all this magic parsing and i still have to tell him what version it is?14:53
statik__lucio__, i know, it kills me :)14:53
statikwrite a patch for bzr-builddeb :)14:54
__lucio__ok, i see where this is going :)14:54
statiknow i like to write extra stuff in the changelog entry14:54
statikusually if upstream is nice they have written a NEWS file14:54
nessitastatik: NEWS where?14:55
statikif upstream is lazy like me and jamesh, there is no NEWS file for django-openid-auth14:55
statikso, I went and looked at the upstream changes14:55
facundobatistastatik, shame of you14:55
statik:D14:55
statikthe other thing that is very interesting about changelogs is you can put bug numbers in them14:56
nessitastatik: where that file would be? next to changelog or next to debian?14:56
statikand, bugs are used to track sponsoring uploads of packages14:56
statiknessita, if upstream provided a NEWS file it would probably be in root14:56
statikwhats cool about putting a bug number (or several) in the changelog is that when the package is uploaded to ubuntu, the bug is automatically marked as fix released14:57
statikso, I wrote a bug number about this upgrade14:57
facundobatistaoh, more magic14:57
statikand my changelog entry looks like this: * New upstream release. (LP: #517400)14:57
__lucio__statik, why does it say karmic everywhere?14:57
alecunessita, NEWS is a file required by autotools (as well as README, AUTHORS and Changelog)14:58
statik__lucio__, if you are running on karmic the tool that helps write changelogs (dch) will default to that. you can change it to lucid14:58
__lucio__statik, im not14:58
statik__lucio__, i'm not sure then14:58
facundobatistastatik, question14:58
statikfacundobatista, go ahead14:58
rtgzstatik, did you simly wrote the bug number to the file?14:59
facundobatistastatik, I fix 20 bugs, then release, all those bug numbers are in the NEWS file14:59
facundobatistastatik, should I put the 20 bug numbers in the changelog in one line?14:59
statikfacundobatista: no, write it to be as nice as you can14:59
statikthe changelog entry is shown by the package manager GUI tools on the desktop14:59
rodrigo__facundobatista, I do sometimes that, listing the NEWS for the release in debian/changelog, with each entry with its bug #15:00
facundobatistastatik, but I want to them being marked automatically by LP as released!15:00
statikfacundobatista, you can have many lines15:00
rodrigo__facundobatista, of course, for too many bugs, it might be too much :-)15:00
facundobatistaok15:00
statikfacundobatista: mine is such a short line but it describes perfectly what the bug is about - new upstream release15:00
statikif you were fixing a bug you would decide how much to write based on the bug15:00
statikyou do not have to list every bug15:00
statikor every change15:00
statikthis is going to be very subjective, but it's a good spot to not be lazy and spend 10 minutes to try and come up with a good brief description of whats going on with the package15:01
statikother questions so far?15:01
nessitastatik: me! qustion, you mentioned a GUI15:02
statiknessita: yes, like synaptic or software-center15:02
nessitastatik: which one will be that GUI?15:02
nessitaah... I understand now15:02
statikoh, maybe we need to take a quick break to let the desktop+ team do their standup meeting. coffee! I'll be back in 5 minutes15:03
rtgzstatik, the file needs to be edited manually right? I thought that it might be useful to fetch the description field of all the updates and have it updated automatically with the description line of bzr commit15:03
rtgznot that it is actually being written by devs, but it is recommended :)15:03
statikrtgz, yes you almost always need to write things manually in the changelog15:03
rtgzstatik, ok, thanks15:03
thisfredrtgz: all the commits can be way too much information, or not very informative at all, depending on the quality/quantity of commit messages15:04
alecustatik, uploading a package for one ubuntu release that marks a bug as fixed, would mark it as fixed for all releases?15:04
rmcbrideit is possible to retrieve that info from LP, put it in a file and paste from there (that's how I do the changelog notes for the test ubuntuone-client packages)15:04
rmcbrideprovided the upstream is in LP of course :)15:05
alecustatik, is there a way I can mark it on launchpad as not yet backported to an older release?15:05
statiki'm back15:07
statiki don't see a desktop+ meeting going, so i'll keep on hogging the channel :)15:07
statikalecu, yes. the top line of the changelog says which ubuntu release the package is for15:07
statika bug in launchpad can have many also-affects lines15:07
statikthese are sometimes called 'bug tasks'15:07
statikso you can have 1 bug, with a bugtask in python-configglue, a bugtask in ubuntuone-client, and a bugtask on the ubuntu karmic package of ubuntuone-client15:08
statikand each of those may have a different status15:08
alecuoh, right! great!15:08
statikso everyone should have a changelog entry that looks something like this:15:09
statikpython-django-openid-auth (0.2-0ubuntu1) lucid; urgency=low15:09
statik  * New upstream release.15:09
statik -- Elliot Murphy <elliot@ubuntu.com>  Fri, 05 Feb 2010 09:51:41 -050015:09
statiknow we want to turn this into a sourcepackage that can be built by pbuilder or a PPA15:09
statikso run 'bzr builddeb -S'15:10
statikthe s means build a sourcepackage15:10
statikthis is wrapping up a lot of smaller commands that have an infinity of options15:10
statikso if you need to do something special, it's absolutely possible, this is just handling the common case15:10
__lucio__statik, python-django-openid-auth (0.2-0ubuntu1) UNRELEASED; urgency=low ??? unreleased?15:10
statikah, the UNRELEASED series is a special token so that you can work on this in version control and do testing, and not get mixed up about whether it has been uploaded already15:11
nessitastatik: hum, something is not right in my env.15:11
facundobatistastatik, should we leave it in UNRELEASED?15:11
statikwhen you are touching 25 different packages across debian and several versions of ubuntu and private PPAs, it is easy to get mixed up15:11
statikfacundobatista, you can run dch -r to flip it from UNRELEASED to lucid15:11
nessitastatik: https://pastebin.canonical.com/27500/15:11
statikwhen I ran bzr bd -S, I was prompted to gpg sign two files15:12
thisfredstatik: it seems the options (name + email address) from the setup aren't respected15:12
statikok15:12
alecunessita, same problem here.15:12
statikthis is a fragile part of the process it seems15:12
statikyou can specify the key ID to use for signing15:12
rodrigo__nessita, I have always to add -k'rodrigo.moya@canonical.com' so that it gets the correct gpgp signature15:12
statikso, gpg --list-secret-keys15:12
statikor yes, what rodrigo said15:13
rodrigo__bzr  bd -S -k'rodrigo.moya@canonical.com'15:13
rtgzstatik, gpg tells me that there's no secret key and I have exactly one gpg key which was picked up at setup-dev-thing stage15:13
facundobatistastatik, hold on, please15:13
__lucio__bzr: ERROR: no such option: -k15:13
statikbzr bd -S -- -k'blah'15:13
rodrigo__yeah, -- -k...15:13
facundobatistastatik, I did "dch -r", it opened a file that looked like the changelog, but modified, I closed it without saving15:14
facundobatistathe changelog is untouched15:14
__lucio__yay! now i have a really dirty parent directoty!15:14
statikgreat15:14
facundobatistastatik, now dch -r opens an empty file15:14
statikfacundobatista, dch -r will make changes then open debian/changelog in your $EDITOR to review and save I think15:14
alecurodrigo__, it worked now, thanks.15:14
facundobatistaoh, now dch -r opens a file with content again!15:14
verterokstatik: isn't easier to export DEBFULLNAME and DEBMAIL?15:14
* rtgz has signed the deb file for the first time...15:15
statikverterok, yes I have those in my environment, I also have some custom settings in ~/.devscripts15:15
facundobatistastatik, I saved the file, but the changelog is still untouched15:15
statikhuh15:15
statikfacundobatista, you can just edit debian/changelog manually and change from UNRELEASED to lucid15:15
facundobatistaoh, I have a debian/changelog.dch now15:15
statikso the files that were created in your parent dir15:16
statikthere is a .changes, a .dsc, and a .diff.gz15:16
nessitayes15:16
statikthere should also be the .orig.tar.gz15:16
* rtgz notices that there is no deb file15:16
statikthe .changes and .dsc are used by the system somehow15:16
statikthe .diff.gz should contain a diff that is only the contents of the debian/ directory15:17
statikand the orig.tar.gz, is, of course, the orig tarball from upstream15:17
statikthese are the components of a sourcepackage15:17
statikit has to get built into a binary package before it can be installed15:17
statikso, lets do that!15:17
statikpbuilder-lucid build ../python-django-openid-auth_0.2-0ubuntu1.dsc15:18
__lucio__mmh, pbuilder is still on "p"15:18
thisfredhere as well15:18
thisfredwell, on 'l' actually15:18
statik__lucio__, you can cheat and build a binary package directly on your dev system instead of using pbuilder. this won't help you catch missing dependencies, but it will make you feel happy that you got a package that will install15:18
rtgz"pbuilder-lucid" ?15:18
statikrtgz, sorry I think you missed that15:19
rtgzstatik, ok, checking...15:19
statikI recommend making a symlink named pbuilder-lucid that points to pbuilder-dist command15:19
__lucio__statik, sure, how?15:19
statikpbuilder-dist will automatically format a pbuilder for the ubuntu dist based on the basename of the script15:19
statik__lucio__, bzr builddeb with no -S15:20
rmcbridepbuilder-dist == Awesome sauce with internet frosting15:20
statikwe could have just uploaded this source package directly to a PPA, but it's not so easy to iterate and fix mistakes that way15:20
thisfredW: python-django-openid-auth source: out-of-date-standards-version 3.8.0 (current is 3.8.3)15:20
nessitawow, it failed because of python-central and now it's bringing a lot of packages15:21
rmcbridethisfred: good eye :) you'll see that a lot (W:)15:21
statikyou can only upload a version number to a PPA once, but in a local pbuilder you can rebuild and rebuild while you fix the warnings15:21
statikthisfred, great catch!15:21
thisfredrmcbride yeah, I usually ignore them :)15:21
rmcbridethisfred: most of the time you CAN ignore it, but it's pointing out thigns that could be better (sometimes if you need to backport it can be tricky)15:21
statikwe should fix that warning (and I did in the real version of this I was working on last night)15:21
rmcbrideand if you want it accepted for upload you should fix :)15:22
statikso to fix the warning, edit debian/control, change Standards-Version to 3.8.3, and rebuild the sourcepackage (bzr bd -S -- -k'blah'), and rebuild in the pbuilder15:22
statikhows everyone doing? questions?15:22
rtgzaha! pbuilder-dist lucid create... hm, did not see it here :(, though15:23
facundobatistastatik, downloading stuff15:23
statikfacundobatista, nessita: the downloading is normal, and it is cached so next time will be faster15:23
nessitastatik: I'm still installing deps15:23
statikpbuilder runs a build system in a totally pristine chroot15:23
rmcbrideall working well here15:23
facundobatistastatik, ok, but hold on a couple of minutes :)15:23
__lucio__statik, when do we learn what all those files under debian are?15:23
nessitathisfred: where did yuo see that warning?15:24
thisfrednessita: when running bzr buillddeb15:24
rmcbridenessita: that happens when doing the bzr bd15:24
thisfredwithout the -S15:24
rtgzaha --mirror should be set to local mirror (i have a 2Mb/s connection to local mirror and 40Kb/s to some remote one)15:24
rmcbrideeither way15:24
statik__lucio__: debian/rules is the build script. in this case, it's a very simple passthrough to use all the defaults. somewhere there is a picture of all the stuff that is run through there, but for python packages with a setup.py, you usually don't have to care15:24
statikdebian/changelog we already covered15:24
statikdebian/control is where all the dependencies and the package description are listed. you normally don't have to edit the debian/control file very often15:25
statikdebian/copyright is self-explanatory15:25
statikI already covered debian/watch15:25
statikdebian/pycompat is useless, i have deleted it in the next version of the package15:26
statikdebian/compat specifies the level of compatibility with debian packaging tools15:26
statikyou should not change it unless you know what you are doing15:26
__lucio__statik, so, for every package i do, i just put a 6 there?15:26
statiki'll do a followup class to this one where we package something brand new15:26
statik__lucio__, for a new package, put a 715:27
statik(i think)15:27
__lucio__grrr15:27
statik__lucio__, we covered a lot of new stuff here so i didn't go over creating a brand new package. there is an easy helper tool for that, and I think it won't be too bad when we work on that next time15:28
rtgzErm... E: pbuilder-satisfydepends failed. Is there anything else required to set up pbuilder?15:28
statikrtgz, is it still running? pbuilder-lucid create should have been enough15:28
__lucio__statik, sure, im not really mad :)15:28
rmcbridertgz: there should be another error indicating what it could not install15:28
rtgzstatik,  pbuilder-satisfydepends-dummy depends on python (>= 2.5); however:15:28
rtgz  Package python is not installed.15:28
statikif you cheated and built the binary package directly, you should have a .deb in your parent dir15:28
facundobatistastatik, so, my pbuilder-karmic build finished...15:29
statikrtgz, did it then continue on and install python into the pbuilder?15:29
rtgzstatik, i have been cheating all the time, now I wanted to try to do it "properly"15:29
__lucio__statik, QUESTION: so, if i build binary extensions with srtup.py, will that also work by magic? (i dont even kwno if that can be done with setup.py)15:29
statik__lucio__, yes it will work15:29
statik__lucio__, for binary extensions you need to specify that the package has some arch-specific components that need to be compiled for each platform15:30
__lucio__statik, so i never have to worry about where stuff ends up? what if i want to put stuff in /srv? is this a topic for the next class?15:30
statik__lucio__, this is in debian/control, look at the Architecture: field15:30
__lucio__all15:30
rtgzstatik, nope... i have to remind that i am on karmic machine, creating package for lucid: http://paste.ubuntu.com/369574/15:30
statik__lucio__, for putting stuff in /srv we have to break through the nice setup.py abstractions and go right into the guts of the packaging tools, so I'll save the ugly hacks for later :)15:31
thisfredman, this is really exciting, I've gotten it wrong so many times, without the help of these tools. It looks very doable now15:32
statikif your pbuilder finished, you should have a deb file in ~/pbuilder/lucid_result/15:32
statikso, install it and try it out! sudo dpkg -i ~/pbuilder/lucid_result/python-django-openid-auth_0.2-0ubuntu1_all.deb15:32
statik__lucio__, about where files get installed: this package is automatically been installed for both python2.5 and python2.615:33
statikand byte-compiled for each15:33
rodrigo__statik, is there a way to get pbuilder to use a different dir than ~/pbuilder?15:33
statikyou can see this in action: dpkg -L python-django-openid-auth shows some python files installed15:33
rtgzThis  can  be changed by setting the $PBUILDFOLDER global variable15:33
facundobatistastatik, it told me I don't have python-django installed... installing15:33
rtgzrodrigo__, ^15:34
rodrigo__rtgz, ah, cool15:34
statikbut python2.6 -c "import django_openid_auth;print django_openid_auth.__file__" will show a different location of files15:34
statikthis is magically handled by the python build tools15:34
statikrodrigo__, there are TONs of customizations available with pbuilder, way more than i know about15:35
rodrigo__ok, good to know, I didn't like it much because it filled my $HOME15:35
thisfredinstalled!15:35
statikyou can register hook scripts to inspect inside the build system at critical points, make it use fancy volume snapshots to run much faster, etc.15:36
rtgzhm... I wonder whether it is because i don't have deb lines files for lucid, only deb-src...15:36
facundobatistarodrigo__, yes, it wasn't very polite!15:36
__lucio__statik, suppose we wanted to change something in the code, would we just patch it there, commit and repeat the builddeb step?15:36
statik__lucio__, mostly. you would look and see what patch system is being used already15:36
statikthe what-patch command can do this15:37
__lucio__ptchless15:37
statikyou don't patch the source directly, instead you store a series of patches in debian/patches/15:37
statikso for this package, it doesn't have any patch system already15:37
__lucio__what patch system options does it support?15:38
statikso I would use the new standard quilt patch system, by converting it to a 3.0 format sourcepackage15:38
statikmkdir debian/source ; echo '3.0 (quilt)' > debian/source/format ; dch 'Switch to dpkg-source 3.0 (quilt) format'15:38
statikbzr add debian/source15:38
statikand, some instruction on how to create and edit patches using quilt: http://pkg-perl.alioth.debian.org/howto/quilt.html15:38
statikthis is really great to have a standard finally (launchpad just got support for this last month)15:38
statikquilt works well with git,  bzr, svn, everything15:39
statikand we're using the same standard as debian15:39
joshuahooverrmcbride, rtgz: are one of you testing bug #457147? i can do it but only have one laptop available to test on at the moment so i'd likely wait until this weekend to test15:39
ubottuLaunchpad bug 457147 in ubuntuone-storage-protocol "BadTransition: SYS_CONNECTION_MADE - Ubuntu One crashes coming out of sleep/hibernate" [Critical,In progress] https://launchpad.net/bugs/45714715:39
statik99% of the packages in the archive have not yet been converted to the new format, but you'll see it happening over the next year15:39
rmcbridejoshuahoover: I can test it today, but not until after this class isover15:39
statikthe old patchsystems were simple-patchsys, dpatch, and probably others15:39
joshuahooverrmcbride: k, thanks...sorry to interrupt the class statik and company :)15:40
rtgzjoshuahoover, just got second laptop upgraded to lucid, need to wait until the interesting part here is over :)15:40
statik__lucio__, you can see an example of a patch that I did recently in the python-django package, if you do bzr get lp:ubuntu/python-django, and take a look at debian/patches/07*15:40
statikduring package build, those patches are applied on top of the unpacked orig.tar.gz15:41
__lucio__statik, so, i branch the source tree, edit, get a quilt patch from there and somehow add it to the debian/source dir, right?15:41
statikyep15:41
__lucio__ok, not impossible :)15:41
statikwhen we were upgrading this package to a new upstream release, one of the things to do is look and see if there are any existing patches that have now been included in the new release15:41
statikso a common task is reviewing the list of patches, and seeing what can be dropped, and if anything that was forwarded upstream has been rejected in favor of a different solution15:42
statikwe try to foster good relationships with upstream, and always forward patches15:42
statikso it's common to see an ubuntu developer refusing to sponsor an upload until you can point to where the patch has been sent to upstream (and preferably acknowledged and committed)15:43
statikwe don't let upstreams hold us hostage though, the bottom line is we fix stuff for our ubuntu users whether upstream helps us or not15:43
statikso now that you've test installed the package locally and are happy that it builds and works ok, you can publish to your PPA15:44
statikI recommend changing the version number before uploading to the PPA15:44
statikmy version number looks like this for the ppa: python-django-openid-auth (0.2-0ubuntu1~lucid1) lucid; urgency=low15:44
statik(thats in debian/changelog)15:45
nessitastatik: what's the best way to do that? editing by hand?15:45
statiknessita, yes15:45
statikI always use ~<series>N15:45
statikthis is because if you are working with 0.2-0ubuntu115:45
statikand you want to put it in your ppa for hardy, jaunty, karmic, lucid15:45
facundobatistastatik, we just modify the line there, or create a new "parragraph"?15:45
__lucio__statik, how do i apply the list of patches to my branch of the source tree? in the same way that the tools would do it, so i can run tests against it and stuff15:45
statikfacundobatista, just modify the line15:46
statik__lucio__, quilt push I think15:46
statikthat page about quilt has all the details. i'm still learning quilt15:46
__lucio__ok, so its jsut learning to use quilt, ok15:46
statikyep, quilt is now built into the tools themselves15:46
nessitastatik: which line? older or newer?15:46
statiknessita: 0.2-0ubuntu1~karmic1 will be seen as a newer version than 0.2-0ubuntu1~hardy115:47
thisfredand then debuild -S again and dput?15:47
__lucio__so, after i pushed to my ppa, suppose i want to release, should i remove the ~.* ?15:47
statikthisfred, exactly15:47
statiknessita, so using ~seriesN means that dist-upgrades between versions works ok15:48
statik__lucio__, no you should always have the ~ in your PPA versions15:48
statikyou would only remove that if preparing an upload for ubuntu itself15:48
facundobatistathisfred, dput?15:48
__lucio__statik, so i end up with changes to no ~ when i upload, ~ back when i want to use my ppa, and so on and on?15:49
thisfredfacundobatista: that uploads to your PPA, I'm sure statik's getting to it15:49
rtgzdpkg: dependency problems prevent configuration of pbuilder-satisfydepends-dummy15:49
rtgzstill15:49
nessitastatik: changelog updated15:50
statikonce you have a sourcepackage that you are ready to upload to your ppa, do: 'dput ppa:username/ubuntu <packagename>.changes'15:50
statikhum15:50
* statik doublechecks that command15:50
statikyep, i think thats correct15:51
statiklaunchpad will use the GPG signature on the sourcepackage to find your launchpad account, and decide if you have permissions to upload to that particular PPA15:51
statikyou should get an email when launchpad has accepted the package, and other emails if the build fails15:52
statikquestions?15:52
rmcbridestatik: I have my ppa configured in locations.conf and use 'dput -f rmcbride-ppa <package>.changes'15:52
rodrigo__rmcbride: -f?15:53
* rodrigo__ looks what -f does15:53
rmcbridenot sure if the -f is needed.15:53
nessitastatik: hum15:53
statikrmcbride: that works fine also. there are a bunch of default configs in /etc/dput.cf that make the ppa:foo stuff work15:53
alecustatik: <packagename>.changes ?15:53
thisfredI just dput without specifiying a ppa. I trust I have no rights to actually fnork ubuntu ;)15:53
__lucio__statik, <package>_source.changes?15:53
nessitastatik: I ran dput ppa:nataliabidart/ubuntu-python-django-openid-auth.changes, and I've got Can't open ppa:nataliabidart/ubuntu-python-django-openid-auth.changes15:53
statik__lucio__, dput ppa:statik/ubuntu ../python-django-openid-auth_0.2-0ubuntu1_source.changes15:53
rodrigo__rmcbride, ah --force, I guess that's ok when you want to upload an existing package15:53
rmcbriderodrigo__: it totally is probably not necessary, the -f.15:54
nessitastatik: ah, the blank character was *intented*15:54
statikrodrigo__, --force won't let you upload a package on top of something in the PPA, but if I'm uploading the same package to several different PPAs the --force tells dput: 'shut up and let me upload this again, i know what i'm doing'15:54
rodrigo__rmcbride, I've ran several times in dput refusing to upload a package with an existing version on my ppa, so good to know you can force it :-)15:54
alecuok, it seems to work :-)15:54
facundobatistait worked15:54
rodrigo__statik, ah, it doesn't work on the same ppa?15:55
statik\o/15:55
statikrodrigo__, nope. you can never re-use a version number in a ppa15:55
rodrigo__ah, ok15:55
facundobatistastatik, to which PPA was this uploaded?15:55
rmcbridethat's why getting the version string right the first time is important15:55
__lucio__successfully uploaded15:55
statikso, you increment the last number: ~lucid1, ~lucid2, etc.15:55
rmcbrideor one reason anyhow15:55
statikfacundobatista, i hope you uploaded it to yours :)15:56
statikonce the package is in your ppa, you can ask your colleagues and community to test it out15:56
facundobatistastatik, I can have only one PPA in LP? or several?15:56
statikfacundobatista, you can have several15:56
thisfredas many as you like, limited by disk space only15:57
statikfacundobatista, for a project i recommend having a developer team for the project and setting up a ppa for that team15:57
nessitastatik: how can I check I uploaded to *my* ppa? other than looking at the command history :-)15:57
facundobatistastatik, I created only one PPA, test-learning-ppa, but I don't see the change in it15:57
__lucio__statik, i just did lucio.torre/ubuntu instead of the name of my ppa, where did i upload that?15:57
rmcbridenessita: your PPA is linked from your LP homepage15:57
facundobatista__lucio__, ah, "ubuntu" was the name of the PPA there?15:58
* statik looks at lucio and facundo ppa pages15:58
nessitarmcbride: yes, but I don't have what I'ev just uploaded :-)15:58
__lucio__my ppa page says: You can upload packages to this PPA using:15:58
__lucio__dput ppa:lucio.torre/test-ppa <source.changes>15:58
statikah perfect15:58
statiki can never remember how to format that15:58
statikI have some special config in my ~/.dput.cf15:58
statik[my-ppa]15:59
statik#fqdn = upload.dogfood.launchpad.net15:59
statikfqdn = ppa.launchpad.net15:59
statikmethod = ftp15:59
statikincoming = ~statik/ppa/ubuntu/15:59
statiklogin = anonymous15:59
statikallow_unsigned_uploads = 015:59
facundobatistastatik, ok, but I put "ubuntu", that is a PPA that I do not have, "dput" tells me that "Successfully uploaded packages.", and I don't know to where they were uploaded...15:59
statikso I always upload using 'dput my-ppa <source.changes>'15:59
rmcbridenessita: you're right it doesnt appear to be there15:59
__lucio__where would i find this thing i uploaded? i changed the line to lucio.torre/test-ppa and it says:15:59
nessitastatik: so, I uploaded to a wrong PPA before, and now, when trying to use the correct one (ppa:nataliabidart/packaging-class) I've got Already uploaded to ppa on ppa.launchpad.net15:59
__lucio__Already uploaded to ppa on ppa.launchpad.net15:59
statikfacundobatista, what is the exact command you typed? It probably uploaded to the main ubuntu archive, and will get rejected16:00
nessitaheh16:00
verterokfacundobatista, nessita, __lucio__: you will get an email soon16:00
__lucio__but i cant findh "changes" on the ppa page16:00
rmcbridenessita: what dput line did you use?16:00
statiknessita, use the --force option16:00
rmcbrideheh "use the --force"16:00
nessitarmcbride: before I used dput ppa:nataliabidart/ubuntu ../python-django-openid-auth_0.2-0ubuntu1~karmic1_source.changes16:00
nessitabut ppa:nataliabidart/ubuntu is not a PPA of mine :-D16:00
alecufacundobatista, I got an email saying my ppa did not exist.16:00
nessita--force works16:00
statikalecu, enabling a ppa has to be done manually, because you have to agree to some terms of service or code of conduct or something16:01
alecustatik, sure, I was wondering about that.16:01
statikthere is a bunch of info here: https://help.launchpad.net/Packaging/PPA16:01
statikone last thing16:02
statikwhen I was doing this work for real last night, my end result was a merge proposal into ubuntu16:02
mandelthisfred, ping16:02
thisfredmandel: pong16:02
facundobatistaalecu, an email from who?16:03
statikso as a last step I ran debcommit, pushed my branch to launchpad, and then proposed a merge. you can see my merge proposal here: https://code.edge.launchpad.net/~statik/ubuntu/lucid/python-django-openid-auth/new-upstream-version/16:03
statikand thats everything I prepared!16:03
mandelthisfred, question for you, why is it not the new rev number returned when we do put_record in desktopcouch???16:03
thisfredstatik: awesome!16:03
statiki hope this was useful, and I will answer questions as long as you want16:03
alecufacundobatista, from "launchpad ppa"16:03
rmcbrideThanks statik!16:03
thisfredstatik: thanks for this, I think I'm a step closer to the training wheels coming  off!16:03
rmcbrideor the wheels anyhow ;)16:04
thisfredmandel: let me have a look16:04
__lucio__statik, what does debcommit do? why not just bzr commit?16:04
nessitastatik: this was very interesting and fun, thank you!!!16:04
statikwelcome :)16:04
facundobatistaalecu, I don't have a rejection email :|16:04
statik__lucio__, I think debcommit pulls all the content of the commit message out of the changelog, and sets some extra metadata like parsing bug numbers and tying them to the branch16:05
alecufacundobatista, I've fwd you mine, so you can see how they look :-)16:05
facundobatistastatik, now I try to upload it again to *my* ppa, and...16:05
statikdebcommit is standard tool to use whether you are packaging with svn, git, or bzr. it has a bunch of hooks to do the right thing16:05
facundobatista$ dput ppa:facundo/test-learning-ppa ../python-django-openid-auth_0.2-0ubuntu1_source.changes16:05
facundobatistaAlready uploaded to ppa on ppa.launchpad.net16:05
statikfacundobatista, --force16:05
mandelthisfred, is stupid to get the record again and not return the rev... I mean I cannot do something like put_record(record) twice with no conflict... kinda lame16:05
statikall dput is doing is noticing this file: python-django-openid-auth_0.2-0ubuntu1_source.ppa.upload16:06
statikyou can delete that file, or use the --force option to ignore it16:06
mandelthisfred, it would be great to get id and rev, we already have it... and another look to the db would eb a waste16:06
thisfredmandel: I would ask CardinalFang when he's around, but I tend to agree. Actually I think put should return the whole record16:07
facundobatistastatik, it tells me that everything ok, but if I go to my PPA's page, I don't see anything: https://edge.launchpad.net/~facundo/+archive/test-learning-ppa16:07
thisfredif anything16:07
verterokfacundobatista: give it some time :)16:07
facundobatistaverterok, oh, ok16:07
statikfacundobatista, there is a delay of a few minutes, and then depending on how much traffic backlog there is, it can take a while for the build to complete16:07
facundobatistaperfect16:08
thisfredmandel: I don't like the way python-couchdb solves this: it manipulates the argument to the put. I don't want us to do that16:08
statikthere is a farm of build daemons running the PPAs for the entire ubuntu and all developers and PPA users16:08
nessitastatik: how can I remove a ppa of my own?16:08
statiknessita: you want to delete the whole ppa? or just a package out of the ppa?16:08
nessitastatik: a whole PPA16:08
mandelthisfred, I was going to mention that as an other option16:08
nessitastatik: I created two, one was by mistake16:09
facundobatistastatik, thanks for all this... where can I learn how to do a similar process to this, but for a project that never had a package created?16:09
__lucio__mmh.. looks like i never signed the ubuntu code of conduct.. is that bad?16:09
statiknessita, i'm not sure. if you don't see an option on your launchpad page to delete it, then go to launchpad.net/launchpad and file a 'question' asking for it to be removed, and the launchpad admins will take care of it16:09
mandelthisfred, but certainly not returning the _rev is a pain, I was going to show some examples during the weekend and I know is going to be mentioned :(16:09
statikfacundobatista, I'll do another class covering making a totally new package for a python module16:10
nessitastatik: thank you16:10
facundobatistastatik, great! thanks16:10
statikfacundobatista, how about next friday? i was thinking to use python-whisper as an example, it's a package i'm working on right now for lucio16:10
__lucio__facundobatista, yes, and also, statik will send an email with more than 5 hours notice so we can prepare our environments. right? :)16:10
statikyour environments are already prepared :)16:10
__lucio__statik, next friday sounds great16:10
facundobatistastatik, +1 to next friday16:11
thisfredmandel: if you want to propose a merge that returns the whole record, I will approve it. If you don't have time, I may get to it, but maybe not before FOSDEM16:11
statiki hope today introduced enough of the tools that next week when looking at a new package we'll be able to focus more on the files we are writing in debian/, rather than having to learn a bunch of new tools for the first time16:12
thisfredmandel: in either case filing a bug would be greatly appreciated16:12
alecustatik, thanks a lot. It still feels like debian packaging is a very complicated bureaucracy. :-)16:12
rodrigo__mandel, fosdem is tomorrow, right?16:12
facundobatistastatik, please, tell us in advance what we need to do in *the project* to attend the class16:12
mandelthisfred, I'll do the patch and file the bug16:12
mandelrodrigo__, yes, are u here??16:13
statikalecu: it is. this is good because it enforces quality, it is bad because many people find it frustrating to learn so many details. There is a project getting started called cambria which wants to make packaging easier for upstream developers or casual contributors: https://launchpad.net/cambria. also, many of the core tools are slowly getting better, what I have shown you today is LOADs better than how it was 6 months ago16:13
thisfredmandel: awesome! ping me anytime, and I'll do a review, and blacmail/beer someone else into doing the second one16:13
mandelanyone going to FOSDEM late me know and we will go for drinks :D16:13
mandelthisfred, superb, on it right now16:13
thisfredI wish :) Belgian beer, hmmm16:13
rodrigo__mandel, I'm here, in my house, yes :-)16:13
statikfacundobatista, you don't need to do anything in the project at all. upstream has already released a tarball on pypi, and it has a simple setup.py already. we'll cover turning it into a debian pacakge16:14
facundobatistastatik, ok16:14
alecustatik, yes, I know it was worse before :-)16:14
mandelrodrigo__ next time, te invito a mi casa :P16:14
rodrigo__mandel, si, a ver si el año que viene :-)16:14
statikfacundobatista, usually when i am packaging something the first thing i have to tell to upstream is "dude! please take 5 minutes and do a release tarball"16:14
thisfredActually I can buy quite a number of belgians here. Including to my surprise my favorite, Poperingse Hommel!16:15
statikit's amazing how many people write great software but don't bother to cut a release16:15
facundobatistastatik, do you know a tutorial for "your first release tarball"?16:15
mandelthisfred, is that in nl?16:15
thisfredit's like writing documentation: it doesn't scratch your own itches16:15
thisfredmandel: no in Baltimore :)16:16
statikfacundobatista: i will have to ask someone with commit rights to the python project who really should know how distutils works for that class :)16:16
thisfredmandel: in NL I could get everything16:16
rodrigo__thisfred, judas (is it Belgian, right?) was my favorite, although a bit strong :-)16:16
mandelthisfred, hehe I was not expecting that answer16:16
statikfacundobatista, it's basically just setup.py, then run setup.py sdist16:16
mandelrodrigo__, yes, judas is belgian16:16
thisfredrodrigo__:  I think that's Belgian yes, I don't think I've had it16:16
rodrigo__it's a bit too strong, but tastes very nice16:17
thisfredrodrigo__: sounds like it's one of those devil beers, like Duvel and Satan16:17
__lucio__statik, nessita asked about who writes the summary  :)16:17
statiksure, i don't mind if nessita writes a summary16:17
rodrigo__thisfred, yeah, at least the names are similar, yes :-)16:17
statikwe also have IRC logs captured on this channel i think16:17
thisfredrodrigo__: there's a local brewery which has a beer inspired by those called Ozzy :)16:17
rodrigo__:)16:17
facundobatistastatik, ok :)16:18
nessita__lucio__: -.-16:18
__lucio__:D16:18
statikany other questions about what we did today?16:18
nessita__lucio__: you'll be doing my reviews? :-D16:18
__lucio__nessita, dont be lazy16:18
thisfredA lot of the american beer is *very* good actually. Just not the big brand lagers, mostly16:18
mandelthisfred, returning record will take me longer than I though, it brakes 15 tests...16:18
thisfredah..16:19
statik__lucio__, nessita: more seriously; i didn't plan  to write a summary because its a lot of work to turn an interactive session into something that is generic and complete enough to be useful16:19
facundobatistathisfred, a lot of american beer is good, actually, most of them are not from US16:19
statikwe assumed a lot of knowledge, and answered very specific questions16:19
thisfredfacundobatista: sorry, yes I meant US16:19
facundobatistathisfred, :)16:19
nessitastatik, __lucio__: but we can select parts of this chat  with xamples and pusblish them on the public wiki16:19
nessitaso anyone can follow those16:20
thisfredfacundobatista: I have not sampled the rest of america's beer yet, but I'm sure I'll get to it ;)16:20
nessitaand set aside the questions, with their answers16:20
statiksure16:20
facundobatistathisfred, it's a dirty job, but somebody needs to do it16:20
thisfredhehe16:20
nessitaok, I'll do it :-)16:20
__lucio__habemus package in ppa16:21
__lucio__AWESOME16:21
thisfredmandel: but the tests expect an id, so it should be as easy as substituting result with result['_id'] or something right?16:21
mandelthisfred, yes, I'll do result.record_id which is nicer16:22
thisfredmandel: agreed16:22
rodrigo__thisfred, in Spain  the best beer, IMO, Mahou, is just sold in a few places, while the worst (San Miguel) is sold all over the world, so I guess the big brand lagers are just like MS, very good marketing :-)16:23
rtgzit turned out that my system does not suspend/hibernate due to my workaround made @ 2009-06-28 to rmmod ath_pci module w/o checking that it is loaded :)16:24
joshuahooverrtgz: heh16:24
mandelthisfred, good ting that Chad used record_id as the name of the id everywhere, so much easier to fix ;)16:25
rtgzso, syncdaemon reconnects perfectly16:25
joshuahooverrtgz: i'm trying to get a hold of dobey (probably traveling or too early yet on the west coast) but maybe you can give some insight...i'm confused by bug #492100 which appears to fix something that breaks when the patch for bug #491777 is applied, but 491777 is not targeted for an sru...should it be? if not, should 492100 go in the sru?16:25
ubottuLaunchpad bug 492100 in ubuntuone-client "Error while creating share from nautilus - _create_share_http in action_queue.py, line 1859 calls callback with missing parameters" [Medium,In progress] https://launchpad.net/bugs/49210016:25
ubottuLaunchpad bug 491777 in ubuntuone-client "Ubuntuone-Nautilus should not update file modification time to refresh the emblems" [Medium,Triaged] https://launchpad.net/bugs/49177716:25
rtgzjoshuahoover, hm... i can try to suspend while file is syncing... hmmm.16:26
rodrigo__statik, btw, did you upload couchdb-glib/evo-couchdb for lucid?16:30
rtgzyes, reproduced the bug with clicking on applet and apport will collect the error16:37
rtgzwhen applet tries to receive the info from syncdaemon about current transfers and syncdaemon is not ready to answer, the timeout exception is raised and apport starts to collect info16:38
rtgzno strange errors in syncdaemon.log and oauth-login.log16:39
* rtgz had to reboot his laptop because second suspend left him w/o keyboard support for more than 1 second of operation in all x terminal emulators...16:41
rtgzhm, but the file does not get uploaded after the resume... the state is STANDOFF_WAITING_WITH_NETWORK_WITH_BOTHQ16:44
rtgz_joshuahoover, 2010-02-05 18:45:42,044 - ubuntuone.SyncDaemon.Main - NOTE - ---- MARK (state: STANDOFF_WAITING_WITH_NETWORK_WITH_BOTHQ; queues: metadata: 1; content: 1; hash: 0, fsm-cache: hit=3911 miss=375) ----16:47
rtgz_joshuahoover, what does this state mean?16:47
mandelthisfred, done16:47
thisfredmandel: awesome!16:48
mandelthisfred, but report https://bugs.launchpad.net/desktopcouch/+bug/51767616:48
ubottuUbuntu bug 517676 in desktopcouch "put_record should return the updated record" [Undecided,New]16:48
rtgz_joshuahoover, i was testing bug #45714716:48
ubottuLaunchpad bug 457147 in ubuntuone-storage-protocol "BadTransition: SYS_CONNECTION_MADE - Ubuntu One crashes coming out of sleep/hibernate" [Critical,In progress] https://launchpad.net/bugs/45714716:48
joshuahooverrtgz_: not sure, maybe verterok, nessita, or facundobatista can help us? ^^16:48
* verterok looks16:48
rtgz_joshuahoover, it does not crash anymore16:48
* thisfred rveiews https://launchpad.net/~mandel/desktopcouch/fix_bug_517676/+merge/1870816:48
verterokjamesh: wasup?16:48
joshuahooververterok: thank you16:48
verterokups16:49
verterokjoshuahoover: whats up?16:49
rtgz_verterok, STR:16:49
joshuahooververterok: rtgz_ is testing bug #45714716:49
pygistatik: poke16:49
verterokjoshuahoover, rtgz_: hmm, states16:49
verterokjoshuahoover, rtgz_: facundobatista and nessita are going to work on states, should ask them about it ;)16:50
joshuahooververterok: heh, fair enough :)16:50
verterokfacundobatista, nessita: ^ states issue16:50
rtgz_facundobatista, nessita, verterok, 1. start ubuntuone, verify that it is working and it is ready for file uploads; 2. put file to the directory, wait until it is picked up for upload. 3. verify that upload is started by u1sdtool --current-transfers; 4 before it compeltes, suspend the system. 5. drink some tea; 6. unsuspend the system, wait until nm connects. Observe 0 download/uploads and the client stuck in STANDOFF_WAITING_WITH_NETWORK_WITH_BOTHQ sta16:51
rtgz_te16:51
nessitartgz_: we're aware of this issue, but what system are you running?16:52
rtgz_nessita, karmic host, karmic-proposed version of ubuntuone16:52
rtgz_and that's it, new files don't get uploaded, the client is just WAITING for something...16:54
joshuahooverrtgz_, rmcbride: fyi...bug #457564 has steps to reproduce/test and it's not passing :( the "never" display icon pref works fine w/ the fix but then we switch back to "always" display and it doesn't come back until the client is restarted...adding comment to note this16:54
ubottuLaunchpad bug 457564 in ubuntuone-client "Icon does not disappear immediately if switched to never show icon" [Low,In progress] https://launchpad.net/bugs/45756416:54
joshuahoovernessita: rtgz_, rmcbride and i are trying to verify sru fixes (proposed updates)...just to give you some context about why you're getting these questions :)16:55
nessitajoshuahoover: thank you, I'm a bit lost indeed16:55
rtgz_joshuahoover, hm... it does work for me, the icon hides and shows itself according to the preference set16:55
nessitajoshuahoover: so, could you please start from the beginning? :-)16:56
joshuahooverrtgz_: care to take nessita through the beginning? the test you're running, the results you're getting, and what you expect to get16:56
rtgz_nessita, where should i mark the beginning as?16:56
nessitartgz_: to the first thing, of course :-)16:57
nessitawhere do we come from?16:57
=== jamalta is now known as jamalta-afk
nessitartgz_: I understand you're doing some QA on SRU fixes, is that so?16:58
rtgz_nessita, ok, so. I was testing the bug 457147. Since it did not want to fail, i decided to stress it a little bit further. I connected to ubuntuone, then put a 4Mb file to my directory. When file started to upload I suspended the system and unsuspended it after a minute. When system returned from suspend and nm restarted network connection the syncdaemon become stuck in  STANDOFF_WAITING_WITH_NETWORK_WITH_BOTH state. It does not upload old file and new16:59
rtgz_ files do not get uploaded as well16:59
ubottuLaunchpad bug 457147 in ubuntuone-storage-protocol "BadTransition: SYS_CONNECTION_MADE - Ubuntu One crashes coming out of sleep/hibernate" [Critical,In progress] https://launchpad.net/bugs/45714716:59
rtgz_joshuahoover, the client is no longer crashes after suspend so the bug looks like fixed.17:00
nessitartgz_: ok, that problem is a bit different than the original error reported17:01
joshuahooverrtgz_: ok, so we need a new bug (or find an existing one) for the fact that it doesn't continue to upload after resume but can pass 457147?17:01
rtgz_nessita, yes, it is just I found another problem while testing the original issue17:01
nessitartgz_: I'd say that we'd need a new bug reprot for that, and we well working on the fix rght after UDF. This issue is a consequence of a very complicated state machine that we're gonna re-do starting next week17:02
rtgz_nessita, ok, i will file a bug17:02
nessitartgz_: thank you. Please assign it to me, as confirmed. Please add those steps you described17:02
dobeyhmm17:02
thisfredmandel: 1st review done, and second one promised after lunch17:03
nessitartgz_: we looove that details, and put logs, and all :-)17:03
mandelthisfred, superb17:03
rtgz_nessita, but what exactly STANDOFF_WAITING_WITH_NETWORK_WITH_BOTHQ means? :)17:03
joshuahooverrtgz_: it's a secret ;)17:03
mandelthisfred, got another complain... I'd love to be able to do put_record(record), remove_record(record.record_id) and later put_record()17:04
verterokrtgz_: I "think" it's "I have network, have items in both queues (metadata and content), but can't connect and waiting for a retry"17:04
mandelthisfred, sounds stupid, but when apps use something that is not auotgenerated id that trace will raise a conflict exception since we do not delete records and just flag them17:04
nessitartgz_: the exact meaning is only known by Chipaca, but I includes that the syncdaemon has network, has metadata an content to upload, and that is waiting for some connection cleanup to reconnct"17:05
nessitait* includes17:05
nessitaheh, at least verterok and I said *almost* the same!17:05
nessitaverterok: ;-)17:06
verteroknessita: :)17:06
rtgz_nessita, ok, so it needs something that will poke it :)17:06
verteroknessita, rtgz_: from the code: "wait for SYS_CONNECTION_LOST, then go on to connect"17:06
verterokso, it's waiting to get the connectionLost event from twisted17:06
nessitaverterok: it will not receive it... poor thing17:07
verterokbut Chipaca will know for sure what that means :)17:07
rtgz_ok, here's the log http://paste.ubuntu.com/369612/ :)17:07
thisfredmandel: hmm, yeah I hadn't thought about that17:08
mandelthisfred, this keeps bothering me a lot https://bugs.launchpad.net/desktopcouch/+bug/46224517:08
ubottuUbuntu bug 462245 in macaco "Conflict error updating records" [Undecided,Invalid]17:08
mandelthisfred, i reported but I do defend my position correctly hehe but know that i think about not autogenerated ids it makes sense17:09
Chipacathe exact meaning is known only to me?17:10
Chipacaoh, come on17:10
Chipacartgz_: nessita was right on the money17:10
Chipacathe "waiting for some connection cleanup" is more a "waiting for connections to finish dying"17:11
nessitaChipaca: the "STANDOFF" confuses me a lot17:11
Chipacanessita: BACKOFF might've been a happier choice of words17:11
thisfredFRAKOFF17:11
thisfredmandel: I think that one you're going to have to fight out with chad ;)17:13
thisfredmandel: a solution could be to do r = delete_record(id), but I don't like that, as the fact that we only mark records as deleted is an implementation detail17:14
mandelthisfred, I'll when ever I see him, is more a philosophical argument than anything else17:14
thisfredmandel: perhaps we should rename deleted records: id += '-deleted'17:15
thisfredmandel: right17:15
mandelthisfred, problem I see is that the implementation should hide that detail if I remove and do not care want you do but I should be able to use the same id since it does not "exist"17:15
thisfredmandel: yep17:16
thisfredI agree, but I don't see an easy solution17:16
thisfredI hope we can move away from the marked instead of deleted soon17:16
joshuahooverrtgz_, rmcbride: sigh...another one failed, this time bug #465030 (bandwidth throttling prefs related)17:16
ubottuLaunchpad bug 465030 in ubuntuone-client "Bandwith limit preference doesn't appear to be saved" [Medium,In progress] https://launchpad.net/bugs/46503017:16
mandelthisfred, I know is for "back_up" purposes to mark it as deleted  we should just create a new revision but then if the db is compacted you loose the data17:16
rtgz_joshuahoover, erm... it behaves weird here, download speed is set to 0, upload speed might not be saved, etc...17:19
joshuahooverrtgz_: yeah, i filed a bug about this separate from this one...let me find it17:19
rtgz_joshuahoover, hm... if the preference window is left for some time then the changes are saved...17:22
joshuahooverrtgz_: ummm...that's strange...that might explain the behavior i was seeing in the beta ppa...it was acting very funny17:22
rtgz_joshuahoover, no17:22
rtgz_ha17:22
rtgz_got it17:22
rtgz_the save is performed only when a field loses focus17:24
=== jamalta-afk is now known as jamalta
joshuahooverrtgz_: ah, good catch!17:24
mandelCardinalFang, ping17:25
CardinalFangmandel, hi17:25
mandelCardinalFang, hello! how are things, can I try and convince you of something??17:26
joshuahooverrtgz_: that would explain the strange behavior i was seeing then...couldn't figure out why it didn't appear to behave consistently17:27
CardinalFangmandel, It is early, but I can perhaps be persuaded to alter my cognitive state by a smidgen.  Please, proceed.17:27
mandelCardinalFang, lets say I have an app that uses ids given by the user.. the user gives and id and we add the doc to the db, later he deletes it. After a while he forgets and decides to create a new doc with the same id... and gets a conflict error can we fix that ;)17:29
joshuahooverrtgz_: if i take focus off each field then they save properly, just as you said :) i'll note this in a comment so that it helps get the problem fixed17:29
mandelCardinalFang, ah, I nearly forgot, take a look at this: https://bugs.launchpad.net/desktopcouch/+bug/51767617:29
ubottuUbuntu bug 517676 in desktopcouch "put_record should return the updated record" [Undecided,New]17:29
rtgz_joshuahoover, so now the bug is "Bandwidth limit preference requires strange human behavior to be saved" :)17:31
joshuahooverrtgz_: i always take focus off my input fields when i want them to save...what are you saying about me? ;)17:31
CardinalFangmandel, Hrm.  What do you propose for the first?   try, send_record(new), except ConflictError: old = get_record(); new._rev = old._rev; send_record(new) ?17:32
dobeyhuh?17:32
CardinalFangmandel do that IFF the old record is deleted?17:32
rtgz_joshuahoover, i imagine that for, say, tomboy note... write, click other window and only then the note is saved :)17:32
CardinalFangso, except ConflictError, if deleted: get old and update new and send?17:32
joshuahooverrtgz_: heh, right17:32
mandelCardinalFang, yes, I was thinking about that17:33
CardinalFangaquarius, ^ ?17:33
* aquarius reads17:34
mandelis a possible scenario, since the fact that is flagged is just an implementation detail17:34
aquariusthe problem is our stupid delete thing.17:34
aquariusif we actually deleted "deleted" records, there wouldn't be anything to comflict with :(17:35
aquariusam starting to think...maybe we should actually delete things.17:35
CardinalFangAh.  try, save, except conflict:  really delete; save again;17:35
CardinalFangAh.  try, save, except conflict:  get old, and if deleted then really delete; save again;17:36
CardinalFang...commit transaction.  ha17:36
mandelI really do not know why keep the deleted ones... anyway, is it not more efficient to do if deleted: update else put17:37
mandelwaiting for the conflict adds more requests and more changes to get it wrong if there are more than one app looking at the db, also,  how will this be notified to other apps?17:38
aquariusmandel, originally we kept "deleted" records because there are sync problems if you don't; you can't tell the difference between "I used to have this and now it's gone" and "I've never had this", which matters in certain situations17:41
aquariusbut...I'm not sure those situations apply17:41
CardinalFangI am trying to cope with aquarius' suggestion that we could actually delete.  I think we should give him some time to consider this.17:41
mandelaquarius, I think the best option right now is to perform the check and catch the conflict before it gets to the client app17:42
rtgz_verterok, is bug 487257 originates from the same problem i created when i resumed the system after suspend? http://paste.ubuntu.com/369612/ line 2376 clearly shows that twisted detected the disconnect.17:43
ubottuLaunchpad bug 487257 in ubuntuone-client "The client gets stuck into STANDOFF state" [High,Triaged] https://launchpad.net/bugs/48725717:43
* verterok looks17:43
thisfredaquarius: the mark as deleted is not because of replication, which AFAIK is able to handle deletions. It's just a hackish placeholder for versioning, that's never actually used17:44
rtgz_verterok, i don't want to create duplicate reports :)17:44
thisfredaquarius: I would be +100 on getting rid of the hack.17:44
thisfredlet the people delete their data!17:44
verterokrtgz_: yeap, that's the issue17:45
rtgz_verterok, ok, will add my logs and STR there, thanks17:45
verterokrtgz_: that's the same bug triggered by a different condition :)17:45
joshuahooverrtgz_, rmcbride: bug #492100 passed17:45
verterokrtgz_: ok17:45
ubottuLaunchpad bug 492100 in ubuntuone-client "Error while creating share from nautilus - _create_share_http in action_queue.py, line 1859 calls callback with missing parameters" [Medium,In progress] https://launchpad.net/bugs/49210017:45
mandelCardinalFang, thisfred, I got an other bug for you ;) I'll send the patch in a second: https://bugs.launchpad.net/desktopcouch/+bug/51770617:49
ubottuUbuntu bug 517706 in desktopcouch "application_annotations is not added at init" [Undecided,New]17:49
mandelCardinalFang, thisfred, let me know if I'm right or I just reported a stupid bug...17:49
thisfredmandel: that's not a bug17:49
thisfredI think17:49
mandelthisfred, so how does an app add annotations then??17:50
thisfredmandel: you should not use record['application_annotations']17:50
thisfredit's not part of the normal record fields17:50
thisfredyou use record.applications_annotations['my_app']17:50
thisfredwhich will be created for you if it isn't there17:50
mandelthisfred, .... so I'm stupid, cool17:51
thisfredmandel: no: our documentation is lacking17:51
mandelthisfred, I don't think so... I was just trying to be smart and access it directly since I know it is there :P17:54
thisfredmandel: you can do that by going through ._data if you absolutely want to ;)17:54
thisfredI explained on the bug as well, so that it's googleable17:54
mandelthisfred, I know the _data trick... specially when I make my own MergeableLists17:56
mandelCardinalFang, any luck with the remove method for those ^ want me to do that?17:56
rtgz_joshuahoover, ok, i have performed verification for bug #457147, should I adjust tags?17:56
ubottuLaunchpad bug 457147 in ubuntuone-storage-protocol "BadTransition: SYS_CONNECTION_MADE - Ubuntu One crashes coming out of sleep/hibernate" [Critical,In progress] https://launchpad.net/bugs/45714717:56
aquariusI have mused on the idea of actually deleting records rather than marking them deleted, and I can't think of any incredibly good reasons why to not do it, these days. I'd like to hear comments from all of thisfred, teknico, urbanape, and CardinalFang, though...17:57
thisfredaquarius: I think the marking as deleted was a big fat YAGNI17:58
CardinalFangmandel, you do that.  I'm on something a getPort problem today.17:58
CardinalFangthisfred++17:58
thisfredaquarius: the *only* downside is that if people delete stuff, it gets deleted, and there's no getting it back. I think we can justify that17:59
aquariusthisfred, can you remember why we were insistent on not actually deleting? My memory has failed :(17:59
thisfredaquarius: although we have to be slightly cautious17:59
thisfredaquarius: phonesync removing all people's contacts, like mobileme did for statik :)18:00
thisfredaquarius: buggy apps happen, and if all apps talk to the same db, having an undo is nice18:00
aquariusthisfred, indeed. that wasn't the only reason we didn't delete things, though18:00
thisfredaquarius: but we don't actually, other than mucking about in futon18:00
thisfredaquarius: I think it was18:00
aquariusthere was something around syncing and contacts that required keeping old ones around, I'm sure18:01
aquariusbut I don't think it applies any more18:01
thisfredaquarius: I'm pretty sure _changes will solve such concerns if they were there18:02
aquariusthisfred, yeah, that was the conclusion I came to -- if you care about the difference between "never there" and "not there now", you should watch _changes18:03
mandelneed to go, beer is calling, have a nice weekend!18:20
rmcbridejoshuahoover: rtgz_ bug #457147 passes18:21
ubottuLaunchpad bug 457147 in ubuntuone-storage-protocol "BadTransition: SYS_CONNECTION_MADE - Ubuntu One crashes coming out of sleep/hibernate" [Critical,In progress] https://launchpad.net/bugs/45714718:21
rmcbrideah rtgz_ beat me to it18:22
rtgz_rmcbride, verified one bug, found another...18:22
rmcbridertgz_: yea I see that. Can't duplicate the STANDOFF state18:22
rmcbridebut I've seen it in the past18:22
rtgz_rmcbride, i have reproduced it twice and one more system lock-up, but i don't think that's related :)18:23
chewithi, i am having problems syncing my files?18:25
chewitubuntu one thinks it is up-to-date, but its far from it18:25
rtgz_chewit, hello. Could you please run this script (in the terminal) to see what files are still not done: http://launchpadlibrarian.net/36063440/u1sdstatus.py18:32
chewitone minute, i decided to start it again, so i will run that script in a sec18:33
rtgz_chewit, and it would be nice if you could post the contents of ~/.cache/ubuntuone/log/syncdaemon.log to http://paste.ubuntu.com for us to see what actually happens.18:33
chewitok18:33
chewitthere is quite alot though18:34
chewitwhen is 1.0.3 of Ubuntu one coming out? that may solve my problems18:35
rtgz_chewit, additionally, you can check whether there is any download/upload going by excuting u1sdtool --current-transfers18:35
chewitbrb18:36
duanedesignhello rtgz_ . HOw did the testing/documenting of ubuntuone-client and ubuntuone-storage-protocol in karmic-proposed go?18:36
duanedesignbeen busy last 24 hours so i am just now reading the scrollback :)18:37
rtgz_duanedesign, the battle was long and exhaustive18:38
duanedesignha ha. I noticed there had been a lot of activity when i finally was able to sit down at my computer a couple  hours ago18:39
rtgz_great18:40
rtgz_The applet says "Updating 6 of 5 files..."18:40
rtgz_it looks like the applet lives its own life18:40
duanedesign:)18:41
rtgz_duanedesign, i am creating a note containing the fixes that were mentioned (ubuntuone-client, did not trace storage-protocol so much, sorry)18:44
CardinalFangIt needs to un-update 1 file, and then it will be finished.18:44
chewitdo you know when Ubuntu one client 1.0.18:46
chewit3 will be out of ubuntu proposed18:47
rtgz_rmcbride, bug 455527 - was the result OK or not?18:49
ubottuLaunchpad bug 455527 in ubuntuone-client "The ubuntuone-client needs to create a POT template on build" [Medium,In progress] https://launchpad.net/bugs/45552718:49
rtgz_chewit, we are currently evaluating the fixes that were committed to 1.0.3, i mean at this very moment.18:50
rtgz_rmcbride, joshuahoover how about creating a Wiki Page for the results of the check so that it becomes a proper document?18:50
chewitgreat, cause ubuntu one has been fairly problematic for a few weeks now. I moved back to dropbox for a about week while some stuff on the servers were sorted18:50
rmcbridertgz_: looking again. I think I did my last entry on that right before EOD for me18:52
rmcbridertgz_: yea it's definitely fixed. I'll make a more clear entry18:53
rmcbridertgz_: I'll leave the wiki decision up to joshuahoover18:54
chewitalso, just out of interest. is work being do on the web interface (multi file uploading, fixes to the layout)18:56
chewitdone*18:56
dobeychewit: if the proposed update works for you, please comment on the bugs you are experiencing, saying the update fixes the issue for you18:58
dobeychewit: this will help get it through the system faster :)18:58
joshuahooverrtgz_, rmcbride: catching up...was eating lunch w/ some friends19:02
chewitok19:02
chewitbtw, the sync seems to worked this time, thanks for you help19:03
joshuahooverrtgz_: so, you're thinking we should have a wiki page for capturing the results of the tests or something else?19:03
rtgz_joshuahoover, i have a tomboy gnote that lists all the bug reports19:05
joshuahooverrtgz_: right, so a list of all the bugs for this sru and a status on the testing (pass/fail plus notes if failed) sort of thing?19:07
rtgz_joshuahoover, yup19:07
joshuahooverrtgz_: sure, i'll throw that together right now so we can use it to track progress19:07
rtgz_joshuahoover, just taking the release note and add PASSED/ why not19:07
duanedesignis the SRU list for the package created from the changelog?19:08
rtgz_joshuahoover, or, we might use lp tags to assign e.g. 'release-1.0.1' + 'verification-done' + 'verification-failed' etc.19:08
rtgz_joshuahoover, just need to standardize on the tags :)19:09
joshuahooverrtgz_: we can do that but probably not as convenient to be able to look at all the bugs in one spot and see pass y/n and a reason if no19:09
rtgz_joshuahoover, but we could build a script that will turn into a wiki page in the end :)19:10
joshuahooverrtgz_: true19:10
joshuahooverrtgz_: maybe for now we do the wiki and then we come up with a better way after this round? i already know i need to write up a bit about how we handle some of this stuff...would like to work with you on it19:10
rtgz_joshuahoover, ok, it's just i haven't written anything useful with lp api yet :)19:16
statikhello pygi19:16
statikyou were looking for me?19:16
joshuahooverrtgz_: you'll get your chance :)19:16
chewitthis is strange, got my desktop to sync fine, cant get my laptop to sync, however tomboy sync works fine19:54
* joshuahoover going back home as internet is back there19:57
duanedesignchewit: you can find instructions for updating to 1.0.3 here: https://answers.edge.launchpad.net/ubuntuone-client/+faq/93019:57
duanedesignjoshuahoover: isnt the saying 'Home is where the internet is' :)19:58
chewitah thanks :D19:58
joshuahooverduanedesign: heh19:59
rtgz_duanedesign, you are soooo right :)19:59
duanedesignrtgz_: if you do end up writing something with the Launchpad API i would like to look at it. I have been wanting to use that myself.20:02
dobeyhmm20:04
dobeywrite what with the lp api?20:04
rmcbridertgz_: Bug #459175  is also fixed. I verified a few things last night and had firefox die on me before I saved the LP pages apparently20:05
ubottuLaunchpad bug 459175 in ubuntuone-client "oauth-login.log sometimes doesn't contain timestamps" [Medium,In progress] https://launchpad.net/bugs/45917520:05
qenseAre the GLib problems from the Jaunty PPA that caused Nautilus crashes solved now?20:06
duanedesigndobey: joshua_h and rtg_z were discussing the possobilities of using the API in the SRU process20:07
rmcbridertgz_: likewise Bug #491573  (I'm going through my browser session and double checking a few  things and updating the bugs)20:07
ubottuLaunchpad bug 491573 in ubuntuone-client "Applet starts syncdaemon before successful OAuth token retrieval" [Medium,In progress] https://launchpad.net/bugs/49157320:07
rtgz_rmcbride, heh, we need a wiki page, both joshuahoover and you have tested bug 45917520:10
ubottuLaunchpad bug 459175 in ubuntuone-client "oauth-login.log sometimes doesn't contain timestamps" [Medium,In progress] https://launchpad.net/bugs/45917520:10
dobeyqense: you need to downgrade20:10
dobeyqense: there are instructions on the users list20:10
rmcbridertgz_: yea, I had said something in channel yesterday about planning to hit those. a wiki would have been helpful.20:10
qensedobey: But is the PPA fixed already? What can I tell to the bug reporters, if they report anything new?20:10
rmcbridertgz_: but this is our first SRU verification, so what we learn from this will make the next one better20:11
dobeyqense: sudo aptitude install libglib2.0-0=2.20.1-0ubuntu2.120:11
dobeylibsoup2.4-1=2.26.0-0ubuntu3 libwebkit-1.0-1=1.0.1-4ubuntu0.120:11
dobeylibsoup-gnome2.4-1=2.26.0-0ubuntu3 libglib2.0-data=2.20.1-0ubuntu2.120:11
dobeyqense: the broken package was deleted from the ppa20:11
dobeyqense: they need to downgrade the packages20:11
qensegood20:11
qensedobey: thanks! I'll keep that in mind.20:11
rtgz_rmcbride, i vote for tags + external script to format it for wiki. I need more python experience :)20:11
rmcbridertgz_: also Bug #451670  is definitely fixed (and not really an issue on karmic in the first place)20:11
ubottuLaunchpad bug 451670 in ubuntuone-client "no HTTPSConnection._tunnel_host in python <= 2.6.2" [Low,In progress] https://launchpad.net/bugs/45167020:12
rmcbridertgz_: I like that idea20:12
dobeythere are already some tags defined for SRU processing20:12
dobeyi think they are "official" tags for Ubuntu (but not ubuntuone-client)20:12
rtgz_dobey, found verification-needed, verification-done, verification-failed (https://wiki.ubuntu.com/StableReleaseUpdates)20:15
dobeyyeah20:16
rtgz_we might need to have additional tags so that we can signalize about the actual client version that is being verified, or if it can be done via other headers - then this is good.20:16
dobeynot sure20:25
rtgz_duanedesign, http://paste.ubuntu.com/369747/20:49
rtgz_duanedesign, it will just fetch the bugs with verification-needed tag20:49
rtgz_duanedesign, erm.. /home/rtg is hardcoded there :)20:49
duanedesignrtgz_: nice.20:56
joshuahooverrtgz_, rmcbride: sorry, taken me waaaay too long to put a simple wiki page together...today is a day of distractions for me...i apologize...https://wiki.ubuntu.com/UbuntuOne/Testing ...maybe duanedesign and rtgz_ have a script for something better? :)20:56
rtgz_joshuahoover, you know... we need some tag to a) set who has verified the bug, b) what release it was verified/failed against.20:57
joshuahooverrtgz_: yeah...i think we need to give it a little thought or some proposed ideas because i could see it getting very messy, very quickly in terms of the number of tags and keeping it all straight20:58
rtgz_joshuahoover, yes, i don't even feel that tag is a good location for such info...20:59
joshuahooverrtgz_: yeah, doesn't "feel right" to me either but could be ok, just need to think about it a bit...i'm just trying to capture what we've done at this point right now and will likely give some thought as to what we do going forward on monday :)21:00
rtgz_joshuahoover, ok, i am filling the info i've got to Testing21:01
joshuahooverrtgz_: cool21:01
rmcbridertgz_: was about to do the same. Either let me know when you're done or input what I've passed you, please :)21:01
rtgz_rmcbride, done with mine 221:03
rmcbridertgz_: thanks21:03
rtgz_done again, added the hibernation info as well21:07
rtgz_hm... wiki seems to be slow during writes...21:08
joshuahooverrtgz_, rmcbride: frustrating, bug #457564 wasn't passing this morning for me and now it is...i've changed nothing on the vm instance i'm testing on...hmmm...21:08
ubottuLaunchpad bug 457564 in ubuntuone-client "Icon does not disappear immediately if switched to never show icon" [Low,In progress] https://launchpad.net/bugs/45756421:08
rtgz_joshuahoover, mine test was ok. Icon was working fine and bandwidth settings applied immediately - twisted breaks when 0 is set (bw settings can be saved, knowing the "Gread Sected") immediately21:09
rtgz_joshuahoover, hm, we can use a special format for bug post to store values. This way the history will be useful and we will be able to avoid such extra tags.21:11
rtgz_need to write that to wiki while i am in context...21:13
=== jamalta is now known as jamalta-afk
=== jamalta-afk is now known as jamalta
rtgz_joshuahoover, https://wiki.ubuntu.com/RomanYepishev/UbuntuOne/StableReleaseUpdateProcedure21:39
joshuahooverrtgz_: very good...good idea to capture this while it's fresh in your head :)21:41
duanedesignare there a set of tags used inside the U1 project?21:44
rtgz_joshuahoover, still, this may be not that efficient, but it is better to have SRU info near the original bug report...21:45
duanedesign...for bug reports21:45
duanedesignshould be the rest of that sentence. :)21:46
joshuahooverrtgz_: right, we need something...just not sure what that something should be at the moment :) my brain is fried today so any "something" i come up with right now will likely be garbage ;)21:46
joshuahooverduanedesign: yes, there are a set of tags we use21:46
rtgz_duanedesign, mmm.. yes, there is a 'standard' set that helps to tie bug reports together. I invented christmas-bug tag and (i guess) urbanape came with farfignugen-share-dialog tag for web-ui related stuff. It is now called simply web-ui :)21:48
duanedesigni noticed rtgz_  used verification-needed in his python code. Was curious if there were any, that would be relevant to me.21:48
joshuahooverduanedesign: the most prominent ones are detailed on this page (and also setup as of official tags on each lp project): https://wiki.ubuntu.com/UbuntuOne/Bugs/WorkFlow21:48
duanedesignok thanks21:49
joshuahooverduanedesign: under the "assignment" section...desktop+, foundations+, ops+ ...and we're always open to making changes to help improve things so please don't hesitate to make suggestions!21:49
duanedesignlol, i was just on that page21:49
* duanedesign slaps forehead21:49
duanedesignjoshuahoover: ok, great21:50
duanedesignas part of my work with the launchpad Focus Group in the Beginners Team I show community members how to use Launchpad.21:51
duanedesigni used Ubuntu One the other day in my demo for triaging bugs21:51
duanedesignI noticed one of the attendes in here this morning helping to mark duplicates21:52
duanedesignthat was a nice unintentional consequence. I was just using U1 because it was what I had been working on lately.21:54
rtgz_erm22:01
rtgz_guys, why did bug 455544 got launchpad bugtracker "This bug was fixed in the package ubuntuone-client - 1.0.3-0ubuntu1" - it is not fixed22:02
ubottuLaunchpad bug 455544 in ubuntuone-client ""Protocol version error" - when bandwidth throttling is enabled with the default values" [High,In progress] https://launchpad.net/bugs/45554422:02
dobeyrtgz_: huh?22:02
rtgz_dobey, bug 455544 - there is a message from LP bug tracker that "This bug is fixed" - was that performed automatically?22:03
ubottuLaunchpad bug 455544 in ubuntuone-client ""Protocol version error" - when bandwidth throttling is enabled with the default values" [High,In progress] https://launchpad.net/bugs/45554422:03
dobeyrtgz_: the package must have been uploaded to updates22:03
dobeyrtgz_: but that bug was fixed. what you're seeing is a different bug, no?22:03
rtgz_dobey, erm22:04
rtgz_dobey, https://bugs.launchpad.net/ubuntuone-client/+bug/455544/comments/3422:04
dobeyrtgz_: don't base your idea of whether or not a bug is fixed based on the description22:04
ubottuUbuntu bug 455544 in ubuntuone-client ""Protocol version error" - when bandwidth throttling is enabled with the default values" [High,In progress]22:04
rtgz_0 is the default, if 0 is set then it says Protocol version error22:04
dobeyrtgz_: 0 is not the default22:05
rtgz_dobey, what is default then? -1 does not work and it will set the bw preferences to 022:06
dobeythe default is -122:07
dobeyit getting set to 0 is a different bug22:07
dobeywell, in fact, i think there are 2 bugs22:08
dobeythat -1 gets turned into 022:08
dobeyand that bw throttling also affects messages that aren't upload/download22:09
dobeythrottling the auth commands and such is silly22:10
rtgz_dobey, yes, but. The bug was originally related to the fact that if a person enables throttling and does not change anything then syncdaemon is unusable. This condition remains.22:11
rtgz_dobey, so be it on=True read_limit=-1 or on=True read_limit=0 the fix cannot be said to be complete as we have a bug in applet as well22:13
rtgz_the client will open Preferences, enable throttling, read_limit is immediately reset to 0, syncdaemon divides by zero, Protocol error occurs and client is unhappy about the fact that he was told that syncdaemon will work with default values.22:15
rtgz_and, IMHO,  the cure for 462003 is worse that the disease22:17
rtgz_bug 46200322:17
dobeyhuh?22:17
ubottuLaunchpad bug 462003 in ubuntuone-client "server-side tree deletion results in .u1conflict folders on clients." [High,Fix released] https://launchpad.net/bugs/46200322:17
dobeyyou're probably hitting a different bug i guess, that's visible now because of that fix22:18
dobeyi don't know22:18
* dobey wishes people would have tested this stuff 3 months ago when the branches to fix them actually landed22:18
rtgz_true22:19
dobeyand reusing the same bug for that isn't a great idea22:20
rtgz_dobey, ok, first bug was that when -1 is stored as read_limit/write_limit caused syncdaemon to fail, this was patched. Now when 0 is stored as read_limit/write_limit it causes the same problem.22:24
dobeyrtgz_: it's a different bug that apparently gives a similar result22:24
dobeydifferent bugs can have the same symptoms unfortunately22:25
rtgz_dobey, yes, but the original reported problem is not fixed22:25
dobeywell it is, becdause -1 is handled correctly now22:25
dobeyanother bug is just giving you the same symptom22:26
rtgz_dobey, i understand that, but given the users perspective, having Bandwidth throttling clicked immediately halts syncdaemon as it starts using 0 which is written to config file by the applet22:26
dobeyrtgz_: presumably you might also get the same symptom by blocking that traffic with a firewall22:26
dobeyrtgz_: if fthe original reporter was actively involved in testing the fix and saying the same thing, then maybe. but like a lot of bugs we get, it looks like it was a file and forget22:27
rtgz_dobey, yes, I could but the bug does not mention the firewall, and the problem arises from the _intended_ usage of application preferences. In this case it does not fail after next syncdaemon start, it fails immediately.22:28
dobeyhah, it was filed by jdo22:28
* dobey makes a note to smack him22:29
rtgz_:)22:29
dobeyrtgz_: the intended usage of the preferences is that setting stsuff to 0 blocks file transfers, not authentication and such22:29
dobeydifferent bug, same symptom22:30
dobeyrtgz_: not to mention the several people saying "i upgraded, and my problem is fixed now"22:31
rtgz_dobey, i guess you will need to make a note to smack everybody to actually test the prepared SRU before it hits the shelves. And built in some kind of timer that stops working if no response is given about this version :)22:31
dobeyrtgz_: it's been in proposed for > 6 weeks, and people have been poked multiple times to test this stuff, with no real response :(22:32
rtgz_dobey, ok, we will see what can be done about that. That's just sad that this all got such an attention 1 day before it is accepted to karmic-updates :(22:33
dobeyrtgz_: we can do more SRUs if we need to22:34
rtgz_dobey, and I was running it for 2 weeks w/o touching these knobs so I was happy...22:34
dobeyrtgz_: but we shouldn't block having it work for 50K users, because one or two were able to get a similar symptom even with the fix22:34
rtgz_dobey, true22:34
dobeyrtgz_: and clearly we need to write more tests, that test exactly these conditions22:35
rtgz_dobey, okay, I guess the relevant info from that bug report should be copied to new one describing the final problem and probably give a link to that bug report from the original one so that it would be possible to find it22:36
rtgz_it looks like this: 1. bug with applet setting default to 0. 2. bug in syncdaemon that applies bw prefs to control messages as well as the content. 3. Syncdaemon should work with 0 values for read_limit and write_limit22:38
dobeyspeaking of bugs, Delta has plenty of them :(22:40
dobeyrtgz_: i think multiple other bug reports need to be filed22:40
rtgz_dobey, Delta?22:40
dobeyyeah, the airline22:41
dobeywhat use is on-line check-in, if you can't select any seats!22:41
rtgz_dobey, what use of online banking when the button to perform the payment failed to load? :)22:42
duanedesigndobey: that is annoying22:43
rtgz_bugs are everywhere... It is just 1) nobody cares for some 2) people get used to them 3) people switch elsewhere22:43
duanedesigni experienced that for the first time last month22:43
dobeynah, Delta is just made of fail22:46
dobeyit's like how they say "Thank you for choosing Blah." when you land somewhere or take off22:46
dobeyi didn't *choose*22:47
rtgz_dobey, ok, bug 465030 has also the same symptom for different code, i.e. preferences are saved, but only when focus is moved somewhere22:47
ubottuLaunchpad bug 465030 in ubuntuone-client "Bandwith limit preference doesn't appear to be saved" [Medium,In progress] https://launchpad.net/bugs/46503022:47
dobeyyou're one of the 3 airlines at my airport, and the others don't fly to where i'm going22:47
dobeynot really choice22:47
duanedesigndobey: has anyone done any work on putting together a list of testcases for nightlies and releases22:52
dobeymost of this stuff should be in our unit tests22:52
=== jamalta is now known as jamalta-afk
joshuahooverrmcbride: not sure how to test bug #476777 ...i know how i can get the same results...set read_limit and write_limit to None in syncdaemon.conf but not sure how that would happen or if that's how it happened originally23:03
ubottuLaunchpad bug 476777 in ubuntuone-client "NIGHTLIES: ValueError: invalid literal for int() with base 10: 'None' on init" [Critical,In progress] https://launchpad.net/bugs/47677723:03
verterokjoshuahoover: hi :)23:09
duanedesigndobey: ahh, so you guys do automated unit-testing?23:09
joshuahooververterok: hi23:10
dobeyduanedesign: yes23:10
verterokjoshuahoover: 476777 was caused by a error in the configglue parser23:10
dobeyduanedesign: ideally everything will be automated, but there are some things we can't test like that right now23:10
rtgz_joshuahoover, the syncdaemon bug with default settings needs to be split into 3 bug reports, the package that we were testing is now in karmic-updates23:10
duanedesigndobey: i guessi was wondering if a checkllist of test cases like the ones on the QA site would be useful23:12
dobeyduanedesign: rmcbride has a set of things he tests all the time, talk with him about that :)23:13
verterokjoshuahoover: and I think it was triggered with the  -1 value23:13
joshuahooverrtgz_: 3 bug reports?23:13
duanedesigndobey: ok. Thank you23:13
rtgz_joshuahoover, : 1. bug with applet setting default to 0. 2. bug in syncdaemon that applies bw prefs to control messages as well as the content. 3. Syncdaemon should work with 0 values for read_limit and write_limit.23:13
joshuahooverrtgz_: ok, that makes sense, though i don't like allowing the setting to 0...i see the use for it maybe (i only want to upload, but not download files) but i think it causes more confusion than it's worth23:15
statikduanedesign, I would very much like to have a set of acceptance tests that get run (and perhaps later partially automated) against release candidates/nightlies23:16
rtgz_joshuahoover, hm, true, we might need a specific setting that says i want to download files only, no upload. I would think of 0 as infinity, though...23:16
statikthere is a bunch that can be done inside unit tests, but a bunch more that is just more sane when run against an installed client talking to a server23:16
duanedesignstatik: yes i thought coming up with a manual list would be beneficial as it could be used to later produce an automated system23:16
dobeywell yes, integration tests shouldn't be in unit tests23:17
joshuahooverduanedesign: yes, we should discuss with rmcbride as he does have a set of automated acceptance tests already from what i recall...it would be good to start there and then see what else needs to be accounted for23:17
duanedesignjoshuahoover: ok, ill make a note and touch base with him23:18
rtgz_joshuahoover, re: zero in preference: bug 50974223:20
ubottuLaunchpad bug 509742 in ubuntuone-client "Bandwidth usage settings should not allow a value of 0" [Undecided,Confirmed] https://launchpad.net/bugs/50974223:20
joshuahooverrtgz_: right :)23:21
joshuahooverrtgz_: but i'm not sure all agree that bug is the right way to go...i'm arguing for not allowing users to turn off read and/or writes with the client, not just working around the issue that setting the limits to 0 doesn't work right now23:25
rtgz_joshuahoover, i will leave item 3 for Monday, since it requires some more thinking. It is 1:26 AM here and I am now operating in "Only report bugs that are definitely bugs" mode only :)23:27
joshuahooverrtgz_: get some sleep!23:29
rtgz_joshuahoover, hey, i am not fixing bugs, i am only reporting them :)23:30
joshuahooverrtgz_: heh23:30
rtgz_ok, my bug report consisted of 2 lines (which is too low), definitely need to go to bed :)23:38
rtgz_okay, see you all on Monday! Have a nice weekend :)23:39

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