From: wanchao-xu Date: Thu, 7 Dec 2023 00:22:22 +0000 (+0800) Subject: Add test case for tizen riscv. X-Git-Tag: accepted/tools/devbase/tools/20250527.103751~4^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2423240406d9cfe4a84048fc44ffac54dda511c2;p=tools%2Fitest-cases-gbs.git Add test case for tizen riscv. Change-Id: I2f9a51635f97bfe22704b6b252a01ba2df602ad8 Signed-off-by: wanchao-xu --- diff --git a/cases/build/test_build_binary_from_file_riscv.case b/cases/build/test_build_binary_from_file_riscv.case new file mode 100755 index 0000000..d8f86df --- /dev/null +++ b/cases/build/test_build_binary_from_file_riscv.case @@ -0,0 +1,44 @@ + + test binary-from-file feature + + + + + + + + + + > bin-list + +echo xorg-x11-filesystem >> bin-list + +cat bin-list + +#broken register +sudo sh -c "echo -1 >/proc/sys/fs/binfmt_misc/status" + +gbs -c base.cfg build --binary-from-file=bin-list -P tizen_riscv64 -A riscv64 -D riscv.conf 2>&1 | tee log + +AssertCleanWith fake power xorg-x11-filesystem + +AssertRPMsRWithout power + +AssertRPMsRWith xorg-x11-filesystem fake +]]> + diff --git a/cases/build/test_build_buildroot_riscv.case b/cases/build/test_build_buildroot_riscv.case new file mode 100755 index 0000000..2c11e07 --- /dev/null +++ b/cases/build/test_build_buildroot_riscv.case @@ -0,0 +1,26 @@ + + test buildroot feature + + 60 + + + + + + + &1 | tee log + +test -z "`grep "mount:.*scratch" log`" + +cd fake && test -n "`git status | grep "working directory clean"`" && cd .. + +test -n "`find ~/buildroot/local/repos -name "*fake*.rpm"`" +]]> + diff --git a/cases/build/test_build_clean-once_riscv.case b/cases/build/test_build_clean-once_riscv.case new file mode 100755 index 0000000..1a337d8 --- /dev/null +++ b/cases/build/test_build_clean-once_riscv.case @@ -0,0 +1,34 @@ + + test clean-once feature + + + + + + + + &1 | tee log + +test -z "`grep "mount:.*scratch" log`" + +cd fake && test -n "`git status | grep "working directory clean"`" && cd .. + +test -n "`find ~/GBS-ROOT/local/repos -name "*fake*.rpm"`" + +#buildroot is cleaned, so test.txt doesn't exist +[ ! -f ~/GBS-ROOT/local/BUILD-ROOTS/scratch.riscv64.0/test.txt ] +]]> + diff --git a/cases/build/test_build_exclude_riscv.case b/cases/build/test_build_exclude_riscv.case new file mode 100755 index 0000000..6e054b5 --- /dev/null +++ b/cases/build/test_build_exclude_riscv.case @@ -0,0 +1,41 @@ + + test exclude feature + + + + + + + + + /proc/sys/fs/binfmt_misc/status" + +gbs -c base.cfg build --exclude=power,fake -P tizen_riscv64 -A riscv64 -D riscv.conf 2>&1 | tee log + +test -z "`grep "mount:.*scratch" log`" + +cd fake && test -n "`git status | grep "working directory clean"`" && cd .. + +cd power && test -n "`git status | grep "working directory clean"`" && cd .. + +cd xorg-x11-filesystem && test -n "`git status | grep "working directory clean"`" && cd .. + +test -z "`find ~/GBS-ROOT/local/repos -name "*fake*.rpm"`" + +test -z "`find ~/GBS-ROOT/local/repos -name "*power*.rpm"`" + +test -n "`find ~/GBS-ROOT/local/repos -name "*xorg-x11-filesystem*.rpm"`" +]]> + diff --git a/cases/build/test_build_incremental_dir_riscv.case b/cases/build/test_build_incremental_dir_riscv.case new file mode 100755 index 0000000..187f68b --- /dev/null +++ b/cases/build/test_build_incremental_dir_riscv.case @@ -0,0 +1,32 @@ + + test incremental feature + + + + + + + /proc/sys/fs/binfmt_misc/status" + +gbs -c base.cfg build --clean -P tizen_riscv64 -A riscv64 -D riscv.conf + +gbs -c base.cfg build --incremental -P tizen_riscv64 -A riscv64 -D riscv.conf 2>&1 | tee log + +#check build log key word +test -z "`grep "mount:.*scratch" log`" + +test -n "`grep "rpmbuild.*-bs" log`" + +#check rpm generated whether or not +test -n "`find ~/GBS-ROOT/local/repos/ -name "*sw-tools*rpm"`" + +#check generated rpm whether is rpmlib(ShortCircuited) or not +find ~/GBS-ROOT/local/repos/ -name "*rpm" |xargs -i rpm -qpR {} |grep "rpmlib(ShortCircuited)" +]]> + diff --git a/cases/build/test_build_incremental_riscv.case b/cases/build/test_build_incremental_riscv.case new file mode 100755 index 0000000..af6e8f2 --- /dev/null +++ b/cases/build/test_build_incremental_riscv.case @@ -0,0 +1,32 @@ + + test incremental feature + + + + + + + /proc/sys/fs/binfmt_misc/status" + +gbs -c base.cfg build --clean -P tizen_riscv64 -A riscv64 -D riscv.conf sw-tools + +gbs -c base.cfg build --incremental -P tizen_riscv64 -A riscv64 -D riscv.conf sw-tools 2>&1 | tee log + +#check build log key word +test -z "`grep "mount:.*scratch" log`" + +test -n "`grep "rpmbuild.*-bs" log`" + +#check rpm generated whether or not +test -n "`find ~/GBS-ROOT/local/repos/ -name "*sw-tools*rpm"`" + +#check generated rpm whether is rpmlib(ShortCircuited) or not +find ~/GBS-ROOT/local/repos/ -name "*rpm" |xargs -i rpm -qpR {} |grep "rpmlib(ShortCircuited)" +]]> + diff --git a/cases/build/test_build_incremental_spec_riscv.case b/cases/build/test_build_incremental_spec_riscv.case new file mode 100755 index 0000000..105fec4 --- /dev/null +++ b/cases/build/test_build_incremental_spec_riscv.case @@ -0,0 +1,42 @@ + + test incremental feature with spec option + + 69 + + + + + + + + + /proc/sys/fs/binfmt_misc/status" + +gbs -c base.cfg build --clean --spec=fake-dev.spec fake -P tizen_riscv64 -A riscv64 -D riscv.conf 2>&1 | tee log + +#check build log key word +test -z "`grep "init_buildsystem.*fake.spec" log`" + +test -n "`grep "init_buildsystem.*fake-dev.spec" log`" + +gbs -c base.cfg build --incremental --spec=fake-dev.spec fake -P tizen_riscv64 -A riscv64 -D riscv.conf 2>&1 | tee log2 + +test -z "`grep "mount:.*scratch" log2`" + +test -n "`grep "rpmbuild.*-b[c|p]" log2`" + +#check rpm generated whether or not +test -n "`find ~/GBS-ROOT/local/repos -name "*fake-dev*rpm"`" + +#check generated rpm whether is rpmlib(ShortCircuited) or not +find ~/GBS-ROOT/local/repos/ -name "*rpm" |xargs -i rpm -qpR {} |grep "rpmlib(ShortCircuited)" +]]> + diff --git a/cases/build/test_build_keep-packs_riscv.case b/cases/build/test_build_keep-packs_riscv.case new file mode 100755 index 0000000..2f84c0e --- /dev/null +++ b/cases/build/test_build_keep-packs_riscv.case @@ -0,0 +1,47 @@ + + test keep-packs feature + + + + + + + + &1 | tee log + +count1="`sudo chroot ~/GBS-ROOT/local/BUILD-ROOTS/scratch.riscv64.0 rpm -qa | wc -l`" + +gbs -c base.cfg build xorg-x11-filesystem --keep-packs -P tizen_riscv64 -A riscv64 -D riscv.conf 2>&1 | tee log + +count2="`sudo chroot ~/GBS-ROOT/local/BUILD-ROOTS/scratch.riscv64.0 rpm -qa | wc -l`" + +test "$count1" == "$count2" + +test -z "`grep "deleting.*" log`" + +test -n "`grep "init_buildsystem.*keep-packs" log`" + +cd xorg-x11-filesystem && test -n "`git status | grep -E "working tree|directory clean"`" && cd .. + +test -n "`find ~/GBS-ROOT/local/repos -name "*xorg-x11-filesystem*.rpm"`" + +gbs -c base.cfg build xorg-x11-filesystem -P tizen_riscv64 -A riscv64 -D riscv.conf --overwrite 2>&1 | tee log + +count3="`sudo chroot ~/GBS-ROOT/local/BUILD-ROOTS/scratch.riscv64.0 rpm -qa | wc -l`" + +test "$count2" \> "$count3" + +test -n "`grep "deleting.*" log`" + +test -z "`grep "init_buildsystem.*keep-packs" log`" +]]> + diff --git a/cases/build/test_build_no-configure_riscv.case b/cases/build/test_build_no-configure_riscv.case new file mode 100755 index 0000000..e96751f --- /dev/null +++ b/cases/build/test_build_no-configure_riscv.case @@ -0,0 +1,47 @@ + + test no-configure feature + + + + + + + + configure + +echo "echo 'command in configure'" >>configure + +chmod +x configure + +git add configure + +git commit -m 'add configure' + +cd .. + +gbs -c base.cfg build -P tizen_riscv64 -A riscv64 -D riscv.conf fake +git config --global --add safe.directory $PWD/fake +gbs -c base.cfg build --incremental -P tizen_riscv64 -A riscv64 -D riscv.conf fake 2>&1| tee log + +#configure has been executed +grep "command in configure" log + +gbs -c base.cfg build --no-configure --incremental -P tizen_riscv64 -A riscv64 -D riscv.conf fake 2>&1| tee log2 + +#configure has not been executed if --no-configure +( ! grep "command in configure" log2 ) + +AssertRPMsRWith fake +]]> + diff --git a/cases/build/test_build_noinit_riscv.case b/cases/build/test_build_noinit_riscv.case new file mode 100755 index 0000000..1874815 --- /dev/null +++ b/cases/build/test_build_noinit_riscv.case @@ -0,0 +1,27 @@ + + test noinit feature + + + + + + + /proc/sys/fs/binfmt_misc/status" + +gbs -c base.cfg build --clean -P tizen_riscv64 -A riscv64 -D riscv.conf 2>&1 | tee log + +gbs -c base.cfg build --noinit -P tizen_riscv64 -A riscv64 -D riscv.conf 2>&1 | tee log + +test -z "`grep "generate repositories" log`" + +cd sw-tools && test -n "`git status | grep "working directory clean"`" && cd .. + +test -n "`find ~/GBS-ROOT/local/repos -name "*sw-tools*.rpm"`" +]]> + diff --git a/cases/build/test_build_overwrite_riscv.case b/cases/build/test_build_overwrite_riscv.case new file mode 100755 index 0000000..619d2a2 --- /dev/null +++ b/cases/build/test_build_overwrite_riscv.case @@ -0,0 +1,37 @@ + + test overwrite feature + + + + + + + /proc/sys/fs/binfmt_misc/status" + +gbs -c base.cfg build -P tizen_riscv64 -A riscv64 -D riscv.conf 2>&1 | tee log + +test -z "`grep "mount:.*scratch" log`" + +test -z "`grep "skip.*fake" log`" + +test -n "`find ~/GBS-ROOT/local/repos -name "*fake*.rpm"`" + +time1=`ls -l --full-time ~/GBS-ROOT/local/repos/tizen_riscv64/riscv64/RPMS | grep fake | awk '{ print $7 }'` + +gbs -c base.cfg build --overwrite -P tizen_riscv64 -A riscv64 -D riscv.conf 2>&1 | tee log + +time2=`ls -l --full-time ~/GBS-ROOT/local/repos/tizen_riscv64/riscv64/RPMS | grep fake | awk '{ print $7 }'` + +cd fake && test -n "`git status | grep "working directory clean"`" && cd .. + +test "$time1" != "$time2" +]]> + diff --git a/cases/build/test_build_threads_riscv.case b/cases/build/test_build_threads_riscv.case new file mode 100755 index 0000000..8ba7abe --- /dev/null +++ b/cases/build/test_build_threads_riscv.case @@ -0,0 +1,49 @@ + + test threads feature + + 8427 + + + + + + + + + + /proc/sys/fs/binfmt_misc/status" + +gbs -c base.cfg build --threads=4 -P tizen_riscv64 -A riscv64 -D riscv.conf --debug 2>&1 | tee log + +test -z "`grep "mount:.*scratch" log`" + +cd fake && test -n "`git status | grep "working directory clean"`" && cd .. + +cd tizen-release && test -n "`git status | grep "working directory clean"`" && cd .. + +cd sw-tools && test -n "`git status | grep "working directory clean"`" && cd .. + +test -n "`find ~/GBS-ROOT/local/repos -name "*fake*.rpm"`" + +test -n "`find ~/GBS-ROOT/local/repos -name "*tizen-release*.rpm"`" + +test -n "`find ~/GBS-ROOT/local/repos -name "*sw-tools*.rpm"`" +]]> + + diff --git a/fixtures/conf/base.cfg b/fixtures/conf/base.cfg index 2318936..51275c7 100644 --- a/fixtures/conf/base.cfg +++ b/fixtures/conf/base.cfg @@ -65,3 +65,12 @@ repos = repo.tizen_without_conf [repo.tizen_without_conf] #there is no builddata under latest directory url = http://localhost:8881/without_conf_gbs/ + +[profile.tizen_riscv64] +repos = repo.tizen_riscv64_base, repo.tizen_riscv64_unified + +[repo.tizen_riscv64_base] +url = http://download.tizen.org/releases/milestone/TIZEN/Tizen/Tizen-Base-RISCV/latest/repos/standard/packages/ + +[repo.tizen_riscv64_unified] +url = http://download.tizen.org/releases/milestone/TIZEN/Tizen/Tizen-Unified-RISCV/latest/repos/standard/packages/ diff --git a/fixtures/conf/riscv.conf b/fixtures/conf/riscv.conf new file mode 100755 index 0000000..9a2e2d1 --- /dev/null +++ b/fixtures/conf/riscv.conf @@ -0,0 +1,979 @@ +%define _project Tizen-Unified-RISCV + +Macros: +%vendor Tizen +%_project Tizen-Unified-RISCV +:Macros + +%define _project Tizen-Unified-RISCV + +Macros: +%vendor Tizen +%_project Tizen-Unified-RISCV +:Macros + +%define _project Tizen-Unified-RISCV + +Macros: +%vendor Tizen +%_project Tizen-Unified-RISCV +:Macros + +%define _project Tizen-Unified-RISCV + +### from Tizen:Base +%define _repository standard + +Macros: +%vendor obs://private/Tizen:Base +%_project Tizen-Unified-RISCV + + +%_project Tizen-Unified-RISCV + +### from Tizen:Base + +%_repository standard +:Macros + +################################################################################ +# OBS Project config for Tizen:Base +# +# RE contacts: +# +# +# vim: set syntax=spec: +################################################################################ + +Patterntype: rpm-md comps +Release: . +Support: build +Support: build-compare build-mkbaselibs +# Support: rpmlint-mini rpmlint-tizen + +############################# conflicts resolution ############################# + +Prefer: util-linux +Prefer: mono-wcf +Prefer: monodoc +Prefer: mono-extras +Prefer: mono-web +Prefer: mono-data +Prefer: mono-mvc +Prefer: mono-winforms +Prefer: mono-data-sqlite + +# Set a preference for ambiguous libs to use *-64bit libs +# *-64bit libs on 32bit build environment are required for .Net build (e.g., coreclr, corefx) +# But when building 64bit target, they could make 'have choice' error with original libs in 64bit repository. +# e.g., libstdc++ and libstdc++-64bit provides same libs. It's ambiguous to choose appropriate one. +# Owner : Jiyoung Yun (jy910.yun@samsung.com) +# libopenssl11 : Dongsun Lee (ds73.lee@samsung.com) +Prefer: libgcc libstdc++ libunwind libuuid zlib libopenssl libopenssl11 +Prefer: lldb + +############################# base definition ############################### + +# %release_name and %tizen_full_version are used in platform/upstream/tizen-release + +Macros: +%release_name Tizen8.0/Unified + +%tizen_version_major 8 +%tizen_version_minor 0 +%tizen_version_patch 0 + +%tizen_version %{tizen_version_major}.%{tizen_version_minor} +%tizen_full_version %{tizen_version}.%{tizen_version_patch} +%tizen %tizen_version +%vendor tizen +%_vendor tizen +%_with_tizen 1 + +#### %__spec_check_pre exit 0 +#### %run_check_section 0 + +%opensuse_bs 1 +%_default_patch_fuzz 2 + +%_binary_payload w5T.xzdio +:Macros + + +############################# build config ##################################### + +########## targets ########## + +%ifarch i586 +Target: i686-tizen-linux +%endif + +%ifarch armv7hl +Target: armv7hl-tizen-linux +%endif + +%ifarch armv7l +Target: armv7l-tizen-linux +%endif + +%ifarch aarch64 +Target: aarch64-tizen-linux +%endif + +%ifarch riscv64 +Target: riscv64-tizen-linux +%endif + +########## cross build ########## + +%define build_hostarch x86_64 +Macros: +%build_hostarch x86_64 +:Macros + +%ifarch riscv64 %arm armv7l armv7hl aarch64 +Hostarch: x86_64 +# cross build support for the build hosts +Preinstall: qemu-linux-user-%{build_hostarch}-cross +Runscripts: qemu-linux-user-%{build_hostarch}-cross +Keep: qemu-linux-user-%{build_hostarch}-cross +Macros: +%qemu_user_space_build 1 +:Macros +%endif + +%ifarch armv7l +Preinstall: qemu-accel-%{build_hostarch}-armv7l +Runscripts: qemu-accel-%{build_hostarch}-armv7l +Preinstall: libmount libblkid libuuid +%endif + +%ifarch armv7hl +Preinstall: qemu-accel-%{build_hostarch}-armv7hl +Runscripts: qemu-accel-%{build_hostarch}-armv7hl +Preinstall: libmount libblkid libuuid +%endif + +%ifarch aarch64 +Preinstall: qemu-accel-%{build_hostarch}-aarch64 +Runscripts: qemu-accel-%{build_hostarch}-aarch64 +Preinstall: libmount libblkid libuuid +%endif # aarch64 + +%ifarch riscv64 +Preinstall: qemu-accel-%{build_hostarch}-riscv64 +Runscripts: qemu-accel-%{build_hostarch}-riscv64 +Preinstall: libmount libblkid libuuid +%endif # riscv64 + +Substitute: python-accel-armv7l-cross-arm python-accel-%{build_hostarch}-armv7l +Substitute: python-accel-armv7hl-cross-arm python-accel-%{build_hostarch}-armv7hl +Substitute: python-accel-aarch64-cross-aarch64 python-accel-%{build_hostarch}-aarch64 +Substitute: python-accel-riscv64-cross-riscv64 python-accel-%{build_hostarch}-riscv64 + +Substitute: clang-accel-armv7l-cross-arm clang-accel-%{build_hostarch}-armv7l +Substitute: clang-accel-armv7hl-cross-arm clang-accel-%{build_hostarch}-armv7hl +Substitute: clang-accel-aarch64-cross-aarch64 clang-accel-%{build_hostarch}-aarch64 +Substitute: clang-accel-riscv64-cross-riscv64 clang-accel-%{build_hostarch}-riscv64 + +########## exports for different architectures ########## + +ExportFilter: \.armv7l\.rpm$ armv7l +ExportFilter: \.armv7hl\.rpm$ armv7hl +ExportFilter: \.aarch64\.rpm$ aarch64 +ExportFilter: \.i586\.rpm$ i586 +ExportFilter: \.x86_64\.rpm$ x86_64 +ExportFilter: \.riscv64\.rpm$ riscv64 + +########## buildroot config ########## + +Preinstall: setup filesystem +RunScripts: setup + +Preinstall: bash bzip2 coreutils diffutils grep rpm +Preinstall: glibc libacl libattr +Preinstall: libcap +Preinstall: libgcc +Preinstall: libpopt sed tar zlib +Preinstall: libncurses libreadline +Preinstall: libelf libbz2 +Preinstall: liblzma +Preinstall: nss nspr libfreebl3 libsoftokn3 +Preinstall: libmagic +Preinstall: liblua +Preinstall: smack libsmack libxml2 libmagic libmagic-data +Preinstall: libsqlite +#Preinstall: rpm-security-plugin +Preinstall: util-linux util-linux-su +Preinstall: libzstd1 + +VMinstall: perl libmount libblkid libext2fs libuuid grep libpcre util-linux libsmartcols procps-ng + +Required: binutils gcc glibc rpm-build libtool +Required: gcc-c++ + +Support: glibc-locale +Support: perl +Support: hostname +Support: cpio findutils +Support: file findutils zlib bzip2 +Support: gzip hostname net-tools +Support: make patch sed gawk tar grep coreutils pkg-config +Support: m4 tzdata +Support: util-linux +Support: less +Support: which elfutils +Support: update-alternatives +Support: libstdc++-devel +Support: cpp +Support: libatomic +Support: libgomp +Support: libitm + +Keep: libstdc++-devel +Keep: cpp gcc libstdc++ +Keep: pam +Keep: binutils cpp libmagic-data file findutils gawk gcc gcc-c++ +Keep: gdbm gzip libada libunwind glibc-devel libpcre xz-lzma-compat +Keep: make gmp libcap groff cpio +Keep: patch rpm-build nss nspr elfutils python grep libgcc gcc-c++ +Keep: kernel-headers perl-libs perl +Keep: pkgconfig glib2 tizen-rpm-config +Keep: libmpc libmpfr libppl libgmp libppl_c +Keep: libcloog libppl libgmpxx +Keep: nss-softokn-freebl libmagic libmagic-data +Keep: setup +Keep: update-alternatives +Keep: cpp +Keep: gcc-c++ +Keep: libatomic +Keep: libgomp +Keep: libitm + +Substitute: gettext gettext-tools + +%ifarch x86_64 +Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit +Substitute: libgcc_s1-32bit libgcc-32bit +%else +Substitute: glibc-devel-32bit +%endif + +########## compilation flags ########## +%define __global_cflags -O2 -g2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong -Wformat-security -fmessage-length=0 -frecord-gcc-switches -Wl,-z,relro,--as-needed + +Optflags: armv7l %{__global_cflags} --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -mthumb -Wp,-D__SOFTFP__ -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb -D_FILE_OFFSET_BITS=64 +Optflags: armv7hl %{__global_cflags} --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=hard -mthumb -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb -D_FILE_OFFSET_BITS=64 +Optflags: aarch64 %{__global_cflags} -feliminate-unused-debug-types -Wformat -march=armv8-a+fp+simd+crc+crypto -mtune=cortex-a57.cortex-a53 +Optflags: i686 %{__global_cflags} -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer -mstackrealign -Wl,-z,noseparate-code +Optflags: x86_64 %{__global_cflags} -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m64 -march=nehalem -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer +Optflags: riscv64 %{__global_cflags} -feliminate-unused-debug-types -Wformat -mabi=lp64d -march=rv64gc +### from Tizen-Base-RISCV +%define _repository standard + +Macros: + + +%_project Tizen-Unified-RISCV + +### from Tizen-Base-RISCV + +%_repository standard +:Macros + +################################################################################ +# OBS Project config for Tizen:Base +# +# RE contacts: +# +# +# vim: set syntax=spec: +################################################################################ + +Patterntype: rpm-md comps +Release: . +Support: build +Support: build-compare build-mkbaselibs +# Support: rpmlint-mini rpmlint-tizen + +# new cycle handling (gbs version >= 0.25.29) +BuildFlags: genmetaalgo:1 + +############################# conflicts resolution ############################# + +Prefer: util-linux +Prefer: mono-wcf +Prefer: monodoc +Prefer: mono-extras +Prefer: mono-web +Prefer: mono-data +Prefer: mono-mvc +Prefer: mono-winforms +Prefer: mono-data-sqlite + +# Set a preference for ambiguous libs to use *-64bit libs +# *-64bit libs on 32bit build environment are required for .Net build (e.g., coreclr, corefx) +# But when building 64bit target, they could make 'have choice' error with original libs in 64bit repository. +# e.g., libstdc++ and libstdc++-64bit provides same libs. It's ambiguous to choose appropriate one. +# Owner : Jiyoung Yun (jy910.yun@samsung.com) +# libopenssl11 : Dongsun Lee (ds73.lee@samsung.com) +Prefer: libgcc libstdc++ libunwind libuuid zlib libopenssl libopenssl11 +Prefer: lldb + +############################# base definition ############################### + +# %release_name and %tizen_full_version are used in platform/upstream/tizen-release + +Macros: +%release_name Tizen8.0/Unified + +%tizen_version_major 8 +%tizen_version_minor 0 +%tizen_version_patch 0 + +%tizen_version %{tizen_version_major}.%{tizen_version_minor} +%tizen_full_version %{tizen_version}.%{tizen_version_patch} +%tizen %tizen_version +%vendor tizen +%_vendor tizen +%_with_tizen 1 + +%opensuse_bs 1 +%_default_patch_fuzz 2 + +%_binary_payload w5T.xzdio +:Macros + +#### %%__spec_check_pre exit 0 +#### %%run_check_section 0 + +# skip %%check section +Macros: +# skip package list +%_skip_check_packages autogen bison boost expat findutils flex fribidi glibc \\\ +gmp gn golang grep libgc libgcrypt libogg libsigc++ libvorbis libxml2 libzio \\\ +m4 nspr openssl openssl1.1 perl-Devel-Symdump perl-gettext perl-Pod-Coverage \\\ +perl-Test-Pod perl-Test-Pod-Coverage perl-TimeDate procps-ng python3-mako \\\ +python3-mock python3-ply python-funcsigs python-mako python-mock python-ply \\\ +setup zlib openssl3 autoconf + +%__spec_check_pre \ +for name in %_skip_check_packages \ +do \ + if [ "$name" = "%{name}" ]; then \ + exit 0 \ + fi \ +done \ +%{___build_pre} \ +%{nil} + +:Macros + +############################# build config ##################################### + +########## targets ########## + +%ifarch i586 +Target: i686-tizen-linux +%endif + +%ifarch armv7hl +Target: armv7hl-tizen-linux +%endif + +%ifarch armv7l +Target: armv7l-tizen-linux +%endif + +%ifarch aarch64 +Target: aarch64-tizen-linux +%endif + +%ifarch riscv64 +Target: riscv64-tizen-linux +%endif + +########## cross build ########## + +%define build_hostarch x86_64 +Macros: +%build_hostarch x86_64 +:Macros + +%ifarch riscv64 %arm armv7l armv7hl aarch64 +Hostarch: x86_64 +# cross build support for the build hosts +Preinstall: qemu-linux-user-%{build_hostarch}-cross +Runscripts: qemu-linux-user-%{build_hostarch}-cross +Keep: qemu-linux-user-%{build_hostarch}-cross +Macros: +%qemu_user_space_build 1 +:Macros +%endif + +%ifarch armv7l +Preinstall: qemu-accel-%{build_hostarch}-armv7l +Runscripts: qemu-accel-%{build_hostarch}-armv7l +Preinstall: libmount libblkid libuuid +%endif + +%ifarch armv7hl +Preinstall: qemu-accel-%{build_hostarch}-armv7hl +Runscripts: qemu-accel-%{build_hostarch}-armv7hl +Preinstall: libmount libblkid libuuid +%endif + +%ifarch aarch64 +Preinstall: qemu-accel-%{build_hostarch}-aarch64 +Runscripts: qemu-accel-%{build_hostarch}-aarch64 +Preinstall: libmount libblkid libuuid +%endif # aarch64 + +%ifarch riscv64 +Preinstall: qemu-accel-%{build_hostarch}-riscv64 +Runscripts: qemu-accel-%{build_hostarch}-riscv64 +Preinstall: libmount libblkid libuuid +%endif # riscv64 + +Substitute: python-accel-armv7l-cross-arm python-accel-%{build_hostarch}-armv7l +Substitute: python-accel-armv7hl-cross-arm python-accel-%{build_hostarch}-armv7hl +Substitute: python-accel-aarch64-cross-aarch64 python-accel-%{build_hostarch}-aarch64 +Substitute: python-accel-riscv64-cross-riscv64 python-accel-%{build_hostarch}-riscv64 + +Substitute: clang-accel-armv7l-cross-arm clang-accel-%{build_hostarch}-armv7l +Substitute: clang-accel-armv7hl-cross-arm clang-accel-%{build_hostarch}-armv7hl +Substitute: clang-accel-aarch64-cross-aarch64 clang-accel-%{build_hostarch}-aarch64 +Substitute: clang-accel-riscv64-cross-riscv64 clang-accel-%{build_hostarch}-riscv64 + +########## exports for different architectures ########## + +ExportFilter: \.armv7l\.rpm$ armv7l +ExportFilter: \.armv7hl\.rpm$ armv7hl +ExportFilter: \.aarch64\.rpm$ aarch64 +ExportFilter: \.i586\.rpm$ i586 +ExportFilter: \.x86_64\.rpm$ x86_64 +ExportFilter: \.riscv64\.rpm$ riscv64 + +########## buildroot config ########## + +Preinstall: setup filesystem +RunScripts: setup + +Preinstall: bash bzip2 coreutils diffutils grep rpm +Preinstall: glibc libacl libattr +Preinstall: libcap +Preinstall: libgcc +Preinstall: libpopt sed tar zlib +Preinstall: libncurses libreadline +Preinstall: libelf libbz2 +Preinstall: liblzma +Preinstall: nss nspr libfreebl3 libsoftokn3 +Preinstall: libmagic +Preinstall: liblua +Preinstall: smack libsmack libxml2 libmagic libmagic-data +Preinstall: libsqlite +#Preinstall: rpm-security-plugin +Preinstall: util-linux util-linux-su +Preinstall: libzstd1 + +VMinstall: perl libmount libblkid libext2fs libuuid grep libpcre util-linux libsmartcols procps-ng + +Required: binutils gcc glibc rpm-build libtool +Required: gcc-c++ + +Support: glibc-locale +Support: perl +Support: hostname +Support: cpio findutils +Support: file findutils zlib bzip2 +Support: gzip hostname net-tools +Support: make patch sed gawk tar grep coreutils pkg-config +Support: m4 tzdata +Support: util-linux +Support: less +Support: which elfutils +Support: update-alternatives +Support: libstdc++-devel +Support: cpp +Support: libatomic +Support: libgomp +Support: libitm + +Keep: libstdc++-devel +Keep: cpp gcc libstdc++ +Keep: pam +Keep: binutils cpp libmagic-data file findutils gawk gcc gcc-c++ +Keep: gdbm gzip libada libunwind glibc-devel libpcre xz-lzma-compat +Keep: make gmp libcap groff cpio +Keep: patch rpm-build nss nspr elfutils python grep libgcc gcc-c++ +Keep: kernel-headers perl-libs perl +Keep: pkgconfig glib2 tizen-rpm-config +Keep: libmpc libmpfr libppl libgmp libppl_c +Keep: libcloog libppl libgmpxx +Keep: nss-softokn-freebl libmagic libmagic-data +Keep: setup +Keep: update-alternatives +Keep: cpp +Keep: gcc-c++ +Keep: libatomic +Keep: libgomp +Keep: libitm + +Substitute: gettext gettext-tools + +%ifarch x86_64 +Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit +Substitute: libgcc_s1-32bit libgcc-32bit +%else +Substitute: glibc-devel-32bit +%endif + +########## compilation flags ########## +%define __global_cflags -O2 -g2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong -Wformat-security -fmessage-length=0 -frecord-gcc-switches -Wl,-z,relro,--as-needed + +Optflags: armv7l %{__global_cflags} --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -mthumb -Wp,-D__SOFTFP__ -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb -D_FILE_OFFSET_BITS=64 +Optflags: armv7hl %{__global_cflags} --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=hard -mthumb -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb -D_FILE_OFFSET_BITS=64 +Optflags: aarch64 %{__global_cflags} -feliminate-unused-debug-types -Wformat -march=armv8-a+fp+simd+crc+crypto -mtune=cortex-a57.cortex-a53 +Optflags: i686 %{__global_cflags} -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer -mstackrealign -Wl,-z,noseparate-code +Optflags: x86_64 %{__global_cflags} -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m64 -march=nehalem -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer +Optflags: riscv64 %{__global_cflags} -feliminate-unused-debug-types -Wformat -mabi=lp64d -march=rv64gc + + +### from Tizen-Base-RISCV +%define _repository standard + +Macros: + + +%_project Tizen-Unified-RISCV + +### from Tizen-Base-RISCV + +%_repository standard +:Macros + +################################################################################ +# OBS Project config for Tizen:Base +# +# RE contacts: +# +# +# vim: set syntax=spec: +################################################################################ + +Patterntype: rpm-md comps +Release: . +Support: build +Support: build-compare build-mkbaselibs +# Support: rpmlint-mini rpmlint-tizen + +# new cycle handling (gbs version >= 0.25.29) +BuildFlags: genmetaalgo:1 + +############################# conflicts resolution ############################# + +Prefer: util-linux +Prefer: mono-wcf +Prefer: monodoc +Prefer: mono-extras +Prefer: mono-web +Prefer: mono-data +Prefer: mono-mvc +Prefer: mono-winforms +Prefer: mono-data-sqlite + +# Set a preference for ambiguous libs to use *-64bit libs +# *-64bit libs on 32bit build environment are required for .Net build (e.g., coreclr, corefx) +# But when building 64bit target, they could make 'have choice' error with original libs in 64bit repository. +# e.g., libstdc++ and libstdc++-64bit provides same libs. It's ambiguous to choose appropriate one. +# Owner : Jiyoung Yun (jy910.yun@samsung.com) +# libopenssl11 : Dongsun Lee (ds73.lee@samsung.com) +Prefer: libgcc libstdc++ libunwind libuuid zlib libopenssl libopenssl11 +Prefer: lldb + +############################# base definition ############################### + +# %release_name and %tizen_full_version are used in platform/upstream/tizen-release + +Macros: +%release_name Tizen8.0/Unified + +%tizen_version_major 8 +%tizen_version_minor 0 +%tizen_version_patch 0 + +%tizen_version %{tizen_version_major}.%{tizen_version_minor} +%tizen_full_version %{tizen_version}.%{tizen_version_patch} +%tizen %tizen_version +%vendor tizen +%_vendor tizen +%_with_tizen 1 + +%opensuse_bs 1 +%_default_patch_fuzz 2 + +%_binary_payload w5T.xzdio +:Macros + +#### %%__spec_check_pre exit 0 +#### %%run_check_section 0 + +# skip %%check section +Macros: +# skip package list +%_skip_check_packages autogen bison boost expat findutils flex fribidi glibc \\\ +gmp gn golang grep libgc libgcrypt libogg libsigc++ libvorbis libxml2 libzio \\\ +m4 nspr openssl openssl1.1 perl-Devel-Symdump perl-gettext perl-Pod-Coverage \\\ +perl-Test-Pod perl-Test-Pod-Coverage perl-TimeDate procps-ng python3-mako \\\ +python3-mock python3-ply python-funcsigs python-mako python-mock python-ply \\\ +setup zlib openssl3 autoconf + +%__spec_check_pre \ +for name in %_skip_check_packages \ +do \ + if [ "$name" = "%{name}" ]; then \ + exit 0 \ + fi \ +done \ +%{___build_pre} \ +%{nil} + +:Macros + +############################# build config ##################################### + +########## targets ########## + +%ifarch i586 +Target: i686-tizen-linux +%endif + +%ifarch armv7hl +Target: armv7hl-tizen-linux +%endif + +%ifarch armv7l +Target: armv7l-tizen-linux +%endif + +%ifarch aarch64 +Target: aarch64-tizen-linux +%endif + +%ifarch riscv64 +Target: riscv64-tizen-linux +%endif + +########## cross build ########## + +%define build_hostarch x86_64 +Macros: +%build_hostarch x86_64 +:Macros + +%ifarch riscv64 %arm armv7l armv7hl aarch64 +Hostarch: x86_64 +# cross build support for the build hosts +Preinstall: qemu-linux-user-%{build_hostarch}-cross +Runscripts: qemu-linux-user-%{build_hostarch}-cross +Keep: qemu-linux-user-%{build_hostarch}-cross +Macros: +%qemu_user_space_build 1 +:Macros +%endif + +%ifarch armv7l +Preinstall: qemu-accel-%{build_hostarch}-armv7l +Runscripts: qemu-accel-%{build_hostarch}-armv7l +Preinstall: libmount libblkid libuuid +%endif + +%ifarch armv7hl +Preinstall: qemu-accel-%{build_hostarch}-armv7hl +Runscripts: qemu-accel-%{build_hostarch}-armv7hl +Preinstall: libmount libblkid libuuid +%endif + +%ifarch aarch64 +Preinstall: qemu-accel-%{build_hostarch}-aarch64 +Runscripts: qemu-accel-%{build_hostarch}-aarch64 +Preinstall: libmount libblkid libuuid +%endif # aarch64 + +%ifarch riscv64 +Preinstall: qemu-accel-%{build_hostarch}-riscv64 +Runscripts: qemu-accel-%{build_hostarch}-riscv64 +Preinstall: libmount libblkid libuuid +%endif # riscv64 + +Substitute: python-accel-armv7l-cross-arm python-accel-%{build_hostarch}-armv7l +Substitute: python-accel-armv7hl-cross-arm python-accel-%{build_hostarch}-armv7hl +Substitute: python-accel-aarch64-cross-aarch64 python-accel-%{build_hostarch}-aarch64 +Substitute: python-accel-riscv64-cross-riscv64 python-accel-%{build_hostarch}-riscv64 + +Substitute: clang-accel-armv7l-cross-arm clang-accel-%{build_hostarch}-armv7l +Substitute: clang-accel-armv7hl-cross-arm clang-accel-%{build_hostarch}-armv7hl +Substitute: clang-accel-aarch64-cross-aarch64 clang-accel-%{build_hostarch}-aarch64 +Substitute: clang-accel-riscv64-cross-riscv64 clang-accel-%{build_hostarch}-riscv64 + +########## exports for different architectures ########## + +ExportFilter: \.armv7l\.rpm$ armv7l +ExportFilter: \.armv7hl\.rpm$ armv7hl +ExportFilter: \.aarch64\.rpm$ aarch64 +ExportFilter: \.i586\.rpm$ i586 +ExportFilter: \.x86_64\.rpm$ x86_64 +ExportFilter: \.riscv64\.rpm$ riscv64 + +########## buildroot config ########## + +Preinstall: setup filesystem +RunScripts: setup + +Preinstall: bash bzip2 coreutils diffutils grep rpm +Preinstall: glibc libacl libattr +Preinstall: libcap +Preinstall: libgcc +Preinstall: libpopt sed tar zlib +Preinstall: libncurses libreadline +Preinstall: libelf libbz2 +Preinstall: liblzma +Preinstall: nss nspr libfreebl3 libsoftokn3 +Preinstall: libmagic +Preinstall: liblua +Preinstall: smack libsmack libxml2 libmagic libmagic-data +Preinstall: libsqlite +#Preinstall: rpm-security-plugin +Preinstall: util-linux util-linux-su +Preinstall: libzstd1 + +VMinstall: perl libmount libblkid libext2fs libuuid grep libpcre util-linux libsmartcols procps-ng + +Required: binutils gcc glibc rpm-build libtool +Required: gcc-c++ + +Support: glibc-locale +Support: perl +Support: hostname +Support: cpio findutils +Support: file findutils zlib bzip2 +Support: gzip hostname net-tools +Support: make patch sed gawk tar grep coreutils pkg-config +Support: m4 tzdata +Support: util-linux +Support: less +Support: which elfutils +Support: update-alternatives +Support: libstdc++-devel +Support: cpp +Support: libatomic +Support: libgomp +Support: libitm + +Keep: libstdc++-devel +Keep: cpp gcc libstdc++ +Keep: pam +Keep: binutils cpp libmagic-data file findutils gawk gcc gcc-c++ +Keep: gdbm gzip libada libunwind glibc-devel libpcre xz-lzma-compat +Keep: make gmp libcap groff cpio +Keep: patch rpm-build nss nspr elfutils python grep libgcc gcc-c++ +Keep: kernel-headers perl-libs perl +Keep: pkgconfig glib2 tizen-rpm-config +Keep: libmpc libmpfr libppl libgmp libppl_c +Keep: libcloog libppl libgmpxx +Keep: nss-softokn-freebl libmagic libmagic-data +Keep: setup +Keep: update-alternatives +Keep: cpp +Keep: gcc-c++ +Keep: libatomic +Keep: libgomp +Keep: libitm + +Substitute: gettext gettext-tools + +%ifarch x86_64 +Substitute: glibc-devel-32bit glibc-devel-32bit glibc-32bit +Substitute: libgcc_s1-32bit libgcc-32bit +%else +Substitute: glibc-devel-32bit +%endif + +########## compilation flags ########## +%define __global_cflags -O2 -g2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong -Wformat-security -fmessage-length=0 -frecord-gcc-switches -Wl,-z,relro,--as-needed + +Optflags: armv7l %{__global_cflags} --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -mthumb -Wp,-D__SOFTFP__ -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb -D_FILE_OFFSET_BITS=64 +Optflags: armv7hl %{__global_cflags} --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=hard -mthumb -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb -D_FILE_OFFSET_BITS=64 +Optflags: aarch64 %{__global_cflags} -feliminate-unused-debug-types -Wformat -march=armv8-a+fp+simd+crc+crypto -mtune=cortex-a57.cortex-a53 +Optflags: i686 %{__global_cflags} -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m32 -march=i686 -mtune=i686 -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer -mstackrealign -Wl,-z,noseparate-code +Optflags: x86_64 %{__global_cflags} -feliminate-unused-debug-types --param=ssp-buffer-size=4 -fdiagnostics-color=never -m64 -march=nehalem -msse4.2 -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer +Optflags: riscv64 %{__global_cflags} -feliminate-unused-debug-types -Wformat -mabi=lp64d -march=rv64gc + + +### from Tizen-Unified-RISCV +%define _repository standard + +Macros: + +%distribution Tizen-Unified-RISCV / standard +%_project Tizen-Unified-RISCV + +### from Tizen-Unified-RISCV + +%_repository standard +:Macros + +################################################################################ +# OBS Project config for Tizen:Unified +# +# vim: set syntax=spec: +################################################################################ + +############################# conflicts resolution ############################# + +FileProvides: /usr/sbin/groupadd shadow-utils +Prefer: bluetooth-tools-no-firmware + +############################# profile definition ############################### + +%define _with_tizen 1 + +# For classifying debug/release mode +Macros: +%tizen_build_devel_mode 1 +:Macros + +# %release_name and %tizen_full_version are used in platform/upstream/tizen-release + +Macros: +%release_name Tizen8.0/Unified + +%tizen_version_major 8 +%tizen_version_minor 0 +%tizen_version_patch 0 + +%tizen_version %{tizen_version_major}.%{tizen_version_minor} +%tizen_full_version %{tizen_version}.%{tizen_version_patch} +%tizen %tizen_version +%vendor tizen +%_vendor tizen +%_with_tizen 1 + +#### %__spec_check_pre exit 0 +#### %run_check_section 0 +%opensuse_bs 1 +%_default_patch_fuzz 2 +:Macros + +########## mesa activation / coregl ########## + +%define _with_mesa 1 +Macros: +%_with_mesa 1 +:Macros + +Substitute: mesa-devel pkgconfig(glesv2) +Substitute: pkgconfig(gles20) pkgconfig(egl) pkgconfig(glesv2) +Substitute: pkgconfig(gles11) pkgconfig(egl) pkgconfig(glesv1) pkgconfig(gl) + +Prefer: coregl coregl-devel +Prefer: libwayland-egl libwayland-egl-devel +Prefer: vulkan-loader vulkan-loader-devel +#libelementary.so (upstream, tizen-only ) so add below Prefer. Requested by EFL team. +Prefer: elementary + +########## WAYLAND ######### + +%define _with_wayland 1 +Macros: +%_with_wayland 1 +:Macros + +########## RDP flag ########## + +# enable/disable RDP (remote desktop protocol) for wayland +# flag: _with_rdp, used in repositories +# Affects: weston, freerdp +# Owner: Manuel + +############################# target repositories ############################# + +%if "%_repository" == "standard" + +Prefer: mesa libgbm +Substitute: mesa-libGLESv2 coregl +Substitute: mesa-libEGL coregl + +%define _with_rdp 1 +Macros: +%_with_rdp 1 +:Macros + +%endif + +############################# emulator repositories ############################ + +%if "%_repository" == "emulator" + +Prefer: libgbm +Prefer: emulator-yagl emulator-yagl-devel + +%define _with_emulator 1 +Macros: +%_with_emulator 1 +:Macros + +%endif + +############################# misc config flags ################################ +########## USAGE ########## +# +# IMPORTANT: please follow the following rules when playing with flags +# ******************************************************************** +# +# In spec file, call %bcond_with macro at the beginning and test with %with: +# ------------------------- +# | %bcond_with myfeature +# | [...] +# | %if %{with myfeature} +# | [...] +# | %endif +# | [...] +# ------------------------- +# +# To activate an option, use: +# ------------------------- +# | %define _with_myfeature 1 +# | Macros: +# | %_with_myfeature 1 +# | :Macros +# ------------------------- +# +# To disable an option, DON'T set the values to 0, as the option would still be defined +# but simply comment the lines: this will undefine the option. +# ------------------------- +# | #%define _with_myfeature 1 +# | #Macros: +# | #%_with_myfeature 1 +# | #:Macros +# ------------------------- +# +# More information here: +# https://en.opensuse.org/openSUSE:Build_Service_prjconf#.25bcond +# + +########## flags ########## + +# Activate introspection +# This is needed on GuPNP to build Rygel correctly in IVI +# Impacts potentially packages that use gobject-introspection +# Owner: Mikko + +Macros: +%_with_introspection 1 +:Macros + +############################# other config ##################################### +# derived from Tizen:Base +################################################################################ + diff --git a/fixtures/tools/assert b/fixtures/tools/assert index 054e3de..dff84d3 100644 --- a/fixtures/tools/assert +++ b/fixtures/tools/assert @@ -2,10 +2,13 @@ GBS_ROOT_I686_0=~/GBS-ROOT/local/BUILD-ROOTS/scratch.i586.0 GBS_ROOT_ARMV7L_0=~/GBS-ROOT/local/BUILD-ROOTS/scratch.armv7l.0 +GBS_ROOT_RISCV_0=~/GBS-ROOT/local/BUILD-ROOTS/scratch.riscv64.0 GBS_RPMS_I686=~/GBS-ROOT/local/repos/tizen/i586/RPMS GBS_SRPMS_I686=~/GBS-ROOT/local/repos/tizen/i586/SRPMS GBS_RPMS_ARMV7L=~/GBS-ROOT/local/repos/tizen/armv7l/RPMS GBS_SRPMS_ARMV7L=~/GBS-ROOT/local/repos/tizen/armv7l/SRPMS +GBS_RPMS_RISCV=~/GBS-ROOT/local/repos/tizen_riscv64/riscv64/RPMS +GBS_SRPMS_RISCV=~/GBS-ROOT/local/repos/tizen_riscv64/riscv64/SRPMS GBS_LOCAL_REPOS=~/GBS-ROOT/local/repos # define default value for GBS_REPOURL if it is null or not defined : ${GBS_REPOURL:='http://download.tizen.org/releases/milestone/tizen/base/latest/repos/standard/packages/'} @@ -71,4 +74,19 @@ function AssertRootA0With() echo $*| xargs -n1| xargs -I{} sh -c "sudo chroot $GBS_ROOT_ARMV7L_0 rpm -q {}" } +function AssertRPMsR() +{ + find . -maxdepth 1 -type d|sed -e "1d" -e "s|./||g"|xargs -i sh -c "ls ${GBS_RPMS_RISCV}| grep {}" && \ + find . -maxdepth 1 -type d|sed -e "1d" -e "s|./||g"|xargs -i sh -c "ls ${GBS_SRPMS_RISCV}| grep {}" +} +function AssertRPMsRWith() +{ + echo $*|xargs -n1| xargs -I{} sh -c "ls ${GBS_RPMS_RISCV}| grep {}" && \ + echo $*|xargs -n1| xargs -I{} sh -c "ls ${GBS_SRPMS_RISCV}| grep {}" +} + +function AssertRPMsRWithout() +{ + ! AssertRPMsRWith $* +}