nfft icon indicating copy to clipboard operation
nfft copied to clipboard

[nfft/support/Portfile] Portfile contains old version number

Open kevinmatthes opened this issue 3 years ago • 7 comments

Line 7 of nfft/support/Portfile contains still the old version number 3.3.2. Can this be updated is this outdated version description still relevant?

kevinmatthes avatar Oct 19 '21 08:10 kevinmatthes

I do not think that this file is still needed anymore because there is a more recent Portfile available, so we could probably delete it.

michaelquellmalz avatar Oct 19 '21 11:10 michaelquellmalz

The Portfile is maintained in the MacPorts project itself. I always had to create a ticket with them to get it updated. It was put into the NFFT repo just to keep the source. Would actually be best to make updating the Portfile part of the regular release process if it still worth keeping at all. Maintaining packages for various distros can be a lot of work, so automation is key.

Am 19.10.2021 um 13:44 schrieb Michael Quellmalz @.***>:

 I do not think that this file is still needed anymore because there is a more recent Portfile available, so we could probably delete it.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

jenskeiner avatar Oct 19 '21 20:10 jenskeiner

How about binding the MacPorts project as a sub-module for our repository? Together with a further build instruction to copy the intended Portfile from the sub-module into the desired directory of our repository, this could automate some of the steps.

Would this work regarding the licenses?

kevinmatthes avatar Oct 20 '21 11:10 kevinmatthes

That sounds a little complicated for a simple problem. Maybe we just copy the current code to the nfft project and add a comment in the file that it is also in the Macports repo. Then we leave it as is here (no-one seemed to care about it since 3.3.2 anyway).

michaelquellmalz avatar Oct 20 '21 11:10 michaelquellmalz

Actually, the steps only need to be processed once. Thereby, the latest Portfile will be taken automatically from the concerning project such that the file does not need to be kept up-to-date any longer by this repository.

The steps are as follows:

  1. git rm ./nfft/support/Portfile ; echo 'Portfile' >> .gitignore # remove Portfile from repository
  2. cd ./nfft/support ; git submodule add <URL of repository for Portfiles> # clone source of Portfiles
  3. touch makefile ; <your favourite editor> makefile # define build instructions for automatic copying of the latest Portfile

Within this makefile, the copying steps might be defined as follows:

COPY        := cp
DESTINATION := ./
SOURCE      := # enter actual path of intended file from the submodule here

.PHONY: portfile
portfile:
    $(COPY) $(SOURCE) $(DESTINATION)

This makefile should then be included into the current build routine such that anytime a user builds the software, the latest Portfile will be automatically added to the file system and can hence be used if required. We should then add a note to our README that the submodule needs to be initialised properly after cloning our project.

Please note that the makefile from above is a working one but does not meet the conventions of the here used automake. It was just a sketch for clarification.

kevinmatthes avatar Oct 20 '21 13:10 kevinmatthes

Until now, we avoided using submodules because basically everyone who clones the repo could/should initialize the submodule. This could probably yield to more support questions because it might cause problems with cloning/building the software for a small benefit. I am still not sure if we really need this file.

michaelquellmalz avatar Oct 27 '21 17:10 michaelquellmalz

The initialisation of the submodule is done automatically by cloning with the option --recursive, i. e.

git clone --recursive <repository>

Hence, we just would need to add a comment in README.md that this option should be passed when cloning. We would just need to pull from the source repository of the submodule about once half a year. The effort of downloading, adjusting and saving the new version of the Portfile would be replaced by this somehow routine of checking for significant updates regularly.

kevinmatthes avatar Oct 28 '21 12:10 kevinmatthes