#6517 Support client-only build
Closed: fixed a year ago Opened 2 years ago by pspacek.

During Build system refactoring sprint there was not enough time to make server an optional component.

This is placeholder ticket for supporting client-only builds in FreeIPA build system.

Relevant discussion can be found in following e-mail thread:
https://www.redhat.com/archives/freeipa-devel/2016-November/msg00824.html


Client only build is also relevant for integration effort. At the moment I have to install a bunch of extra packages and/or set ENV vars to make ./configure work, although I only need ./configure to generate ipasetup.py and config.h. For ipaclient Python packages I don't need 389 plugins, Samba stuff etc.

Preparation patch was pushed:

master:

  • 7055493 Client-only builds with --disable-server
  • 41d7ae5 ipa_pwd: remove unnecessary dependency on dirsrv plugins
  • 20c1eb9 Add missing include of stdint.h for uint8_t
  • 2747f2a Add --without-ipatests option

In order to do client only build, one has to run configure with --disable-server and --without-ipatests option.

These patches does not solve client only build.

I will need to prepare new PR

Right, that is why the ticket was not closed and was called "preparation patch".

Replying to [comment:6 pvoborni]:

Right, that is why the ticket was not closed and was called "preparation patch".

And BTW please revert the latest change in design page. There was a long discussion about build refactoring
and design was set to the stone :-). If we want to change it then we need to discuss again. Fixing of typo would be acceptable.

The updated design page is correct. Petr's documentation explains how packages are going to build packages without server components and without Python test and integration suite. Your use case "build client-only without ipatests package" is covered.

Please proceed and take care of freeipa.spec according to the design page. I like to close this ticket.

Replying to [comment:8 cheimes]:

The updated design page is correct. Petr's documentation explains how packages are going to build packages without server components and without Python test and integration suite. Your use case "build client-only without ipatests package" is covered.

Documentation is incomplete => wrong. Configure will still require server related dependencies with the example for client only build. Because tox use-case is not a client only build.

Section: Packager - client only build is wrong.
And bad documentation is worst then missing documentation.

The only correct information is about --disable-server in table. But that was written last year.

Anyway there should be discussion about such change in design document and there wasn't.

Please remove changes which were done in February 2017.

Please proceed and take care of freeipa.spec according to the design page. I like to close this ticket.

ATM, client-only build is not just about packaging change. So we cannot close the ticket.

There is clear note that it is not working yet. And this ticket will handle it. I won't remove anything.

Metadata Update from @pspacek:
- Issue assigned to someone
- Issue set to the milestone: FreeIPA 4.5 backlog

2 years ago

master:

  • e42a846 spec file: support build without ipatests
  • 417f192 spec file: support client-only build

Metadata Update from @jcholast:
- Issue close_status updated to: None

2 years ago

master:

  • fd1b4f6 Add options to run only ipaclient unittests
    ipa-4-5:

  • 29b885a Add options to run only ipaclient unittests

Client-only packaging and client-only testing have been implemented. I don't think there is anything left to do. Please open a new ticket if there are additional tasks required.

Metadata Update from @cheimes:
- Issue close_status updated to: fixed

a year ago

Login to comment on this ticket.

Metadata