📄 qtopia.spec
字号:
%define pfx /opt/freescale/rootfs/%{_target_cpu}Summary : qtopia palmtop environmentName : qtopia-freeVersion : 2.2.0Release : 1License : GPLVendor : FreescalePackager : John RigbyGroup : System Environment/GraphicsSource : %{name}-src-%{version}.tar.gz# These patches can be platform specific but must be safe for application# on all platforms.Patch1 : qtopia-free-2.2.0-0001-24Aug2006-ppc-qconfig.patchPatch2 : qtopia-free-2.2.0-0002-24Aug2006-ppc-libavcodec-bigendian.patchPatch3 : qtopia-free-2.2.0-0003-24Aug2006-qconfig-cursor-mouse.patchPatch4 : qtopia-free-2.2.0-0004-24Aug2006-rgb555-and-swapped-byte-video.patchPatch5 : qtopia-free-2.2.0-0005-24Aug2006-mpc5200-nogetospace.patchPatch6 : qtopia-free-2.2.0-0006-24Aug2006-native-endian-audio.patchPatch7 : qtopia-free-2.2.0-0007-24Aug2006-standard-touchscreen.patchPatch8 : qtopia-free-2.2.0-0008-24Aug2006-mxc-touchscreen.patchPatch9 : qtopia-free-2.2.0-0009-24Aug2006-mx21-buttons.patchPatch10 : qtopia-free-2.2.0-0010-24Aug2006-dfltmouse-tpanel-and-screensaver.patchPatch11 : qtopia-free-2.2.0-0011-24Aug2006-mxc-platform.patchPatch12 : qtopia-free-2.2.0-0012-24Aug2006-mpc5200-platform.patchPatch13 : qtopia-free-2.2.0-0013-08Sep2006-mx21-platform.patchPatch14 : qtopia-free-2.2.0-0014-29Aug2006-gcc-4.1.1.patchPatch15 : qtopia-free-2.2.0-0015-05Sep2006-keep_cursor.patchPatch16 : qtopia-free-2.2.0-taskbar.patchPatch17 : qtopia-free-2.2.0-linux_input_hPatch18 : qtopia-free-2.2.0-ppc64-compiler-include-2.patchPatch19 : qtopia-free-2.2.0-headers-2.patchBuildRoot : %{_tmppath}/%{name}Prefix : %{pfx}%Description%{summary}%Prep%setup -n %{name}-%{version}%patch1 -p1%patch2 -p1%patch3 -p1%patch4 -p1%patch5 -p1%patch6 -p1%patch7 -p1%patch8 -p1%patch9 -p1%patch10 -p1%patch11 -p1%patch12 -p1%patch13 -p1%patch14 -p1%patch15 -p1%patch16 -p1%patch17 -p1%patch18 -p1%patch19 -p1# Define QWS_PLATFORM and specifiy extra qte and qpe configure optionscase "$PLATFORM" in imx31ads | imx27ads) export QWS_PLATFORM=mxc export EXTRA_QTE_CONFIG= export EXTRA_QPE_CONFIG="-edition pda -displaysize 240x320" export QWS_KEYBOARD=USB:/dev/input/event0 ;; imx21ads) export QWS_PLATFORM=mx21 export EXTRA_QTE_CONFIG= export EXTRA_QPE_CONFIG="-edition pda -displaysize 240x320" export QWS_KEYBOARD=Buttons ;; mpc5200) export QWS_PLATFORM=mpc5200 export EXTRA_QTE_CONFIG="-rgb555 -swapbytes_video" export EXTRA_QPE_CONFIG="-rgb555 -swapbytes_video" export QWS_KEYBOARD=TTY ;; qs875s) export QWS_PLATFORM=qs875s ;;esac# Use toolchain flags when not spoofingexport EXTRA_CFLAGS=$TOOLCHAIN_CFLAGSexport EXTRA_LDFLAGS=$TOOLCHAIN_CFLAGSecho export EXTRA_QPE_CONFIG=\"$EXTRA_QPE_CONFIG\" > ltibqtopiaconfigecho export EXTRA_QTE_CONFIG=\"$EXTRA_QTE_CONFIG\" >> ltibqtopiaconfigecho export EXTRA_CFLAGS=\"$EXTRA_CFLAGS\" >> ltibqtopiaconfigecho export EXTRA_LDFLAGS=\"$EXTRA_LDFLAGS\" >> ltibqtopiaconfigecho export PKG_QTOPIA_WANT_MOUSE=\"$PKG_QTOPIA_WANT_MOUSE\" >> ltibqtopiaconfigecho export QWS_PLATFORM=$QWS_PLATFORM >> ltibqtopiaconfigecho export QWS_KEYBOARD=\"$QWS_KEYBOARD\" >> ltibqtopiaconfigecho 'Note that e2fsprogs-devel, libjpeg/libjpeg-devel, uuid-dev/libuuid,'echo 'and gettext (msgfmt) packages are required on the host.'# tmake and qmake config# use linux-arm-g++ configuration as a starting pointcp -r tmake/lib/qws/linux-arm-g++ tmake/lib/qws/linux-$QWS_PLATFORM-g++cp -r qtopia/mkspecs/qws/linux-arm-g++ qtopia/mkspecs/qws/linux-$QWS_PLATFORM-g++# create generic q/s/l/q/custom-linux-$QWS_PLATFORM-g++.* files if not created by a patchtest -e qtopia/src/libraries/qtopia/custom-linux-$QWS_PLATFORM-g++.h \ || cp qtopia/src/libraries/qtopia/custom-linux-generic-g++.h qtopia/src/libraries/qtopia/custom-linux-$QWS_PLATFORM-g++.htest -e qtopia/src/libraries/qtopia/custom-linux-$QWS_PLATFORM-g++.cpp \ || cp qtopia/src/libraries/qtopia/custom-linux-generic-g++.cpp qtopia/src/libraries/qtopia/custom-linux-$QWS_PLATFORM-g++.cpp%Buildsource ./ltibqtopiaconfigexport UC_QWS_PLATFORM=`perl -e "print uc $QWS_PLATFORM"`# substitututions for cross buildperl -p -i -e 's,arm-linux-,$ENV{TOOLCHAIN_PREFIX},; s,^((?:QMAKE|TMAKE)_CFLAGS\s+).*,$1 = -pipe -I. -I $ENV{DEV_IMAGE}/usr/include -DQT_QWS_$ENV{UC_QWS_PLATFORM} $ENV{EXTRA_CFLAGS},; s,^((?:QMAKE|TMAKE)_LFLAGS\s+).*,$1 = -L $ENV{DEV_IMAGE}/usr/lib $ENV{EXTRA_LDFLAGS},; s,^((?:QMAKE|TMAKE)_CXXFLAGS\s+.*),$1 $ENV{EXTRA_CFLAGS},; ' tmake/lib/qws/linux-$QWS_PLATFORM-g++/tmake.conf \ qtopia/mkspecs/qws/linux-$QWS_PLATFORM-g++/qmake.confexport PATH=$UNSPOOF_PATHecho yes | ./configure \ -qte "-platform linux-x86-g++ -xplatform linux-$QWS_PLATFORM-g++ \ -depths 16,32 -system-jpeg -no-opengl -no-xft -no-sm -no-qvfb -no-vnc \ ${EXTRA_QTE_CONFIG} \ -no-g++-exceptions -no-xft -embedded -qconfig qpe" \ -qpe "-platform linux-g++ -xplatform linux-$QWS_PLATFORM-g++ \ -arch $GNUTARCH -no-qvfb -with-libffmpeg -qconfig qpe \ ${EXTRA_QPE_CONFIG} \ -l jpeg -l uuid"./qtopia/scripts/buildQtopiaTools -checkmake# Cache the host tools to save time after the first build.if [ "$PKG_QTOPIA_WANT_CACHE_HOST_TOOLS" = "y" ]; then # This will save tools in ~/.qtopia_220_cache ./qtopia/scripts/cacheQtopiaToolsfi%Installsource ./ltibqtopiaconfigexport PATH=$UNSPOOF_PATHecho creating qtopia install imagemake install > /dev/nullrm -rf $RPM_BUILD_ROOTinstall -d $RPM_BUILD_ROOT/%{pfx}cp -a qtopia/image/opt $RPM_BUILD_ROOT/%{pfx}install -d $RPM_BUILD_ROOT/%{pfx}/etc/rc.d/init.d#initscript=$RPM_BUILD_ROOT/%{pfx}/etc/rc.d/rc.qpeinitscript=$RPM_BUILD_ROOT/%{pfx}/etc/rc.d/init.d/qtopiacat > $initscript << EOF#!/bin/sh## Copyright 2006, Freescale Semiconductor Inc.## Set QPE_USE_MOUSE to "y" to use mouse # otherwise touchscreen will be used#HOME=/rootQPE_USE_MOUSE="$PKG_QTOPIA_WANT_MOUSE"export HOME QPE_USE_MOUSE# make sure usb input, mouse, and ts nodes existmkdir -p /dev/inputtest -c /dev/input/mice || mknod /dev/input/mice c 13 63test -c /dev/ts || mknod /dev/ts c 11 0QTDIR=/opt/QtopiaQPEDIR=/opt/QtopiaLD_LIBRARY_PATH=/opt/Qtopia/libPATH=/opt/Qtopia/bin:\$PATHQWS_SIZE="1024x768"export QTDIR QPEDIR LD_LIBRARY_PATH PATH QWS_SIZEQWS_KEYBOARD="$QWS_KEYBOARD"export QWS_KEYBOARDif [ _\$QPE_USE_MOUSE = "_y" ]thenQWS_MOUSE_PROTO="USB:/dev/input/mice"export QWS_MOUSE_PROTO# overide pointer calibration when using mousetouch /etc/pointercal else# changing the :/dev/ts part will have no effect as it # is hardcoded in the sourceQWS_MOUSE_PROTO="TPanel:/dev/ts"# hide cursor when using touchscreenQWS_HIDE_CURSOR="Yes"export QWS_MOUSE_PROTO QWS_HIDE_CURSORif [ -c /dev/tty0 ]; thenecho -e -n '\033[?25l' > /dev/tty0echo -e -n '\033[9]' > /dev/tty0fi# remove pointercal if it is empty[ -f /etc/pointercal -a ! -s /etc/pointercal ] && rm -f /etc/pointercalficd /opt/Qtopia/bin./qpe > /dev/null 2>&1 &#./qpe &EOFchmod 744 $initscriptecho '1' > $RPM_BUILD_ROOT/%{pfx}/etc/firstuse# setup Storage.confinstall -d $RPM_BUILD_ROOT/%{pfx}/root/Settingscat > $RPM_BUILD_ROOT/%{pfx}/root/Settings/Storage.conf << EOF[rootfs]Name = Internal StorageRemoveable = 0[/dev/sda1]Name = USB Flash DriveRemovable = 1EOF# make sure the strip scripts are run crossexport PATH=$SPOOF_PATH%Cleanrm -rf $RPM_BUILD_ROOT%Files%defattr(-,root,root)%{pfx}/*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -