/srv/irclogs.ubuntu.com/2018/07/05/#ubuntustudio-devel.txt

Eickmeyertsimonq2: I have packaged the new version of calf plugins (that came out in November and everyone seems to have abandoned). It was requested by the developer that I use the latest git version since it fixes a bug that would cause DAWs such as ardour and qtractor to crash.15:57
EickmeyerBut... lintian keeps yelling at me about the changelog version not being higher. >:(15:58
EickmeyerFalse positive perhaps? https://launchpad.net/~eeickmeyer/+archive/ubuntu/ppa/15:58
OvenWerksI believe -controls is still waiting for release too.16:20
Eickmeyercyphermox: If you're around, perhaps you could take a look (if you want)? ^16:46
tsimonq2Eickmeyer: I would disagree that packaging a new upstream Git snapshot is good practice unless there are patches you can not cherry-pick.18:12
tsimonq2Eickmeyer: Have you talked with the Debian Multimedia Team at all?18:13
tsimonq2Ideally it should go through Debian.18:13
Eickmeyertsimonq2: I have not, but somebody else filed a bug against the Debian package and there has been no response.18:14
EickmeyerAdditionally, all patches in the git version are required to fix the crashing per the developer.18:16
EickmeyerIf nothing else, this should go into Universe. It would be nice to push it upstream to Debian, but as you alluded, a git snapshot wouldn't fly there. The developer fears that 0.90.1 won't be ready in time.18:19
Eickmeyerhttps://bugs.debian.org/cgi-bin/bugreport.cgi?bug=90170518:20
ubottuDebian bug 901705 in calf-plugins "Latest stable version is 0.90.0" [Normal,Open]18:20
EickmeyerI suppose for Debian's purposes I could go with the official 0.90.0 version, but the developer seems to be against this.18:23
cyphermoxEickmeyer: calf?18:31
Eickmeyercyphermox: Yes. It's a set of audio effects and instrument plugins.18:32
cyphermoxyou absolutely can take a snapshot if that's what you really want18:32
cyphermoxit's just that snapshots are often not a good idea because unstability, bugs, etc.18:32
cyphermoxit depends on the project itself, if they release often, etc.18:32
EickmeyerThe developer wants a snapshot to fix a major bug causing other software to crash.18:32
EickmeyerThey don't release often. The latest release was in November and it was their first in over 2 years. 18:33
EickmeyerHowever, there were a number of bugs that, until recently, broke stuff.18:34
EickmeyerThey don't think the next release (0.90.1) will be ready by October.18:34
cyphermoxEickmeyer: if you're okay with the bugs that might introduce; that's fine.18:35
cyphermoxbecause, well, you'll be stuck with the bugs, since it's mostly a package that only ubuntustudio uses18:36
cyphermoxEickmeyer: so; can you fix the packaging such that you're pulling a snapshot for the upstream code and keeping the debian packaging?18:37
Eickmeyercyphermox: That's exactly what I'm doing. My pull is set to the github repo, and my push is set to my PPA currently.18:37
cyphermoxthe version number looks odd for that18:38
EickmeyerHow so?18:38
EickmeyerMy pull from github treats it as a branch merge.18:39
cyphermoxah, nevermind, I got confused by the makeup of it18:39
EickmeyerSo, I can update as bug fixes happen.18:40
EickmeyerIf I get bug reports, I'll throw them upstream unless it's a packaging issue.18:40
cyphermoxwait, no, the packaging is wrong18:40
EickmeyerWhat do I need to do?18:40
cyphermoxhow did you get the snapshot in the first place?18:41
EickmeyerPulled from the calf developer's github repo, added and tweaked the official /debian directory from the old version.18:42
cyphermoxthe issue is that you have both the source and the debian/ directory in the same tarball right now; that's usually wrong (but not always), and certainly deviates from how things were18:42
cyphermoxok18:42
cyphermoxbut generating the tarball?18:42
EickmeyerThe source in git does not contain a /debian directory.18:42
cyphermoxright18:42
EickmeyerLaunchpad is generating the tarball. I push to https://code.launchpad.net/~eeickmeyer/ubuntustudio/+git/calf and autobuild.18:44
cyphermoxah, I see18:44
cyphermoxright, you don't really want to go git add things to the upstream repo like that, it does confuse LP recipes18:45
EickmeyerThat's why I'm not adding to the upstream repo, I'm just adding the /debian directory locally and pushing to the lp:~eeickmeyer/ubuntustudio/+git/calf repo.18:46
EickmeyerAdditonally, I can cherry pick patches easily by pulling and checking the last commit.18:47
cyphermoxwell, to LP with your current recipe, this is equivalent to it being straight in the upstream repo18:47
cyphermoxyou could do this by keeping your debian/ directory in a separate branch or tree, and then compositing from the recipe18:48
cyphermoxie: "merge fix-build lp:~bzr/bzr/fix-build"18:48
EickmeyerI tried that, it didn't work too well for a different package since it required modifications to the makefile as well. This was easier, but I see what you're saying. It is possible with this since it didn't require any modification to the source, just the /debian directory.18:50
cyphermoxsuch that say, your current tree is your debian/ stuff (as-is, doesn't need to change), and you have an untouched git source repo, then you can use the untouched git repo as the original code, add the merge command, etc18:51
cyphermoxeven if it requires modifications to the source18:51
cyphermoxthen you should use patches to handle this :)18:51
EickmeyerI see.18:51
cyphermoxotherwise, you might want to look at git-dpm; which can let you do all this, at the cost of a slightly more complicated way of patching the source18:51
cyphermoxhttps://wiki.debian.org/PackagingWithGit/GitDpm18:52
cyphermox^ that's what we use for grub2, but it *is* a bit complex, and people often get tripped up -- I certainly did at the beginning18:52
EickmeyerI'm trying to figure out how I'd create patches from the upstream git repo in my head right now.18:53
cyphermoxso; to simplify; what I'm looking for to sponsor would be a source package where you have the pristine upstream source in one tarball, and the debian stuff in a separate tarball (with the patches there if you need to change the upstream code -- use quilt if possible)18:53
cyphermoxEickmeyer: create patches from the upstream git?18:53
cyphermoxyou mean for stuff that you need to change for your build, or for cherry-picking?18:54
EickmeyerSure. So, for instance, a bug gets fixed upstream based on a bug report received on launchpad, how would I get those fixes downstream?18:55
cyphermoxyou have two options18:55
cyphermoxif you use snapshots, and want all the commits from upstream, you can take a new snapshot18:55
cyphermoxotherwise you can pick individual commits and turn them into patches under debian/patches18:55
cyphermox(I gave a class some years ago about how to do this, I'll look that up for you)18:56
cyphermoxhttps://wiki.ubuntu.com/MeetingLogs/devweek1201/IncorporatingUpstreamChanges18:57
cyphermoxactually, you have a third option, convince upstream to make a release and upload that :)18:57
EickmeyerI might do that as well. But, if you want me to change to a tarball + merge /debian directory, I guess i need to work on that.18:59
cyphermoxEickmeyer: and I can share scripts I have used in the past to take snapshots for NetworkManager, with great results19:00
cyphermoxwith that you could create the tarball, copy just debian/ from wherever you have it in, and make sure the version number is correct (my scripts tell you what it should be) and you can upload19:00
EickmeyerLooks like I need to make a "calf-packaging" repo with just debian/. 19:02
cyphermoxI use ~/bin/generate-git-source-version: https://paste.ubuntu.com/p/WNrSb4MpqW/19:02
EickmeyerOkay, so that just generates the tarball?19:03
cyphermoxand ~/bin/git-make-snapshot (which calls the previous script): https://paste.ubuntu.com/p/3bPKqv98Jp/19:03
cyphermoxpretty much19:03
cyphermoxit gets you the tarball with the upstream repo, and the right version number for a snapshot (whether it needs a ~ or + and the hash of the commit, etc.)19:04
EickmeyerOkay.  Since I've been using a simple "git push", how do I upload to LP?19:05
cyphermoxyou have a gpg key in LP?19:05
EickmeyerYes.19:05
cyphermoxyou can use "dput" to upload straight to a PPA19:06
cyphermoxie. dput ppa:eickmeyer/ppa  file.changes19:06
cyphermoxthat means you need the .changes file19:07
cyphermoxwhich you build with "debuild -S", or "gbp buildpackage -S", depending on how you keep the packaging19:07
EickmeyerYes, but what about the initial tarball to combine with the packaging source with the recipe?19:07
cyphermoxI'm not sure I follow what you mean by that?19:08
EickmeyerSo, the initial git snapshot would be a tarball, correct?19:08
cyphermoxyep19:08
cyphermoxyou want the tarball in a directory, then extract it to make calf-(version) in that directory, copy debian/ inside19:09
EickmeyerSo, that needs to get to launchpad for the recipe to make it with a merge of the packaging source I upload separately, correct?19:09
EickmeyerOIC19:09
cyphermoxthen running 'debuild -S' should get you the other files you need19:09
cyphermoxit makes no use of a recipe whatsoever19:09
EickmeyerSo, you're saying I need to do all the packaging locally?19:10
cyphermoxnot necessarily19:10
cyphermoxI was getting you through the steps to do things locally, manually, because it's the basis for how it works in general :)19:10
cyphermoxif you want to use a recipe in LP, it's as you pointed it out -- you want a repo for the debian packaging, and a repo for the upstream code19:11
cyphermoxthen the recipe combines all that, and generates the source package that it uploads19:11
EickmeyerYeah, that's what I was alluding to. :)19:11
cyphermoxusing that, I think you also need some small extra bits in debian/ to make it work correctly19:11
EickmeyerWell, I think I got those extra bits otherwise it wouldn't have built using the recipe I used. All I'd be doing is taking the /debian package out of what I've got and put it in a separate repo, right?19:12
cyphermoxit would have built, just exactly the way it's built right now19:13
EickmeyerI mean, as a first step.19:13
cyphermoxwhich is incorrect -- it creates a native pacakge, with both the debian/ and upstream stuff together in the same tarball19:13
cyphermoxlemme think about it for a second19:13
cyphermoxmaybe what I'd start with to get you working with the recipe again would be to begin with http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.import.new.upstream.html19:14
cyphermoxso; generating the tarball from upstream, then 'gbp import-orig $file'19:15
cyphermoxor http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.import.convert.html  if you want to do things from the repo you already have19:16
cyphermoxthat might be even easier, you can git checkout -b from a commit to get the upstream branch, and keep the other one for your packaging -- you'll want to read more on it19:17
cyphermoxEickmeyer: I see the debian git repo is already in the right format for git-buildpackage19:19
EickmeyerOh, that's good.19:19
cyphermoxthat means if you start from https://salsa.debian.org/multimedia-team/calf.git; you could then load the snapshot (after creating the tarball, however you prefer to do it) with 'gbp import-orig $file'19:20
Eickmeyercyphermox: There were a number of issues with the rules file that I had to fix, so that wouldn't work very well.19:20
cyphermoxit'll update all the upstream files (everything but debian/) to what ti should be, then you can commit any changes you need on top of that19:20
EickmeyerOkay, I see.19:21
EickmeyerTrying to wrap my head around this.19:21
cyphermoxthere's no way around it being a bit of work19:21
cyphermoxbut that'll get you a package I or any other ubuntu developer would be happy to upload, and you'll also easily be able to send patches to debian :)19:22
cyphermoxI know it's like drinking from the firehose right now :)19:23
EickmeyerYeah. I'm just trying to create the "calf-packaging" repo at the moment for the sake of the stuff I've done.19:24
cyphermoxI thought you already had that for the recipes19:26
cyphermoxhm. cooking smells upstairs mean I should probably go check on the dinner.19:27
Eickmeyercyphermox: Just pushed my packaging code: https://code.launchpad.net/~eeickmeyer/ubuntustudio/+git/calf-packaging19:29
EickmeyerI'll see if I can get the upstream tarballed and then push patches into my packaging.19:30
cyphermoxok19:32
cyphermoxwhy do you need patches in your packaging right now?19:33
cyphermoxI'm afraid we might have had a misunderstanding19:33
cyphermoxEickmeyer: I'm thinking all you need is the upstream tarball right now; because then you can take the git tree from debian, run gbp import-orig with the tarball; and finally copy over your debian/ directory and you'll be done19:38
cyphermoxin fact, you potentially already have part of it19:38
cyphermoxit depends if you have a 'pristine-tar' branch that already exists for your tree19:39
cyphermoxor an 'upstream' branch19:39
EickmeyerCould I push the source snapshot to a launchpad repo and have the recipe merge the source and packaging repo?19:40
EickmeyerFor instance, local clone pushed to launchpad without any revisions.19:40
EickmeyerNm, I see what You're saying.19:41
cyphermoxwell, I think one git tree would be better than two :)19:41
cyphermoxthen you won't need to change your recipe either19:41
EickmeyerI have the upstream tarball locally (did a git clone folllowed by git archive).19:45
EickmeyerWhere should I put it on LP?19:45
cyphermoxthere isn't really a location19:45
cyphermoxthat's why I was recommending starting with the debian tree, and running gbp import-orid19:45
cyphermox*import-orig19:46
cyphermoxthat imports the tarball in the upstream branch to get things just right19:46
cyphermoxEickmeyer: would it help if I did the steps here, but not push, so you could see the set of commands and the idea behind them?19:47
EickmeyerYeah, that would be great.19:47
cyphermoxok, give me a minute19:49
cyphermoxEickmeyer: https://paste.ubuntu.com/p/24jqkkFSfp/20:26
cyphermoxI should make this in a wiki page, and I'm sure there's already one somewhere..20:26
cyphermoxthere I did things as root because I was in an lxd container, but that was just so I could copy-paste correctly, you certainly shouldn't develop stuff as root :)20:29
EickmeyerAbsolutely. :)20:37
cyphermoxhopefully this helps a bit20:38
Eickmeyercyphermox: It should. Unfortunately, I have run out of time and must go to work. :(20:52
cyphermoxnp, kind of busy here too now :)21:07

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