Search
SailfishOS Open Build Service
>
Projects
Log In
Username
Password
Cancel
Overview
Project Config
Project Configuration of sailfishos:4.3.0.12
%define _project sf:4.3.0:staging:non-oss ### from sf:4.3.0:staging:oss %define _repository latest_aarch64 Macros: %vendor obs://sailfish/sf:4.3.0:staging:non-oss %_download_url https://download.jollamobile.com %_project sf:4.3.0:staging:non-oss ### from sf:4.3.0:staging:oss %_repository latest_aarch64 :Macros ### # DO NOT TOUCH. # Autogenerated from https://bitbucket.org/jolla/prjconf, branch oss ### # Main config BuildFlags: genmetaalgo:0 Patterntype: rpm-md comps Support: rpmlint-mini %if "%_repository" == "postchecks" Support: post-build-checks %endif # Move 1 to <SPEC_REL> when missing Release does not cause SPEC_REL=0 Release: 1.<CI_CNT>.<B_CNT>.jolla # NOTE: If you change export filters you need also to wipebinaries # on inject packages concerned to get those exported properly. # Error might be e.g.: # nothing provides sb2-tools-aarch64-dependency-inject ExportFilter: \.aarch64\.rpm$ aarch64 ExportFilter: \.armv5el\.rpm$ armv7el ExportFilter: \.armv5tel\.rpm$ armv7el ExportFilter: \.armv6el\.rpm$ armv7el ExportFilter: \.armv6l\.rpm$ armv7el ExportFilter: \.armv6vl\.rpm$ armv7el ExportFilter: \.armv7el\.rpm$ armv7el ExportFilter: \.armv7hl\.rpm$ armv8el ExportFilter: \.armv7l\.rpm$ armv7el ExportFilter: \.armv7nhl\.rpm$ armv8el ExportFilter: \.armv7thl\.rpm$ armv8el ExportFilter: \.armv7tnhl\.rpm$ armv8el ExportFilter: \.armv7vl\.rpm$ armv7el ExportFilter: \.i486\.rpm$ i586 ExportFilter: \.i586\.rpm$ i586 ExportFilter: \.i686\.rpm$ i586 ExportFilter: \.mipsel\.rpm$ mips ExportFilter: \.x86_64\.rpm$ x86_64 # filter out packages of cross setup on ia32 ExportFilter: vanish\.rpm$ ExportFilter: dontuse\.rpm$ PublishFilter: vanish\.rpm$ PublishFilter: dontuse\.rpm$ PublishFilter: (?<!-dependency)-inject.*\.rpm$ Preinstall: rpm Preinstall: rpm-libs Required: rpm Prefer: rpm-libs Prefer: rpm # rpm-libs depends on Preinstall: liblua db4 popt libcap zlib libgcc bzip2-libs Preinstall: file-libs glibc xz-libs openssl-libs elfutils-libelf # glibc depends on Preinstall: glibc-common # Coreutils needed by rpm Preinstall: gnu-coreutils # Coreutils depeds on Preinstall: libacl # Coreutils and libacl depend on Preinstall: libattr # util-linux (su) uses pam Preinstall: pam # /bin/sh needed by rpm Preinstall: gnu-bash # bash depends on Preinstall: ncurses-libs # Assuming mandatory to do stuff eventhough nothing depends directly Preinstall: util-linux # util-linux depends on Preinstall: setup libmount libsmartcols # Can't be removed, see https://bz.jollamobile.com/show_bug.cgi?id=45961 Preinstall: perl perl-libs # Tar is needed to extract the archives Preinstall: gnu-tar # which was removed from util-linux and is now provided by busybox via symlink # we should fix all packages that depend on it and drop it from here # See https://bz.jollamobile.com/show_bug.cgi?id=46906 Preinstall: busybox busybox-symlinks-which # Needed to have right filesystem permissions in the base image Preinstall: filesystem # Needed for the build-recipe, otherwise we get # [ 47s] /.build/build-recipe: line 178: egrep: command not found Preinstall: gnu-grep # grep depends on # [ 12s] egrep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory Preinstall: pcre # VM's need these libraries for starting up VMinstall: libblkid libuuid Required: binutils gcc glibc rpm-build libtool # More info about Support: can be found at: # https://en.opensuse.org/openSUSE:Build_Service_prjconf#Support Support: cpio gcc-c++ net-tools Support: file gnu-findutils info Support: gnu-gzip xz-lzma-compat Support: make patch gawk pkgconfig autoconf automake Support: unzip shadow-utils Support: m4 tzdata Support: glibc-headers Support: meego-rpm-config # Rust cross compiling support JB#51574 # We should later figure out if we can only pull this in for packages which depend on rust %ifarch i586 Support: cross-armv7hl-gcc Support: cross-armv7hl-binutils Support: cross-armv7hl-as # Support: cross-armv7hl-glibc # Support: cross-armv7hl-glibc-devel # Support: cross-armv7hl-glibc-headers # Support: cross-armv7hl-kernel-headers Support: cross-aarch64-gcc Support: cross-aarch64-binutils Support: cross-aarch64-as # Support: cross-aarch64-glibc # Support: cross-aarch64-glibc-devel # Support: cross-aarch64-glibc-headers # Support: cross-aarch64-kernel-headers %endif %ifarch armv8el Support: rust-std-static-armv7-unknown-linux-gnueabihf %endif %ifarch aarch64 Support: rust-std-static-aarch64-unknown-linux-gnu %endif Keep: binutils cpp cracklib file gnu-findutils gawk gcc gcc-ada gcc-c++ Keep: gdbm gnu-gzip libada libunwind glibc-devel pcre Keep: make pam-modules shadow-utils gmp cpio Keep: patch rcs rpm-build elfutils elfutils-libs gcc-c++ Keep: kernel-headers glibc-headers perl-libs Keep: meego-rpm-config Keep: python3-base python3-libs python3-setuptools python3-rpm-generators Keep: mpc mpfr # xz needs autopoint which is in gettext-devel which needs xz Keep: xz # gettext needs gettext-devel which needs libtextstyle Keep: libtextstyle # sed is needed by configure during sed build Keep: gnu-sed # grep is needed by configure during grep build Keep: gnu-grep # libgpg-error and libgcrypt will fail to build since su segfaults without having these installed Keep: libgpg-error Keep: libgcrypt # systemd-libs is needed by systemd build Keep: systemd-libs Prefer: sensorfw Prefer: util-linux Prefer: libtool-ltdl Prefer: perl-Archive-Tar Prefer: mesa-dri-i965-driver Prefer: libjpeg-turbo Prefer: nss Prefer: nss-softokn-freebl Prefer: p11-kit-nss-ckbi Prefer: systemd-libs systemd-devel # Temporarily needed until mesa is updated to at least version 18.2.0 # Prevents conflict with mesa-llvmpipe-libwayland-egl Prefer: wayland-egl Prefer: wayland-egl-devel # Prefer GNU versions Prefer: cpio Prefer: gnu-bash Prefer: gnu-coreutils Prefer: gnu-diffutils Prefer: gnu-findutils Prefer: gnu-grep Prefer: gnu-gzip Prefer: gnu-sed Prefer: gnu-tar Prefer: procps-ng Prefer: psmisc-tools # Prefer vim's vi with more commands Prefer: vim-minimal FileProvides: /bin/systemctl systemd # Related to JB#36205 # For some reason OBS doesn't pick up the symbolic link Provides # to the libffi.so.5 from rpm package, so lets do it like this. FileProvides: libffi.so.5 libffi # Symbolic links handled by rpm in case of .so files fails at times # like libffi above. Here is similar for gmp for 64-bit FileProvides: libgmp.so.3()(64bit) gmp # Build dependency cycle # We do not need curl on package build time for rpm Ignore: rpm:curl # No need for systemd dep for targets during builds, does not use any systemd macros Ignore: systemd-user-session-targets:systemd # # LVM is needed by systemd only in runtime Ignore: systemd:lvm2 # # No need for filesystem tools during package builds Ignore: udisks2:e2fsprogs # Some packages e.g. curl expect that ca-certificates are installed with openssl while # build, thus we do not break openssl-libs:ca-certificate dep, but only this one: Ignore: ca-certificates:p11-kit # ngfd is not needed during buildtime. Ignore: dsme:ngfd Ignore: libngf:ngfd # Statefs is not needed during buildtime. Ignore: dsme:statefs Ignore: timed-qt5:statefs # Ofono provides just dbus api and it is not needed by buildtime Ignore: bluez:ofono Ignore: connman:ofono Ignore: mms-engine:ofono Ignore: provisioning-service:ofono Ignore: statefs-provider-ofono:ofono Ignore: telepathy-ring:ofono # As ofono, connman provides just dbus api that is not needed during buildtime. Ignore: PackageKit:connman Ignore: connectionagent-qt5:connman Ignore: connman-configs-sailfish:connman Ignore: connman-qt5:connman Ignore: statefs-provider-connman:connman # No configs needed on buildtime Ignore: bluez:bluez-configs Ignore: btrfs-balancer:btrfs-balancer-configs Ignore: connman:connman-configs Ignore: ofono:ofono-configs Ignore: sensorfw-qt5:sensord-configs Ignore: usb-moded:usb-moded-configs # former qt repo settings Support: ccache # former mw repo settings Prefer: maliit-framework-wayland-devel Prefer: statefs-provider-power-udev Ignore: usb-moded-configs Prefer: kf5bluezqt-bluez5 Prefer: kf5bluezqt-bluez5-devel Prefer: kf5bluezqt-bluez5-declarative # former oss repo settings Prefer: ssu-vendor-data-jolla Prefer: ssu-kickstart-configuration-jolla Ignore: jolla-ca Ignore: sailfish-ca # cross helper settings # %ifarch armv7el %define _my_port_scheduler armv7el %define _my_port_arch armv7l %define _my_port_target armv7l-meego-linux %define _my_port_platformtop armv7l %define _my_port_crosscompiler /opt/cross/bin/armv7l-meego-linux-gnueabi-gcc %define _my_port_qemu /usr/bin/qemu-arm-dynamic %define _cross_enabled 0 %define _cross_sb2_enabled 1 # comment if not utilizing %define _gnu gnueabi %endif %ifarch armv8el %define _my_port_scheduler armv8el %define _my_port_arch armv7hl %define _my_port_target armv7hl-meego-linux %define _my_port_crosscompiler /opt/cross/bin/armv7hl-meego-linux-gnueabi-gcc %define _my_port_qemu /usr/bin/qemu-arm-dynamic %define _my_port_platformtop armv7tnhl %define _cross_enabled 0 %define _cross_sb2_enabled 1 # comment if not utilizing %define _gnu gnueabi %endif %ifarch aarch64 %define _my_port_scheduler aarch64 %define _my_port_arch aarch64 %define _my_port_target aarch64-meego-linux %define _my_port_crosscompiler /opt/cross/bin/aarch64-meego-linux-gnu-gcc %define _my_port_qemu /usr/bin/qemu-aarch64-dynamic %define _my_port_platformtop aarch64 %define _cross_enabled 0 %define _cross_sb2_enabled 1 %endif ## Standard cross setup, DO NOT EDIT, please update from Mer:Trunk:Crosshelpers %ifarch %{_my_port_scheduler} Changetarget: %{_my_port_target} %if %{_cross_sb2_enabled} SB2install: sb2-tools-%{_my_port_arch}-inject SB2flags: --toolchain %{_my_port_crosscompiler} --qemu %{_my_port_qemu} --mappingmethod C --defaultmode obs-rpm-build+pp Required: sb2-tools-%{_my_port_arch}-dependency-inject Hostarch: i586 %endif %endif %ifarch i586 Changetarget: i486-meego-linux %endif Macros: %vendor meego # Note that this is also hardcoded in rpm sources. # If you modify this, please edit precheckin.sh in gcc too, for ports to still work %_vendor meego %_default_patch_fuzz 2 # Python bootstapping. # By uncommenting below macro python3 will build minimal version without dependencies. # It is enough to get build proceed over bootstrapping even some dependencies will fail. # After bootstrapping build is finish, please add comment back and the final and full # version of python3 will be available. # %%py_bootstrap 1 # python main version %py_ver %(echo `python -c "import sys; print sys.version[:3]"`) # directories %py_prefix %(echo `python -c "import sys; print sys.prefix"`) %py_libdir %{py_prefix}/lib/python%{py_ver} %py_incdir /usr/include/python%{py_ver} %py_sitedir %{py_libdir}/site-packages %py_dyndir %{py_libdir}/lib-dynload # pure python modules compilation %py_comp python -c "import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):])" %py_ocomp python -O -c "import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):])" %ext_info .gz %ext_man .gz %info_add(:-:) test -x /sbin/install-info -a -f %{?2}%{?!2:%{_infodir}}/%{1}%ext_info && /sbin/install-info --info-dir=%{?2}%{?!2:%{_infodir}} %{?2}%{?!2:%{_infodir}}/%{1}%ext_info \ %{nil} %info_del(:-:) test -x /sbin/install-info -a ! -f %{?2}%{?!2:%{_infodir}}/%{1}%ext_info && /sbin/install-info --quiet --delete --info-dir=%{?2}%{?!2:%{_infodir}} %{?2}%{?!2:%{_infodir}}/%{1}%ext_info \ %{nil} %_smp_mflags -j8 %qemu_user_space_build %(test -z ${__SB2_EXEC_POLICY_NAME}; echo $?) # localisation %_with_l10n 1 # _obs_build_project is used on dhd builds %_obs_build_project sf:4.3.0:staging:oss # release will be devel, release, unknown %qa_stage_release 1 %qa_stage_name release :Macros ### from sf:4.3.0:staging:oss %define _repository latest_i486 Macros: ### from sf:4.3.0:staging:oss %_repository latest_i486 :Macros ### # DO NOT TOUCH. # Autogenerated from https://bitbucket.org/jolla/prjconf, branch oss ### # Main config BuildFlags: genmetaalgo:0 Patterntype: rpm-md comps Support: rpmlint-mini %if "%_repository" == "postchecks" Support: post-build-checks %endif # Move 1 to <SPEC_REL> when missing Release does not cause SPEC_REL=0 Release: 1.<CI_CNT>.<B_CNT>.jolla # NOTE: If you change export filters you need also to wipebinaries # on inject packages concerned to get those exported properly. # Error might be e.g.: # nothing provides sb2-tools-aarch64-dependency-inject ExportFilter: \.aarch64\.rpm$ aarch64 ExportFilter: \.armv5el\.rpm$ armv7el ExportFilter: \.armv5tel\.rpm$ armv7el ExportFilter: \.armv6el\.rpm$ armv7el ExportFilter: \.armv6l\.rpm$ armv7el ExportFilter: \.armv6vl\.rpm$ armv7el ExportFilter: \.armv7el\.rpm$ armv7el ExportFilter: \.armv7hl\.rpm$ armv8el ExportFilter: \.armv7l\.rpm$ armv7el ExportFilter: \.armv7nhl\.rpm$ armv8el ExportFilter: \.armv7thl\.rpm$ armv8el ExportFilter: \.armv7tnhl\.rpm$ armv8el ExportFilter: \.armv7vl\.rpm$ armv7el ExportFilter: \.i486\.rpm$ i586 ExportFilter: \.i586\.rpm$ i586 ExportFilter: \.i686\.rpm$ i586 ExportFilter: \.mipsel\.rpm$ mips ExportFilter: \.x86_64\.rpm$ x86_64 # filter out packages of cross setup on ia32 ExportFilter: vanish\.rpm$ ExportFilter: dontuse\.rpm$ PublishFilter: vanish\.rpm$ PublishFilter: dontuse\.rpm$ PublishFilter: (?<!-dependency)-inject.*\.rpm$ Preinstall: rpm Preinstall: rpm-libs Required: rpm Prefer: rpm-libs Prefer: rpm # rpm-libs depends on Preinstall: liblua db4 popt libcap zlib libgcc bzip2-libs Preinstall: file-libs glibc xz-libs openssl-libs elfutils-libelf # glibc depends on Preinstall: glibc-common # Coreutils needed by rpm Preinstall: gnu-coreutils # Coreutils depeds on Preinstall: libacl # Coreutils and libacl depend on Preinstall: libattr # util-linux (su) uses pam Preinstall: pam # /bin/sh needed by rpm Preinstall: gnu-bash # bash depends on Preinstall: ncurses-libs # Assuming mandatory to do stuff eventhough nothing depends directly Preinstall: util-linux # util-linux depends on Preinstall: setup libmount libsmartcols # Can't be removed, see https://bz.jollamobile.com/show_bug.cgi?id=45961 Preinstall: perl perl-libs # Tar is needed to extract the archives Preinstall: gnu-tar # which was removed from util-linux and is now provided by busybox via symlink # we should fix all packages that depend on it and drop it from here # See https://bz.jollamobile.com/show_bug.cgi?id=46906 Preinstall: busybox busybox-symlinks-which # Needed to have right filesystem permissions in the base image Preinstall: filesystem # Needed for the build-recipe, otherwise we get # [ 47s] /.build/build-recipe: line 178: egrep: command not found Preinstall: gnu-grep # grep depends on # [ 12s] egrep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory Preinstall: pcre # VM's need these libraries for starting up VMinstall: libblkid libuuid Required: binutils gcc glibc rpm-build libtool # More info about Support: can be found at: # https://en.opensuse.org/openSUSE:Build_Service_prjconf#Support Support: cpio gcc-c++ net-tools Support: file gnu-findutils info Support: gnu-gzip xz-lzma-compat Support: make patch gawk pkgconfig autoconf automake Support: unzip shadow-utils Support: m4 tzdata Support: glibc-headers Support: meego-rpm-config # Rust cross compiling support JB#51574 # We should later figure out if we can only pull this in for packages which depend on rust %ifarch i586 Support: cross-armv7hl-gcc Support: cross-armv7hl-binutils Support: cross-armv7hl-as # Support: cross-armv7hl-glibc # Support: cross-armv7hl-glibc-devel # Support: cross-armv7hl-glibc-headers # Support: cross-armv7hl-kernel-headers Support: cross-aarch64-gcc Support: cross-aarch64-binutils Support: cross-aarch64-as # Support: cross-aarch64-glibc # Support: cross-aarch64-glibc-devel # Support: cross-aarch64-glibc-headers # Support: cross-aarch64-kernel-headers %endif %ifarch armv8el Support: rust-std-static-armv7-unknown-linux-gnueabihf %endif %ifarch aarch64 Support: rust-std-static-aarch64-unknown-linux-gnu %endif Keep: binutils cpp cracklib file gnu-findutils gawk gcc gcc-ada gcc-c++ Keep: gdbm gnu-gzip libada libunwind glibc-devel pcre Keep: make pam-modules shadow-utils gmp cpio Keep: patch rcs rpm-build elfutils elfutils-libs gcc-c++ Keep: kernel-headers glibc-headers perl-libs Keep: meego-rpm-config Keep: python3-base python3-libs python3-setuptools python3-rpm-generators Keep: mpc mpfr # xz needs autopoint which is in gettext-devel which needs xz Keep: xz # gettext needs gettext-devel which needs libtextstyle Keep: libtextstyle # sed is needed by configure during sed build Keep: gnu-sed # grep is needed by configure during grep build Keep: gnu-grep # libgpg-error and libgcrypt will fail to build since su segfaults without having these installed Keep: libgpg-error Keep: libgcrypt # systemd-libs is needed by systemd build Keep: systemd-libs Prefer: sensorfw Prefer: util-linux Prefer: libtool-ltdl Prefer: perl-Archive-Tar Prefer: mesa-dri-i965-driver Prefer: libjpeg-turbo Prefer: nss Prefer: nss-softokn-freebl Prefer: p11-kit-nss-ckbi Prefer: systemd-libs systemd-devel # Temporarily needed until mesa is updated to at least version 18.2.0 # Prevents conflict with mesa-llvmpipe-libwayland-egl Prefer: wayland-egl Prefer: wayland-egl-devel # Prefer GNU versions Prefer: cpio Prefer: gnu-bash Prefer: gnu-coreutils Prefer: gnu-diffutils Prefer: gnu-findutils Prefer: gnu-grep Prefer: gnu-gzip Prefer: gnu-sed Prefer: gnu-tar Prefer: procps-ng Prefer: psmisc-tools # Prefer vim's vi with more commands Prefer: vim-minimal FileProvides: /bin/systemctl systemd # Related to JB#36205 # For some reason OBS doesn't pick up the symbolic link Provides # to the libffi.so.5 from rpm package, so lets do it like this. FileProvides: libffi.so.5 libffi # Symbolic links handled by rpm in case of .so files fails at times # like libffi above. Here is similar for gmp for 64-bit FileProvides: libgmp.so.3()(64bit) gmp # Build dependency cycle # We do not need curl on package build time for rpm Ignore: rpm:curl # No need for systemd dep for targets during builds, does not use any systemd macros Ignore: systemd-user-session-targets:systemd # # LVM is needed by systemd only in runtime Ignore: systemd:lvm2 # # No need for filesystem tools during package builds Ignore: udisks2:e2fsprogs # Some packages e.g. curl expect that ca-certificates are installed with openssl while # build, thus we do not break openssl-libs:ca-certificate dep, but only this one: Ignore: ca-certificates:p11-kit # ngfd is not needed during buildtime. Ignore: dsme:ngfd Ignore: libngf:ngfd # Statefs is not needed during buildtime. Ignore: dsme:statefs Ignore: timed-qt5:statefs # Ofono provides just dbus api and it is not needed by buildtime Ignore: bluez:ofono Ignore: connman:ofono Ignore: mms-engine:ofono Ignore: provisioning-service:ofono Ignore: statefs-provider-ofono:ofono Ignore: telepathy-ring:ofono # As ofono, connman provides just dbus api that is not needed during buildtime. Ignore: PackageKit:connman Ignore: connectionagent-qt5:connman Ignore: connman-configs-sailfish:connman Ignore: connman-qt5:connman Ignore: statefs-provider-connman:connman # No configs needed on buildtime Ignore: bluez:bluez-configs Ignore: btrfs-balancer:btrfs-balancer-configs Ignore: connman:connman-configs Ignore: ofono:ofono-configs Ignore: sensorfw-qt5:sensord-configs Ignore: usb-moded:usb-moded-configs # former qt repo settings Support: ccache # former mw repo settings Prefer: maliit-framework-wayland-devel Prefer: statefs-provider-power-udev Ignore: usb-moded-configs Prefer: kf5bluezqt-bluez5 Prefer: kf5bluezqt-bluez5-devel Prefer: kf5bluezqt-bluez5-declarative # former oss repo settings Prefer: ssu-vendor-data-jolla Prefer: ssu-kickstart-configuration-jolla Ignore: jolla-ca Ignore: sailfish-ca # cross helper settings # %ifarch armv7el %define _my_port_scheduler armv7el %define _my_port_arch armv7l %define _my_port_target armv7l-meego-linux %define _my_port_platformtop armv7l %define _my_port_crosscompiler /opt/cross/bin/armv7l-meego-linux-gnueabi-gcc %define _my_port_qemu /usr/bin/qemu-arm-dynamic %define _cross_enabled 0 %define _cross_sb2_enabled 1 # comment if not utilizing %define _gnu gnueabi %endif %ifarch armv8el %define _my_port_scheduler armv8el %define _my_port_arch armv7hl %define _my_port_target armv7hl-meego-linux %define _my_port_crosscompiler /opt/cross/bin/armv7hl-meego-linux-gnueabi-gcc %define _my_port_qemu /usr/bin/qemu-arm-dynamic %define _my_port_platformtop armv7tnhl %define _cross_enabled 0 %define _cross_sb2_enabled 1 # comment if not utilizing %define _gnu gnueabi %endif %ifarch aarch64 %define _my_port_scheduler aarch64 %define _my_port_arch aarch64 %define _my_port_target aarch64-meego-linux %define _my_port_crosscompiler /opt/cross/bin/aarch64-meego-linux-gnu-gcc %define _my_port_qemu /usr/bin/qemu-aarch64-dynamic %define _my_port_platformtop aarch64 %define _cross_enabled 0 %define _cross_sb2_enabled 1 %endif ## Standard cross setup, DO NOT EDIT, please update from Mer:Trunk:Crosshelpers %ifarch %{_my_port_scheduler} Changetarget: %{_my_port_target} %if %{_cross_sb2_enabled} SB2install: sb2-tools-%{_my_port_arch}-inject SB2flags: --toolchain %{_my_port_crosscompiler} --qemu %{_my_port_qemu} --mappingmethod C --defaultmode obs-rpm-build+pp Required: sb2-tools-%{_my_port_arch}-dependency-inject Hostarch: i586 %endif %endif %ifarch i586 Changetarget: i486-meego-linux %endif Macros: %vendor meego # Note that this is also hardcoded in rpm sources. # If you modify this, please edit precheckin.sh in gcc too, for ports to still work %_vendor meego %_default_patch_fuzz 2 # Python bootstapping. # By uncommenting below macro python3 will build minimal version without dependencies. # It is enough to get build proceed over bootstrapping even some dependencies will fail. # After bootstrapping build is finish, please add comment back and the final and full # version of python3 will be available. # %%py_bootstrap 1 # python main version %py_ver %(echo `python -c "import sys; print sys.version[:3]"`) # directories %py_prefix %(echo `python -c "import sys; print sys.prefix"`) %py_libdir %{py_prefix}/lib/python%{py_ver} %py_incdir /usr/include/python%{py_ver} %py_sitedir %{py_libdir}/site-packages %py_dyndir %{py_libdir}/lib-dynload # pure python modules compilation %py_comp python -c "import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):])" %py_ocomp python -O -c "import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):])" %ext_info .gz %ext_man .gz %info_add(:-:) test -x /sbin/install-info -a -f %{?2}%{?!2:%{_infodir}}/%{1}%ext_info && /sbin/install-info --info-dir=%{?2}%{?!2:%{_infodir}} %{?2}%{?!2:%{_infodir}}/%{1}%ext_info \ %{nil} %info_del(:-:) test -x /sbin/install-info -a ! -f %{?2}%{?!2:%{_infodir}}/%{1}%ext_info && /sbin/install-info --quiet --delete --info-dir=%{?2}%{?!2:%{_infodir}} %{?2}%{?!2:%{_infodir}}/%{1}%ext_info \ %{nil} %_smp_mflags -j8 %qemu_user_space_build %(test -z ${__SB2_EXEC_POLICY_NAME}; echo $?) # localisation %_with_l10n 1 # _obs_build_project is used on dhd builds %_obs_build_project sf:4.3.0:staging:oss # release will be devel, release, unknown %qa_stage_release 1 %qa_stage_name release :Macros ### from sf:4.3.0:staging:oss %define _repository latest_armv7hl Macros: ### from sf:4.3.0:staging:oss %_repository latest_armv7hl :Macros ### # DO NOT TOUCH. # Autogenerated from https://bitbucket.org/jolla/prjconf, branch oss ### # Main config BuildFlags: genmetaalgo:0 Patterntype: rpm-md comps Support: rpmlint-mini %if "%_repository" == "postchecks" Support: post-build-checks %endif # Move 1 to <SPEC_REL> when missing Release does not cause SPEC_REL=0 Release: 1.<CI_CNT>.<B_CNT>.jolla # NOTE: If you change export filters you need also to wipebinaries # on inject packages concerned to get those exported properly. # Error might be e.g.: # nothing provides sb2-tools-aarch64-dependency-inject ExportFilter: \.aarch64\.rpm$ aarch64 ExportFilter: \.armv5el\.rpm$ armv7el ExportFilter: \.armv5tel\.rpm$ armv7el ExportFilter: \.armv6el\.rpm$ armv7el ExportFilter: \.armv6l\.rpm$ armv7el ExportFilter: \.armv6vl\.rpm$ armv7el ExportFilter: \.armv7el\.rpm$ armv7el ExportFilter: \.armv7hl\.rpm$ armv8el ExportFilter: \.armv7l\.rpm$ armv7el ExportFilter: \.armv7nhl\.rpm$ armv8el ExportFilter: \.armv7thl\.rpm$ armv8el ExportFilter: \.armv7tnhl\.rpm$ armv8el ExportFilter: \.armv7vl\.rpm$ armv7el ExportFilter: \.i486\.rpm$ i586 ExportFilter: \.i586\.rpm$ i586 ExportFilter: \.i686\.rpm$ i586 ExportFilter: \.mipsel\.rpm$ mips ExportFilter: \.x86_64\.rpm$ x86_64 # filter out packages of cross setup on ia32 ExportFilter: vanish\.rpm$ ExportFilter: dontuse\.rpm$ PublishFilter: vanish\.rpm$ PublishFilter: dontuse\.rpm$ PublishFilter: (?<!-dependency)-inject.*\.rpm$ Preinstall: rpm Preinstall: rpm-libs Required: rpm Prefer: rpm-libs Prefer: rpm # rpm-libs depends on Preinstall: liblua db4 popt libcap zlib libgcc bzip2-libs Preinstall: file-libs glibc xz-libs openssl-libs elfutils-libelf # glibc depends on Preinstall: glibc-common # Coreutils needed by rpm Preinstall: gnu-coreutils # Coreutils depeds on Preinstall: libacl # Coreutils and libacl depend on Preinstall: libattr # util-linux (su) uses pam Preinstall: pam # /bin/sh needed by rpm Preinstall: gnu-bash # bash depends on Preinstall: ncurses-libs # Assuming mandatory to do stuff eventhough nothing depends directly Preinstall: util-linux # util-linux depends on Preinstall: setup libmount libsmartcols # Can't be removed, see https://bz.jollamobile.com/show_bug.cgi?id=45961 Preinstall: perl perl-libs # Tar is needed to extract the archives Preinstall: gnu-tar # which was removed from util-linux and is now provided by busybox via symlink # we should fix all packages that depend on it and drop it from here # See https://bz.jollamobile.com/show_bug.cgi?id=46906 Preinstall: busybox busybox-symlinks-which # Needed to have right filesystem permissions in the base image Preinstall: filesystem # Needed for the build-recipe, otherwise we get # [ 47s] /.build/build-recipe: line 178: egrep: command not found Preinstall: gnu-grep # grep depends on # [ 12s] egrep: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory Preinstall: pcre # VM's need these libraries for starting up VMinstall: libblkid libuuid Required: binutils gcc glibc rpm-build libtool # More info about Support: can be found at: # https://en.opensuse.org/openSUSE:Build_Service_prjconf#Support Support: cpio gcc-c++ net-tools Support: file gnu-findutils info Support: gnu-gzip xz-lzma-compat Support: make patch gawk pkgconfig autoconf automake Support: unzip shadow-utils Support: m4 tzdata Support: glibc-headers Support: meego-rpm-config # Rust cross compiling support JB#51574 # We should later figure out if we can only pull this in for packages which depend on rust %ifarch i586 Support: cross-armv7hl-gcc Support: cross-armv7hl-binutils Support: cross-armv7hl-as # Support: cross-armv7hl-glibc # Support: cross-armv7hl-glibc-devel # Support: cross-armv7hl-glibc-headers # Support: cross-armv7hl-kernel-headers Support: cross-aarch64-gcc Support: cross-aarch64-binutils Support: cross-aarch64-as # Support: cross-aarch64-glibc # Support: cross-aarch64-glibc-devel # Support: cross-aarch64-glibc-headers # Support: cross-aarch64-kernel-headers %endif %ifarch armv8el Support: rust-std-static-armv7-unknown-linux-gnueabihf %endif %ifarch aarch64 Support: rust-std-static-aarch64-unknown-linux-gnu %endif Keep: binutils cpp cracklib file gnu-findutils gawk gcc gcc-ada gcc-c++ Keep: gdbm gnu-gzip libada libunwind glibc-devel pcre Keep: make pam-modules shadow-utils gmp cpio Keep: patch rcs rpm-build elfutils elfutils-libs gcc-c++ Keep: kernel-headers glibc-headers perl-libs Keep: meego-rpm-config Keep: python3-base python3-libs python3-setuptools python3-rpm-generators Keep: mpc mpfr # xz needs autopoint which is in gettext-devel which needs xz Keep: xz # gettext needs gettext-devel which needs libtextstyle Keep: libtextstyle # sed is needed by configure during sed build Keep: gnu-sed # grep is needed by configure during grep build Keep: gnu-grep # libgpg-error and libgcrypt will fail to build since su segfaults without having these installed Keep: libgpg-error Keep: libgcrypt # systemd-libs is needed by systemd build Keep: systemd-libs Prefer: sensorfw Prefer: util-linux Prefer: libtool-ltdl Prefer: perl-Archive-Tar Prefer: mesa-dri-i965-driver Prefer: libjpeg-turbo Prefer: nss Prefer: nss-softokn-freebl Prefer: p11-kit-nss-ckbi Prefer: systemd-libs systemd-devel # Temporarily needed until mesa is updated to at least version 18.2.0 # Prevents conflict with mesa-llvmpipe-libwayland-egl Prefer: wayland-egl Prefer: wayland-egl-devel # Prefer GNU versions Prefer: cpio Prefer: gnu-bash Prefer: gnu-coreutils Prefer: gnu-diffutils Prefer: gnu-findutils Prefer: gnu-grep Prefer: gnu-gzip Prefer: gnu-sed Prefer: gnu-tar Prefer: procps-ng Prefer: psmisc-tools # Prefer vim's vi with more commands Prefer: vim-minimal FileProvides: /bin/systemctl systemd # Related to JB#36205 # For some reason OBS doesn't pick up the symbolic link Provides # to the libffi.so.5 from rpm package, so lets do it like this. FileProvides: libffi.so.5 libffi # Symbolic links handled by rpm in case of .so files fails at times # like libffi above. Here is similar for gmp for 64-bit FileProvides: libgmp.so.3()(64bit) gmp # Build dependency cycle # We do not need curl on package build time for rpm Ignore: rpm:curl # No need for systemd dep for targets during builds, does not use any systemd macros Ignore: systemd-user-session-targets:systemd # # LVM is needed by systemd only in runtime Ignore: systemd:lvm2 # # No need for filesystem tools during package builds Ignore: udisks2:e2fsprogs # Some packages e.g. curl expect that ca-certificates are installed with openssl while # build, thus we do not break openssl-libs:ca-certificate dep, but only this one: Ignore: ca-certificates:p11-kit # ngfd is not needed during buildtime. Ignore: dsme:ngfd Ignore: libngf:ngfd # Statefs is not needed during buildtime. Ignore: dsme:statefs Ignore: timed-qt5:statefs # Ofono provides just dbus api and it is not needed by buildtime Ignore: bluez:ofono Ignore: connman:ofono Ignore: mms-engine:ofono Ignore: provisioning-service:ofono Ignore: statefs-provider-ofono:ofono Ignore: telepathy-ring:ofono # As ofono, connman provides just dbus api that is not needed during buildtime. Ignore: PackageKit:connman Ignore: connectionagent-qt5:connman Ignore: connman-configs-sailfish:connman Ignore: connman-qt5:connman Ignore: statefs-provider-connman:connman # No configs needed on buildtime Ignore: bluez:bluez-configs Ignore: btrfs-balancer:btrfs-balancer-configs Ignore: connman:connman-configs Ignore: ofono:ofono-configs Ignore: sensorfw-qt5:sensord-configs Ignore: usb-moded:usb-moded-configs # former qt repo settings Support: ccache # former mw repo settings Prefer: maliit-framework-wayland-devel Prefer: statefs-provider-power-udev Ignore: usb-moded-configs Prefer: kf5bluezqt-bluez5 Prefer: kf5bluezqt-bluez5-devel Prefer: kf5bluezqt-bluez5-declarative # former oss repo settings Prefer: ssu-vendor-data-jolla Prefer: ssu-kickstart-configuration-jolla Ignore: jolla-ca Ignore: sailfish-ca # cross helper settings # %ifarch armv7el %define _my_port_scheduler armv7el %define _my_port_arch armv7l %define _my_port_target armv7l-meego-linux %define _my_port_platformtop armv7l %define _my_port_crosscompiler /opt/cross/bin/armv7l-meego-linux-gnueabi-gcc %define _my_port_qemu /usr/bin/qemu-arm-dynamic %define _cross_enabled 0 %define _cross_sb2_enabled 1 # comment if not utilizing %define _gnu gnueabi %endif %ifarch armv8el %define _my_port_scheduler armv8el %define _my_port_arch armv7hl %define _my_port_target armv7hl-meego-linux %define _my_port_crosscompiler /opt/cross/bin/armv7hl-meego-linux-gnueabi-gcc %define _my_port_qemu /usr/bin/qemu-arm-dynamic %define _my_port_platformtop armv7tnhl %define _cross_enabled 0 %define _cross_sb2_enabled 1 # comment if not utilizing %define _gnu gnueabi %endif %ifarch aarch64 %define _my_port_scheduler aarch64 %define _my_port_arch aarch64 %define _my_port_target aarch64-meego-linux %define _my_port_crosscompiler /opt/cross/bin/aarch64-meego-linux-gnu-gcc %define _my_port_qemu /usr/bin/qemu-aarch64-dynamic %define _my_port_platformtop aarch64 %define _cross_enabled 0 %define _cross_sb2_enabled 1 %endif ## Standard cross setup, DO NOT EDIT, please update from Mer:Trunk:Crosshelpers %ifarch %{_my_port_scheduler} Changetarget: %{_my_port_target} %if %{_cross_sb2_enabled} SB2install: sb2-tools-%{_my_port_arch}-inject SB2flags: --toolchain %{_my_port_crosscompiler} --qemu %{_my_port_qemu} --mappingmethod C --defaultmode obs-rpm-build+pp Required: sb2-tools-%{_my_port_arch}-dependency-inject Hostarch: i586 %endif %endif %ifarch i586 Changetarget: i486-meego-linux %endif Macros: %vendor meego # Note that this is also hardcoded in rpm sources. # If you modify this, please edit precheckin.sh in gcc too, for ports to still work %_vendor meego %_default_patch_fuzz 2 # Python bootstapping. # By uncommenting below macro python3 will build minimal version without dependencies. # It is enough to get build proceed over bootstrapping even some dependencies will fail. # After bootstrapping build is finish, please add comment back and the final and full # version of python3 will be available. # %%py_bootstrap 1 # python main version %py_ver %(echo `python -c "import sys; print sys.version[:3]"`) # directories %py_prefix %(echo `python -c "import sys; print sys.prefix"`) %py_libdir %{py_prefix}/lib/python%{py_ver} %py_incdir /usr/include/python%{py_ver} %py_sitedir %{py_libdir}/site-packages %py_dyndir %{py_libdir}/lib-dynload # pure python modules compilation %py_comp python -c "import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):])" %py_ocomp python -O -c "import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):])" %ext_info .gz %ext_man .gz %info_add(:-:) test -x /sbin/install-info -a -f %{?2}%{?!2:%{_infodir}}/%{1}%ext_info && /sbin/install-info --info-dir=%{?2}%{?!2:%{_infodir}} %{?2}%{?!2:%{_infodir}}/%{1}%ext_info \ %{nil} %info_del(:-:) test -x /sbin/install-info -a ! -f %{?2}%{?!2:%{_infodir}}/%{1}%ext_info && /sbin/install-info --quiet --delete --info-dir=%{?2}%{?!2:%{_infodir}} %{?2}%{?!2:%{_infodir}}/%{1}%ext_info \ %{nil} %_smp_mflags -j8 %qemu_user_space_build %(test -z ${__SB2_EXEC_POLICY_NAME}; echo $?) # localisation %_with_l10n 1 # _obs_build_project is used on dhd builds %_obs_build_project sf:4.3.0:staging:oss # release will be devel, release, unknown %qa_stage_release 1 %qa_stage_name release :Macros ### from sf:4.3.0:staging:non-oss %define _repository latest_armv7hl ### # DO NOT TOUCH. # Autogenerated from https://bitbucket.org/jolla/prjconf, branch non-oss ### Prefer: apkd-config-default Prefer: bluez-configs-sailfish Prefer: connman-configs-sailfish Prefer: crash-reporter-config-jolla Prefer: jolla-alarm-ui-all-translations-pack Prefer: jolla-clock-all-translations-pack Prefer: mtp-vendor-configuration-sailfish Prefer: nemo-devicelock-daemon-cli Prefer: nemo-qml-plugin-systemsettings-devel Prefer: nemo-qml-plugin-thumbnailer-qt5-libav Prefer: ngfd-settings-sailfish Prefer: qt5-qtwayland-wayland_egl Prefer: qtmozembed-qt5-devel Prefer: sailfish-components-weather-qt5-all-translations-pack Prefer: sailfish-content-gallery-configuration-default Prefer: sailfish-content-graphics-closed-z1.0 Prefer: sailfish-content-graphics-default Prefer: sailfish-content-graphics-default-base Prefer: sailfish-content-graphics-default-z1.0 Prefer: sailfish-content-profiled-settings-default Prefer: sailfish-content-tones-default Prefer: sailfish-silica-background-qt5 Prefer: sailfish-silica-background-qt5-devel Prefer: systemd-config-sailfish Prefer: jolla-settings-system-about-product-license-jolla Prefer: sailfish-upgrade-ui-resources-z1.0 Prefer: sailfish-upgrade-ui-resources-logo-z1.0 Prefer: sailfish-tutorial-default # Make sure that no issues are coming on our customer variants. Prefer: sailfish-version-variant # Break some build cycles between systemd and jolla-common-configurations Ignore: systemd:systemd-config Ignore: buteo-mtp-qt5:mtp-vendor-configuration Ignore: bluez:bluez-configs Ignore: ngfd:ngfd-settings Ignore: ambienced:ngfd-settings-sailfish Ignore: jolla-common-configurations:sailfish-content-tones Ignore: profiled:profiled-settings # Break cyclic loop when building sailfish-minui. See JB#45087 Ignore: sailfish-content-graphics-default-z1.0-base:sailfish-upgrade-ui-resources-z1.0 Ignore: sailfish-content-graphics-default-z1.0-base:sailfish-upgrade-ui-resources-logo-z1.0 Ignore: sailfish-content-graphics-default-z1.0-base:sailfish-device-encryption-unlock-ui-resources-z1.0 # Break cyclic loop when building sailfish-version Ignore: patterns-sailfish-core:sailfish-version PublishFilter: .*(src)\.rpm Macros: %distribution sf:4.3.0:staging:non-oss / latest_armv7hl %_project sf:4.3.0:staging:non-oss %sailfishos_version 40300