Making ilenia update local repositories

After about two years I felt the time to add a new feature to ilenia was came. On every systems were I’ve installed CRUX (or CRUX PPC) on I use local repositories for storing ports written by me for that system or ports selected by other repositories (“contrib” for example), while there is an automatic system to update harmlessly ports written by me it’s possible to update the other ones by downloading them from their own repositories.

The scenario likes the one described for the “Mult” repository driver written by sepen (http://crux.nu/Wiki/Mult), but I think it’s needed to add a new kind of repository while we can just build a system to update local repositories.

Of course local repositories should get updated together with other ones, so the tool (for my systems) that should update local repositories is ilenia and I made ilenia update local repositories.

When updating a local repository, ilenia looks for a shell script in the repository root called “.updater.sh”, if that file exists ilenia run it in the repository root.

For example on lazarus.cruxppc.org we have :

#
# /etc/ports/lazarus.local
#

PATH=/home/ports

# End Of File

And the script:

#
# /home/ports/.updater.sh
#

# ilenia
rsync -aqz cruxppc.org::ports/core/2.5/ilenia/ ilenia

# logrotate
rsync -aqz crux.nu::ports/crux-2.5/contrib/logrotate/ logrotate

# php-gd
rsync -aqz crux.nu::ports/crux-2.5/contrib/php-gd/ php-gd

# End Of File

To use the new feature you can patch ilenia-3.4 with ilenia-3.4.diff that has also some early bugfixes already released.

Probably I should roll up a new release …

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s