aboutsummaryrefslogtreecommitdiff
path: root/scripts/make-nur
blob: 127f8bd667a5f376f8f212696e07462b32ce4400 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/env bash

set -e

tmp=$(mktemp -d)
git clone . $tmp
cd $tmp

trap "rm -rf $tmp" EXIT

git remote add NUR gitolite@git.immae.eu:perso/Immae/Config/Nix/NUR
git fetch --tags NUR
# tag nur_root on perso/Immae/Config/Nix/NUR
nur_root="252dd7d899b7a0deea1537cc5d2d48b825afffb0"
# tag nur_publish on perso/Immae/Config/Nix
first_commit="5145061e9b679ea1e5d2709d22d0ee53467fed15"
git rebase --onto=$nur_root $first_commit master

# The list below musn't get shrinked, it is used by filter-branch on
# every commit
clean_folder='
  rm -rf config lib/private modules/private pkgs/private nixops
  for broken in pkgs/crypto/cardano/default.nix; do
    if [ -f $broken ]; then
      rm -f $broken
      cat > $broken <<-EOF
	{ runCommand, mylibs }:
	runCommand "empty" { preferLocalBuild = true; } "mkdir -p \$out"
	EOF
    fi
  done
'

git filter-branch --tree-filter "$clean_folder" --prune-empty master
git push NUR +master