Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add developer toolkit #1

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open

Add developer toolkit #1

wants to merge 9 commits into from

Conversation

alexg9010
Copy link
Member

This is supposed to be a helper script that aggregates commonly used commands.

@alexg9010 alexg9010 requested a review from rekado June 8, 2021 09:37
@alexg9010
Copy link
Member Author

@rekado please feel free to mention any complications that you potentially see with this script.
And let me know if I should adjust the PR in any way.

./bootstrap.sh
./configure --prefix=$PWD/local_install --disable-r-packages-check
make install
export PIGX_UNINSTALLED=1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has no effect. Exporting environment variables only affects the current shell. In the case of a script that shell is the one executing the script, not the shell in which the script is invoked.

(Only source can affect the current shell session.)

@alexg9010
Copy link
Member Author

@rekado
right now the script can only be executed if we are in the main git directory.
Is this a legal assumption or should make sure it is possible to run it from everywhere?

@rekado
Copy link
Member

rekado commented Jun 8, 2021

@rekado
right now the script can only be executed if we are in the main git directory.
Is this a legal assumption or should make sure it is possible to run it from everywhere?

It's a bit shaky. The script will always be located in a sub-directory, because that's how we include this repository as a submodule. So out of the box it won't work, which is a bit sad.

@alexg9010
Copy link
Member Author

The way I handled it now is to create a symbolic link to the main directory and then run it from there.

A more powerful solution would probably be to include it in the configure / make process and record the absolute path of the base directory. Then you could run it independently of the working directory.

@rekado
Copy link
Member

rekado commented Jun 9, 2021

The problem with including it in configure/make is that neither of these is available before you run ./bootstrap.sh, so you won't be able to cover the full set of features.

GNU packages often include an extra Makefile for maintenance tasks; that's named GNUmakefile and is preferred by GNU make in the presence of both Makefile and GNUmakefile. GNUmakefile includes Makefile when it exists, so it will always do the right thing. The effect is that you can always run make, even before bootstrapping the build system, and you can have a whole bunch of targets that are only of interest to maintainers.

You can see this in action in the GWL repository. The maintenance targets there only really make sense for GNU packages, though. (E.g. to create a release announcement message, to upload the release to GNU servers, to generate a NEWS file, etc.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants