[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [GSoC] tasks_diff hints (compare task files between Blend releases)



Hi Emmanouil,

On Tue, Jul 16, 2013 at 09:22:24PM +0300, Emmanouil Kiagias wrote:
> Hello Andreas,
> 
> In parallel with the blend-gen-control tests I wrote (and just committed) a
> first simple tasks_diff. I followed your idea: We have a json file which
> contains the dependencies status for a release and we will compare it with
> the fresh data to find tasks differences to put them into the changelog. So
> a first function of the tasks_diff script is to get a tasks directory
> argument and dump a json file with the dependencies.
> 
> Example, let's take the case where we dump into a json file the
> dependencies of debian-med 1.13:
> 
> #-t/--tasks arg generally passes the directory where the tasks folder
> exists(Blend root directoty), default -t value is "." (in case you execute
> it into a Blend directory) and -s/--statusdump arg is given as flag arg to
> generated the json file.
> 
> ./tasks_diff -t med/tags/1.13/ -s
> 
> This will generate a tasks.json file in the current directory containing
> the dependencies. In case you want to override the default tasks.json
> output you can do (-o/--output):
> 
> ./tasks_diff -t med/tags/1.13/ -s -o mydeps.json
> 
> Once we have a json file containing dependencies for a release(in the above
> case for med 1.13) we can compare these dependencies with another release
> for example with med 1.13.1 as following:
> 
> Again we have to pass the -t directory arg (it will read from there the
> tasks to compare), also we have to pass -c/--compare flag to make the
> comparing. By default tasks_diff it will try to read a "tasks.json" file in
> the current directory.
> 
> ./tasks_diff -t med/tags/1.13.1/ -c
> 
> or in case you have overrode the  tasks.json file you can provide the json
> file which you want to make the comparing with as:
> 
> ./tasks_diff -t med/tags/1.13.1/ -c  -j  mydeps.json
> 
> This will dump in stdout(plain print) the package/task difference betweem
> the releases:
> 
> 
> A sum up to do a fast test/run:
> 
> ./tasks_diff -t med/tags/1.13/ --status-dump
> ./tasks_diff -t med/tags/1.13.1/ --compare

Looks good!

> That way we have a first idea of how the final tasks_diff(any suggestion
> for different script name?) should be.

I think this is more or less the data we need to include into
d/changelog.  Regarding the name:  I do not consider myself as very good
in inventing names and this one seems to be perfectly OK.

> Any feedback is always more than welcome :-)
> 
> Also, tasks_diff  script should look for tasksprefix in the control.stub
> file?

Probably yes because this will finally be the user visible name.  Please
note that you can get this via

   /usr/share/blends-dev/blend-get-names metapackageprefix

I do not say that blend-get-names is something we should keep for ever
in this form but we need some names in various places and some common
interface to obtain these makes sense.

For the moment I do not have any hints for enhancing tasks_diff.

BTW, yesterday I have seen in some control file:

   Build-Depends: pkg1 [!arch1 !arch2 !arch3], pkg2 [!arch1], ...

This might be an idea for an alternative way to create a single control
file (after having checked the relevant docs which I did not - may be
this is only valid for Build-Depends which I doubt but checking might
not harm).

Kind regards

       Andreas.

-- 
http://fam-tille.de


Reply to: