[petsc-users] Some questions about the directory structure

Satish Balay balay at mcs.anl.gov
Mon Aug 21 12:54:07 CDT 2023


On Mon, 21 Aug 2023, meator wrote:

> Hi. I'm trying to package PETSc using the tarball with documentation
> (https://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-with-docs-3.19.4.tar.gz)
> and I've got some questions about the structure of PETSc.
> 
> What are the contents of the /usr/lib/petsc directory in destdir for? This
> directory has two subrirectories: bin and conf. Why is the bin/ directory in
> lib/? lib/ should be for libraries.

balay at p1 /home/balay
$ find /usr/lib -name bin
/usr/lib/debug/bin
/usr/lib/debug/usr/bin
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-6.fc38.x86_64/jre/bin
/usr/lib/jvm/java-17-openjdk-17.0.8.0.7-1.fc38.x86_64/bin
/usr/lib/jvm/java-11-openjdk-11.0.20.0.8-1.fc38.x86_64/bin
balay at p1 /home/balay
$ find /usr/lib64 -name bin
/usr/lib64/qt5/bin
/usr/lib64/R/bin


> Are the executables contained in
> /usr/lib/petsc/bin essential to the user or the developer (should this be in a
> -devel subpackage)?

Hm  - different scripts/utils have different propose. I guess most are useful from devel sub package.

> Some of the scripts don't have the executable bit
> (/usr/lib/petsc/bin/configureTAS.py, /usr/lib/petsc/bin/extract.py,
> /usr/lib/petsc/bin/petsc_tas_style.mplstyle, /usr/lib/petsc/bin/tasClasses.py,
> /usr/lib/petsc/bin/xml2flamegraph.py). What is their purpose?

I guess some of them can use some cleanup. extract.py likely belongs to bin/maint [and excluded from tarball..]

> 
> The /usr/lib/petsc/conf directory seems to be related to the build process. Is
> that correct?

These have makefiles that can be included from user/application makefiles - to get compile/link working seamlessly.


> If yes, I will delete the directory from the package because
> packages shouldn't include these things. This directory even includes
> uninstall.py which is undesirable for a packaged program because this is the
> package manager's job.

Sure - some files might not make sense to be included in a packaging system.

> 
> /usr/share/petsc looks like it contains additional info useful to the
> developers, therefore it should be in a -devel subpackage.

> 
> I see that the docs directory contains .buildinfo. Does this directory contain
> additional build artifacts (that should be removed)?

I guess some of these files should be excluded from tarball.

> 
> The main index.html of the documentation (from the tarball linked at the
> beginning of this e-mail) is invalid. It has all the menus but the main part
> of the page is blank. The raw HTML is cut off, there's no content and there
> are unclosed tags.

Hm - since the docs are primarily tested/used at petsc.org - some of that functionality probably doesn't work as raw html - and might need fixes.

Satish

> 
> Many of my questions may be trivial but I want to make sure to not break the
> package.
> 
> Thanks in advance
> 
> 



More information about the petsc-users mailing list