openSUSE / obs-build

OBS build script, can be used with OBS or stand alone
GNU General Public License v2.0
133 stars 185 forks source link

No support for build profiles, or multiarch":native" or ":any" specifiers in Debian Build-Depends field #250

Open rahcollabora opened 8 years ago

rahcollabora commented 8 years ago

Build-Depends can contain constructions such as

  g++-multilib [amd64 armel armhf i386 kfreebsd-amd64 mips mips64 mips64el mipsel mipsn32 mipsn32el powerpc ppc64 s390 s390x sparc sparc64 x32] <!cross>
  g++-5-x86-64-linux-gnu [amd64] <cross>
  binutils:native (>= 2.25.90) | binutils-multiarch:native (>= 2.25.90)

Which demonstrate both ":native" arch specifiers and build profiles ("<!cross>", etc.) Details on build profiles are here and information on multiarch ":native" and ":any" are here.

Without this, attempts to build recent packages results in errors such as:

nothing provides binutils:native >= 2.25.90 | binutils-multiarch:native >= 2.25.90, nothing provides gdb:native, nothing provides python:native, nothing provides gnat-5:native, nothing provides g++-5:native, nothing provides g++-5-alpha-linux-gnu, nothing provides gobjc-5-alpha-linux-gnu, nothing provides gfortran-5-alpha-linux-gnu, nothing provides gcj-5-alpha-linux-gnu, nothing provides gdc-5-alpha-linux-gnu, nothing provides gccgo-5-alpha-linux-gnu, nothing provides gnat-5-alpha-linux-gnu, nothing provides g++-5-x86-64-linux-gnu, nothing provides gobjc-5-x86-64-linux-gnu, nothing provides gfortran-5-x86-64-linux-gnu, nothing provides gcj-5-x86-64-linux-gnu, nothing provides gdc-5-x86-64-linux-gnu, nothing provides gccgo-5-x86-64-linux-gnu, nothing provides gnat-5-x86-64-linux-gnu, nothing provides g++-5-arm-linux-gnueabi, nothing provides gobjc-5-arm-linux-gnueabi, nothing provides gfortran-5-arm-linux-gnueabi, nothing provides gcj-5-arm-linux-gnueabi, nothing provides gdc-5-arm-linux-gnueabi, nothing provides gccgo-5-arm-linux-gnueabi, nothing provides gnat-5-arm-linux-gnueabi, nothing provides g++-5-arm-linux-gnueabihf, nothing provides gobjc-5-arm-linux-gnueabihf, nothing provides gfortran-5-arm-linux-gnueabihf, nothing provides gcj-5-arm-linux-gnueabihf, nothing provides gdc-5-arm-linux-gnueabihf, nothing provides gccgo-5-arm-linux-gnueabihf, nothing provides gnat-5-arm-linux-gnueabihf, nothing provides g++-5-aarch64-linux-gnu, nothing provides gobjc-5-aarch64-linux-gnu, nothing provides gfortran-5-aarch64-linux-gnu, nothing provides gcj-5-aarch64-linux-gnu, nothing provides gdc-5-aarch64-linux-gnu, nothing provides gccgo-5-aarch64-linux-gnu, nothing provides gnat-5-aarch64-linux-gnu, nothing provides g++-5-i686-linux-gnu, nothing provides gobjc-5-i686-linux-gnu, nothing provides gfortran-5-i686-linux-gnu, nothing provides gcj-5-i686-linux-gnu, nothing provides gdc-5-i686-linux-gnu, nothing provides gccgo-5-i686-linux-gnu, nothing provides gnat-5-i686-linux-gnu, nothing provides g++-5-mips-linux-gnu, nothing provides gobjc-5-mips-linux-gnu, nothing provides gfortran-5-mips-linux-gnu, nothing provides gcj-5-mips-linux-gnu, nothing provides gdc-5-mips-linux-gnu, nothing provides gccgo-5-mips-linux-gnu, nothing provides gnat-5-mips-linux-gnu, nothing provides g++-5-mipsel-linux-gnu, nothing provides gobjc-5-mipsel-linux-gnu, nothing provides gfortran-5-mipsel-linux-gnu, nothing provides gcj-5-mipsel-linux-gnu, nothing provides gdc-5-mipsel-linux-gnu, nothing provides gccgo-5-mipsel-linux-gnu, nothing provides gnat-5-mipsel-linux-gnu, nothing provides g++-5-mips64-linux-gnuabi64, nothing provides gobjc-5-mips64-linux-gnuabi64, nothing provides gfortran-5-mips64-linux-gnuabi64, nothing provides gcj-5-mips64-linux-gnuabi64, nothing provides gdc-5-mips64-linux-gnuabi64, nothing provides gccgo-5-mips64-linux-gnuabi64, nothing provides g++-5-mips64el-linux-gnuabi64, nothing provides gobjc-5-mips64el-linux-gnuabi64, nothing provides gfortran-5-mips64el-linux-gnuabi64, nothing provides gcj-5-mips64el-linux-gnuabi64, nothing provides gdc-5-mips64el-linux-gnuabi64, nothing provides gccgo-5-mips64el-linux-gnuabi64, nothing provides gnat-5-mips64el-linux-gnuabi64, nothing provides g++-5-powerpc-linux-gnu, nothing provides gobjc-5-powerpc-linux-gnu, nothing provides gfortran-5-powerpc-linux-gnu, nothing provides gcj-5-powerpc-linux-gnu, nothing provides gdc-5-powerpc-linux-gnu, nothing provides gccgo-5-powerpc-linux-gnu, nothing provides gnat-5-powerpc-linux-gnu, nothing provides g++-5-powerpc64-linux-gnu, nothing provides gobjc-5-powerpc64-linux-gnu, nothing provides gfortran-5-powerpc64-linux-gnu, nothing provides gcj-5-powerpc64-linux-gnu, nothing provides gdc-5-powerpc64-linux-gnu, nothing provides gccgo-5-powerpc64-linux-gnu, nothing provides gnat-5-powerpc64-linux-gnu, nothing provides g++-5-powerpc64le-linux-gnu, nothing provides gobjc-5-powerpc64le-linux-gnu, nothing provides gfortran-5-powerpc64le-linux-gnu, nothing provides gcj-5-powerpc64le-linux-gnu, nothing provides gdc-5-powerpc64le-linux-gnu, nothing provides gccgo-5-powerpc64le-linux-gnu, nothing provides gnat-5-powerpc64le-linux-gnu, nothing provides g++-5-m68k-linux-gnu, nothing provides gobjc-5-m68k-linux-gnu, nothing provides gfortran-5-m68k-linux-gnu, nothing provides gcj-5-m68k-linux-gnu, nothing provides gdc-5-m68k-linux-gnu, nothing provides g++-5-sh4-linux-gnu, nothing provides gobjc-5-sh4-linux-gnu, nothing provides gfortran-5-sh4-linux-gnu, nothing provides gcj-5-sh4-linux-gnu, nothing provides g++-5-sparc64-linux-gnu, nothing provides gobjc-5-sparc64-linux-gnu, nothing provides gfortran-5-sparc64-linux-gnu, nothing provides gcj-5-sparc64-linux-gnu, nothing provides gdc-5-sparc64-linux-gnu, nothing provides gccgo-5-sparc64-linux-gnu, nothing provides g++-5-s390x-linux-gnu, nothing provides gobjc-5-s390x-linux-gnu, nothing provides gfortran-5-s390x-linux-gnu, nothing provides gcj-5-s390x-linux-gnu, nothing provides gdc-5-s390x-linux-gnu, nothing provides gccgo-5-s390x-linux-gnu, nothing provides gnat-5-s390x-linux-gnu, nothing provides g++-5-x86-64-linux-gnux32, nothing provides gobjc-5-x86-64-linux-gnux32, nothing provides gfortran-5-x86-64-linux-gnux32, nothing provides gcj-5-x86-64-linux-gnux32, nothing provides gdc-5-x86-64-linux-gnux32, nothing provides gccgo-5-x86-64-linux-gnux32

while trying to compile gcc-5_5.3.1-11ubuntu1.

nickbroon commented 8 years ago

Can be closed as PR #267 merged.

andrewshadura commented 3 years ago

That PR only adds the ability to parse build profiles, but does not make it possible to set them.

nickbroon commented 3 years ago

Agreed. It would be very useful if there was support in prjconf for defining DEB_BUILD_PROFILES and DEB_BUILD_OPTIONS for debian builds, in the same way that prjconf currently support rpm macros/options.