Ignore:
Timestamp:
Jun 15, 2007, 10:11:22 AM (13 years ago)
Author:
jmpp@…
Message:

Finally merging the dp2mp-move branch into trunk, woot!

This basically means all strings in our sources,
whether it's something we output to the user or something
internal, such as a function/proc naming, are entirely in
the macports namespace and we no longer mix darwinports
with apple with macports strings.

It also means we now have new paths in svn and on
the client side at installation time, added to a
cleaner structure under ${prefix}/var/. Read
http://trac.macports.org/projects/macports/wiki/MacPortsRenaming
for more information.

NOTE: This commit also marks the rsync server finally
being moved over to the macosforge boxes, with the new
layout outlined in the dp2mp-move branch in place.
DNS entries still point to the old rsync server for
macports, however, so sync'ing/selfupdating an installation
based on these sources will be temporarily broken
until dns refresh.

To developers and testers, please do test the upgrade
target in the main base/Makefile as thouroughly as
possible and report any bugs/shortcomings/unexpected_behavior
to me, thanks!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/base/Makefile.in

    r24106 r26177  
    1 SUBDIR          = config doc src portmgr
     1# $Id$
     2
     3SUBDIR          = config doc src
    24DISTDIR         = dist
    35DISTVER         =
     
    810SVNURL          = http://svn.macports.org/repository/macports
    911
    10 include Mk/dports.autoconf.mk
     12include Mk/macports.autoconf.mk
    1113
    12 all:: Mk/dports.autoconf.mk
     14all:: Mk/macports.autoconf.mk
    1315
    14 Mk/dports.autoconf.mk: Mk/dports.autoconf.mk.in src/config.h.in Makefile.in config.status
     16Mk/macports.autoconf.mk: Mk/macports.autoconf.mk.in src/config.h.in Makefile.in config.status
    1517        ./config.status
    1618        make clean
     
    2527        fi
    2628
    27 include Mk/dports.subdir.mk
     29upgrade:
     30        @echo -e "\nUpgrading your existing MacPorts installation to the new layout:\n"
     31
     32# We can safely delete the ${TCL_PACKAGE_DIR}/darwinports1.0 dir as files in it are always overwritten and will now be installed onto
     33# ${TCL_PACKAGE_DIR}/macports1.0 with new names:
     34        [ ! -d ${TCL_PACKAGE_DIR}/darwinports1.0 ] || rm -rf ${TCL_PACKAGE_DIR}/darwinports1.0
     35
     36# MacPorts base files in ${datadir} are also safely removed as new ones are always installed, and onto a their new location in this case too:
     37        [ ! -d ${datadir}/darwinports ] || rm -rf ${datadir}/darwinports
     38
     39# Old version file can be safely deleted, as it was already used to start this upgrade and a new one will be installed into the new location:
     40        [ ! -f ${sysconfdir}/ports/dp_version ] || rm -vf ${sysconfdir}/ports/dp_version
     41
     42# Old ports.conf(5) man page is removed:
     43        [ ! -f ${prefix}/share/man/man5/ports.conf.5 ] || rm -vf ${prefix}/share/man/man5/ports.conf.5
     44
     45# Conf files directory is renamed:
     46        [ ! -d ${sysconfdir}/ports ] || mv -v ${sysconfdir}/ports ${sysconfdir}/macports
     47
     48# Important directories inside ${localstatedir}/db/dports are moved to their new location, creating it first:
     49        [ -d ${localstatedir}/macports ] || mkdir -vp ${localstatedir}/macports
     50        for dir in distfiles packages receipts software; do \
     51                [ ! -d ${localstatedir}/db/dports/$${dir} ] || mv -v ${localstatedir}/db/dports/$${dir} ${localstatedir}/macports ; \
     52        done
     53
     54# Move the default ports tree to the new layout:
     55        [ ! -d ${localstatedir}/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports ] || { mkdir -vp \
     56        ${localstatedir}/macports/sources/rsync.macports.org/release && mv -v \
     57        ${localstatedir}/db/dports/sources/rsync.rsync.darwinports.org_dpupdate_dports ${localstatedir}/macports/sources/rsync.macports.org/release/ports ; }
     58
     59# Open up receipts and upgrade any paths in them containing old conventions to the new namespace:
     60        for receipt in ${localstatedir}/macports/receipts/*/*/receipt.bz2 ; do [ ! \( -f $${receipt} -a ! -f $${receipt}.mpsaved \) ] || { \
     61                cp -v $${receipt} $${receipt}.mpsaved && { \
     62                        $(BZIP2) -q -dc $${receipt} | sed 's/db\/dports/macports/g' | $(BZIP2) -q -zf > $${receipt}.new ; \
     63                } && mv -v $${receipt}.new $${receipt} ; \
     64        }; done
     65
     66# Check for existance of the main configuration file and perform a couple of replacements on it, backing it up first:
     67## 1) new default path up to our configuration files (referenced through other variables);
     68## 2) new default value for the portdbpath variable;
     69## 3) new MacPorts rsync server;
     70## 4) new default value for the base tree;
     71## 5) new default value for trunk's base sources for users who have it (some do);
     72## 6) stray quotes are removed from the value of the rsync_options key in old conf files;
     73## 7) references to the old ports.conf(5) man page are updated to the new macports.conf(5) page;
     74## 8) finally, move remaining instances of any form of our new name (which by this time should only remain in comments, if at all) to our new name.
     75        [ ! \( -f ${sysconfdir}/macports/ports.conf -a ! -f ${sysconfdir}/macports/macports.conf.mpsaved \) ] || { \
     76                mv -v ${sysconfdir}/macports/ports.conf ${sysconfdir}/macports/macports.conf.mpsaved; \
     77                sed 's/etc\/ports/etc\/macports/g' ${sysconfdir}/macports/macports.conf.mpsaved > ${sysconfdir}/macports/macports.conf.tmp && \
     78                        mv -v ${sysconfdir}/macports/macports.conf.tmp ${sysconfdir}/macports/macports.conf; \
     79                sed 's/db\/dports/macports/g' ${sysconfdir}/macports/macports.conf > ${sysconfdir}/macports/macports.conf.tmp && \
     80                        mv -v ${sysconfdir}/macports/macports.conf.tmp ${sysconfdir}/macports/macports.conf; \
     81                sed 's/darwinports/macports/g' ${sysconfdir}/macports/macports.conf > ${sysconfdir}/macports/macports.conf.tmp && \
     82                        mv -v ${sysconfdir}/macports/macports.conf.tmp ${sysconfdir}/macports/macports.conf; \
     83                sed 's/dpupdate1\/base/release\/base/g' ${sysconfdir}/macports/macports.conf > ${sysconfdir}/macports/macports.conf.tmp && \
     84                        mv -v ${sysconfdir}/macports/macports.conf.tmp ${sysconfdir}/macports/macports.conf; \
     85                sed 's/dpupdate\/base\/\{0,1\}/trunk\/base\//g' ${sysconfdir}/macports/macports.conf > ${sysconfdir}/macports/macports.conf.tmp && \
     86                        mv -v ${sysconfdir}/macports/macports.conf.tmp ${sysconfdir}/macports/macports.conf; \
     87                sed '/^rsync_options/s/"\(.*\)"/\1/' ${sysconfdir}/macports/macports.conf > ${sysconfdir}/macports/macports.conf.tmp && \
     88                        mv -v ${sysconfdir}/macports/macports.conf.tmp ${sysconfdir}/macports/macports.conf; \
     89                sed 's/ ports.conf(5)/ macports.conf(5)/g' ${sysconfdir}/macports/macports.conf > ${sysconfdir}/macports/macports.conf.tmp && \
     90                        mv -v ${sysconfdir}/macports/macports.conf.tmp ${sysconfdir}/macports/macports.conf; \
     91                sed 's/[Dd]\(arwin\)\{0,1\}[Pp]\(orts\)\{0,1\}/MacPorts/g' ${sysconfdir}/macports/macports.conf > ${sysconfdir}/macports/macports.conf.tmp && \
     92                        mv -v ${sysconfdir}/macports/macports.conf.tmp ${sysconfdir}/macports/macports.conf; \
     93        }
     94
     95# Check for existance of the main sources file and perform a couple of replacements on it, backing it up first:
     96## 1) new MacPorts rsync server;
     97## 2) new default value for the ports tree.
     98        [ ! \( -f ${sysconfdir}/macports/sources.conf -a ! -f ${sysconfdir}/macports/sources.conf.mpsaved \) ] || { \
     99                cp -v ${sysconfdir}/macports/sources.conf ${sysconfdir}/macports/sources.conf.mpsaved; \
     100                sed 's/darwinports/macports/g' ${sysconfdir}/macports/sources.conf > ${sysconfdir}/macports/sources.conf.tmp && \
     101                        mv -v ${sysconfdir}/macports/sources.conf.tmp ${sysconfdir}/macports/sources.conf; \
     102                sed 's/dpupdate\/dports/release\/ports\//g' ${sysconfdir}/macports/sources.conf > ${sysconfdir}/macports/sources.conf.tmp && \
     103                        mv -v ${sysconfdir}/macports/sources.conf.tmp ${sysconfdir}/macports/sources.conf; \
     104        }
     105
     106# Check for existance of a personal configuration file and perform a couple of replacements on it, backing it up first:
     107## 1) new default path up to our configuration files (referenced through other variables);
     108## 2) new default value for the portdbpath variable;
     109## 3) new MacPorts rsync server;
     110## 4) new default value for the base tree;
     111## 5) new default value for trunk's base sources for users who have it (some do);
     112## 6) stray quotes are removed from the value of the rsync_options key in old conf files;
     113## 7) references to the old ports.conf(5) man page are updated to the new macports.conf(5) page;
     114## 8) finally, move remaining instances of any form of our new name (which by this time should only remain in comments, if at all) to our new name.
     115        [ ! \( -f $${HOME}/.macports/ports.conf -a ! -f $${HOME}/.macports/macports.conf.mpsaved \) ] || { \
     116                mv -v $${HOME}/.macports/ports.conf $${HOME}/.macports/macports.conf.mpsaved; \
     117                sed 's/etc\/ports/etc\/macports/g' $${HOME}/.macports/macports.conf.mpsaved > $${HOME}/.macports/macports.conf.tmp && \
     118                        mv -v $${HOME}/.macports/macports.conf.tmp $${HOME}/.macports/macports.conf; \
     119                sed 's/db\/dports/macports/g' $${HOME}/.macports/macports.conf > $${HOME}/.macports/macports.conf.tmp && \
     120                        mv -v $${HOME}/.macports/macports.conf.tmp $${HOME}/.macports/macports.conf; \
     121                sed 's/darwinports/macports/g' $${HOME}/.macports/macports.conf > $${HOME}/.macports/macports.conf.tmp && \
     122                        mv -v $${HOME}/.macports/macports.conf.tmp $${HOME}/.macports/macports.conf; \
     123                sed 's/dpupdate1\/base/release\/base/g' $${HOME}/.macports/macports.conf > $${HOME}/.macports/macports.conf.tmp && \
     124                        mv -v $${HOME}/.macports/macports.conf.tmp $${HOME}/.macports/macports.conf; \
     125                sed 's/dpupdate\/base\/\{0,1\}/trunk\/base\//g' $${HOME}/.macports/macports.conf > $${HOME}/.macports/macports.conf.tmp && \
     126                        mv -v $${HOME}/.macports/macports.conf.tmp $${HOME}/.macports/macports.conf; \
     127                sed '/^rsync_options/s/"\(.*\)"/\1/' $${HOME}/.macports/macports.conf > $${HOME}/.macports/macports.conf.tmp && \
     128                        mv -v $${HOME}/.macports/macports.conf.tmp $${HOME}/.macports/macports.conf; \
     129                sed 's/ ports.conf(5)/ macports.conf(5)/g' $${HOME}/.macports/macports.conf > $${HOME}/.macports/macports.conf.tmp && \
     130                        mv -v $${HOME}/.macports/macports.conf.tmp $${HOME}/.macports/macports.conf; \
     131                sed 's/[Dd]\(arwin\)\{0,1\}[Pp]\(orts\)\{0,1\}/MacPorts/g' $${HOME}/.macports/macports.conf > $${HOME}/.macports/macports.conf.tmp && \
     132                        mv -v $${HOME}/.macports/macports.conf.tmp $${HOME}/.macports/macports.conf; \
     133        }
     134
     135
     136#something more?
     137
     138# Upgrade success announcement (meaning we're done ;):
     139        @echo -e "\nMacPorts installation successfully upgraded from the old DarwinPorts namespace!\n"
     140
     141####
     142# NOTES:
     143#    -) should we use the ${DESTDIR} sandbox?
     144#    -) should we force moves?
     145#    -) maybe I can regroup at least some of the sed calls?
     146#    -)
     147####
     148
     149install:: upgrade
     150
     151include Mk/macports.subdir.mk
    28152
    29153install::
    30         @echo ""
    31         @echo "Congratulations, you have successfully installed the MacPorts system. To get the Portfiles and update the system, run:"
    32         @echo ""
    33         @echo "sudo port selfupdate"
    34         @echo ""
    35         @echo "Please read port(1) and the MacPorts Wiki at http://trac.macports.org/ for full documentation."
    36         @echo ""
     154        @echo -e "\nCongratulations, you have successfully installed the MacPorts system. To get the Portfiles and update the system, run:\n"
     155        @echo -e "sudo port selfupdate\n"
     156        @echo -e "Please read port(1) and the MacPorts Wiki at http://trac.macports.org/ for full documentation.\n"
     157        @echo -e "Stray sources might have been left in the legacy ${localstatedir}/db/dports directory after this upgrade,"
     158        @echo -e "which moved most of what it could to ${localstatedir}/macports, so you might want to look in the former and cleanup manually.\n"
    37159
    38160clean::
     
    41163        rm -f config.log config.status configure.lineno
    42164        rm -rf autom4te.cache ${DISTDIR}
    43         rm -f Makefile Mk/dports.autoconf.mk
     165        rm -f Makefile Mk/macports.autoconf.mk
    44166
    45167_gettag:
Note: See TracChangeset for help on using the changeset viewer.