platform/upstream/qemu-accel.git
3 months agoRevert "Add guile acceleration support" accepted/tizen_base_asan tizen_base_asan accepted/tizen/base/asan/20240419.004021
Dongkyun Son [Thu, 18 Apr 2024 04:01:11 +0000 (13:01 +0900)]
Revert "Add guile acceleration support"

This reverts commit 6b0810fe3da396c471f2f25d0f2e9b5cd6274318.

10 months agoFix dependencies list, add libssl and libcrypto 85/298685/1 accepted/tizen_8.0_base accepted/tizen_base tizen_8.0_base accepted/tizen/8.0/base/20231005.045213 accepted/tizen/base/20230914.045231 accepted/tizen/base/asan/20231005.103308 tizen_8.0_m2_release
Dariusz Michaluk [Tue, 12 Sep 2023 09:16:16 +0000 (11:16 +0200)]
Fix dependencies list, add libssl and libcrypto

Change-Id: I14c68af9c3a2229af5ee350e0afd48f09375fa20

14 months agobuild x86_64 only 30/292430/1 accepted/tizen_base_test accepted/tizen_base_tool accepted/tizen/base/20230714.003519 accepted/tizen/base/test/20230707.102731 accepted/tizen/base/tool/20230608.070408 submit/tizen_base/20230510.103238 submit/tizen_base/20230531.115245
Hyunggi Lee [Fri, 21 Apr 2023 04:53:55 +0000 (13:53 +0900)]
build x86_64 only

Change-Id: Ib44c59efb666d1296fa3c71a1f079843635861b5
Signed-off-by: Hyunggi Lee <hyunggi.lee@samsung.com>
14 months agoskip build-compare 29/292429/1
Hyunggi Lee [Thu, 20 Apr 2023 03:16:34 +0000 (12:16 +0900)]
skip build-compare

Change-Id: Iaee81015e14137cd2027cee622112bf74a024271
Signed-off-by: Hyunggi Lee <hyunggi.lee@samsung.com>
16 months agopackaging: remove rpmlint-* 69/290369/1 accepted/tizen/base/tool/20230328.020634 submit/tizen_base/20230324.011337
Dongkyun Son [Thu, 23 Mar 2023 06:21:16 +0000 (15:21 +0900)]
packaging: remove rpmlint-*

Change-Id: I473fd7f06d83c4c6418fd59accbf55e3bbe1c044
Signed-off-by: Dongkyun Son <dongkyun.s@samsung.com>
2 years agoAdding python3 to python-accel 97/273697/3 accepted/tizen_7.0_base_hotfix accepted/tizen_7.0_base_tool accepted/tizen_7.0_base_tool_hotfix tizen_7.0_base_hotfix accepted/tizen/7.0/base/20230714.003110 accepted/tizen/7.0/base/hotfix/20230714.003920 accepted/tizen/7.0/base/tool/20221028.120309 accepted/tizen/7.0/base/tool/hotfix/20221115.084326 accepted/tizen/base/tool/20220419.033519 submit/tizen_7.0_base/20221028.201301 submit/tizen_7.0_base_hotfix/20221115.161701 submit/tizen_base/20220419.004944 tizen_7.0_m2_release
Adam Bujalski [Tue, 12 Apr 2022 13:56:45 +0000 (15:56 +0200)]
Adding python3 to python-accel

Due to python2 deprecation https://www.python.org/doc/sunset-python-2/
more software starts to use python3 instead of python2.

This happen to chromium somewhere between versions M85 (used on
Tizen6.5) and M95 (adapted for Tizen7.0). As chromium used a lot of
build scripts written in python using accelerated version causes
significant speed-up of the build process.

Change-Id: I25b3790e0a75f32b7c530cba89d2b11957de7793
Signed-off-by: Adam Bujalski <a.bujalski@samsung.com>
2 years agoChanged permissions in /emul dir for ASan/HWASan-force-options related stuff 27/263827/1 accepted/tizen_6.5_base accepted/tizen_6.5_base_tool tizen_6.5_base accepted/tizen/6.5/base/20230714.002701 accepted/tizen/6.5/base/tool/20211027.120557 accepted/tizen/base/tool/20210913.002640 submit/tizen_6.5_base/20211026.180901 submit/tizen_6.5_base/20211027.183101 submit/tizen_6.5_base/20211027.201101 submit/tizen_base/20210910.123310 tizen_6.5.m2_release
Andrey Kazmin [Wed, 10 Mar 2021 07:38:18 +0000 (10:38 +0300)]
Changed permissions in /emul dir for ASan/HWASan-force-options related stuff

Moved from *-force-options packages to prevent broken dependency,
when qemu-accel was re-installed after *-force-options post-install
script was finished.

Change-Id: I96f87bfae75d98e9460dd4c9a5cd47912e9aa186
Signed-off-by: Andrey Kazmin <a.kazmin@partner.samsung.com>
3 years agoFix directory permissions for *-force-options packages 32/258332/6 accepted/tizen/base/tool/20210514.083901 submit/tizen_base/20210514.081010
Slava Barinov [Thu, 13 May 2021 12:20:27 +0000 (15:20 +0300)]
Fix directory permissions for *-force-options packages

Change-Id: Icf48f938a67607e1d68a57616ecf0c0aa1038f2e
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
3 years agoAdd whole glibc and libgcc contents to qemu-accel 33/257233/1 accepted/tizen/base/tool/20210503.092841 submit/tizen_base/20210426.080407
Slava Barinov [Wed, 21 Apr 2021 08:46:03 +0000 (11:46 +0300)]
Add whole glibc and libgcc contents to qemu-accel

These libraries could be used by some tools, like CoreCLR build tools, but they
are not included by default and therefore make build impossible.

Change-Id: I0d91b64546bedca92277292851ccb6511936ad03
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
3 years agoAdd localedef for tizen-locale build 22/254722/1 accepted/tizen/base/tool/20210314.214530 submit/tizen_base/20210309.052922
Hyunggi Lee [Mon, 8 Mar 2021 10:05:57 +0000 (19:05 +0900)]
Add localedef for tizen-locale build

Build is very slow in arm environment.
Most of the time is spent in command "localedef"
like this. I18NPATH=localedata GCONV_PATH=iconvdata localedef --quiet -c ...
So I added localedef to qemu-accel.

result:
before:
[ 1844s]
[ 1844s] obsnw03 finished "build tizen-locale.spec" at Mon Feb  1 06:24:02 UTC 2021.
[ 1844s]
after:
[  222s]
[  222s] obsnw18 finished "build tizen-locale.spec" at Mon Mar  8 10:18:55 UTC 2021.
[  222s]

1622 seconds faster (830%)

Change-Id: I60c3e87e139f90129c19928d0b1d78ec61760ecd
Signed-off-by: Hyunggi Lee <hyunggi.lee@samsung.com>
3 years agoAdd pbzip2 acceleration support 54/252254/1
Hyokeun Jeon [Tue, 26 Jan 2021 05:08:21 +0000 (14:08 +0900)]
Add pbzip2 acceleration support

Change-Id: I399dfa9c14aea22e8c10b557e051bfd5d79990be

3 years agoRevert pbzip2 support 86/251586/1 submit/submit/tizen_base/20210115.063702/20210118.012453 submit/tizen_base/20210115.063702
Hyokeun Jeon [Fri, 15 Jan 2021 09:37:56 +0000 (18:37 +0900)]
Revert pbzip2 support

Change-Id: Id65691b92abde676475aefd15e5a0caebc2448b5

3 years agoAdd pbzip2 acceleration support 91/251391/2 accepted/tizen/base/tool/20210125.051933 submit/tizen_base/20210115.092729 submit/tizen_base/20210122.114034
Hyokeun Jeon [Wed, 13 Jan 2021 09:02:54 +0000 (18:02 +0900)]
Add pbzip2 acceleration support

Change-Id: I116157009d9a8cd7bec34b9e3efac8ac16e8c97b

3 years agorpm 4.14 version used in qemu-accel 61/250861/1 accepted/tizen/base/tool/20210118.215951 accepted/tizen/base/tool/20210119.033651 submit/tizen_base/20210105.160930 submit/tizen_base/20210107.015133 submit/tizen_base/20210113.025730 submit/tizen_base/20210119.123045
biao716.wang [Mon, 23 Nov 2020 01:54:43 +0000 (10:54 +0900)]
rpm 4.14 version used in qemu-accel

Change-Id: Ie91906c49ea86ea74270a58cc65d930f03f20721
Signed-off-by: biao716.wang <biao716.wang@samsung.com>
3 years agopackaging : Support ply symlinks to accelerate the build 41/242741/1 accepted/tizen_6.0_base accepted/tizen_6.0_base_tool accepted/tizen_6.0_base_tool_hotfix tizen_6.0_base tizen_6.0_base_hotfix accepted/tizen/6.0/base/20201029.105700 accepted/tizen/6.0/base/20230713.143039 accepted/tizen/6.0/base/tool/20201029.111534 accepted/tizen/6.0/base/tool/hotfix/20201030.124339 accepted/tizen/6.0/base/tool/hotfix/20201102.085433 accepted/tizen/base/20200911.230648 submit/tizen_6.0_base/20201029.184802 submit/tizen_6.0_base_hotfix/20201030.192502 submit/tizen_6.0_base_hotfix/20201102.162702 submit/tizen_base/20200904.093742 submit/tizen_base/20210107.110433 tizen_6.0.m2_release
Jungwoo [Tue, 1 Sep 2020 01:37:37 +0000 (10:37 +0900)]
packaging : Support ply symlinks to accelerate the build

Change-Id: Id64216abbf33bb7cc6420fd4b4552bd2bf13ccc7

4 years agopackaging: adjust executables for elfutils-0.178 94/230194/2 accepted/tizen/base/20200426.213227 submit/tizen_base/20200421.102835 submit/tizen_base/20200424.085441
Dongkyun Son [Fri, 27 Mar 2020 20:48:41 +0000 (05:48 +0900)]
packaging: adjust executables for elfutils-0.178

Change-Id: I8593a89ad7b651717711ec283805f5165b6d6a70
Signed-off-by: Dongkyun Son <dongkyun.s@samsung.com>
4 years agoAdd guile acceleration support 67/230867/4 accepted/tizen/base/20200419.223852 submit/tizen_base/20200416.121222
Slava Barinov [Wed, 1 Apr 2020 13:23:56 +0000 (16:23 +0300)]
Add guile acceleration support

Guile compilation requires compiling large volume of .scm source files which is
very slow under qemu-arm/qemu-aarch64

Change-Id: Iffd8945f91b66d58809e92b932c4d2e1180f8f41

4 years agoclang-accel: add LLVM gold plugin (for llvm 5.0) 29/204029/3 accepted/tizen_5.5_base accepted/tizen_5.5_base_mobile_hotfix accepted/tizen_5.5_base_wearable_hotfix tizen_5.5_base tizen_5.5_base_mobile_hotfix tizen_5.5_base_wearable_hotfix tizen_5.5_tv accepted/tizen/5.5/base/20191030.084318 accepted/tizen/5.5/base/mobile/hotfix/20201023.083830 accepted/tizen/5.5/base/wearable/hotfix/20201023.080217 accepted/tizen/base/20190929.221402 submit/tizen_5.5_base/20191030.000001 submit/tizen_5.5_base_mobile_hotfix/20201023.171502 submit/tizen_5.5_base_wearable_hotfix/20201023.155602 submit/tizen_base/20190925.051521 tizen_5.5.m2_release
Konstantin Baladurin [Mon, 15 Apr 2019 17:48:40 +0000 (20:48 +0300)]
clang-accel: add LLVM gold plugin (for llvm 5.0)

Change-Id: Idfcfad6ee4000dbc4bc6f8135c7021e96ff18d0e

4 years agoOptimize rpath string by 1 char (redundant '/') 83/213383/3 accepted/tizen/base/20190909.044102 submit/tizen_base/20190906.093503
Mikhail Kashkarov [Fri, 30 Aug 2019 18:32:26 +0000 (21:32 +0300)]
Optimize rpath string by 1 char (redundant '/')

This changes new library RPATH from '/emul//usr/lib64' to '/emul/usr/lib64', so
we decrease each binary .dynstr section size by 1 and (for x64) decreasing
loaded virtual/phys INTERP segment sizes by 8 for: rpmdeps, rpmbuild, eu-nm,
eu-elfint, cpio, xsltproc.

Change-Id: I667cbeafd37e84e252868ca734abf270b5991c1a

4 years ago[S] Speed up used packages list preparation 82/213382/3
Mikhail Kashkarov [Tue, 3 Sep 2019 16:43:35 +0000 (19:43 +0300)]
[S] Speed up used packages list preparation

Process list with single rpm exec, decrease time from ~20sec to <1sec

Change-Id: Iff9e00bac0b017707089ef49a669304fcbcc2dcc

4 years ago[S] Parallelize patch_binary usage 81/213381/3
Mikhail Kashkarov [Wed, 28 Aug 2019 19:49:12 +0000 (22:49 +0300)]
[S] Parallelize patch_binary usage

