Re: [GSoC] blends-gen-control hints (Was: blends-dev, gsoc 2013)
- To: debian-blends@lists.debian.org
- Subject: Re: [GSoC] blends-gen-control hints (Was: blends-dev, gsoc 2013)
- From: Andreas Tille <andreas@an3as.eu>
- Date: Thu, 1 Aug 2013 09:19:29 +0200
- Message-id: <[🔎] 20130801071929.GC10614@an3as.eu>
- In-reply-to: <CABA_aBU7sCnAyksDWp_NqYTXGWpLJbsPfWH+oMcAskkCzYjeKA@mail.gmail.com>
- References: <20130728201221.GA31622@an3as.eu> <CABA_aBXHCtN8iAcM6Xq=W3-N2NwF18KE23FwEKwDMnYqZ8JiAg@mail.gmail.com> <20130729125831.GC24998@an3as.eu> <CABA_aBXaw3kbTc-Lj8kWd4Lhczh5QqHLWXu1tkDAHNpnoqvyAA@mail.gmail.com> <20130730100158.GG28389@an3as.eu> <CABA_aBWj5kXHgXHtPaVCcmruyZCWVRh04S4oEm6CiHfgaxjh7w@mail.gmail.com> <20130730134929.GC3621@an3as.eu> <CABA_aBUjgS3PBJUngytw4cZE9B6ZVBMiRh2nqrzw0ubR4_VgNA@mail.gmail.com> <20130731085517.GA6988@an3as.eu> <CABA_aBU7sCnAyksDWp_NqYTXGWpLJbsPfWH+oMcAskkCzYjeKA@mail.gmail.com>
Hi Emmanouil,
On Thu, Aug 01, 2013 at 12:17:51AM +0300, Emmanouil Kiagias wrote:
> > -- <Maintainername> <maintainer@ema.il> <datestamp>
> >
> > 2. When running the job that creates d/control and taskdesc files we
> > also create the changelog diff and insert it simply past
> > <manual entry n>
> > It might be reasonable to flag the automatic entry inbetween
> >
> > * start automatically injected changes *
> > * end automatically injected changes *
> >
> > or something like this. It might even make sense to commit this
> > automatically createt changelog into Vcs for UNRELEASED versions
> > and just replace the stuff inbetween once we run the job the next
> > time.
> >
> > 3. Create the orig.tar.gz containing the finished d/changelog.
> >
> I changed the Makefile/rules files and now changelogentry(a first try) is
> done as you describe above. I compare the latest release with the previous
> and I add the ./tasks_diff --compare stdout between the lines * start
> automatically injected changes * / * end automatically injected changes *.
I trust you in this but I think this is the moment where we probably need
to prepare some kind of official blends-dev package. I tried to copy
Makefile and rules into place but
make -f /home/alamagestest/Projects/blends-gsoc/devtools/Makefile
fails on my side. ;-)
IMHO we should apply the following workflow:
1. Create code for a real blends-dev package (say version 0.7.0) which
puts Makefile and d/rules into the places where they currently are
in blends-dev.
2. I will build the package, install it on my machine and can run the
code in current Blends unchanged (because these just include the
files verbosely)
> > IMHO we need a versioned database because we can not really drop the
> > previous JSON data after each run. Assume we are just targeting at
> > "UNRELEASED" distribution and just create the tarball to check how it
> > looks, perhaps doing some unrelated other changes (like bumping
> > standards-version or so). We always need to keep the status at least of
> > the previosly released version and I think the best way would be to have
> > a file say dependency_data_<previous-version>.json around.
> >
> > I could even imagine to just keep them all like in dir like
> >
> > dependency_data/<versions>.json.xz
> >
> > which will probably not waste a lot of space and I think I mentioned
> > before that this would enable easy graphing of development of the tasks
> > dependencies over time.
> >
> OK. in the code I assume that there is a directory dependency_data/ and
> there exist the dependenciesjson files by the name:
>
> <blendname>_<version>.json (for the moment I do not compress them)
Perhaps compression is just stupid. The tarball will be compressed
anyway so there is no real win in double compression. Lets just stick
to the json files.
> > This is my first time dealing with makefiles/package releases etc so I am
> > > not so confident of how the changelog entry should be performed.
> >
> > Cool. So you might have something new to learn and may be bring some
> > new ideas in. ;-)
> >
> :-) , it's always nice to learn something new
... otherwise you wouldn't be a GSoC student. ;-)
> > For the moment the only problem I see is some hen-egg-problem because
> > when you need to create the first changelog-diff there is no JSON file
> > to compare with. So you either could fake some such files for the
> > previous release or - in case we decide to store json dependency files
> > for all releases it might be pretty cool if you could find some way
> > to restore such databases from old d/control files in Vcs. This would
> > be quite in line with my idea to graph the development of dependencies.
> >
> A first approach for the hen-egg-problem is the script dumpsTags. The
> script gets the tags directory of a blend and for each tag(version) it
> dumps a <blend>_<version>.json to a given directory. It a first simple
> approach and seem to work for svn.
> I tried it with debian-med and it worked. For example:
>
> ./dumpTags blends/projects/med/tags/ testdump/
Cool. From a quick view these files look very familiar.
> For my tests I used debian-med.
Me to because I'm very familiar with it. :-) I also tried debian-science
which looked good as well.
> Using the above script I created a folder
> dependency_data/ into med-bio containing all the json files from the
> tags(one per version). Then I tested the changelogentry for med-bio/1.13.1
> (latest 1.13.2,
Uhmm, stupid! Thanks for the hint - I injected the whole content as tag
because I have no idea how to roll back to a certain state in SVN, tag
this and get the latest trunk status (= "master") again. I think once
we have implemented the new blends-dev it is perfect time to switch to
git because than I do not need to rewrite my graphing script from SVN
tags to Git tags but rather can use the JSON files.
> 1.13.3 are not tagged).
Sure, that's unreleased trunk.
> The changelog entry for
> med-bio/1.13.1 automatically creates the debian-med_1.13.1.json and (we
> assume that there is also the previous debian-med.1.13.json) compares it to
> the previous release 1.13. The code for the moment it creates a
> debian/changelog.new file which is also included into the orig.tar.gz.
>
> This is a first try. Tomorrow I will perform more tests on this I clean up
> this part of code to make sure that everything works properly.
Fine. As I said it would be great if you could create some blends-dev
package to let us do things on "neutral" pathes as it will be
implemented later anyway. SO I will be able to test your work more
easily.
Kind regards
Andreas.
--
http://fam-tille.de
Reply to: