[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Proposed `cargo-upstream` dpkg-buildpackage etc. build profile



Quoting Ian Jackson (2022-12-15 14:05:32)
> Jonas Smedegaard writes ("Re: Proposed `cargo-upstream` dpkg-buildpackage etc. build profile"):
> > What is the benefit of introducing a standardized flag for this
> > relatively narrow scope, compared to doing non-standardized fetching of
> > crates _before_ package build and building with those embedded?
> > Example of doing that is here: https://salsa.debian.org/debian/helvum
> > (essentially doing `cargo vendor --versioned-dirs debian/vendorlibs`).
> 
> IDK what precisely you mean there, and you've liked to the repo as a
> whole so I'm not sure what to look for.  Maybe you mean "what's wrong
> with pretending to vendor the dependencies" ?
> 
> Whatever approach is taken, it has to be controlled somehow.  For
> example, the paths to dependencies need to be adjusted, or the use of
> the Debian cargo wrapper enabled/disabled.
> 
> That control can be done by: (i) modifying the package source code
> (which is much more a pain, even if it's a toggle in a single place),
> (ii) ad-hoc environment variables or something (which don't survive
> sbuild) or (iii) a build profile.
> 
> ISTM that this kind of "build this package in s funky way" situation
> is precisely what build profiles are good for.

I disagree that it "has to be controlled somehow" *during build*, which
build profiles is about.

Looking at current list of profile names at
https://wiki.debian.org/BuildProfileSpec#Registered_profile_names it
seems to me that none of them involve violating the principle of source
package providing source for the build.

Essentially, you are proposing to formalize a way for injecting source
during build.

Debian currently has tooling for helping fetch source _before_ build,
most notably uscan, which does not involve defining a build profile
because what is built is static.

What I question is the sense of introducing dynamic-source builds, as
opposed to mangle-source-before-build which as a proof of concept is
possible to do with Rust creates through calling `cargo vendor ...`
_outside_ of regular dpkg-source mandated build targets.


 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/
 * Sponsorship: https://ko-fi.com/drjones

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

Attachment: signature.asc
Description: signature


Reply to: