These scripts are for setting up Fink mirrors.
There are the 'info' mirrors that hold the fink .info and .patch files retrieved by fink when doing a fink selfupdate
and the 'dist' mirrors that have a copy of all the tarballs referenced by a .info file.
This needs to be retrieved via anonymous rsync. These files can be placed anywhere, but make sure your rsync site has the tag finkinfo
(for info mirrors) and distfiles
(for dist mirrors) available, and pointing to the directory containing these files.
[finkinfo]
path = /Path/src2/fink/finkinfo
comment = Fink .info files
[distfiles]
path = /Path/src2/fink/distfiles
comment = Fink .info files
There are scripts for updating a mirror directly from cvs
(and eventually git
) or via rsync
.
Mirrors must update at an interval between 15 to 90 minutes.
30 minutes is recommended for mirrors updating via rsync
.
Mirrors updating directly from the repository should update as often as they have the resources to do so within the acceptable interval.
Sites that host both info and dist type mirrors do not have to update both simultaneously or at identical intervals.
The official scripts will timeout on network operations after 10 minutes.
-l
: Sets the lockfile; /var/run/fink-info-rsync.lock
by default.
-o
: Sets the output directory; /Volumes/src2/fink/selfupdate
by default.
RSYNCPTH
: Sets the uri to sync from; rsync://distfiles.master.finkmirrors.net/finkinfo/
by default.
Requires coreutils to be installed to provide timeout
.
-l
: Sets the lockfile; /var/run/fink-info-cvs.lock
by default.
-o
: Sets the output directory; /Volumes/src2/fink/selfupdate
by default.
-u
: Sets the ssh user; finkcvs
by default.
-q
: Makes cvs quiet.
TIMEOUT
: Sets the name of the timeout
command; timeout
by default.
-l
: Sets the lockfile; /var/run/fink-info-git.lock
by default.
-o
: Sets the output directory; /Volumes/src2/fink/selfupdate
by default.
REPOPTH
: Sets the uri to sync from; https://github.com/danielj7/fink-dists.git
by default.
-l
: Sets the lockfile; /var/run/fink-dist-rsync.lock
by default.
-o
: Sets the output directory; /Volumes/src2/fink/distfiles
by default.
RSYNCPTH
: Sets the uri to sync from; rsync://distfiles.master.finkmirrors.net/distfiles/
by default.
The mirroring network uses three timestamp files to track mirror health.
Updated when data is successfully refreshed from the repository (or primary sources for dist mirrors); this timestamp is not created by rsync mirrors, only fetched. Must always be fetched separately and after the successful retrieval of all other data by rsync driven mirrors.
Must be set by every mirror after a successful update cycle even if no data has actually been changed.
Must be set and publicly available by every mirror at the start of each update cycle.
Generally speaking the Fink mirror structure is as follows and please keep in mind these dns entries aren't typically for human use. distfiles.[yourairporttag].[state].[continent].finkmirrors.net
and [yourairporttag].[state].[continent].finkmirrors.net
as a shortcut will be used for rsync mirrors of the Fink info files.
If you run (or want to run) a mirror you should subscribe to fink-mirrors@lists.sourceforge.net.
It is important that the person monitoring the list on behalf of a mirror can administrate the mirror should any issues arise.