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

RPM spec file cleanup #846

Closed
davidcoutadeur opened this issue Mar 7, 2024 · 10 comments · Fixed by #847
Closed

RPM spec file cleanup #846

davidcoutadeur opened this issue Mar 7, 2024 · 10 comments · Fixed by #847
Assignees
Milestone

Comments

@davidcoutadeur
Copy link

This issue is to discuss the RPM spec file cleanup first proposed by @xavierba

Original proposed PR:

@davidcoutadeur davidcoutadeur self-assigned this Mar 7, 2024
@davidcoutadeur davidcoutadeur added this to the 1.6.0 milestone Mar 7, 2024
@davidcoutadeur
Copy link
Author

Current PR, rebased on master is #847

davidcoutadeur pushed a commit that referenced this issue Mar 8, 2024
@davidcoutadeur
Copy link
Author

davidcoutadeur commented Mar 8, 2024

I have reviewed the PR #847. It seems fine now.

Here is the list of breaking change in the #847 PR, which must be brought to .deb package, and notified in the changelog / in the release notes / documentation:

  • the dependencies are now explicitly listed in the RPM, including the bundled ones.
  • the configuration files are now in /etc/self-service-password directory
  • the previous configuration files present in /usr/share/self-service-password/conf (all .php files) are migrated to /etc/self-service-password/ during the upgrade process. config.inc.php is migrated as a config.inc.php.bak file, all other php file names are preserved.
  • the very old configuration files, present in /usr/share/self-service-password/ are NOT migrated during the upgrade process, and must be upgraded manually. These files have been deprecated since version 0.9, release in 2015 of October. The release note must define how to migrate these configuration files
  • a default config.inc.local.php is now provided as a configuration file by the package
  • smarty is now a required package See smarty4: Update to smarty4 #850
  • some bundled dependencies have been updated. See smarty4: Update to smarty4 #850, bootstrap 5.3: Update bootstrap library #834, and these dependency list: Update bundled php/javascript libs versions #849
  • unit tests are now run by the build process, only for fedora distribution and debian packaging
  • a minimum version of PHP is now required by the package: >=7.3
  • new basic dependency is now required by the package: sed
  • hidden files (.gitignore,...) from bundled dependencies are now removed from the package
  • now, the cache is being cleaned-up during self-service-password upgrade / install

@davidcoutadeur davidcoutadeur mentioned this issue Mar 8, 2024
11 tasks
@coudot
Copy link
Member

coudot commented Mar 9, 2024

We should discuss a little about providing local config file, I don't understand the need.

@davidcoutadeur
Copy link
Author

I am not completely aligned with providing this new local config file.

There are two benefits IMO:

  • self-explain to the users that the good way to configure ssp is to use the local file
  • show a set of minimal values (those in local file) that must be configured before starting

However it may be a little overkill to provide this local file, which is somehow a duplicate from config.inc.php

@coudot
Copy link
Member

coudot commented Mar 10, 2024

Yes, it can be provided as doc, but users can choose to modify the main config file which is managed as config by the package, or create a local config to avoid comparing the changes on main config during the upgrade

@xavierba
Copy link
Contributor

The idea with providing a local config file is to help users toward configuring the app way the project is instructing them to do it, that is, let the default config file unchanged and override variables in the local config file. It also helps to have a tiny number of variable to look at and possibly change, rather than a 430 lines file.

Actually, I would advocate the default config.inc.php file is not really a config file but rather the application's default and as such should not even be writable and moved out of the conf directory. Only the real config file, that is config.inc.local.php, should be in the config directory. However, this is a modification of the application's logic, not a packaging choice to be made.

@coudot
Copy link
Member

coudot commented Mar 11, 2024

In this case the change would be indeed to have a default value php file that will be loaded before the configuration, this indeed a change in the software.

I keep thinking it is interesting to have all configuration parameters in config.inc.php.

And I would prefer not putting config.inc.local.php in packages.

@xavierba
Copy link
Contributor

Do you mean, put the config.inc.local.php file as a file explicitly added by the package itself ? In which case, I agree, this should be shipped in the git repo itself, if shipped at all.

@coudot
Copy link
Member

coudot commented Mar 11, 2024

I mean this file should not be shipped at all, or only in /usr/share/doc as an example

@davidcoutadeur
Copy link
Author

This feature should be ready. Only thing missing is updating the requirement of smarty4. It can be done in #850

davidcoutadeur pushed a commit that referenced this issue Mar 14, 2024
davidcoutadeur pushed a commit that referenced this issue Mar 15, 2024
davidcoutadeur pushed a commit that referenced this issue Mar 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants