summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Mikhail Kashkarov [Mon, 27 May 2019 10:30:11 +0000 (13:30 +0300)]
[6/7] Combine %{buildroot}${our_path} into 1 variable
Change-Id: I1a39715e853e0767e26d002e34eab492413669a8
Mikhail Kashkarov [Mon, 27 May 2019 10:22:37 +0000 (13:22 +0300)]
[5/7] Remove redundant '/' before ${our_path} variable
${our_path} already has leading '/'.
(%define our_path /emul)
Change-Id: If365a4951bf3f64ba6fefcb128f196d519f10ff3
Mikhail Kashkarov [Mon, 27 May 2019 10:19:51 +0000 (13:19 +0300)]
[4/7] Combine python${python_version} into single variable
${python_version} is not used without 'python' string.
Change-Id: Ia33c22f8746aeba8842147e68898f926e294dc39
Mikhail Kashkarov [Fri, 24 May 2019 16:13:26 +0000 (19:13 +0300)]
[3/7] Define default linaro-gcc build directory
Change-Id: I1502ecce5624939da72038667c9d707953e8ea0f
Mikhail Kashkarov [Fri, 24 May 2019 14:15:23 +0000 (17:15 +0300)]
[2/7] Define cross-gcc installation directory, use it
Use gcc-specific search paths to get installation directory instead of
%{libdir}/gcc/%{target_arch}/${gcc_version}/
gcc_install_dir defines as follows: (armv7l/aarch64):
$ armv7l-tizen-linux-gnueabi-gcc -print-file-name=
/usr/lib/gcc/armv7l-tizen-linux-gnueabi/6.2.1/
$ aarch64-tizen-linux-gnu-gcc -print-file-name=
/usr/lib64/gcc/aarch64-tizen-linux-gnu/6.2.1/
Change-Id: I88bd5c4636e829a2853a79e4640ee3ae5fe70531
Mikhail Kashkarov [Fri, 24 May 2019 13:44:54 +0000 (16:44 +0300)]
[1/7] Remove unused variables, clean up
All of changes in the following patchset doesn't modify final rpms.
- Remove useless 'Provides:'
- real_compiler was removed in
b112bfee.
- '$sanitizer_enabled' is not used anymore.
Change-Id: I5229e3276de13f91dc6d13a56ddb08d385e93558
Mikhail Kashkarov [Fri, 24 May 2019 14:06:20 +0000 (17:06 +0300)]
Fix aarch64 acceleration for gcc compilers/wrappers
libdir defined in this spec as:
%define libdir %{_prefix}/lib%{?aarch64:64}
This changes the following symbolic links:
/emul/home/abuild/rpmbuild/BUILD/gcc-6.2.1/obj/gcc/{cc1,cc1plus,collect2,f951,lto-wrapper,lto1}
before:
/emul/home/abuild/rpmbuild/BUILD/gcc-6.2.1/obj/gcc/cc1 ->
/emul/usr/lib/gcc/aarch64-tizen-linux-gnu/6.2.1/cc1
after:
/emul/home/abuild/rpmbuild/BUILD/gcc-6.2.1/obj/gcc/cc1 ->
/emul/usr/lib64/gcc/aarch64-tizen-linux-gnu/6.2.1/cc1
Where /usr/lib64/gcc/aarch64-tizen-linux-gnu/ is the real gcc-aarch64 directory.
Change-Id: If1a1a5914b5d847bc28fdf5203b7c78c77453538
Slava Barinov [Mon, 27 Aug 2018 09:29:59 +0000 (12:29 +0300)]
Add gfortran acceleration
Since Tizen now has packages which require Fortran compiler, we need to restore
acceleration of Fortran compiler.
Change-Id: Ia605a42737c8db997ed361712d9bf5d02d5fd50b
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Wonyoung Choi [Tue, 3 Apr 2018 07:03:06 +0000 (16:03 +0900)]
Remove mono acceleration
Change-Id: I5dbdb5a0aaa979944f0985bc8a835556662060f1
Chan Lee [Thu, 28 Sep 2017 09:28:15 +0000 (18:28 +0900)]
packaging: fix 'No such file or directory' error when preinstall phase
When the postinstall scriptlet runs in preinstall phase, creating symbolic link is
failed because gcc which provides liblto_plugin.so is not installed at this time.
[ 2s] [26/44] preinstalling qemu-accel-x86_64-armv7l...
...
[ 24s] running qemu-accel-x86_64-armv7l postinstall script
[ 24s] ln: creating symbolic link
`/usr/lib/gcc/armv7l-tizen-linux-gnueabi/6.2.1/liblto_plugin.so': No
such file or directory
Change-Id: If601da8dd8a8b6ae344a7d579e8821ccfa4918ce
Signed-off-by: Chan Lee <chan45.lee@samsung.com>
Michail Kashkarov [Mon, 16 Oct 2017 16:51:15 +0000 (19:51 +0300)]
Add armv7hl support.
Disable bash acceleration for armv7hl due to corruption.
Added "%define _rpm_strip_disable 1" (disable strip debug info from
final binaries) due to patchelf corrupting elf file sections in
armv7hl binaries.
(This is temporary fix until we'll find working alternative.)
Change-Id: Iee6166a333e1fa18aa0c01fe1a52929eb89caf90
Michail Kashkarov [Tue, 19 Sep 2017 18:18:47 +0000 (21:18 +0300)]
Add LeakSanitizer support.
Change-Id: Iabb0e8e024fc90f99cae1b866af6c9552e27e3e2
Slava Barinov [Thu, 10 Aug 2017 07:24:13 +0000 (10:24 +0300)]
Unforce options in ASan projects
gcc_force_options replaces compiler binaries with scripts and therefore these
binaries can't be successfully packed into rpm package.
Change-Id: I14cc613a0d17d7eae805f67e957ce392f7a56eaa
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Slava Barinov [Tue, 1 Aug 2017 08:37:43 +0000 (11:37 +0300)]
Remove ld.so from /emul to prevent name clashing
In certain cases (e.g. qemu-accel-aarch64 on x86_64 host) ld-2.24.so from /emul
can be executed instead of native one, this break `ldd' tool.
Change-Id: Ibb21d9356f9770d23b12ac94c38c9228cef618b6
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Slava Barinov [Thu, 20 Jul 2017 07:43:40 +0000 (10:43 +0300)]
Refactor packaging to use file lists
Now the packaging section uses explicit file lists to package needed files only.
Clang acceleration moved to to separate clang-accel package in order to reduce
qemu-accel size, all python files moved to python-accel package.
Change-Id: I19f59fa3403ca8c61d6d33ad526efe1d21d328f0
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Slava Barinov [Mon, 17 Apr 2017 12:23:43 +0000 (15:23 +0300)]
Add clang acceleration support
Change-Id: I0c311a865a73cf9959cc99ed2af3548cfe248312
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Chan Lee [Wed, 24 May 2017 06:00:06 +0000 (15:00 +0900)]
packaging: fix rpm scriptlet error
One line bash condition in a rpm script could cause scriptlet error like
below,
"warning: %post(qemu-accel-XXXX) scriptlet failed, exit status 1"
because '[ ]' returns with 1 exit status when the expression parameter is false.
You can refer to following page,
https://en.wikipedia.org/wiki/Test_(Unix)#Exit_status
Currently the condition is useless so it could be removed.
Change-Id: I25ae94ec7ad1f98bd84a127ea8a6a5c7aab21e32
Signed-off-by: Chan Lee <chan45.lee@samsung.com>
Slava Barinov [Wed, 19 Apr 2017 07:11:35 +0000 (10:11 +0300)]
Force baselibs.conf to generate only rpm for current arch
When there is no aarch64 repository in project overwriting of armv7l rpm with
aarch64 is possible. To prevent that the unneeded rpms should not be generated
at all.
Change-Id: Ieaefaf0276976582e04f0663aed80b24c712e541
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Chan Lee [Fri, 24 Mar 2017 01:11:03 +0000 (10:11 +0900)]
packaging: add libgcc-32bit for multilib support
Some packages need to use libgcc-32bit on 64bit build environment such as nacl toolchain.
Change-Id: I07c08ec4add0637ada256c9bda004b7a503fc861
Signed-off-by: Chan Lee <chan45.lee@samsung.com>
Chan Lee [Tue, 28 Mar 2017 07:45:26 +0000 (00:45 -0700)]
Merge "Stop patching libc.so with patchelf" into tizen_base
Slava Barinov [Thu, 23 Mar 2017 08:48:27 +0000 (11:48 +0300)]
Stop patching libc.so with patchelf
Libraries shouldn't be patched, only executables should.
Change-Id: I3a232d4b40ae61f8b9aab15dae0f884c63b5c47c
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Slava Barinov [Mon, 20 Mar 2017 06:53:59 +0000 (09:53 +0300)]
Fix bug in patch_binary function
The 'continue' won't work inside function, it must be replaced with 'return'.
Change-Id: Ib83796bdbdf5bbab6b3745744a97e0d301ce1767
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Slava Barinov [Tue, 31 Jan 2017 07:32:59 +0000 (10:32 +0300)]
Add multilib support for x86_64
Now the package supports running i686 binaries in x86_64 environment.
In order to prevent name clashing between i686 and armv7l ld-${version}.so binaries the
i686 one is renamed to ld-${version}-i686.so in /emul/.
The i686 binaries interpreter is set to /emul/lib/ld-linux.so.2 by default.
Change-Id: Idb9487e765be375bf81e4c841e5425e3332949e6
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Jiyoung Yun [Tue, 20 Dec 2016 04:50:32 +0000 (13:50 +0900)]
Add libunwind and libuuid acceleration
The above two modules are needed to build .NET Core(CoreCLR, CoreFX).
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
Change-Id: Ic59861aaabeab9a459f7ef3a0f0d2e34aebe4bc7
Jiyoung Yun [Wed, 30 Nov 2016 02:51:40 +0000 (11:51 +0900)]
Add mono acceleration
Mono is an open source implementation of Microsoft's .NET Framework.
C# APIs execute mono when extracting dll files from nupkg
but the mono binary for armv7l is unstable on qemu and the performance is very low.
So we add mono to qemu-accel to accelerate build.
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
Change-Id: Ia9e60bc673a5259df9e96f85aa9687fe488b4bbd
Chan Lee [Fri, 4 Nov 2016 05:22:36 +0000 (14:22 +0900)]
packaging: add rpm-build and cpio executables
Change-Id: I833dc8c758087060902ea5e0d4521fa04ab17b10
Signed-off-by: Chan Lee <chan45.lee@samsung.com>
Slava Barinov [Tue, 22 Nov 2016 09:05:34 +0000 (12:05 +0300)]
Fix SCons library path for proper AArch64 support
This will enable support for accelerated AArch64 SCons builds until the
filesystem and glibc get the proper fix.
Change-Id: I8578710fc849f4499006d46280162720d470c38c
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Pavel Kopyl [Mon, 31 Oct 2016 22:29:54 +0000 (22:29 +0000)]
Add suffix to the name of accel binaries:
1. "-x86" for 32-bit
2. "-x86_64" for 64-bit
Also keep binaries with old names.
Change-Id: Id625d1215ecd5729455f7d2c97ea62b2c9b62799
Signed-off-by: Pavel Kopyl <p.kopyl@samsung.com>
Julien Isorce [Tue, 3 May 2016 20:26:52 +0000 (21:26 +0100)]
Add /usr/bin/icecc
Since Tizen 3.0, all toolchains/*-x86 have moved
to qemul-accel bi-arch package.
Excepted for icecream-x86 which was not moved yet.
https://review.tizen.org/git/?p=toolchains/icecream-x86.git
This is required to make icecc working with gbs build -A armv7l.
gbs build -A i586 --baselibs
will generate bi-arch qemu-accel-armv7l-0.4-0.armv7l.rpm
JIRA: https://bugs.tizen.org/jira/browse/TINF-1414
See also https://bugs.tizen.org/jira/browse/DEVT-22
Change-Id: Idaf253b13f3a93da50d3e6b0eb8728d05df6cf2f
Signed-off-by: Julien Isorce <j.isorce@samsung.com>
Yonghee Han [Fri, 22 Jul 2016 06:06:30 +0000 (15:06 +0900)]
packaging : Support Scons symlinks to accelerate the build
Change-Id: Iaa0851b4da54d1317168fee52858c0245c649968
Yonghee Han [Tue, 7 Jun 2016 23:23:53 +0000 (16:23 -0700)]
Merge "Add support for toolchain with sanitizers support" into tizen_base
Yonghee Han [Tue, 7 Jun 2016 23:21:40 +0000 (16:21 -0700)]
Merge "Add /bin/ls and /bin/readlink" into tizen_base
Slava Barinov [Wed, 11 May 2016 11:10:38 +0000 (14:10 +0300)]
Add support for toolchain with sanitizers support
Since Tizen toolchain with sanitizers enabled uses {c++,g++,gcc}-real
files the acceleration is needed for them.
The check before 'objdump' added to prevent acceleration of shell
scripts since this is useless and the bash is already accelerated.
All sanitizer libraries (e.g. libasan.so) are packaged always since they
are needed for applying sanitizer to single package, not only the case
of sull project sanitization.
Change-Id: Iec1ca5f426f3354d442858b47381a3bca55ac440
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Vyacheslav Barinov [Tue, 10 Feb 2015 07:07:48 +0000 (10:07 +0300)]
Ignoring non-existent files during build
Now the qemu-accel package can be used even if dependencies changed.
Discovered during switching off msm.so plugin.
Conflicts:
packaging/qemu-accel-aarch64.spec
packaging/qemu-accel-armv7l.spec
packaging/qemu-accel.spec.in
Change-Id: Iea4b9849a28ba2f3aed18d46e97a61819359d62d
Signed-off-by: Vyacheslav Barinov <v.barinov@samsung.com>
Slava Barinov [Tue, 10 May 2016 14:44:24 +0000 (17:44 +0300)]
Add /bin/ls and /bin/readlink
The readlink tool is called on every single run of gcc and works very
slow on arm64 platform now.
Native arm64 ls is also slow under our qemu but is widely used during build.
Change-Id: I46a0e055e35a93ee58d797ca87da0ed4748e352d
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Dongkyun Son [Fri, 12 Feb 2016 04:21:55 +0000 (20:21 -0800)]
Merge "packaging: Remove gfortran and f951, because gcc doesn't generate them anymore." into tizen_base
Hyung-Kyu (HQ) Choi [Thu, 11 Feb 2016 11:11:21 +0000 (20:11 +0900)]
packaging: Remove gfortran and f951, because gcc doesn't generate them anymore.
This patch should be applied together with gcc patch which disables fortran compiler.
Change-Id: Id23924ea1becf7c571b470aaeeea3e8b10cb9c58
Signed-off-by: Hyung-Kyu (HQ) Choi <hk0110.choi@samsung.com>
Hyung-Kyu Choi [Thu, 11 Feb 2016 15:24:08 +0000 (07:24 -0800)]
Revert "packaging: Remove gfortran and f951, because gcc doesn't generate them anymore."
This reverts commit
354bbb298cf040a04e31a1b79bd059985d81a8d9.
Change-Id: If48efe84bfd111e12c599a8dde45c3a0bb886083
Hyung-Kyu (HQ) Choi [Thu, 11 Feb 2016 11:11:21 +0000 (20:11 +0900)]
packaging: Remove gfortran and f951, because gcc doesn't generate them anymore.
This patch should be applied together with gcc patch which disables fortran compiler.
Change-Id: Ic8899da25a46a78895395baee494a270ae1685c0
Signed-off-by: Hyung-Kyu (HQ) Choi <hk0110.choi@samsung.com>
Dongkyun, Son [Wed, 3 Feb 2016 05:28:02 +0000 (14:28 +0900)]
Revert "add sudo"
This reverts commit
1586c942c607fda7d1177864387f70e196f05b60.
Change-Id: I404ce7ef23f071d87dcbdd713011f695663498fa
Dongkyun, Son [Wed, 3 Feb 2016 05:27:34 +0000 (14:27 +0900)]
Revert "add getfacl/setfacl"
This reverts commit
ba4d917b86021948a990336938d4e6876440aa49.
Change-Id: I4820d840d9dd9d04e5ab04520fca6aec0738fc7a
Vyacheslav Barinov [Fri, 15 Jan 2016 08:57:56 +0000 (11:57 +0300)]
add getfacl/setfacl
Now all file attributes are saved and restored properly
Change-Id: I3059295381c95bde16c983075c215f151f59eba2
Signed-off-by: Vyacheslav Barinov <v.barinov@samsung.com>
Vyacheslav Barinov [Thu, 14 Jan 2016 11:36:43 +0000 (14:36 +0300)]
add sudo
Change-Id: I4ace4fe1d420c94c9f2b0db5176b50f7d363468a
Signed-off-by: Vyacheslav Barinov <v.barinov@samsung.com>
Dongkyun, Son [Tue, 12 Jan 2016 09:44:55 +0000 (18:44 +0900)]
packaging: renamed qemu-accel.spec -> qemu-accel.spec.in
Change-Id: Iec52be29bd1994c8f9db6401f68ca27d9b528198
Signed-off-by: Dongkyun, Son <dongkyun.s@samsung.com>
HyungGi Lee [Tue, 12 Jan 2016 09:40:58 +0000 (18:40 +0900)]
add BuildRequires: rpmlint-tizen
Change-Id: I5ce558e6ffde28c3d2c9f12ae2096af6e6422c05
HyungGi Lee [Tue, 12 Jan 2016 09:36:53 +0000 (18:36 +0900)]
add find,xargs
Change-Id: Ieb93d41a64e2bfe399c0fe3fa74cb0451cb7444d
HyungGi Lee [Wed, 30 Dec 2015 02:00:06 +0000 (11:00 +0900)]
change python_version check routine
Change-Id: Id50936196d559aaa3bfa9176ea580fe213f7c2a0
Signed-off-by: HyungGi Lee <hyunggi.lee@samsung.com>
Dongkyun, Son [Thu, 24 Dec 2015 06:00:46 +0000 (15:00 +0900)]
packaging: removed 'stack' in the excutable list
Fix build error caused by elfutils 0.153
Change-Id: Ia026212f548a0b7c5cd5393bfcb51ed62c76090e
Signed-off-by: Dongkyun, Son <dongkyun.s@samsung.com>
HyungGi Lee [Mon, 14 Dec 2015 05:11:32 +0000 (14:11 +0900)]
add /usr/bin/file
/usr/lib/rpm/brp-strip-static-archive is using /usr/bin/file
Change-Id: I562639141972959f8f13d49d380be04e4a454256
Signed-off-by: HyungGi Lee <hyunggi.lee@samsung.com>
Yury Usishchev [Wed, 9 Dec 2015 09:24:03 +0000 (12:24 +0300)]
remove unnecessary spam and add dump of accelerated binaries and packages
Yury Usishchev [Thu, 5 Nov 2015 10:37:38 +0000 (13:37 +0300)]
accelerate python from rpmlint-mini
Yury Usishchev [Thu, 22 Oct 2015 18:34:16 +0000 (21:34 +0300)]
Change gcc version parsing
Linaro gcc have different version line
Yury Usishchev [Mon, 17 Aug 2015 16:46:01 +0000 (19:46 +0300)]
Add python-accel package
Change-Id: I8274d2c96804dada87d78cef097b811c3ce35f5e
Yury Usishchev [Mon, 20 Jul 2015 13:10:54 +0000 (16:10 +0300)]
Rework packaging for Tizen.
Change-Id: Ibac85492878e64e6b03c4bc537fe83a26474b226
Yury Usishchev [Mon, 1 Jun 2015 14:06:36 +0000 (17:06 +0300)]
Fix update-alternatives call in baselibs.conf
Change-Id: I4c61814eebc62fbfb7051bb2ef5a7c4eb84a067b
Signed-off-by: Yury Usishchev <y.usishchev@samsung.com>
Ilya Palachev [Tue, 17 Mar 2015 09:45:30 +0000 (12:45 +0300)]
accelerate also pkg-config and file
This helps to reduce build time on up to 4 seconds for packages
that use cmake build scripts. Since this is a typical use case, a lot
of server time will be saved.
Also we added one workaround for old mkbaselibs bug in baselibs.conf
Change-Id: I523aa90907d27cfcd7887834d09a4b08a3fa5967
Signed-off-by: Ilya Palachev <i.palachev@samsung.com>
Ilya Palachev [Tue, 10 Mar 2015 08:41:07 +0000 (11:41 +0300)]
Add cmake to accelerate the build
Change-Id: I3db1307bc755af87f594e8c5927c649e3e9a342b
Signed-off-by: Ilya Palachev <i.palachev@samsung.com>
Nikolai Bozhenov [Tue, 24 Feb 2015 12:08:25 +0000 (15:08 +0300)]
Install cross LTO plugin when installing qemu-accel
So that binutils can work with LTO objects without additional flags
in qemu-accel mode
Change-Id: Ic50d79a6453a51ca39e7dc6b251190e70304dae2
Yury Usishchev [Mon, 9 Feb 2015 17:57:02 +0000 (20:57 +0300)]
Do not install msm.so
msm.so from cross-install was not used
Change-Id: Ib01a3a02e831e3df3156a02b4f87c5b45e60a85c
Signed-off-by: Yury Usishchev <y.usishchev@samsung.com>
Ilya Palachev [Wed, 21 Jan 2015 08:41:08 +0000 (11:41 +0300)]
Add auto-generation of spec-files and enable Gold linker
Rationale:
==========
1. There is a big mess (target-dependent or legacy) in our spec-files for
qemu-accel packages, and it's hard to maintain it.
2. Cross Gold linker must be enabled, because some packages want to use
LTO build (crosswalk).
Changes:
========
* pre_checkin.sh : New pre-checkin script.
------------------------------------------
Please, run this script in "package" directory before creating a commit for
qemu-accel package. It copies qemu-accel.spec.in to qemu-accel-*.spec
files and replaces the following macros to target-dependent ones:
- EMULATED_ARCH_LONG
- EMULATED_ARCH_SHORT
- EMULATED_ARCH_SYNONIM
- EMULATED_ARCH_TRIPLE_SHORT
- EMULATED_ARCH_TRIPLE_LONG
Corresponding RPM macros are defined in each spec-file independently,
and these 5 lines are the only 5 lines on which these spec-files
differ. They are:
+----------------------------+---------------------------+---------------------+
| Macro | Value | Value |
| | for armv7l | for aarch64 |
+----------------------------+---------------------------+---------------------+
| EMULATED_ARCH_LONG | armv7l | aarch64 |
+----------------------------+---------------------------+---------------------+
| EMULATED_ARCH_SHORT | arm | aarch64 |
+----------------------------+---------------------------+---------------------+
| EMULATED_ARCH_SYNONIM | arm | arm64 |
+----------------------------+---------------------------+---------------------+
| EMULATED_ARCH_TRIPLE_SHORT | arm-tizen-linux-gnueabi | aarch64-tizen-linux |
+----------------------------+---------------------------+---------------------+
| EMULATED_ARCH_TRIPLE_LONG | armv7l-tizen-linux-gnueabi| aarch64-tizen-linux |
+----------------------------+---------------------------+---------------------+
* qemu-accel.spec.in : New spec-file template.
----------------------------------------------
All spec-files should be generated from that. Our version of qemu-accel had
been inherited from OpenSUSE long time ago, and since that time nobody
worried about the fact that they must not have target-dependent code
(which is hard to maintain).
This template was written based on latest versions of
qemu-accel-aarch64.spec and qemu-accel-armv7l.spec, so that to get all
needed actions from both of them.
+ The support for Gold linker was added, since it is now needed by
crosswalk, and cross-*-binutils package now can provide *-ld.gold
binaries.
+ The support for cross elfutils was added, since native eu-strip fails on
gold-linked binaries for unknown reason (under qemu).
+ The support for cross XSLT was added, since it helps to reduce build
time of systemd from 701s to 407s
* gcc-wrapper.sh : New script.
------------------------------
Used at run-time as a wrapper for gcc, g++ and other compiler names.
Before that it was generated via spec-file. Once it becomes more and
more complex, it looks better to separate it to independent file.
Target-dependent things are generated into script wrapper-config.sh,
which is generated via spec-file.
* ld-wrapper.sh : New script.
----------------------------
Ditto for ld and ld.gold.
* qemu-accel-aarch64.spec : Auto-generated from qemu-accel.spec.in
------------------------------------------------------------------
* qemu-accel-armv7l.spec : Ditto
--------------------------------
* baselibs.conf : Changed corresponding to new spec-file policy
---------------------------------------------------------------
Removed legacy enabling/disabling of binfmt mode, because we added it
for debugging purposes during the enabling of aarch64 build. Now it's
not needed.
Binaries /usr/bin/qemu-* now are not packed in qemu-accel-* packages,
because they conflict with qemu-linux-user-cross-* package. If needed
files /usr/bin/qemu-* do not exist, post-install script creates
symbolic links as follows: /usr/bin/qemu-* -> /qemu/qemu-*
* qemu-accel.spec : Removed
---------------------------
The current structure of OBS packages looks as follows:
qemu-accel (build disabled)
|
+---- (linkpac) ----> qemu-accel-armv7l (build enabled)
|
+---- (linkpac) ----> qemu-accel-aarch64 (build enabled)
qemu-accel.spec is not used at all, so it looks better to delete it at
all. In this case we will have state "excluded" for it.
* qemu-accel-armv7l.changes : Removed
-------------------------------------
All changes are now tracked via Git, so it's not needed to duplicate
them here.
* qemu-accel-armv7hl-rpmlintrc : Removed
----------------------------------------
This file was added to workaround rpmlint errors. But now we have no
rpmlint errors (just warnings), and this file is not needed now.
Change-Id: Ifb15d69ec83ec8bcf6ade52bdc4ca960aff481ce
Signed-off-by: Ilya Palachev <i.palachev@samsung.com>
Li Jinjing [Mon, 19 Jan 2015 10:49:21 +0000 (18:49 +0800)]
remove unused files
Currently, qemu-accel-armv7el.spec and qemu-accel-armv7hl.spec has not been
submmited to OBS for building, for consistency of OBS and gbs, it's necessary
to clean it up.
Without this change, `gbs build -A x86_64` results will contain build error
with dependency issue below, no packages could offord *-gcc47-* and *-gcc48-*
now. The build result will be much cleaner after applying this patch.
Dependency issues:
qemu-accel-armv7el:
nothing provides cross-armv7el-gcc47-icecream-backend
qemu-accel-armv7hl:
nothing provides cross-armv7hl-gcc48-icecream-backend
Change-Id: I713cb67032a98da450453a89f6de5304b4e1eef0
Signed-off-by: Li Jinjing <jinjingx.li@intel.com>
Stephane Desneux [Mon, 19 Jan 2015 08:57:48 +0000 (09:57 +0100)]
Remove egrep from the list of binaries to patch
With grep 2.19, egrep is no longer a binary but a shell script.
So it doesn't need to be patched using patchelf (and furthermore it
must be removed from the binaries list, otherwise it makes the
build fail).
Bug-Tizen: TC-2375
Bug-Tizen: TC-1828/related
Change-Id: I51019421bfe8b32b82b58bd8f7fcb121297ef66c
Signed-off-by: Stephane Desneux <stephane.desneux@open.eurogiciel.org>
Markus Lehtonen [Wed, 3 Dec 2014 12:35:11 +0000 (14:35 +0200)]
packaging: create aarch64 package from i586, too
Makes it possible to have accelerated build for aarch64 even if only
i586 and no x86_64 repository is available.
Change-Id: I7b2b4efe2e4b14cbab5e271a6bfce6b09b398678
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Ronan Le Martret [Fri, 19 Sep 2014 15:03:56 +0000 (17:03 +0200)]
clean spec file
- improve rpmlint score
Change-Id: I0c494c6483055bc181b152b720e64623d8ca8305
Signed-off-by: Ronan Le Martret <ronan@fridu.net>
Ilya Palachev [Mon, 15 Sep 2014 07:37:07 +0000 (11:37 +0400)]
packaging: adapt to lib/lib64 directory structure
1. Create aarch64 binary package from x86_64 build, since it's better
compatible with lib/lib64 directory structure. (in baselibs.conf)
2. Fixed path in symlinks in post-install script. (in baselibs.conf)
3. Disabled packaging of gconv locales that were packed for x86_64
build (that was not used before) from /usr/lib64/gconv/* .
This was done, because these locales are packed in glibc-locale
package for now (so these 2 packages conflict with each other.
(in qemu-accel-aarch64.spec)
Change-Id: I4a98753c6e9229733162f4c922e42e3aa5268549
Signed-off-by: Ilya Palachev <i.palachev@samsung.com>
Stephane Desneux [Mon, 1 Sep 2014 14:15:13 +0000 (16:15 +0200)]
fix libnsl usage
Change-Id: I6572087f43e27ce051d099f7b77c45b55c20b59f
Signed-off-by: Stephane Desneux <stephane.desneux@open.eurogiciel.org>
Stephane Desneux [Mon, 1 Sep 2014 12:39:22 +0000 (14:39 +0200)]
baselibs: fix rpm macro usage in regenerated post section
RPM macros can't be used in baselibs.conf, as the post section
is not re-evaluated.
Change-Id: I4b869d720aa8679056c27bd11d58f1d207a54593
Bug-Tizen: TC-1549
Signed-off-by: Stephane Desneux <stephane.desneux@open.eurogiciel.org>
José Bollo [Fri, 29 Aug 2014 16:30:45 +0000 (18:30 +0200)]
Trying to fix undefined macro our_path
Change-Id: Ibd89d6f7fbc4e5ce056139b38d9f393f66ba4c5f
Signed-off-by: José Bollo <jose.bollo@open.eurogiciel.org>
Stephane Desneux [Thu, 14 Aug 2014 17:58:51 +0000 (19:58 +0200)]
packaging: fix build inconsistency in qemu-accel.spec
qemu-accel shouldn't be built in itself. Linked packages with
proper name (qemu-accel-armv7l, qemu-accel-armv7hl ...) are
used instead. This fixes some build error in prerelease builds
when submitting qemu-accel.
Change-Id: I3556452fa54c3160878983c7272649b08b98a286
Signed-off-by: Stephane Desneux <stephane.desneux@open.eurogiciel.org>
Ilya Palachev [Tue, 12 Aug 2014 11:59:48 +0000 (15:59 +0400)]
Fix wrapper script of cross ld executable
This patch is intended to fix build issues that were ontained
during the total rebuild of clone of Tizen:Common project.
We have obtained several build issues during the build of packages
gumd, libsolv and glibc -- because of some mistakes in wrapper
scripts.
Now they're fixed by:
1. Removing ( ) construction that caused always-true return value
from the script (this caused some bugs during ./configure run for
some packages)
2. Removing "exec" command, because otherwise we cannnot launch
native ld is cross ld fails.
3. Parsing command line option string and removing option "--sysroot"
from it -- when we're calling native ld instead of cross ld
4. Adding "exit $?" command to avoid second launch of ld binary
Change-Id: Iaf60eaed9ae215b12eaa6a229190a71adb1562c8
Signed-off-by: Ilya Palachev <i.palachev@samsung.com>
Ilya Palachev [Mon, 4 Aug 2014 10:59:11 +0000 (14:59 +0400)]
Add Aarch64 support and support of upgraded toolchain
1. Added spec-file qemu-accel-aarch64.spec for Aarch64 architecture
of qemu-accel. It's based on modified file qemu-accel-armv7l.spec.
2. Added support of adding new cross utilities using separate macros,
instead of hardcoded list of binaries that is hard to maintain. So
now it's possible to add/remove groups of binaries using macros.
(only in qemu-accel-aarch64.spec)
3. Added optional switch between native and cross-accelerated binfmt
mode using macro "use_binfmt_binary". Depending on its value the file
baselibs.conf is modified so that to turn on native or cross binfmt
mode (binary qemu-aarch64 provides native mode, qemu-aarch64-binfmt
provides cross-accelerated mode).
(only in qemu-accel-aarch64.spec)
4. Added macros "gcc_version" and "gcc_version_dot" to control gcc
version through macros (currently they are set directly by hardcoded
version numbers).
(in qemu-accel-aarch64.spec and qemu-accel-armv7l.spec)
5. Added post-install script for qemu-accel-aarch64 package in
baselibs.conf file.
6. Generation of redundant packages "qemu-accel-armv7l-*.aarch64.rpm"
and "qemu-accel-aarch64-*.armv7l.rpm" is avoided by commands
"targettype ... block!" in file baselibs.conf.
7. Added wrapper script also for /usr/bin/g++ (currently there is a
wrapper script only for /usr/bin/gcc). This wrapper runs native
compiler instead of cross one in case when environment variable
LD_LIBRARY_PATH is set. This is done because "If LIBRARY_PATH is set,
native gcc adds the contents to its library search list, but cross
gcc does not. So switch to all native in these situations".
(in qemu-accel-aarch64.spec and qemu-accel-armv7l.spec)
8. Added two options "-B" for each call of cross compiler (gcc or
g++) using existing wrapper script. This is done because in current
configuration of toolchain directories compiler fails to find
binutils executables. Options "-B" set direct paths to these
directories.
(in qemu-accel-aarch64.spec and qemu-accel-armv7l.spec)
9. Run native linker (/usr/bin/ld) in case when cross-accelerated
linker fails. This is the only way to build current version of gcc,
because otherwise the build fails with following error:
ld: ./gcc/liblto_plugin.so: error loading plugin:
./gcc/liblto_plugin.so: cannot open shared object file:
No such file or directory
This happens because cross ld cannot use native module
liblto_plugin.so generated during the build of gcc. (It is done in
post-install script in baselibs.conf both for aarch64 and armv7l)
10. Created symlinks to files needed by native ld for the case when
we want to use it instead of cross-accelerated ld (crtbegin.o,
crtbeginS.o, crtbeginT.o, crtend.o, crtendS.o). (It is done in
post-install script in baselibs.conf both for aarch64 and armv7l)
11. Cutted off extra path (/emul/...) in the case when we want to use
native ld instead of cross-accelerated ld. It is done in post-install
script in baselibs.conf.
Change-Id: I294bc231b511c95a78cc58bcb441ac9ed56c4069
Signed-off-by: Ilya Palachev <i.palachev@samsung.com>
Baptiste DURAND [Tue, 13 May 2014 14:28:08 +0000 (16:28 +0200)]
[ARM v7l] Fix build for x64 host
Change-Id: I8c9fd68f5c09356aa6c3c1429908d275a64d229f
Signed-off-by: Baptiste DURAND <baptiste.durand@open.eurogiciel.org>
Maciej Wereski [Wed, 26 Mar 2014 14:55:18 +0000 (15:55 +0100)]
Install glibc-locale files in /emul
These files are required for some gettext tools to work properly.
Such tool is msgmerge, which fails with following message:
msgmerge: Cannot convert from "ISO-8859-1" to "UTF-8". msgmerge
relies on iconv(), and iconv() does not support this conversion.
msgmerge for nb.po failed!
Also change chmod 777 to 755 for /emul
Change-Id: Iab1fa355521856511cb8c01b7658e8d97090e7a8
Signed-off-by: Maciej Wereski <m.wereski@partner.samsung.com>
Junfeng Dong [Tue, 19 Nov 2013 11:38:42 +0000 (19:38 +0800)]
Enable 32 bit mode.
Change-Id: Idb529b7d0594efd0e1b1cb7225d897903683e25c
Signed-off-by: Junfeng Dong <junfeng.dong@intel.com>
Bogon Kim [Thu, 14 Nov 2013 02:51:36 +0000 (11:51 +0900)]
add the c++ include path to be identified by cross-arm-gcc driver
Change-Id: I965d622595d0f73aab35401206d300a6cef30b1b
Signed-off-by: Bogon Kim <bogon82.kim@samsung.com>
Zhang Qiang [Thu, 24 Oct 2013 03:08:24 +0000 (11:08 +0800)]
Add post script for cross pkgs created by baselib.conf
Change-Id: I31e0341ed257fad59e40374d91900b20bb8b9928
Signed-off-by: Zhang Qiang <qiang.z.zhang@intel.com>
Anas Nashif [Wed, 28 Aug 2013 21:07:52 +0000 (17:07 -0400)]
fixed baselibs for armv7l generation
Anas Nashif [Wed, 28 Aug 2013 19:19:47 +0000 (15:19 -0400)]
add baselibs.conf
also add some debugging.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Anas Nashif [Tue, 27 Aug 2013 21:12:12 +0000 (17:12 -0400)]
support gcc 48
Anas Nashif [Thu, 8 Aug 2013 13:13:47 +0000 (09:13 -0400)]
use gcc 4.8
Junfeng Dong [Tue, 9 Jul 2013 07:50:41 +0000 (15:50 +0800)]
Fix armv7l.
Change-Id: I1a5649bc3512474a0bd7033ede7603077ef7ca5a
Signed-off-by: Junfeng Dong <junfeng.dong@intel.com>
Anas Nashif [Mon, 3 Jun 2013 15:03:47 +0000 (11:03 -0400)]
add armv7l support
Anas Nashif [Mon, 3 Jun 2013 15:00:19 +0000 (11:00 -0400)]
add armv7l support
Anas Nashif [Fri, 31 May 2013 04:45:19 +0000 (00:45 -0400)]
link bin to usr/bin
Anas Nashif [Thu, 30 May 2013 19:37:25 +0000 (15:37 -0400)]
Add rpmdb to binary list
Anas Nashif [Thu, 30 May 2013 11:51:48 +0000 (07:51 -0400)]
Fix build on ARM
Anas Nashif [Thu, 30 May 2013 11:11:16 +0000 (07:11 -0400)]
link to right bash
Anas Nashif [Thu, 30 May 2013 10:47:03 +0000 (06:47 -0400)]
add dummy spec
Anas Nashif [Wed, 21 Nov 2012 18:05:39 +0000 (10:05 -0800)]
initial