Eickmeyer | tsimonq2: 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 |
---|---|---|
Eickmeyer | But... lintian keeps yelling at me about the changelog version not being higher. >:( | 15:58 |
Eickmeyer | False positive perhaps? https://launchpad.net/~eeickmeyer/+archive/ubuntu/ppa/ | 15:58 |
OvenWerks | I believe -controls is still waiting for release too. | 16:20 |
Eickmeyer | cyphermox: If you're around, perhaps you could take a look (if you want)? ^ | 16:46 |
tsimonq2 | Eickmeyer: I would disagree that packaging a new upstream Git snapshot is good practice unless there are patches you can not cherry-pick. | 18:12 |
tsimonq2 | Eickmeyer: Have you talked with the Debian Multimedia Team at all? | 18:13 |
tsimonq2 | Ideally it should go through Debian. | 18:13 |
Eickmeyer | tsimonq2: I have not, but somebody else filed a bug against the Debian package and there has been no response. | 18:14 |
Eickmeyer | Additionally, all patches in the git version are required to fix the crashing per the developer. | 18:16 |
Eickmeyer | If 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 |
Eickmeyer | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=901705 | 18:20 |
ubottu | Debian bug 901705 in calf-plugins "Latest stable version is 0.90.0" [Normal,Open] | 18:20 |
Eickmeyer | I 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 |
cyphermox | Eickmeyer: calf? | 18:31 |
Eickmeyer | cyphermox: Yes. It's a set of audio effects and instrument plugins. | 18:32 |
cyphermox | you absolutely can take a snapshot if that's what you really want | 18:32 |
cyphermox | it's just that snapshots are often not a good idea because unstability, bugs, etc. | 18:32 |
cyphermox | it depends on the project itself, if they release often, etc. | 18:32 |
Eickmeyer | The developer wants a snapshot to fix a major bug causing other software to crash. | 18:32 |
Eickmeyer | They don't release often. The latest release was in November and it was their first in over 2 years. | 18:33 |
Eickmeyer | However, there were a number of bugs that, until recently, broke stuff. | 18:34 |
Eickmeyer | They don't think the next release (0.90.1) will be ready by October. | 18:34 |
cyphermox | Eickmeyer: if you're okay with the bugs that might introduce; that's fine. | 18:35 |
cyphermox | because, well, you'll be stuck with the bugs, since it's mostly a package that only ubuntustudio uses | 18:36 |
cyphermox | Eickmeyer: so; can you fix the packaging such that you're pulling a snapshot for the upstream code and keeping the debian packaging? | 18:37 |
Eickmeyer | cyphermox: 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 |
cyphermox | the version number looks odd for that | 18:38 |
Eickmeyer | How so? | 18:38 |
Eickmeyer | My pull from github treats it as a branch merge. | 18:39 |
cyphermox | ah, nevermind, I got confused by the makeup of it | 18:39 |
Eickmeyer | So, I can update as bug fixes happen. | 18:40 |
Eickmeyer | If I get bug reports, I'll throw them upstream unless it's a packaging issue. | 18:40 |
cyphermox | wait, no, the packaging is wrong | 18:40 |
Eickmeyer | What do I need to do? | 18:40 |
cyphermox | how did you get the snapshot in the first place? | 18:41 |
Eickmeyer | Pulled from the calf developer's github repo, added and tweaked the official /debian directory from the old version. | 18:42 |
cyphermox | the 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 were | 18:42 |
cyphermox | ok | 18:42 |
cyphermox | but generating the tarball? | 18:42 |
Eickmeyer | The source in git does not contain a /debian directory. | 18:42 |
cyphermox | right | 18:42 |
Eickmeyer | Launchpad is generating the tarball. I push to https://code.launchpad.net/~eeickmeyer/ubuntustudio/+git/calf and autobuild. | 18:44 |
cyphermox | ah, I see | 18:44 |
cyphermox | right, you don't really want to go git add things to the upstream repo like that, it does confuse LP recipes | 18:45 |
Eickmeyer | That'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 |
Eickmeyer | Additonally, I can cherry pick patches easily by pulling and checking the last commit. | 18:47 |
cyphermox | well, to LP with your current recipe, this is equivalent to it being straight in the upstream repo | 18:47 |
cyphermox | you could do this by keeping your debian/ directory in a separate branch or tree, and then compositing from the recipe | 18:48 |
cyphermox | ie: "merge fix-build lp:~bzr/bzr/fix-build" | 18:48 |
Eickmeyer | I 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 |
cyphermox | such 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, etc | 18:51 |
cyphermox | even if it requires modifications to the source | 18:51 |
cyphermox | then you should use patches to handle this :) | 18:51 |
Eickmeyer | I see. | 18:51 |
cyphermox | otherwise, 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 source | 18:51 |
cyphermox | https://wiki.debian.org/PackagingWithGit/GitDpm | 18: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 beginning | 18:52 |
Eickmeyer | I'm trying to figure out how I'd create patches from the upstream git repo in my head right now. | 18:53 |
cyphermox | so; 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 |
cyphermox | Eickmeyer: create patches from the upstream git? | 18:53 |
cyphermox | you mean for stuff that you need to change for your build, or for cherry-picking? | 18:54 |
Eickmeyer | Sure. 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 |
cyphermox | you have two options | 18:55 |
cyphermox | if you use snapshots, and want all the commits from upstream, you can take a new snapshot | 18:55 |
cyphermox | otherwise you can pick individual commits and turn them into patches under debian/patches | 18:55 |
cyphermox | (I gave a class some years ago about how to do this, I'll look that up for you) | 18:56 |
cyphermox | https://wiki.ubuntu.com/MeetingLogs/devweek1201/IncorporatingUpstreamChanges | 18:57 |
cyphermox | actually, you have a third option, convince upstream to make a release and upload that :) | 18:57 |
Eickmeyer | I 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 |
cyphermox | Eickmeyer: and I can share scripts I have used in the past to take snapshots for NetworkManager, with great results | 19:00 |
cyphermox | with 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 upload | 19:00 |
Eickmeyer | Looks like I need to make a "calf-packaging" repo with just debian/. | 19:02 |
cyphermox | I use ~/bin/generate-git-source-version: https://paste.ubuntu.com/p/WNrSb4MpqW/ | 19:02 |
Eickmeyer | Okay, so that just generates the tarball? | 19:03 |
cyphermox | and ~/bin/git-make-snapshot (which calls the previous script): https://paste.ubuntu.com/p/3bPKqv98Jp/ | 19:03 |
cyphermox | pretty much | 19:03 |
cyphermox | it 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 |
Eickmeyer | Okay. Since I've been using a simple "git push", how do I upload to LP? | 19:05 |
cyphermox | you have a gpg key in LP? | 19:05 |
Eickmeyer | Yes. | 19:05 |
cyphermox | you can use "dput" to upload straight to a PPA | 19:06 |
cyphermox | ie. dput ppa:eickmeyer/ppa file.changes | 19:06 |
cyphermox | that means you need the .changes file | 19:07 |
cyphermox | which you build with "debuild -S", or "gbp buildpackage -S", depending on how you keep the packaging | 19:07 |
Eickmeyer | Yes, but what about the initial tarball to combine with the packaging source with the recipe? | 19:07 |
cyphermox | I'm not sure I follow what you mean by that? | 19:08 |
Eickmeyer | So, the initial git snapshot would be a tarball, correct? | 19:08 |
cyphermox | yep | 19:08 |
cyphermox | you want the tarball in a directory, then extract it to make calf-(version) in that directory, copy debian/ inside | 19:09 |
Eickmeyer | So, 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 |
Eickmeyer | OIC | 19:09 |
cyphermox | then running 'debuild -S' should get you the other files you need | 19:09 |
cyphermox | it makes no use of a recipe whatsoever | 19:09 |
Eickmeyer | So, you're saying I need to do all the packaging locally? | 19:10 |
cyphermox | not necessarily | 19:10 |
cyphermox | I was getting you through the steps to do things locally, manually, because it's the basis for how it works in general :) | 19:10 |
cyphermox | if 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 code | 19:11 |
cyphermox | then the recipe combines all that, and generates the source package that it uploads | 19:11 |
Eickmeyer | Yeah, that's what I was alluding to. :) | 19:11 |
cyphermox | using that, I think you also need some small extra bits in debian/ to make it work correctly | 19:11 |
Eickmeyer | Well, 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 |
cyphermox | it would have built, just exactly the way it's built right now | 19:13 |
Eickmeyer | I mean, as a first step. | 19:13 |
cyphermox | which is incorrect -- it creates a native pacakge, with both the debian/ and upstream stuff together in the same tarball | 19:13 |
cyphermox | lemme think about it for a second | 19:13 |
cyphermox | maybe 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.html | 19:14 |
cyphermox | so; generating the tarball from upstream, then 'gbp import-orig $file' | 19:15 |
cyphermox | or http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.import.convert.html if you want to do things from the repo you already have | 19:16 |
cyphermox | that 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 it | 19:17 |
cyphermox | Eickmeyer: I see the debian git repo is already in the right format for git-buildpackage | 19:19 |
Eickmeyer | Oh, that's good. | 19:19 |
cyphermox | that 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 |
Eickmeyer | cyphermox: There were a number of issues with the rules file that I had to fix, so that wouldn't work very well. | 19:20 |
cyphermox | it'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 that | 19:20 |
Eickmeyer | Okay, I see. | 19:21 |
Eickmeyer | Trying to wrap my head around this. | 19:21 |
cyphermox | there's no way around it being a bit of work | 19:21 |
cyphermox | but 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 |
cyphermox | I know it's like drinking from the firehose right now :) | 19:23 |
Eickmeyer | Yeah. I'm just trying to create the "calf-packaging" repo at the moment for the sake of the stuff I've done. | 19:24 |
cyphermox | I thought you already had that for the recipes | 19:26 |
cyphermox | hm. cooking smells upstairs mean I should probably go check on the dinner. | 19:27 |
Eickmeyer | cyphermox: Just pushed my packaging code: https://code.launchpad.net/~eeickmeyer/ubuntustudio/+git/calf-packaging | 19:29 |
Eickmeyer | I'll see if I can get the upstream tarballed and then push patches into my packaging. | 19:30 |
cyphermox | ok | 19:32 |
cyphermox | why do you need patches in your packaging right now? | 19:33 |
cyphermox | I'm afraid we might have had a misunderstanding | 19:33 |
cyphermox | Eickmeyer: 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 done | 19:38 |
cyphermox | in fact, you potentially already have part of it | 19:38 |
cyphermox | it depends if you have a 'pristine-tar' branch that already exists for your tree | 19:39 |
cyphermox | or an 'upstream' branch | 19:39 |
Eickmeyer | Could I push the source snapshot to a launchpad repo and have the recipe merge the source and packaging repo? | 19:40 |
Eickmeyer | For instance, local clone pushed to launchpad without any revisions. | 19:40 |
Eickmeyer | Nm, I see what You're saying. | 19:41 |
cyphermox | well, I think one git tree would be better than two :) | 19:41 |
cyphermox | then you won't need to change your recipe either | 19:41 |
Eickmeyer | I have the upstream tarball locally (did a git clone folllowed by git archive). | 19:45 |
Eickmeyer | Where should I put it on LP? | 19:45 |
cyphermox | there isn't really a location | 19:45 |
cyphermox | that's why I was recommending starting with the debian tree, and running gbp import-orid | 19:45 |
cyphermox | *import-orig | 19:46 |
cyphermox | that imports the tarball in the upstream branch to get things just right | 19:46 |
cyphermox | Eickmeyer: 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 |
Eickmeyer | Yeah, that would be great. | 19:47 |
cyphermox | ok, give me a minute | 19:49 |
cyphermox | Eickmeyer: https://paste.ubuntu.com/p/24jqkkFSfp/ | 20:26 |
cyphermox | I should make this in a wiki page, and I'm sure there's already one somewhere.. | 20:26 |
cyphermox | there 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 |
Eickmeyer | Absolutely. :) | 20:37 |
cyphermox | hopefully this helps a bit | 20:38 |
Eickmeyer | cyphermox: It should. Unfortunately, I have run out of time and must go to work. :( | 20:52 |
cyphermox | np, kind of busy here too now :) | 21:07 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!