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

Bug#893300: cdebconf: Adding support for a pkg.cdebconf.nogtk build-profile



On Mon, Mar 26, 2018 at 12:47:18AM +0100, Colin Watson wrote:
> On Sat, Mar 17, 2018 at 09:09:11PM +0100, Karsten Merker wrote:
> > I would like to add support for a "pkg.cdebconf.nogtk" build-profile
> > to cdebconf.  Background for that is that cdebconf (in particular
> > libdebconfclient0) is needed rather early in the process of
> > bootstrapping a new Debian architecture, but getting it built during
> > early architecture bootstrap is difficult due to its build-dependency
> > on gtk+cairo, which pulls in an enormous list of transitive
> > build-dependencies that are effectively impossible to fullfill in a
> > bootstrap scenario.
> 
> This approach and patch looks good to me.  I'm OK with you committing
> and uploading it, modulo the comments below.
> 
> > diff --git a/debian/rules b/debian/rules
> > index b2b35f4d..8b85a7af 100755
> > --- a/debian/rules
> > +++ b/debian/rules
> > @@ -21,6 +21,11 @@ LIBDEBCONF=libdebconfclient0
> >  DEB_FRONTENDS=passthrough text newt gtk
> >  UDEB_FRONTENDS=passthrough text newt gtk
> >  
> > +ifneq ($(filter pkg.cdebconf.nogtk,$(DEB_BUILD_PROFILES)),)
> > +    DEB_FRONTENDS:=$(filter-out gtk,$(DEB_FRONTENDS))
> > +    UDEB_FRONTENDS:=$(filter-out gtk,$(UDEB_FRONTENDS))
> > +endif
> 
> I think this would be clearer reversed, i.e.:
> 
>   DEB_FRONTENDS=passthrough text newt
>   UDEB_FRONTENDS=passthrough text newt
> 
>   ifeq ($(filter pkg.cdebconf.nogtk,$(DEB_BUILD_PROFILES)),)
>       DEB_FRONTENDS+=gtk
>       UDEB_FRONTENDS+=gtk
>   endif

That's probably a matter of taste :-).  I found it clearer to
have the primary DEB_FRONTENDS and UDEB_FRONTENDS assignments to
always represent the default case when no build-profiles are
enabled and only modify them in the "non-standard" case of having
a build-profile set.  If you have a strong preference for the
"additive" version instead of the "subtractive" version, please
let me know and I'll change that.
 
> > +ifneq ($(filter pkg.cdebconf.nogtk,$(DEB_BUILD_PROFILES)),)
> > +	dh_install -plibdebconfclient0-dev src/modules/frontend/gtk/cdebconf_gtk.h usr/include/cdebconf/
> > +endif
> 
> I think I may understand what this is doing now after some confusion,
> but it's pretty opaque and definitely needs at least a comment.  I think
> you're trying to keep the package contents identical regardless of build
> profile, since the main build system won't handle it in this case due to
> the change in *_FRONTENDS?

Exactly. I'll add a comment explaining that.

Regards,
Karsten
-- 
Gem. Par. 28 Abs. 4 Bundesdatenschutzgesetz widerspreche ich der Nutzung
sowie der Weitergabe meiner personenbezogenen Daten für Zwecke der
Werbung sowie der Markt- oder Meinungsforschung.


Reply to: