Is my MacPorts really sync-ing?
Juan Manuel Palacios
jmpp at macports.org
Thu Jul 5 23:07:18 PDT 2007
The reason why you now see the full list of ports when you sync your
tree, as opposed to a delta with only the files that have seen
changes since your last sync, is that I changed the way in which the
rsync repos feeding your ports and base trees are populated.
The operation used to involve an svn checkout of the ports and base
trees and then an rsync (excluding certain files and dirs) from that
checkout onto the rsync repos, wherefrom users get them through sync/
selfupdate.
Now we don't just rsync the svn checkout onto the rsync server with
some particular flags to exclude files we don't want in there,
like .svn control dirs, but instead we "svn export" the trees to
prepare them in a more formal fashion before pushing them to the
rsync server. That operation presumably resets a timestamp on each
file and dir and that's why you pull the entire thing again when you
sync/selfupdate after each half an hour (the periodicity of the rsync
server re-population).
In other words, we were preparing the rsync repos rather manually
before and now we let "svn export" do that for us. The entire process
is described in the script I re-wrote and in the config file
detailing the rsync server setup:
http://trac.macports.org/projects/macports/browser/trunk/base/portmgr/
mprsyncup
http://trac.macports.org/projects/macports/browser/trunk/base/portmgr/
rsync.repos
Improvements to the mprsyncup script are welcome, I personally don't
like pulling the entire thing over and over again after every half an
hour either, but I do like relying on "svn export". I'm sure there
are rsync flags we could use to recover the delta part of the old
behavior while still keeping "svn export", but I just haven't had the
time to investigate. Again, suggestions/improvements are welcome! ;-)
Regards,...
-jmpp
On Jul 5, 2007, at 6:14 PM, Mark Hattam wrote:
> I have MacPorts 1.4.2 on OSX 10.4.10
>
> Whenever I've done a port sync recently (and I do it most days), I
> seem to be downloading the whole heirarchy every time, and none of
> my ports are outdated when I do a port outdated. I used to just get
> a listing of the ports that had changed when I did a sudo port -d
> selfupdate, I can't believe that everything is updated every day.
> Maybe it is subtly changing every day, but it just seems to be the
> same long list every day ...
>
> For instance
>
> Last login: Thu Jul 5 00:13:06 on ttyp1
> Welcome to Darwin!
> powerbook:~ user$ sudo port -d selfupdate
> Password:
> DEBUG: Rebuilding the MacPorts base system if needed.
> DEBUG: Synchronizing dports tree(s)
> Synchronizing from rsync://rsync.darwinports.org/dpupdate/dports
> receiving file list ... done
> ./
> aqua/
> aqua/Affiche/
> aqua/AppKiDo/
> aqua/AquaLess/
> aqua/ArpSpyX/
> aqua/AssignmentTrackerX/
> aqua/BigSQL/
> aqua/BigSQL/files/
>
> ... and so on ...
>
> zope/zope-zphotoslides/files/
> zope/zope-zsyncer/
> PortIndex
> aqua/Growl/files/patch-Growl.xcodeproj__project.pbxproj.i386
> aqua/Growl/files/patch-Growl.xcodeproj__project.pbxproj.powerpc
> aqua/Growl/files/patch-Makefile
> databases/mysql5/Portfile
> databases/sqlite3/Portfile
> databases/sqlite3/files/patch-Makefile.in
> devel/dialog/Portfile
>
> ... and so on ...
>
> textproc/libmrss/Portfile
> textproc/libnxml/Portfile
> deleting textproc/libmrss/files/patch-src-mrss_parser.c
> deleting directory textproc/libmrss/files
>
> sent 9951 bytes received 287107 bytes 13202.58 bytes/sec
> total size is 14699706 speedup is 49.48
> DEBUG: MacPorts base dir: /opt/local/var/db/dports/sources/
> rsync.rsync.darwinports.org_dpupdate1/base
> DEBUG: Setting user: root
> DarwinPorts base version 1.442 installed
> DEBUG: Updating using rsync
> receiving file list ... done
> ./
> Mk/
> config/
> doc/
> doc/exampleport/
> portmgr/
> portmgr/bots/
> portmgr/dmg/
> src/
> src/cflib1.0/
> src/darwinports1.0/
> src/darwintracelib1.0/
> src/package1.0/
> src/pextlib1.0/
> src/pextlib1.0/tests/
> src/port/
> src/port1.0/
> src/port1.0/resources/
> src/port1.0/resources/fetch/
> src/port1.0/resources/group/
> src/port1.0/resources/package/
> src/port1.0/tests/
> src/portindex/
> src/programs/
> src/programs/daemondo/
> src/registry1.0/
> tests/
> tests/test/
> tests/test/checksums-1/
> tests/test/cvs-and-patchsites/
> tests/test/dependencies-a/
> tests/test/dependencies-b/
> tests/test/dependencies-c/
> tests/test/envvariables/
> tests/test/site-tags/
> tests/test/trace/
> tests/test/universal/
> tests/test/universal-2/
> tests/test/xcodeversion/
>
> sent 77 bytes received 4957 bytes 2013.60 bytes/sec
> total size is 2093103 speedup is 415.79
> Downloaded MacPorts base version 1.442
> The MacPorts installation is not outdated and so was not updated
> DEBUG: Setting ownership to root
> selfupdate done!
> _______________________________________________
> macports-users mailing list
> macports-users at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo/macports-users
More information about the macports-users
mailing list