http://wiki.meego.com/Packaging/Guidelines#Handling_Locale_Files suggests a way of having a RPM .spec %files macro take a dynamically-generated file "%{name}.lang". %files -f %{name}.lang
This useful "-f" syntax is also suggested here: http://www.techrepublic.com/article/making-rpms-part-4-finishing-the-spec-file/5033542 Unfortunately, whenever I use this form in MeeGo, the only output I get is an error message "unsupported stanza format": $ /usr/lib64/madde/linux-x86_64/bin/mad rrpmbuild -bb /home/npm/appup/qmltube/qtc_packaging/meego.spec '%files -f /tmp/%name-qml.files': unsupported stanza format. $ /usr/lib64/madde/linux-x86_64/bin/mad rrpmbuild -bb /home/npm/appup/qmltube/qtc_packaging/meego.spec '%files -f %{buildroot}/qmltube-qml.files': unsupported stanza format. $ /usr/lib64/madde/linux-x86_64/bin/mad rrpmbuild -bb /home/npm/appup/qmltube/qtc_packaging/meego.spec '%files -f /dev/null': unsupported stanza format. Googling the source-code, I didn't see any obvious code to process "-f": http://meego.gitorious.org/meego-developer-tools/madde/blobs/ffdd033010ed147b42e6b08cb43966499c0fbf85/src/madlib/rrpmbuild.pl : ................... while (1) { chomp, die "'$_': unsupported stanza format.\n" unless /^\s*%(\w+)\s*(\S*?)\s*$/; if ($1 eq 'package') { push @pkgnames, $2; readpackage ($packages{$2} = [ [ ], { } ]); } elsif ($1 eq 'description') { readlines ($description{$2} = [ ]); } elsif ($1 eq 'prep') { readignore \@prep; } elsif ($1 eq 'build') { readlines \@build; } elsif ($1 eq 'install') { readlines \@install; } elsif ($1 eq 'clean') { readlines \@clean; } elsif ($1 eq 'files') { readfiles ($files{$2} = [ ]); } elsif ($1 eq 'pre') { readlines ($pre{$2} = [ ]); } elsif ($1 eq 'post') { readlines ($post{$2} = [ ]); } elsif ($1 eq 'preun') { readlines ($preun{$2} = [ ]); } elsif ($1 eq 'postun') { readlines ($postun{$2} = [ ]); } elsif ($1 eq 'changelog') { readlines \@changelog; } else { chomp; die "'$1': unsupported stanza macro.\n"; } last if eof I; }; ................... I'm using Qt Creator 2.3RC and http://download.meego.com/live/Tools:/SDK:/Host/ versions of MeeGo SDK: madde-0.7.63-1.1.x86_64, meego-sdk-i586-toolchain-1.1-4.1.x86_64, meego-sdk-qt-devel-tools-4.7.2-3.1.x86_64, meego-1.2-sdk-ia32-toolchain-1.0-6.1.x86_64, meego-sdk-libqtwebkit4-4.7.2-3.1.x86_64, meego-sdk-ia32-5-1.1.noarch, meego-sdk-5-1.1.noarch, meego-sdk-common-5-1.1.noarch, meego-sdk-libqtxml4-4.7.2-3.1.x86_64, meego-sdk-qt-qmake-4.7.2-3.1.x86_64, meego-sdk-armv7l-5-1.1.noarch Niels http://nielsmayer.com PS: The compromise I came up with is to use the traditional form of the %files macro and enumerate the directories I want to include and use wildcards, e.g. "qml/*.qml" : http://ytd-meego.googlecode.com/svn/trunk/playground/qmltube/qtc_packaging/meego.spec The resulting MeeGo 1.2 RPM: http://nielsmayer.com/meego/qml/qmltube-1.11.1-1.i586.rpm (Harmattan: http://nielsmayer.com/meego/qml/qmltube_1.11.1_armel.deb ) However, the package that really needs "%files -f" is the .spec file that generated this monster: http://nielsmayer.com/meego/qml/qtzibit-0.1.0-1.i586.rpm ( http://code.google.com/p/qtzibit/ http://nielsmayer.com/meego/qml/qtzibit_0.1.0_armel.deb ) _______________________________________________ MeeGo-dev mailing list MeeGo-dev@meego.com http://lists.meego.com/listinfo/meego-dev http://wiki.meego.com/Mailing_list_guidelines