Opened 6 years ago

Last modified 16 months ago

#1719 new defect

Some files may be not logged when using cmake+porg

Reported by: Pierre Labastie Owned by: alfs-log@…
Priority: normal Milestone: 3.0
Component: jhalfs Version: GIT
Severity: normal Keywords:
Cc:

Description

When a file is already present on the system, cmake does not reinstall it. SO porg does not log it.

Change History (5)

comment:1 by Pierre Labastie, 6 years ago

There are two possibilities for avoiding that (maybe others, of course):

  • One brutal way is to remove files when they are there (use porg -rb $JH_PKG_DIR before install, or even before cmake).
  • Another possibility is to use a DESTDIR install (hopefully, the DESTDIR is empty).

There are several drawbacks with the first approach: some packages are needed for compiling/installing, so cannot be removed from the system, even just before installation (occurs only in LFS, I think. One such package is coreutils. Of course, also glibc, and a couple of others). Also, some packages change library versions at each update, so that removing the old library breaks all packages compiled against that library (example poppler).

I'm sure the issue does not exist with autotools: existing files are overwritten. I do not know for meson.

comment:2 by Pierre Labastie, 4 years ago

It looks like cmake accepts an undocumented environment variable CMAKE_INSTALL_ALWAYS, which, if set to 1 or ON allows to overwrite existing files. Let's try to use it from envars.conf.

comment:3 by Pierre Labastie, 4 years ago

Looks like setting CMAKE_INSTALL_ALWAYS to 1 has no action.

comment:4 by Pierre Labastie, 3 years ago

Version: SVNGIT

in reply to:  3 comment:5 by Pierre Labastie, 16 months ago

Replying to Pierre Labastie:

Looks like setting CMAKE_INSTALL_ALWAYS to 1 has no action.

It must be set in the environment when doing make install.

Note: See TracTickets for help on using tickets.