Bugzilla – Bug 714542
improve services to provide better support to deb builds
Last modified: 2011-11-14 13:59:15 UTC
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0 actually is possible to download from scm. it would be nice if we could create a service (or an option for download_scm service) so that we can compleatly rename downloaded tarballs excluding the scm version appendix. That is really usefull, if our "debian" folder belongs to such scm service. let me explain better i set up a tar_scm like this: <service name="tar_scm"> <param name="url">git://lxde.git.sourceforge.net/gitroot/lxde/lxterminal/debian</param> <param name="scm">git</param> </service> <service name="recompress"> <param name="file">*debian*.tar</param> <param name="compression">bz2</param> </service> as today, the file i'll get is "debian-######.tar.bz2" where ###### is replaced by the git commit number. at this point i cannot use this tarball to generate my deb because the file MUST be called "debian.tar.bz2" and that's it. as today, i cannot do that with any services. also the "set_version" service should be improved to edit "changelog" file inside the debian tarball/folder because the final deb version is taken from the last entry of "changelog" file inside the debian tarball/folder still using lxterminal as example, as today the changelog file contains as last entry: lxterminal (0.1.11-1) unstable; urgency=low [ Andrea Florio ] * New upstream release - gtk3 ready - Translations update - fixed upstream bug 3372388 and 3376800 - fixed failures because of deprecated vte API -- Andrea Florio <andrea@opensuse.org> Thu, 25 Aug 2011 18:12:52 +0800 so the final deb will be: lxterminal_0.1.11-1_<arch>.deb also, set_version only works on the .dsc file (and there it work perfectly) that produce a miss match between the deb version and the .origin file that in this case is: lxterminal_0.1.11.git.1314253874.orig.tar.gz at the end, set_version should be able to detect a debian.tar.bz2, and edit the most recent entry in the changelog file (that is basically the first line in the file) and change the version there as well. i hope i well explained my self, you can use X11:lxde:git/lxterminal as an example (note how i have to manually upload a debian.tar.bz2 and i cannot use the commented part in the _service file) thanks Reproducible: Always
I would like to see this working, but i don't see an easy way to identifiy the filename and then replace it be the filename form the tar_scm service. What do you think about a solution like adding ${Version} to the place where we want to write the version and replace this string by the actual version? With that change it would be possible to build debian packages, but the version of the package would still be wrong. To get also the right version for the package, one could do the same thing for a debian.changelog file, where one adds a dummy changelog entry with ${Version} as version. What do you think about this?
Created attachment 455178 [details] Patch to replace ${Version} by the actual version in .dsc and .changelog files