summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjk7744.park <jk7744.park@samsung.com>2015-10-24 14:23:48 +0900
committerjk7744.park <jk7744.park@samsung.com>2015-10-24 14:23:48 +0900
commit6bc3c5f6aead440965bcf7051eba3579ac923fb6 (patch)
tree81fb7c5543619aa3e1fc9104faba0ddb64248068
parentecd1ebb5f21d4516aa20ba69019ede42a49a3b00 (diff)
downloadlibpcre-x86-tizen_2.4_base.tar.gz
libpcre-x86-tizen_2.4_base.tar.bz2
libpcre-x86-tizen_2.4_base.zip
-rw-r--r--packaging/baselibs.conf2
-rw-r--r--packaging/libpcre-x86.changes34
-rw-r--r--packaging/libpcre-x86.spec340
3 files changed, 376 insertions, 0 deletions
diff --git a/packaging/baselibs.conf b/packaging/baselibs.conf
new file mode 100644
index 0000000..a279b90
--- /dev/null
+++ b/packaging/baselibs.conf
@@ -0,0 +1,2 @@
+arch i586 targets armv5tel:arm armv6l:arm armv7l:arm armv7hl:arm armv7nhl:arm
+arch x86_64 targets armv5tel:arm armv6l:arm armv7l:arm armv7hl:arm armv7nhl:arm
diff --git a/packaging/libpcre-x86.changes b/packaging/libpcre-x86.changes
new file mode 100644
index 0000000..3b9e96b
--- /dev/null
+++ b/packaging/libpcre-x86.changes
@@ -0,0 +1,34 @@
+* Sat Jun 28 2014 UkJung Kim <ujkim@samsung.com> - None
+- PROJECT: toolchains/libpcre-x86
+- COMMIT_ID: 2a1a7da7b6354ba6030401927ea375b71d023759
+- BRANCH: master
+- PATCHSET_REVISION: 2a1a7da7b6354ba6030401927ea375b71d023759
+- CHANGE_OWNER: \"UkJung Kim\" <ujkim@samsung.com>
+- PATCHSET_UPLOADER: \"UkJung Kim\" <ujkim@samsung.com>
+- CHANGE_URL: http://slp-info.sec.samsung.net/gerrit/534435
+- PATCHSET_REVISION: 2a1a7da7b6354ba6030401927ea375b71d023759
+- TAGGER: UkJung Kim <ujkim@samsung.com>
+- Gerrit patchset approval info:
+- Newton Lee <newton.lee@samsung.com> Code-Review : 2
+- Newton Lee <newton.lee@samsung.com> Verified : 1
+- CHANGE_SUBJECT: Merged x86_64 support to master
+
+- Merged x86_64 support to master
+
+* Wed Jun 28 12:00:00 KST 2014 - UkJung Kim <ujkim@samsung.com> - 1.0
+- Update to support x86_64
+
+* Fri Jul 6 14:30:00 KST 2012 - UkJung Kim <ujkim@samsung.com> - 1.0
+- Added and updated OBS-Accelerator-0.1.tar.bz2
+
+* Sun Apr 24 08:02:35 UTC 2011 - Jan-Simon Möller <jsmoeller@linuxfoundation.org> - 1.0
+- Add baselibs.conf to src.rpm
+
+* Mon Jan 3 21:03:00 UTC 2011 Carsten Munk <carsten@maemo.org> - 1.0
+- Add armv7hl and armv7nhl support, part of fix for BMC#12112
+
+* Mon May 3 22:27:34 UTC 2010 Jan-Simon Möller <jsmoeller@linuxfoundation.org> - 1.0
+- Update to armv7 crossbuild.
+
+* Tue Apr 20 17:03:30 UTC 2010 Jan-Simon Möller <jsmoeller@linuxfoundation.org> - 1.0
+- Initial version on meego.com
diff --git a/packaging/libpcre-x86.spec b/packaging/libpcre-x86.spec
new file mode 100644
index 0000000..4563a44
--- /dev/null
+++ b/packaging/libpcre-x86.spec
@@ -0,0 +1,340 @@
+%define release_prefix 9
+%define __strip /bin/true
+%define _build_name_fmt %%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.vanish.rpm
+# meta spec file for cross-chroot setup
+#
+# Copyright (c) 2009-2011 Martin Mohring (martin.mohring@opensuse.org)
+# Copyright (c) 2011 5eEcoSystems (info@5eecosystems.com)
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of the copyright owners, unless otherwise agreed
+# upon. The cross build accelerators as is, and modifications
+# and additions to the it, are licensed under the GPLv2.
+# In addition, the cross build accelerators are licensed together with
+# a package where they will be contained in
+# under the license of the prestine package (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+#\/\/\/\/\/\/\/\/\/\/
+### only changes here
+
+#
+# The original package name
+# e.g. qemu
+#
+%define oldname libpcre
+
+#
+# The architectures this meta package is built on
+# e.g. i586
+#
+%define myexclusive i586 x86_64
+
+#
+# The required package for building this package
+# This can be distribution dependent. Good start is:
+# e.g. rpm grep tar sed patchelf
+#
+BuildRequires: rpm grep tar sed patchelf
+
+#
+# Additional required packages needed in addition to those of original package
+# e.g. (usually empty) for an accelerator to be 100% compatible
+#
+#Requires: <usuallyemptlylist>
+
+### no changes needed below this line
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+### no changes needed
+
+# For a real accelerator, also the old packge is required for compatibility
+# pls change this only if you know what you do
+Requires: %oldname
+
+#
+# Release under which to put the accelerator
+#
+Release: %release_prefix
+
+#
+# 64bit arch
+%ifarch x86_64
+%define x64 x64
+%endif
+#
+# The new package name - convention is %oldname-%{!?x64:x86}%{?x64}
+%define newname %{oldname}-%{!?x64:x86}%{?x64}
+#
+# 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%{?x64:-x86-64}.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
+AutoReqProv: 0
+Provides: %newname
+BuildRequires: %oldname
+# no auto requirements - they're generated
+License: %newlicense
+Group: %newgroup
+ExclusiveArch: %myexclusive
+Summary: Dont 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
+Source100: baselibs.conf
+
+%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
+
+# ignore directories
+for i in `cat filestoinclude1`; do
+ if test -d $i ; then
+ echo "s#^${i}\$##" >> $sedtmp
+ fi
+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 ""
+cat %{_sourcedir}/binaries_to_prepare | sed "s/@LIB@/%{_lib}/g" > binaries_to_prepare1
+mkdir -p %buildroot/%{_prefix}/share/applybinary/
+for binary in `cat binaries_to_prepare1` ; do
+ echo "Processing binary: $binary"
+ tmp="tmp.$$"
+%if %nodebug
+ debug=
+%else
+ debug="--debug"
+%endif
+ if file $binary | grep -q dynamic; then
+ ldd $binary | grep -v "ld-linux" | grep -v "linux-gate" | grep -v "linux-vdso" | sed -e "s#=.*##g" -e "s#^\t*##g" > $tmp
+ deps=$(for i in `cat $tmp` ; do rpm -q --whatprovides "${i}%{?x64:()(64bit)}" | 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
+ if test -n "$debug"; then
+ patchelf --print-rpath %buildroot/$binary
+ patchelf --print-interpreter %buildroot/$binary
+ fi
+ fi
+ echo "$binary" >> %buildroot/%{_prefix}/share/applybinary/%name
+ echo ""
+done
+%endif
+
+# stub
+%if %libraries_to_prepare
+echo ""
+echo "[ .oO Preparing libraries Oo. ]"
+echo ""
+cat %{_sourcedir}/libraries_to_prepare | sed "s/@LIB@/%{_lib}/g" > libraries_to_prepare1
+%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}-%{!?x64:x86}%{?x64}-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 \"tizen-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 binaries_to_prepare1` ; do
+ shellquote " targettype arm post \" if test -e ${binary}.orig-arm -a -h ${binary}; 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 binaries_to_prepare1` ; 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
+
+%if %libraries_to_prepare
+# Todo: error handling if .orig-arm is present
+for library in `cat libraries_to_prepare1` ; do
+ shellquote " targettype arm post \" if test -e ${library}.orig-arm -a -h ${library}; then \" " >> /tmp/baselibs_new.conf
+ shellquote " targettype arm post \" echo \"${library}.orig-arm already present - skipping.\" \" " >> /tmp/baselibs_new.conf
+ shellquote " targettype arm post \" else \" " >> /tmp/baselibs_new.conf
+ shellquote " targettype arm post \" mv ${library} ${library}.orig-arm ; ln -s <prefix>${library} ${library} \"" >> /tmp/baselibs_new.conf
+ shellquote " targettype arm post \" fi \" " >> /tmp/baselibs_new.conf
+done
+
+shellquote " " >> /tmp/baselibs_new.conf
+for library in `cat libraries_to_prepare1` ; do
+
+ shellquote " targettype arm preun \" if test -e ${library}.orig-arm ; then \"" >> /tmp/baselibs_new.conf
+ shellquote " targettype arm preun \" rm -f ${library} ; mv ${library}.orig-arm ${library}\"" >> /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