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

How to maintain your own fork of spark? #96

Open
petRUShka opened this issue Aug 5, 2021 · 3 comments
Open

How to maintain your own fork of spark? #96

petRUShka opened this issue Aug 5, 2021 · 3 comments

Comments

@petRUShka
Copy link
Contributor

petRUShka commented Aug 5, 2021

Couple of years ago I've cloned spark and have started to have my own changes in repository (because my set of software and settings couldn't be 100% same as somebodies else). From time to time I've cherry-pick`d some commits from upstream. But now I have ~2 years history of commits in upstream I want to incorporate to my fork of spark (and then somehow apply changes with ansible).

So it is more like question and not an issue. What is the best practice?

How to:

  • have simultaneously my own fork with my own changes some roles are commented out and etc
  • pull upstream changes
  • have changes (from commits) applied to my installation
@petRUShka petRUShka changed the title How to have your own fork of spark? How to maintain your own fork of spark? Aug 5, 2021
@pigmonkey
Copy link
Owner

The idea is that you would clone the repository, track changes from the master branch here (wether you do so in the master branch on your clone, or put them in some other branch), and make your personal changes in a different branch. Then you just merge changes from my upstream master branch to your personal branch.

GitHub has documentation on this sort of thing:

https://docs.github.com/en/github/collaborating-with-pull-requests/working-with-forks/configuring-a-remote-for-a-fork
https://docs.github.com/en/github/collaborating-with-pull-requests/working-with-forks/syncing-a-fork#syncing-a-fork-from-the-command-line

Ansible is idempotent, so you should be able to just run the playbook again to apply any new additions to your system.

Removing old things is a manual process. If I decide to drop a software package from spark, for example, I don't write a task to uninstall it. I just remove the lines from the task that installed it. So you'd have to manually look through the commits for things like that and pacman --remove ... the package. The same goes for removing files from spark. For example, the recent Tor change in 144226d. When you look through the commit you'd see that spark is no longer pushing the old Tor systemd override file. To match that change on your system you would rm -r /etc/systemd/system/tor.service.d.

@petRUShka
Copy link
Contributor Author

@pigmonkey do you see some automated way to find all packages not installed by spark? And Same for configuration files in /etc and other places like that?

@pigmonkey
Copy link
Owner

No.

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

No branches or pull requests

2 participants