-
Notifications
You must be signed in to change notification settings - Fork 24.4k
Description
There are two issues I've found with the makefile that is breaking make && make install on a fresh redis tarball.
First, there is the Makefile.dep file. The file is getting created as expected but the following persist-settings target has a dependency on distclean which has a dependency on clean which deletes the file. This means that any two invocations of make all will rebuild everything as you're creating a new Makefile.dep each run, dirtying the entire process.
Second, the deps/Makefile target for jemalloc calls ./configure. This means that any build that uses jemalloc gets a new deps/jemalloc/Makefile each time, dirtying the entire jemalloc build. This dirties all of the redis objects that depend on jemalloc.
Note that this is going to mess with people trying to package redis with the new BUILD_TLS option in redis 6. If you ran make like make BUILD_TLS=yes && make install (which is what everyone is basically going to be doing) you are rebuilding redis without TLS the second time because it's triggering a rebuild and BUILD_TLS is not set.