Hi, Quoting Santiago Vila (2017-01-07 15:46:30) > This package, cross-toolchain-base, has a small collection of Build-Using > fields on other source packages. > > I'm building packages in stretch, and when a package FTBFS in stretch, > I report it as a serious bug. > > Matthias complains that I'm not building packages "the same way" he did. > > He seems to suggest (please correct me if I'm wrong) that I should use > the exact same version he used in the Built-Using field. > > But I think this information is only in the binary packages. > > So: Is sbuild supposed to take this information from the binary > packages I'm trying to rebuild (unlikely, but I ask just in case), > or maybe it's that the Built-Using fields should just be versioned > when there is a risk that not every version of the Built-Used packages > is ok for the build? (May Built-Using be versioned, like Depends > or Build-Depends?) > > [ My theory is that this is a bug in either cross-toolchain-base, > sbuild, or maybe our package format, but definitely not in myself building > packages on stretch ].
thanks! The Built-Using field is for binary packages to indicate that they incorporate code from other source packages than the source package that the build from. This is important so that the archive can keep these source versions around even if a newer source package gets uploaded. You can identify source packages that are only kept around because some binary package incorporates material from them through the "Extra-Source-Only: yes" header in Sources lists. Conversely, the Packages list files contain the Built-Using header listing these source packages. This mechanism is used to make sure that the source code for all binary packages that we ship is still distributed by us. Without the Built-Using header, it could easily happen that a new version of a source package gets uploaded, the old version is dropped from the archive and suddenly we have a binary in the archive for which we do not provide the source anymore. So the Built-Using header is a mechanism that keeps us copyright compliant. It is not a mechanism to list the requirements to build a source packages. These requirements are contained in the Build-Depends, Build-Depends-Indep, Build-Depends-Arch and their corresponding Conflicts fields. If the package really fails to build from source because you are not installing the right package versions or not the right packages, then these are missing from the Build-Depends-* fields. The Built-Using header is for binary packages to assure copyright compliance in the archive. They are not indicators of the binary packages required to build a source package. If I misunderstood the Built-Using situation, please point me to the resource that states otherwise. Thanks! cheers, josch
signature.asc
Description: signature