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 script to adjust modules afer dep got migrated #729

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions bin/systemd_module_migration.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/bin/sh

if ! which hub > /dev/null ; then
echo "We require hub later on for the PR" >&2
exit 1
fi

# fix all modules with systemd in .fixtures.yml
sed --in-place 's#camptocamp/puppet-systemd#voxpupuli/puppet-systemd#' modules/voxpupuli/puppet-*/.fixtures.yml
Copy link
Member

Choose a reason for hiding this comment

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

FreeBSD does not have long options… A more portable solution would be:

Suggested change
sed --in-place 's#camptocamp/puppet-systemd#voxpupuli/puppet-systemd#' modules/voxpupuli/puppet-*/.fixtures.yml
sed -I '' 's#camptocamp/puppet-systemd#voxpupuli/puppet-systemd#' modules/voxpupuli/puppet-*/.fixtures.yml

…but POSIX does not have in-place edit either (no -I / -i) so I am not sure about the best way to handle this if we want it to be portable.

Maybe just set -e at the beginning of the script to exit as soon as the first command fail?

Copy link
Member

Choose a reason for hiding this comment

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

You've got ruby involved with a puppet agent so you could use that :)

ruby -pi -e "gsub(/before/, 'after')" filename


# identify all modules with systemd from camptocamp in their metadata.json
sed --in-place 's#camptocamp[-,/]systemd#puppet/systemd#' modules/voxpupuli/puppet-*/metadata.json

# bump the metadata because there was a recent major release
./bin/bump-dependency-upper-bound puppet/systemd 4.0.0 modules/voxpupuli/puppet-*/metadata.json

# commit and create a PR
for module in modules/voxpupuli/puppet-* ; do
(cd "$module"
git diff --exit-code .fixtures.yml metadata.json
if [ $? != 0 ] ; then
git checkout -b systemd_voxpupuli origin/master
git commit -am 'switch from camptocamp/systemd to voxpupuli/systemd'
git push --set-upstream origin HEAD
# export GITHUB_TOKEN=... https://hub.github.com/hub.1.html
hub pull-request -m 'switch from camptocamp/systemd to voxpupuli/systemd'
fi
)
done