Spawn $n_jobs count processes to do patch_binary in parallel. A pipe is used to
dispatch the files among the processes.

With previous patches for warnings elimination and parallelization time for
patching binaries goes from ~230sec -> 6sec (with sanitized environment)

Change-Id: Iae3859d67f700b90fae809c45bea706b3e6162e4

4 years ago[S] Remove dead block with host information checking 80/213380/3
Mikhail Kashkarov [Wed, 28 Aug 2019 19:45:58 +0000 (22:45 +0300)]
[S] Remove dead block with host information checking

Block with grep command was never executed due to missed whitespace and
undefined HOST_ARCH, so parsing .(ro)data content was wasted. Moreover, when
this routine is enable - we have warnings for about 30% of total packages count.

Just drop it to speed up build.

Change-Id: I0706d247ff1eb40324555ed6c1c4400a6ea46511

4 years ago[W/S] Remove dublicates in $binaries variable 79/213379/3
Mikhail Kashkarov [Fri, 31 May 2019 07:28:19 +0000 (10:28 +0300)]
[W/S] Remove dublicates in $binaries variable

Decrease $binaries size from 3328 to 372 files to significantly speed up
processing with patch_binary (especially with sanitized environment). This
change also removes 2961 warnings from patch_binary:

  [  421s] WARNING: File '...' exists, ignoring

Change-Id: I146cc9495f65387894df212f13a3f34cb317a62e

4 years ago[W] Disable ton of warnings with double-listed files for python-accel 78/213378/3
Mikhail Kashkarov [Fri, 30 Aug 2019 17:10:05 +0000 (20:10 +0300)]
[W] Disable ton of warnings with double-listed files for python-accel

/usr/lib(64) listed in python-accel.list forces rpm to include all the
files under these directories even if not specified in list:

[   76s] warning: File listed twice: /emul/usr/lib64/python2.7/BaseHTTPServer.py
[   76s] warning: File listed twice: /emul/usr/lib64/python2.7/Bastion.py
...

1. Remove /usr/lib(64)/python2.7 directories from python.list
2. SCons directory was not explicitly added in python.list

Eliminate 392 more warnings.

Change-Id: Ie8ea5417fafd4ba7e414955a5896134659af961e

4 years ago[W] Disable ton of warnings with double-listed files for qemu-accel 77/213377/3
Mikhail Kashkarov [Thu, 29 Aug 2019 21:27:04 +0000 (00:27 +0300)]
[W] Disable ton of warnings with double-listed files for qemu-accel

/usr/bin and /usr/lib(64) listed in qemu-accel.list forces rpm to include all the
files under these directories even if not specified in list. Specify dirs during
%files section.

[   76s] warning: File listed twice: /emul/usr/lib/gcc/armv7l-tizen-linux-gnueabi/6.2.1/cc1
[   76s] warning: File listed twice: /emul/usr/lib/gcc/armv7l-tizen-linux-gnueabi/6.2.1/cc1plus
[   76s] warning: File listed twice: /emul/usr/lib/gcc/armv7l-tizen-linux-gnueabi/6.2.1/collect2
...

1. Remove directories from the accel list
2. Add /usr/lib/cpp to the list as it was not covered explicitly
3. Eliminate 168 more warnings.

qemu-accel changes:
(removed python-accel dependencies and duplicated liecences for libgcc-32bit)

Removed shared libraries:
  /emul/usr/lib64/libcrypt-2.24.so
  /emul/usr/lib64/libcrypt.so.1
  /emul/usr/lib64/libpython2.7.so.1.0
  /emul/usr/lib64/libreadline.so.5
  /emul/usr/lib64/libreadline.so.5.2
  /emul/usr/lib64/libssl.so.1.0.0
  /emul/usr/lib64/libutil-2.24.so
  /emul/usr/lib64/libutil.so.1

Removed symbolic links:
  /emul/usr/lib/COPYING.RUNTIME
  /emul/usr/lib/COPYING3
  /emul/usr/lib/libgcc-32bit
  /emul/usr/lib/python2.7/site-packages/SCons
  /emul/usr/lib64/python

Removed directories:
  /emul/usr/lib/python2.7
  /emul/usr/lib/python2.7/site-packages
  /emul/usr/lib64/python2.7

Change-Id: I7c09e2e84c3871b78292943ae478aa2d61bb1cd2

