linuxmakefilecompilationlinux-from-scratch

log installed files when compiling


im currently building LFS and looking for a package management solution

specifically a program that keeps track of what files got installed when you compiled something from source also has a method for removing those files in case make uninstall isnt present

i have looked into programs like install-log and checkinstall but couldnt get both to compile

any help is appreciated, thanks!


Solution

  • Personally, I have always used the User Based Management (aka "Package Users"), as described in section 8.2. Package Management. It doesn't get much love, even from the LFS community, despite it (still) being in the book and being the only method "unique to LFS".

    It's not great for the first timer as it will really force you to dig deep at times to solve issues and make important decisions. I suggest you complete your first LFS system build, then consider Package Users your next time around.

    But once you get used to it, it works great.

    Another, simpler, method is the Timestamp Based technique (described in the same link).

    For example, when it comes time to copy a package's files to your system, you can do something like this:

    touch timestamp_start
        
    make install
        
    # do other stuff as instructed
        
    touch timestamp_stop
    
    find / -newer timestamp_start -not -newer timestamp_stop > list_of_files_affected
    

    And I do use this approach when installing the Nvidia proprietary drivers, because successfully installing them with a non-root account is a real pain.