Please upload skype-translation to the archive

Bug #1314402 reported by Gunnar Hjalmarsson
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu
Won't Fix
Wishlist
Gunnar Hjalmarsson

Bug Description

The Skype client for Linux comes bundled with translations into a few languages, but most languages are missing. The skype-translation package makes the most complete translations at

https://www.transifex.com/projects/p/skype-translation-project/resource/skype-linux/

easily available to Ubuntu users.

The proposed debian/copyright file is in a preliminary state at the moment; the wording I use claims that the translations are in public domain, since the site, where the translations have been uploaded, does not refer to a license. The only wording I have found that gives some kind of indication on the matter is at

http://sourceforge.net/projects/skypeinyourlang/

"This is a free repository for files that have been translated by volunteers so users can download and install them."

I have talked with the project administrator Michael Bauer, and he has announced that they may state a free license on the site very soon. If that happens, debian/copyright should reasonably be changed accordningly.

The package I request a review of is the utopic package at
https://launchpad.net/~gunnarhj/+archive/skype-translation

tags: added: needs-packaging
Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

License changed to GPL-3.

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

The proposed package installs two files per language in /usr/share/skype/lang. It works fine together with the current versions of available Skype clients for Linux, but there is a potential future issue: If a future version of the Skype client includes a translation in a language which is already installed via a skype-translation-* package, that translation won't be installed, since package files with the same names exist already. This is not the intention with skype-translation; its purpose is to provide translations that are not bundled with the Skype client.

My idea for a solution is to let skype-translation-* install the files somewhere else (in /usr/share/skype-translation) and put symlinks in /usr/share/skype/lang using maintainer scripts. That way, if a translation already installed by skype-translation-* is added to a future version of the Skype client, the symlinks will be overwritten, and the bundled translation will be used instead. Attached please find examples of the maintainer scripts I have in mind.

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

I got some feedback on IRC. One thing pointed out was that the skype dependencies are not appropriate, since skype is not available in the ordinary archive. So I made a couple of adjustments:

* Translation files now installed in /usr/share/skype/lang/transifex
* skype dependencies dropped

It was also suggested that the whole symlink idea is hackish. Well, basically I agree. The reason why I still propose this solution is that we don't have access to debian/control in the Skype package which is made available on the Skype web site, so the better way - conflicts fields in debian/control - is closed.

We hope of course that more translations will be bundled with the Skype client in future versions. The purpose of this package is to make it easy for Ubuntu users to use existing non-official Skype translations in the meantime. Personally I believe that the current proposal serves that purpose in a reasonable way.

Updated the utopic package at
https://launchpad.net/~gunnarhj/+archive/skype-translation

Revision history for this message
Robie Basak (racb) wrote :

Gunnar,

Thank you for working on this.

I understand the reasons why packaging this is tough. For the same reasons I'm not comfortable uploading this as-is. I'll try and explain the reasons so that we can start a public discussion. If we can get consensus from other Ubuntu developers on the best way to handle some of these issues, then hopefully this can move forward.

0. Thank you for sorting out the licensing question with upstream. Note though that the website says "...under the terms of the GPLv3." and does not say "or later". So shouldn't debian/copyright say GPL-3 and not GPL-3+? If so, the "at your option" part of debian/copyright will need to be fixed, too.

1. I can't think of any mechanism better than the symlink solution and nor can I think of any operational reason why this would be a problem. But I'd like a wider Ubuntu developer audience to publicly confirm that this sounds reasonable before I'm comfortable uploading this. I suggest that we try and get this consensus first, so you don't waste time if this approach is a problem.

2. Why have you not used version "3.0 (quilt)" packaging?

3. Since there isn't a straight download from upstream that gives you the contents of the packaging's orig tarball, please add a debian/README.source that describes how to get the required files from upstream and regenerate the orig tarball. See: http://people.canonical.com/~cjwatson/ubuntu-policy/policy.html/ch-source.html#s-readmesource

3b. Presumably upstream don't have "releases" as such, so how will versioning work? I think that maybe you need to note the date and time you downloaded from upstream - either as part of your process in README.source so it ends up in the tree, or perhaps by embedding a timestamp in the version number?

4. Many files in debian/ look essentially generated - they are all in the same form, with only minor changes in each one. To make review easier and reduce the potential for mistakes, can these be generated as part of the package build from a table of provided translations instead? This would reduce review of 27 files to just 3 templates and a table.

