Looks like a typo, should be diffutils-x86? /Carsten
2011/1/19 Austin Zhang <[email protected]>: > Hi, > Adding new package deffutils-x86 in project Trunk:Testing. Please review and > accept ASAP. > > Justification for this new package: > > Fixed BMC#12113 - speedrpm ARM cross compiling > > Thank You, > Austin Zhang > > [This message was auto-generated] > > --- > > Request #12289: > > submit: devel:base/diffutils-x86(r1)(update) -> Trunk:Testing/deffutils-x86 > > > Message: > Fixed BMC#12113 - speedrpm ARM cross compiling > > State: new 2011-01-19T00:16:27 austin > Comment: None > > > This is a NEW package in Trunk:Testing project. > The files in the new package: > diffutils-x86/ > |__ baselibs.conf > |__ binaries_to_prepare > |__ diffutils-x86.changes > |__ diffutils-x86.spec > > The content of the spec file, diffutils-x86.spec: > =================================================================== > %define __strip /bin/true > %define _build_name_fmt > %%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.dontuse.rpm > # meta spec file for cross-chroot setup > # > # Copyright (c) 2010 Jan-Simon Möller ([email protected]) > # License: GPLv2 > > ## README > ## > ## In this file: > ## 1) define name of original package (see oldname) > ## > ## File binaries_to_prepare: > ## 2) fill in the binaries which need to be available to the foreign chroot > ## e.g. /bin/bash - this will make a i586 bash available > ## > > #\/\/\/\/\/\/\/\/\/\/ > ### only changes here > # > # The original package name > %define oldname diffutils > # > # The architectures this meta package is built on > %define myexclusive i586 > # > ### no changes needed below this line > # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > > > ### no changes needed > # > # The new package name - convention is %oldname-x86 > %define newname %{oldname}-x86 > # > # The version of the original package is read from its rpm db info > %{expand:%%define newversion %(rpm -q --qf '[%{version}]' %oldname)} > # > # The license of the original package is read from its rpm db info > %{expand:%%define newlicense %(rpm -q --qf '[%{license}]' %oldname)} > # > # The group information of the original package > %{expand:%%define newgroup %(rpm -q --qf '[%{group}]' %oldname)} > # > # The summary of the original package > %{expand:%%define newsummary %(rpm -q --qf '[%{summary} - special version ]' > %oldname)} > # > # New rpath to add to files on request > %define newrpath "/emul/ia32-linux/lib:/emul/ia32-linux/usr/lib" > %define newinterpreter /emul/ia32-linux/lib/ld-linux.so.2 > # > # Some automatic checks for availability > # binaries_to_prepare > %define binaries_to_prepare %{expand:%(test -e > %{_sourcedir}/binaries_to_prepare && echo 1 || echo 0)} > %define libraries_to_prepare %{expand:%(test -e > %{_sourcedir}/libraries_to_prepare && echo 1 || echo 0)} > %define special_script %{expand:%(test -e %{_sourcedir}/special_script && > echo 1 || echo 0)} > %define files_to_ignore %{expand:%(test -e %{_sourcedir}/files_to_ignore && > echo 1 || echo 0)} > # > ### no changes needed below this line > %define nodebug 1 > > > Name: %newname > Version: %newversion > Release: 7 > AutoReqProv: 0 > Provides: %newname > BuildRequires: rpm grep tar patchelf sed -rpmlint-Moblin -rpmlint-mini > -post-build-checks > BuildRequires: %oldname > Requires: %oldname > # no auto requirements - they're generated > License: %newlicense > Group: %newgroup > ExclusiveArch: %myexclusive > Summary: Don't use! %newsummary > BuildRoot: %{_tmppath}/%{name}-%{version}-build > %if %binaries_to_prepare > Source10: binaries_to_prepare > %endif > %if %libraries_to_prepare > Source20: libraries_to_prepare > %endif > %if %special_script > Source30: special_script > %endif > %if %files_to_ignore > Source40: files_to_ignore > %endif > > %description > This is a meta-package providing %name. > It is not intended to be used on a normal system/device! > Original description: > %{expand:%(rpm -q --qf '[%{description}]' %oldname)} > > > > %prep > > %build > > %install > %if %nodebug > set +x > %endif > mkdir -p %buildroot > rpm -ql %oldname > filestoinclude1 > > # ignore files - construct sed script > sedtmp="sedtmp.$$" > echo "s#^%{_docdir}.*##" >> $sedtmp > echo "s#^%{_mandir}.*##" >> $sedtmp > echo "s#^%{_infodir}.*##" >> $sedtmp > > # evaluate files_to_ignore > %if %files_to_ignore > for i in `cat %{_sourcedir}/files_to_ignore`; do > echo "Ignoring file: $i" > echo "s#^${i}.*##" >> $sedtmp > done > %endif > > # ignore default filesystem files > for i in `rpm -ql filesystem`; do > echo "s#^${i}\$##" >> $sedtmp > done > > #finish up > echo "/^\$/d" >> $sedtmp > > #execute > sed -f $sedtmp -i filestoinclude1 > > # tar copy to buildroot > tar -T filestoinclude1 -cpf - | ( cd %buildroot && tar -xpf - ) > rm filestoinclude1 > > # Todo: refractor > # no directories, in filelist > find %buildroot > filestoinclude2 > cat filestoinclude2 | sed -e "s#%{buildroot}##g" | uniq | sort > > filestoinclude1 > for i in `cat filestoinclude1`; do > # no directories > if ! test -d %buildroot/$i ; then > # > echo "$i" >> filestoinclude > fi > done > rm filestoinclude1 > rm filestoinclude2 > > # patchelf the binaries > %if %binaries_to_prepare > echo "" > echo "[ .oO Preparing binaries Oo. ]" > echo "" > mkdir -p %buildroot/%{_prefix}/share/applybinary/ > for binary in `cat %{_sourcedir}/binaries_to_prepare` ; do > echo "Processing binary: $binary" > tmp="tmp.$$" > %if %nodebug > debug= > %else > debug="--debug" > %endif > ldd $binary | grep -v "ld-linux" | grep -v "linux-gate" | sed -e > "s#=.*##g" -e "s#^\t*##g" > $tmp > deps=$(for i in `cat $tmp` ; do rpm -q --whatprovides "$i" | grep -v "no > package"; done) > cleandeps=$(echo "$cleandeps" "$deps" | sort | uniq | sed -e "s/-[0-9].*//g") > patchelf $debug --set-rpath %newrpath %buildroot/$binary > patchelf $debug --set-interpreter %newinterpreter %buildroot/$binary > patchelf $debug --set-rpath %newrpath %buildroot/$binary > patchelf $debug --set-interpreter %newinterpreter %buildroot/$binary > if test -n "$debug"; then > patchelf --print-rpath %buildroot/$binary > patchelf --print-interpreter %buildroot/$binary > fi > echo "$binary" >> %buildroot/%{_prefix}/share/applybinary/%name > echo "" > done > %endif > > # stub > %if %libraries_to_prepare > echo "" > echo "[ .oO Preparing libraries Oo. ]" > echo "" > %endif > > # stub > %if %special_script > echo "" > echo "[ .oO Executing special script Oo. ]" > echo "" > %endif > > # lets start the shellquote nightmare ;) > shellquote() > { > for arg; do > arg=${arg//\\/\\\\} > # arg=${arg//\$/\$} # already needs quoting ;( > # arg=${arg/\"/\\\"} # dito > # arg=${arg//\`/\`} # dito > arg=${arg//\\|/\|} > arg=${arg//\\|/|} > echo "$arg" > done > } > > > echo "Creating baselibs_new.conf" > echo "" > rm -rRf /tmp/baselibs_new.conf || true > > shellquote "%{name}" >> /tmp/baselibs_new.conf > shellquote " targettype x86 block!" >> /tmp/baselibs_new.conf > shellquote " targettype 32bit block!" >> /tmp/baselibs_new.conf > shellquote " targettype arm autoreqprov off" >> /tmp/baselibs_new.conf > > # automagically fill in basic requirements > for i in $cleandeps ; do > shellquote " targettype arm requires \"${i}-x86-arm\"" >> > /tmp/baselibs_new.conf > done > > # we require the native version > shellquote " targettype arm requires \"%{oldname}\" " >> > /tmp/baselibs_new.conf > shellquote " targettype arm prefix /emul/ia32-linux" >> > /tmp/baselibs_new.conf > shellquote " targettype arm extension -arm" >> /tmp/baselibs_new.conf > shellquote " targettype arm +/" >> /tmp/baselibs_new.conf > > # safe space and download time > shellquote " targettype arm -/%{_mandir}" >> /tmp/baselibs_new.conf > shellquote " targettype arm -/%{_docdir}" >> /tmp/baselibs_new.conf > shellquote " targettype arm requires \"meego-accelerator\"" >> > /tmp/baselibs_new.conf > > # replace native with x86 binaries as defined in file > %if %binaries_to_prepare > # Todo: error handling if .orig-arm is present > for binary in `cat %{_sourcedir}/binaries_to_prepare` ; do > shellquote " targettype arm post \" if test -e ${binary}.orig-arm; then > \" " >> /tmp/baselibs_new.conf > shellquote " targettype arm post \" echo \"${binary}.orig-arm already > present - skipping.\" \" " >> /tmp/baselibs_new.conf > shellquote " targettype arm post \" else \" " >> /tmp/baselibs_new.conf > shellquote " targettype arm post \" mv ${binary} ${binary}.orig-arm ; > ln -s <prefix>${binary} ${binary} \"" >> /tmp/baselibs_new.conf > shellquote " targettype arm post \" fi \" " >> /tmp/baselibs_new.conf > done > > shellquote " " >> /tmp/baselibs_new.conf > for binary in `cat %{_sourcedir}/binaries_to_prepare` ; do > > shellquote " targettype arm preun \" if test -e ${binary}.orig-arm ; then > \"" >> /tmp/baselibs_new.conf > shellquote " targettype arm preun \" rm -f ${binary} ; mv > ${binary}.orig-arm ${binary}\"" >> /tmp/baselibs_new.conf > shellquote " targettype arm preun \" fi \"" >> /tmp/baselibs_new.conf > > done > %endif > > cat /tmp/baselibs_new.conf >> %{_sourcedir}/baselibs.conf > > echo > "################################################################################" > echo "" > echo "" > echo "REQUIREMENTS:" > grep "requires" %{_sourcedir}/baselibs.conf | sort | uniq | sed -e "s# > targettype.*requires ##g" | while read k ; do > echo "CBinstall: $k" > done > echo "Runscripts: %{newname}-arm" > echo "" > echo "" > echo > "################################################################################" > set -x > > %clean > rm -rf $RPM_BUILD_ROOT > > %files -f filestoinclude > %defattr(-,root,root) > %if %binaries_to_prepare > /%{_prefix}/share/applybinary/%name > %endif > > =================================================================== > > _______________________________________________ > MeeGo-commits mailing list > [email protected] > http://lists.meego.com/listinfo/meego-commits > _______________________________________________ MeeGo-packaging mailing list [email protected] http://lists.meego.com/listinfo/meego-packaging
