[aur-general] My AUR4 migration workflow

Florian Bruhin me at the-compiler.org
Wed Jun 10 21:11:59 UTC 2015


I just migrated my packages to AUR4 and thought I'd share some notes I
did during the process.

After a quick try I didn't use any script as I wanted to see what's
going on and do some manual corrections.

This is too terse for the wiki I think, but maybe it helps someone.

The starting point was one repo with subfolders for the packages.
Contrary to some scripts, I actually split the repo into different
*repos* before uploading, so I could rebase and correct issues.

Get the old repo:

    $ cd ~/aur4
    $ git clone ... old-repo
    $ cd old-repo

Get a list of packages (which can be edited by hand if there are non-package folders):

    $ for pkg in */; do p=${pkg%/}; echo "$p"; done > ../pkgs

Split out packages to an aur4/pkgname ref:

    $ while read p; do git subtree split --prefix="$p" -b "aur4/$p"; done < ../pkgs

Clone each package into a new repo:

    $ cd ~/aur4
    $ mkdir new-repos
    $ cd new-repos
    $ while read p; do git clone --branch="aur4/$p" ../old-repo "$p"; done < ../pkgs

Set the master branch correctly and clean up leftovers:

    $ while read p; do (cd "$p"; git checkout master; git reset --hard "aur4/$p"; git branch -D "aur4/$p"; git remote rm origin; git gc --prune=0); done < ../pkgs

Generate .SRCINFO for all packages:

    $ while read p; do git -C "$p" filter-branch -f --tree-filter "test -f .SRCINFO || mksrcinfo"; done < ../pkgs

Setup all repos:

    $ while read p; do ssh aur at aur4.archlinux.org setup-repo "$p"; done < ../pkgs

Add the origin remote and set upstream branch:

    $ while read p; do git -C "$p" remote add origin "ssh+git://aur@aur4.archlinux.org/$p.git"; git -C "$p" branch --set-upstream origin; done < ../pkgs

After that, I changed into each repo, reviewed the history, did
git rebase -i --root  as necessary and pushed via git push.


http://www.the-compiler.org | me at the-compiler.org (Mail/XMPP)
   GPG: 916E B0C8 FD55 A072 | http://the-compiler.org/pubkey.asc
         I love long mails! | http://email.is-not-s.ms/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <https://lists.archlinux.org/pipermail/aur-general/attachments/20150610/5245a88a/attachment.asc>

More information about the aur-general mailing list