3 # Ruby script for generating amaroK tarball releases from KDE SVN
5 # (c) 2005 Mark Kretschmann <markey@web.de>
6 # (c) 2006-2007 Tom Albers <tomalbers@kde.nl>
7 # Some parts of this code taken from cvs2dist
8 # License: GNU General Public License V2
13 version = "0.9.0-beta1"
16 svnbase = "svn+ssh://toma@svn.kde.org/home/kde"
17 svnroot = "#{svnbase}/trunk"
20 addPo = [ "plasma_applet_rsibreak.po" ]
22 #----------------------------------------------------------------
24 folder = name + "-" + version
25 addPo = [name] + addPo
26 addDocs = [name] + addDocs
28 puts "Fetching #{egmodule}/#{name}..."
29 # Remove old folder, if exists
30 `rm -rf #{folder} 2> /dev/null`
31 `rm -rf folder.tar.bz2 2> /dev/null`
36 # Do the main checkouts.
37 `svn co #{svnroot}/extragear/#{egmodule}/#{name}`
39 `svn co #{svnroot}/extragear/#{egmodule}/doc/#{name} doc`
41 # Move them to the toplevel
44 `find -name ".svn" | xargs rm -rf`
50 puts "Fetching l10n docs for #{egmodule}/#{name}...\n"
53 i18nlangs = `svn cat #{svnroot}/l10n-kde4/subdirs`
58 i18nlangsCleaned += [l];
61 i18nlangs = i18nlangsCleaned
73 docdirname = "l10n-kde4/#{lang}/docs/extragear-utils/#{dg}"
75 puts "Checking if #{dg} has translated documentation...\n"
76 `svn co -q #{svnroot}/#{docdirname} > /dev/null 2>&1`
78 next unless FileTest.exists?( dg )
79 print "Copying #{lang}'s #{dg} documentation over... "
80 `cp -R #{dg}/ ../doc/#{lang}_#{dg}`
82 # we don't want KDE_DOCS = AUTO, cause that makes the
83 # build system assume that the name of the app is the
84 # same as the name of the dir the Makefile.am is in.
85 # Instead, we explicitly pass the name..
86 makefile = File.new( "../doc/#{lang}_#{dg}/Makefile.am", File::CREAT | File::RDWR | File::TRUNC )
87 makefile << "KDE_LANG = #{lang}\n"
88 makefile << "KDE_DOCS = #{dg}\n"
96 puts "Fetching l10n po for #{egmodule}/#{name}...\n"
99 Dir.chdir( ".." ) # in egmodule now
104 topmakefile = File.new( "po/CMakeLists.txt", File::CREAT | File::RDWR | File::TRUNC )
105 for lang in i18nlangs
111 pofilename = "l10n-kde4/#{lang}/messages/extragear-utils/#{dg}.po"
112 `svn cat #{svnroot}/#{pofilename} 2> /dev/null | tee l10n/#{dg}.po`
113 next if FileTest.size( "l10n/#{dg}.po" ) == 0
115 if !FileTest.exist?( dest )
119 print "Copying #{lang}'s #{dg}.po over .. "
120 `mv l10n/#{dg}.po #{dest}`
123 makefile = File.new( "#{dest}/CMakeLists.txt", File::CREAT | File::RDWR | File::TRUNC )
124 makefile << "kde4_create_po_files()\n"
125 makefile << "kde4_install_po_files(#{lang})\n"
128 topmakefile << "add_subdirectory(#{lang})\n"
136 # add l10n to compilation.
137 `echo "find_package(Msgfmt REQUIRED)" >> CMakeLists.txt`
138 `echo "add_subdirectory( po )" >> CMakeLists.txt`
139 `echo "add_subdirectory( doc )" >> CMakeLists.txt`
142 `find -name ".svn" | xargs rm -rf`
143 `find -name "Messages.sh" | xargs rm -rf`
144 `/bin/rm release_rsibreak.rb makechangelog icons/artwork-v?.tar.gz rsibreak.kdevelop`
147 puts "Compressing.. "
148 Dir.chdir( ".." ) # root folder
149 `tar -jcf #{folder}.tar.bz2 #{folder}`