5. Can I suggest an "Enhances: skype" type field on the binary packages? http://people.canonical.com/~cjwatson/ubuntu-policy/policy.html/ch-relationships.html#s-binarydeps suggests to me that this is suitable. This would be an easier change to make if you were to template debian/control to read from a table as well :)

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Thanks, Robie, for your feedback!

I have replaced the symlink idea, aimed at preventing possible future file conflicts, with the use of dpkg-divert, as suggested by Adam Conrad on IRC.

http://irclogs.ubuntu.com/2014/06/03/%23ubuntu-devel.html#t15:52

Other changes:

* As you suggested, I removed the 27 debian/skype-translation-* files
  and let instead debian/rules create them when building.

* Added debian/README.source which explains the simple nature of this
  package. ;) It also mentions the reasons why I propose the native
  source package format.

* Changed debian/copyright so it refers to GPL-3 instead of GPL-3+.

So far I haven't added "Enhances: skype" to the binaries. In a previous proposal I had "Depends: skype", but Iain Lane pointed out that you shouldn't let a package depend on packages that are not available in the ordinary archive. I suppose that objection would apply to "Enhances" too.

The latest version of the proposed package is available at
https://launchpad.net/~gunnarhj/+archive/skype-translation

Hopefully it's now in a shape that makes it acceptable for upload. Please let me know if there still is anything that ought to be changed.

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Hmm.. Further testing made me discover a mistake.

For the dpkg-divert commands in the preinst and postrm scripts I followed "man dpkg-divert". They were both run unconditionally.

However, when reinstalling one of the skype-translation-* binaries, I noticed that the diversion was removed, since the dpkg-divert command in the postrm of the overwritten package was run after the new install.

Not good.

Found the solution in this manual:
https://www.debian.org/doc/debian-policy/ap-pkg-diversions.html

So in the latest version there is a condition that controls when the dpkg-divert command in a postrm script is run.

Revision history for this message
Iain Lane (laney) wrote :

The packaging looks good now. I think the divert trick will work, but I didn't check it out yet.

I think there may still be a problem with the licensing though. I went to <http://sourceforge.net/projects/skypeinyourlang/files/README.txt/download> and found the line

  Attributions:
Some files were "rescued" from various corners of the web and freely available. If at all possible, the sources for such files are listed below. If the translation is yours and you object to it being here, please let us know and we'll remove it.

This sounds a bit dubious to me - where did you find evidence for the GPL-3 that's mentioned in d/copyright?

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Hmm.. I pointed out the license ambiguity, and one thing they did as a result was adding the GPL license to

http://sourceforge.net/p/skypeinyourlang/code/ci/master/tree/

But the most important evidence would be the wording they added to the overview pages, e.g.

https://www.transifex.com/projects/p/skype-translation-project/

I now realize that you need to be logged in to see it, and if you are it says:

"By contributing to this project, all translators agree to allow us to distribute both their .po files and .lang files under the terms of the GPLv3. Doing this simplifies the work of downstream package maintainers who wish to include the translations in various Linux distributions."

Revision history for this message
Iain Lane (laney) wrote :

Did you get all of these files from transifex and not the sourceforge page?

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Yes, at Transifex, where the latest files are available.

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

As regards the license, before they added the statement quoted in comment #8, they announced their intention to do so, giving previous translators an opportunity to object.

https://www.transifex.com/projects/p/skype-translation-project/announcements/

Revision history for this message
Iain Lane (laney) wrote :

Would you please make the package clean itself up properly? The generated files (*.preinst, *.postrm, *.install) aren't removed currently.

Not a blocker, so sponsored. An archive admin will have to give their opinion on the license - whether this notice period is good enough.

Changed in ubuntu:
status: In Progress → Fix Committed
Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Thanks Iain!

I made yet another upload to the PPA to address the clean up issue.

Even if it may not be a policy requirement, I took the opportunity to make a related change: Previously I let the binary target rename files and generate new ones directly in the parent directory. Now those renamed/generated files are put in debian/t_files instead, and that directory is also removed in the clean target:

override_dh_clean:
        cd debian ; \
        rm -rf t_files ; \
        rm -f *.install *.preinst *.postrm
        dh_clean

Possibly the current package in the NEW queue should be replaced with the last PPA package.

Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

Upload to universe rejected:

https://lists.ubuntu.com/archives/ubuntu-archive/2014-July/047950.html

This new license aspect needs to be resolved one way or the other. Unsubscribing ubuntu-sponsors for now.

Changed in ubuntu:
status: Fix Committed → New
Revision history for this message
Gunnar Hjalmarsson (gunnarhj) wrote :

The request in this bug report is obsolete since long.

Changed in ubuntu:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.