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

Re: Looking for advice about json-simple 3 transition



merkys@debian.org a écrit le 14/05/2020 à 07:20 :
> Hello,
> 
> On 2020-05-13 16:46, Gilles Filippini wrote:
>> I'd like to push json-simple 3.1.1 into unstable, but I'm not sure how I
>> should handle the transition. The 3.x releases are not backward
>> compatible with 2.x.
>>
>> A whole set of deprecated classes has been removed:
>>> * Deprecated JSONParse and JSONValue in favor of Jsoner.
>>> * Deprecated JSONStreamAware and JSONAware in favor of Jsonable.
>>> * Deprecated JSONObject in favor of JsonObject.
>>> * Deprecated JSONArray in favor of JsonArray.
> 
> Maybe it wouldn't be too difficult to patch the dependencies to work
> with 3.x release? There are ~15 source packages, so I'd say it should be
> doable provided the API changes are not too drastic. This would allow to
> retain the same binary package name.

Yes, I'm working on patch proposals. But I need this naming issue solved
before filing bugs.

>> I think about renaming the binary package to libjson-simple1-java but
>> keeping the jar file name as json-simple.jar. It implies setting
>> Conflicts: libjson-simple-java.
> 
> Name libjson-simple3-java would be better, as it reflects the upstream
> version. However, I would recommend against having conflicting JAR
> names, as this would effectively forbid coexistence of packages
> depending on different versions of json-simple.
> 
> If having both v2 and v3 JARs could not be avoided, I'd suggest
> providing /usr/share/java/json-simple-2.x.jar in libjson-simple-java and
> /usr/share/java/json-simple-3.x.jar in libjson-simple3-java. Packages
> junit [1] and junit4 [2] are made to coexist in a similar manner.
> 
> [1] https://packages.debian.org/sid/all/junit/filelist
> [2] https://packages.debian.org/sid/all/junit4/filelist

I won't maintain 2 source packages. The deprecated one (version 2.x)
should be dropped. The 'Conflicts' field is needed during the transition
only. The new package would have:
* 'json-simple' as source package name (unchanged)
* 'libjson-simple3-java' as binary java package name, conflicting with
previous one 'libjson-simple-java'
* 'libjson-simple-doc' as documentation package name (unchanged).

> Hope this helps,

It does.

thanks,

_g.


Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: