Differences from a default FreePoplog build - GetPoplog/Seed GitHub Wiki

Although GetPoplog closely adheres to the default FreePoplog x86_64 build, there are very minor differences due to core purpose of GetPoplog, which we call the linuxification of Poplog. By this we mean that we are changing Poplog so that, from the viewpoint of a general Linux user, it works like mostly any other language interpreter. Exactly what that is is quite subjective but this is our best guess. This page lists these differences that, hopefully, are improvements from this viewpoint.

  • When building from source, GetPoplog installs Poplog in any location determined by the familiar PREFIX Makefile variable. By default we install to /opt/poplog rather than /usr/local/poplog because that reflects GetPoplog's ambition to be installed from standard repositories/stores, such as https://snapcraft.io/store and Ubuntu's apt repositories.

  • The only addition to $PATH mades by GetPoplog is the poplog command-tool, which is symlinked from /usr/local/bin/poplog. This tool is used to launch any Poplog executable in a way that is immediately familiar to any experienced Poplog user (e.g. poplog pop11, poplog ved myfile.p). At the same time it avoids the problem of cluttering up the $PATH with many new executables that are invisible to new users and provides a linux-friendly way for new users to learn what is available (poplog --help). We believe this is a more familiar pattern for general Linux users.

  • The default value of $poplib is not $HOME but $HOME/.poplog. It is conventional for applications to store their per-user configuration in 'dot' files, which avoids cluttering up the view of the home folder. This brings Poplog into line with that convention. Nothing prevents a user from overriding this new default in their ~/.bash_profile or similar init file.

  • There is a new folder $popcom/noinit which contains nonwriteable, empty initialisation files (init.p, vedinit.p, etc). This is used by the poplog --run option to ensure that sysinitcomp does not run per-user initialisation. In general, sysinitcomp is not compatible with using Poplog for scripting. (Unfortunately the %nort flag inhibits too many actions.)