4 years ago[W] Remove ldd warnings during python2.7/lib-dynload file processing 76/213376/3
Mikhail Kashkarov [Fri, 31 May 2019 07:30:28 +0000 (10:30 +0300)]
[W] Remove ldd warnings during python2.7/lib-dynload file processing

   ldd: warning: you do not have execution permission for `/usr/lib64/python2.7/lib-dynload/_bsddb.so'
   <60 more mesages>
   ....

Change-Id: I745a7a8143ee2f5d912d6a2ca8d99f605cb0b574

4 years agoFix up mis-accelerated binaries 75/213375/3
Mikhail Kashkarov [Tue, 3 Sep 2019 17:31:55 +0000 (20:31 +0300)]
Fix up mis-accelerated binaries

1. Enable /bin/sh acceleration
2. Accelerate gcc-{version}
   gcc-6.2.1 listed in $binaries list but not accelerated
3. Move gcov to the gcc binaries group (was not processed correctly)

qemu-accel changes:

- Changed symlinks:
  from: /emul/usr/binsh -> bash
  to: /emul/usr/bin/sh -> bash

- New executable file:
  /emul/usr/bin/gcc-6.2.1

- New symbolic link:
  /emul/usr/bin/armv7l-tizen-linux-gnueabi-gcov -> gcov

Change-Id: I8b2fae83bb5a1009c98175d96065fdb4dedb6210

4 years ago[7/7] Rename our_path -> emul_path 74/213374/3
Mikhail Kashkarov [Mon, 27 May 2019 10:50:40 +0000 (13:50 +0300)]
[7/7] Rename our_path -> emul_path

This is more suitable variable name for emulation path, especially since default
qemu-linux-user path is /emul.

Change-Id: I53bba2ad9996ce90e9092dc7dfb39301adfb5211

4 years ago[6/7] Combine %{buildroot}${our_path} into 1 variable 73/213373/3
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

4 years ago[5/7] Remove redundant '/' before ${our_path} variable 72/213372/3
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

4 years ago[4/7] Combine python${python_version} into single variable 71/213371/3
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

4 years ago[3/7] Define default linaro-gcc build directory 70/213370/3
Mikhail Kashkarov [Fri, 24 May 2019 16:13:26 +0000 (19:13 +0300)]
[3/7] Define default linaro-gcc build directory

Change-Id: I1502ecce5624939da72038667c9d707953e8ea0f

4 years ago[2/7] Define cross-gcc installation directory, use it 69/213369/3
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

4 years ago[1/7] Remove unused variables, clean up 68/213368/1
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

4 years agoFix aarch64 acceleration for gcc compilers/wrappers 67/213367/1
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

5 years agoAdd gfortran acceleration 73/187673/1 accepted/tizen_5.0_base tizen_5.0_base accepted/tizen/5.0/base/20181101.091208 accepted/tizen/base/20180908.052102 submit/tizen_5.0_base/20181101.000001 submit/tizen_base/20180906.130734
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>
6 years agoRemove mono acceleration 06/174606/1 accepted/tizen/base/20180406.180252 submit/tizen_base/20180403.124245
Wonyoung Choi [Tue, 3 Apr 2018 07:03:06 +0000 (16:03 +0900)]
Remove mono acceleration

Change-Id: I5dbdb5a0aaa979944f0985bc8a835556662060f1

6 years agopackaging: fix 'No such file or directory' error when preinstall phase 15/153415/2 accepted/tizen/base/20171027.152138 submit/tizen_base/20171024.003248
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>
6 years agoAdd armv7hl support. 12/129012/8
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

6 years agoAdd LeakSanitizer support. 27/153527/1
Michail Kashkarov [Tue, 19 Sep 2017 18:18:47 +0000 (21:18 +0300)]
Add LeakSanitizer support.

Change-Id: Iabb0e8e024fc90f99cae1b866af6c9552e27e3e2

6 years agoUnforce options in ASan projects 51/143551/1 accepted/tizen/base/20170908.223814 submit/tizen_base/20170830.083645
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>
6 years agoRemove ld.so from /emul to prevent name clashing 63/141663/1 accepted/tizen/4.0/base/20170811.093039 accepted/tizen/4.0/base/20170828.221341 accepted/tizen/base/20170804.132512 submit/tizen_4.0_base/20170811.071500 submit/tizen_4.0_base/20170828.000000 submit/tizen_4.0_base/20170828.000001 submit/tizen_base/20170802.001517
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>
7 years agoRefactor packaging to use file lists 47/140047/5 accepted/tizen/base/20170728.205718 submit/tizen_base/20170727.125526
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>
7 years agoAdd clang acceleration support 92/125492/6 accepted/tizen/base/20170707.183518 accepted/tizen/base/20170801.052539 submit/tizen_base/20170622.094219 submit/tizen_base/20170705.023439 submit/tizen_base/20170801.052130
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>
7 years agopackaging: fix rpm scriptlet error 24/130824/3 accepted/tizen/base/20170609.214703 submit/tizen_base/20170609.084421
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>
7 years agoForce baselibs.conf to generate only rpm for current arch 75/125875/2 accepted/tizen/base/20170421.042322 submit/tizen_base/20170420.125851 tizen_4.0.m1_release
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>
7 years agopackaging: add libgcc-32bit for multilib support 96/120696/2 accepted/tizen/base/20170414.164503 submit/tizen_base/20170414.080151
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>
7 years agoMerge "Stop patching libc.so with patchelf" into tizen_base
Chan Lee [Tue, 28 Mar 2017 07:45:26 +0000 (00:45 -0700)]
Merge "Stop patching libc.so with patchelf" into tizen_base

7 years agoStop patching libc.so with patchelf 93/120593/3
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>
7 years agoFix bug in patch_binary function 96/119796/1
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>
7 years agoAdd multilib support for x86_64 50/113650/6 accepted/tizen/base/20170227.043256 submit/tizen_base/20170224.074011
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>
7 years agoAdd libunwind and libuuid acceleration 91/92691/3 accepted/tizen/base/20161223.094615 submit/tizen_base/20161221.071453
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

7 years agoAdd mono acceleration 59/100959/3 accepted/tizen/base/20161209.100320 submit/tizen_base/20161208.051244
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

7 years agopackaging: add rpm-build and cpio executables 74/95674/4 accepted/tizen/base/20161202.013145 submit/tizen_base/20161130.013923
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>
7 years agoFix SCons library path for proper AArch64 support 87/99287/1 accepted/tizen/base/20161125.021329 submit/tizen_base/20161124.040458
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>
7 years agoAdd suffix to the name of accel binaries: 97/85097/4 sandbox/pavelkopyl/bitness_suffix accepted/tizen/base/20161110.085405 submit/tizen_base/20161109.120921
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>
7 years agoAdd /usr/bin/icecc 53/68353/2 accepted/tizen/3.0/base/20161028.103413 accepted/tizen/base/20160909.122615 submit/tizen_3.0_base/20161028.062326 submit/tizen_base/20160909.081609
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>
8 years agopackaging : Support Scons symlinks to accelerate the build 10/81110/2 accepted/tizen/base/20160805.171251 submit/tizen_base/20160726.082820
Yonghee Han [Fri, 22 Jul 2016 06:06:30 +0000 (15:06 +0900)]
packaging : Support Scons symlinks to accelerate the build

Change-Id: Iaa0851b4da54d1317168fee52858c0245c649968

8 years agoMerge "Add support for toolchain with sanitizers support" into tizen_base accepted/tizen/base/20160608.180438 submit/tizen_base/20160608.005905
Yonghee Han [Tue, 7 Jun 2016 23:23:53 +0000 (16:23 -0700)]
Merge "Add support for toolchain with sanitizers support" into tizen_base

8 years agoMerge "Add /bin/ls and /bin/readlink" 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

8 years agoAdd support for toolchain with sanitizers support 85/69085/16
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>
8 years agoIgnoring non-existent files during build 59/70559/1
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>
8 years agoAdd /bin/ls and /bin/readlink 59/68959/2
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>
8 years agoMerge "packaging: Remove gfortran and f951, because gcc doesn't generate them anymore... accepted/tizen/base/20160219.170548 submit/tizen_base/20160215.073227
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

8 years agopackaging: Remove gfortran and f951, because gcc doesn't generate them anymore. 40/59240/1
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>
8 years agoRevert "packaging: Remove gfortran and f951, because gcc doesn't generate them anymore." 36/59236/1
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

8 years agopackaging: Remove gfortran and f951, because gcc doesn't generate them anymore. 14/59214/1 sandbox/hk0110/disable_fortran
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>
8 years agoRevert "add sudo" 19/58719/1 accepted/tizen/base/20160204.092303 submit/tizen_base/20160203.060840
Dongkyun, Son [Wed, 3 Feb 2016 05:28:02 +0000 (14:28 +0900)]
Revert "add sudo"

This reverts commit 1586c942c607fda7d1177864387f70e196f05b60.

Change-Id: I404ce7ef23f071d87dcbdd713011f695663498fa

8 years agoRevert "add getfacl/setfacl" 18/58718/1
Dongkyun, Son [Wed, 3 Feb 2016 05:27:34 +0000 (14:27 +0900)]
Revert "add getfacl/setfacl"

This reverts commit ba4d917b86021948a990336938d4e6876440aa49.

Change-Id: I4820d840d9dd9d04e5ab04520fca6aec0738fc7a

8 years agoadd getfacl/setfacl 37/57137/10 sandbox/dongkyun.s/tizen_base accepted/tizen/base/20160119.051952 submit/tizen_base/20160118.103457
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>
8 years agoadd sudo 25/57025/1
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>
8 years agopackaging: renamed qemu-accel.spec -> qemu-accel.spec.in
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>
8 years agoadd BuildRequires: rpmlint-tizen
HyungGi Lee [Tue, 12 Jan 2016 09:40:58 +0000 (18:40 +0900)]
add BuildRequires: rpmlint-tizen

Change-Id: I5ce558e6ffde28c3d2c9f12ae2096af6e6422c05

8 years agoadd find,xargs
HyungGi Lee [Tue, 12 Jan 2016 09:36:53 +0000 (18:36 +0900)]
add find,xargs

Change-Id: Ieb93d41a64e2bfe399c0fe3fa74cb0451cb7444d

8 years agochange python_version check routine
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>
8 years agopackaging: removed 'stack' in the excutable list
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>
8 years agoadd /usr/bin/file
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>
8 years agoremove unnecessary spam and add dump of accelerated binaries and packages
Yury Usishchev [Wed, 9 Dec 2015 09:24:03 +0000 (12:24 +0300)]
remove unnecessary spam and add dump of accelerated binaries and packages

8 years agoaccelerate python from rpmlint-mini
Yury Usishchev [Thu, 5 Nov 2015 10:37:38 +0000 (13:37 +0300)]
accelerate python from rpmlint-mini

8 years agoChange gcc version parsing
Yury Usishchev [Thu, 22 Oct 2015 18:34:16 +0000 (21:34 +0300)]
Change gcc version parsing

Linaro gcc have different version line

8 years agoAdd python-accel package
Yury Usishchev [Mon, 17 Aug 2015 16:46:01 +0000 (19:46 +0300)]
Add python-accel package

Change-Id: I8274d2c96804dada87d78cef097b811c3ce35f5e

8 years agoRework packaging for Tizen. sandbox/jolfzverb/merge
Yury Usishchev [Mon, 20 Jul 2015 13:10:54 +0000 (16:10 +0300)]
Rework packaging for Tizen.

Change-Id: Ibac85492878e64e6b03c4bc537fe83a26474b226

9 years agoFix update-alternatives call in baselibs.conf 44/41544/2 accepted/tizen_3.0.2015.q2_common tizen_3.0.2015.q2_common accepted/tizen/3.0.2015.q2/common/20150616.134034 accepted/tizen/common/20150616.134547 accepted/tizen/mobile/20150617.082220 accepted/tizen/tv/20150617.082235 accepted/tizen/wearable/20150617.082247 submit/tizen/20150616.132010 submit/tizen_3.0.2015.q2_common/20150616.131924 submit/tizen_common/20150616.131936 submit/tizen_mobile/20150617.000000 submit/tizen_tv/20150617.000000 submit/tizen_wearable/20150617.000000
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>
9 years agoaccelerate also pkg-config and file 98/37798/2 accepted/tizen/3.0.2015.q2/common/20150616.104458 accepted/tizen/common/20150616.104515 accepted/tizen/mobile/20150616.105244 accepted/tizen/tv/20150616.105258 accepted/tizen/wearable/20150616.105309 submit/tizen/20150616.103524 submit/tizen_3.0.2015.q2_common/20150616.103558 submit/tizen_common/20150616.103540
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>
9 years agoAdd cmake to accelerate the build 97/37797/2
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>
9 years agoInstall cross LTO plugin when installing qemu-accel 37/38137/1 accepted/tizen/3.0.2015.q2/common/20150616.100208 accepted/tizen/common/20150616.100059 submit/tizen_3.0.2015.q2_common/20150616.095826 submit/tizen_common/20150616.095732
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

9 years agoDo not install msm.so 07/37807/1 accepted/tizen/common/20150520.164525 accepted/tizen/mobile/20150521.074718 accepted/tizen/tv/20150521.074602 accepted/tizen/wearable/20150521.063957 submit/tizen_common/20150518.122814 submit/tizen_mobile/20150521.010058 submit/tizen_tv/20150521.010036 submit/tizen_wearable/20150521.010049
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>
9 years agoAdd auto-generation of spec-files and enable Gold linker 18/31718/30 tizen_3.0.2014.q4_common tizen_3.0.2015.q1_common accepted/tizen/common/20150127.151353 accepted/tizen/mobile/20150205.042648 accepted/tizen/tv/20150206.074816 accepted/tizen/wearable/20150204.014316 submit/tizen_common/20150127.143638 submit/tizen_ivi/20150206.082313 submit/tizen_mobile/20150129.000000 submit/tizen_mobile/20150204.011944 submit/tizen_tv/20150204.012408 submit/tizen_wearable/20150202.034712 submit/tizen_wearable/20150204.011455
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>
9 years agoremove unused files 83/33983/2
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>
9 years agoRemove egrep from the list of binaries to patch 60/33960/2 accepted/tizen_3.0_ivi accepted/tizen_ivi accepted/tizen/3.0/ivi/20150120.102818 accepted/tizen/common/20150119.092719 accepted/tizen/ivi/20150120.015337 accepted/tizen/ivi/20150126.030003 accepted/tizen/mobile/20150122.091634 accepted/tizen/mobile/20150126.012139 accepted/tizen/tv/20150122.091138 accepted/tizen/tv/20150122.091211 accepted/tizen/wearable/20150122.071935 submit/tizen/20150119.120537 submit/tizen_3.0_ivi/20150120.012249 submit/tizen_3.0_ivi/20150120.070535 submit/tizen_common/20150119.092201 submit/tizen_common/20150119.092527 submit/tizen_ivi/20150119.000000 submit/tizen_mobile/20150123.000000 submit/tizen_tv/20150120.000001 tizen_3.0_ivi_release
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>
9 years agopackaging: create aarch64 package from i586, too 84/31284/1 tizen_3.0_ivi accepted/tizen/common/20141204.104414 accepted/tizen/ivi/20141208.070341 accepted/tizen/mobile/20141204.110125 submit/tizen/20141204.050808 submit/tizen_ivi/20150116.424242
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>
9 years agoclean spec file 40/27840/1 accepted/tizen_3.0.2014.q3_common tizen_3.0.2014.q3_common accepted/tizen/common/20140919.160436 accepted/tizen/ivi/20141119.110953 submit/tizen_common/20140919.160051 submit/tizen_ivi/20141119.052506 submit/tizen_ivi/20141119.333333 submit/tizen_ivi/20141119.444444 submit/tizen_mobile/20141120.000000 tizen_3.0.2014.q3_common_release
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>
9 years agopackaging: adapt to lib/lib64 directory structure 18/27418/5 accepted/tizen_3.0.m14.3_ivi tizen_3.0.m14.3_ivi accepted/tizen/common/20140918.093154 accepted/tizen/ivi/20140926.185945 submit/tizen/20140917.124329
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>
9 years agofix libnsl usage 26/26926/1 accepted/tizen/common/20140901.141740 submit/tizen_common/20140901.141656
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>
9 years agobaselibs: fix rpm macro usage in regenerated post section 21/26921/1 accepted/tizen/common/20140901.131759 submit/tizen_common/20140901.131435
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>
9 years agoTrying to fix undefined macro our_path 69/26869/1 accepted/tizen/common/20140901.080223 submit/tizen_common/20140901.075125
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>
9 years agopackaging: fix build inconsistency in qemu-accel.spec 55/26055/1 accepted/tizen/common/20140827.125732 accepted/tizen/common/20140827.165838 submit/tizen_common/20140827.125321 submit/tizen_common/20140827.165803
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>
9 years agoFix wrapper script of cross ld executable 05/25905/1 submit/tizen/20140812.112543 submit/tizen_common/20140814.021031
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>
9 years agoAdd Aarch64 support and support of upgraded toolchain 69/25369/7
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>
10 years ago[ARM v7l] Fix build for x64 host 98/20898/1 tizen_3.0.m14.2_ivi_release tizen_3.0.m14.3_ivi_release
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>