[riot-notifications] [RIOT-OS/RIOT] WIP CLEANUP TESTING NEEDED pkg/pkg.mk: use intermediate state files (#11553)

Gaëtan Harter notifications at github.com
Mon May 20 16:42:52 CEST 2019


### Contribution description

Rely on file creation and dependencies instead of .PHONY targets.
Files will be rebuilt when changing version as the main `Makefile` will
have been updated. All steps are re-done on version change.

When deleting patches, the '.prepare' step should be redone thanks
to the included 'patch-dep.inc' file (TODO TEST ME).

Implementation in order:

* '.git': means the repository has been cloned.
* '.git-downloaded': Fetches the wanted version
* '.git-prepared': will clean checkout the version and apply patches

Somehow the base is that `patching` can only be done on the correct commit, so lets do it all at once.


### Infos:

* This is a one commit change to first see if it makes sense at all.
* This currently do not use the 'smart fetch' from https://github.com/RIOT-OS/RIOT/pull/11491
* Some parts may be possible to not re-do. Maybe the `.prepare` should use the content of `.git-downloaded` instead of the variable.
* Did not remove the `::` rules but should maybe be the occasion to clean this.

Should git-downloaded be updated only with `lazy_sponge` to not trigger more rebuild ?
I think `.git-prepare` must be always re-done as the package makefile may do further modifications afterwards… so not sure it would change anything

### TODO:

Change so that packages include `pkg/pkg.mk` earlier. Some packages use `PKG_BUILDDIR` before it is defined.

Update to use `$(PKG_PREPARED)` instead of the .PHONY target.

### Testing/Reviewing procedure

* Build all packages (lets see CI)
* See if it is indeed incremental
* See if it detects package deletion
* Any ideas on what to test ?

### Issues/PRs references

Discussions coming out of https://github.com/RIOT-OS/RIOT/pull/11491

You can view, comment on, or merge this pull request online at:

  https://github.com/RIOT-OS/RIOT/pull/11553

-- Commit Summary --

  * WIP CLEANUP TESTING NEEDED pkg/pkg.mk: use intermediate state files

-- File Changes --

    M pkg/pkg.mk (77)

-- Patch Links --

https://github.com/RIOT-OS/RIOT/pull/11553.patch
https://github.com/RIOT-OS/RIOT/pull/11553.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/11553
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20190520/e4f02222/attachment.html>


More information about the notifications mailing list