Changes between Version 16 and Version 17 of MacPortsRenaming


Ignore:
Timestamp:
Jun 30, 2007, 4:39:27 AM (17 years ago)
Author:
jmpp@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MacPortsRenaming

    v16 v17  
    77Upon migrating away from the defunct OpenDarwin community, the MacPorts project also changed its name from the long standing "DarwinPorts", in order to better reflect its aim to refocus support solely on Mac OS X.
    88
    9 This change brought about great mixture between the old and new names at various aspects of the project, like chosen installation paths, internal routines naming and many others, as every naming decision up to the point of migration had naturally been based on the old project name. When first moving to our new name great effort was put into updating most of the user visible stuff to the implied new namespace, but many "under the hood" things were left behind in the old namespace due to time constraints in getting MacPorts 1.4 out the door, including every single installation path.
     9This change brought about great mixture between the old and new names at various aspects of the project, like chosen installation paths, internal routines naming and many others, as every naming decision up to the point of migration had naturally been based on the old project name. When first moving to our new name great effort was put into updating most of the user visible stuff to the implied new namespace, but many "under the hood" things were left behind in the old namespace due to time constraints in getting MacPorts 1.4 out the door, including every single user-side installation path.
    1010
    11 It is the aim of the [source:branches/dp2mp-move/base dp2mp-move branch] to complete the migration to the new namespace at every single level of the MacPorts project:
     11It is the aim of the [source:branches/dp2mp-move/base dp2mp-move branch] to complete the migration to the new MacPorts namespace at every single level of the project:
    1212
    1313 * source level layout, e.g. moving `base/src/darwinports1.0` to `base/src/macports1.0` in svn and adapting files therein accordingly;
    1414 * internal routines naming, e.g. renaming `dportinit` to `mportinit` and many other examples in this category;
    1515 * installation paths, e.g. going from a `${prefix}/share/darwinports` MacPorts base installation path at the host level to `${prefix}/share/macports`;
    16  * distribution means, e.g. by using the `rsync.macports.org` server for source and ports distribution and updating corresponding options in configuration files in existing installations to reflect this;
    17  * any other relevant aspect....
     16 * distribution means, e.g. by moving to the `rsync.macports.org` server name for source and ports distribution and updating corresponding options in existing configuration files to reflect the change;
     17 * any other relevant aspect missing from this list...
     18
     19== MacPorts' new look ==
     20
    1821
    1922Needless to say, changes in this branch have major implications not only in the inner workings of MacPorts, but also on some user visible aspects of the project. WIth respect to installation paths, a default MacPorts installation upgraded to this branch would experience the following gradual moves:
     
    2932}}}
    3033
    31 The last entry in the list above represents an important and delicate move, since MacPorts operates inside the `/opt/local/var/db/dports` directory for many of its internal operations, like fetching Portfiles and building ports, among many other activities. Previously, MacPorts would fetch its own sources and the ports tree through the `selfupdate` and/or `sync` routines into a `/opt/local/var/db/dports/sources/rsync.<rsync_server>_<rsync_module>` skeleton, replacing dots and other characters in server/module names with `_` in some parts of the resulting directory name. Therefore the most common and default paths for the rsync based MacPorts sources and ports tree would look like:
     34The last entry in the list above represents an important and delicate move, since MacPorts operates inside the `/opt/local/var/db/dports` directory for many of its internal operations, like fetching Portfiles and building ports, among many other activities. Previously, MacPorts would fetch its own sources and the ports tree through the `selfupdate` and/or `sync` routines into an `/opt/local/var/db/dports/sources/rsync.<rsync_server>_<rsync_module>` skeleton, replacing dots and other characters in server/module names with `_` in some parts of the resulting directory name. Therefore the most common and default paths for the rsync based MacPorts sources and ports tree would look like:
    3235
    3336{{{
     
    3639}}}
    3740
    38 `selfupdate` and `sync` routines in this branch, however, have been upgraded to work with a much more flexible and cleaner skeleton: sources are now fetched into a `/opt/local/var/macports/sources/<server>/<rsync_module>` hierarchy. This may not seem like much at first, but closer inspection reveals this approach allows room to grow in every custom way users might need while also preserving a sense of order. Default paths will now look like:
     41`selfupdate` and `sync` routines in this branch, however, have been upgraded and refactored to work with a much more flexible and cleaner skeleton: sources are now fetched into an `/opt/local/var/macports/sources/<server>/<rsync_module>` hierarchy. This may not seem like much at first, but closer inspection reveals this approach allows room to grow in every custom way users might need while also preserving a sense of order. Default paths will now look like:
    3942
    4043{{{
     
    4952}}}
    5053
    51 `trunk/base` being the corresponding rsync module in this case that would come to replace the old and confusing `/opt/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate/base` directory.
     54`trunk/base` being the corresponding rsync module that in this case would come to replace the old and confusing `/opt/local/var/db/dports/sources/rsync.rsync.darwinports.org_dpupdate/base` directory.
    5255
    5356This new structure also allows us to distribute a new and custom ports tree under an entirely different rsync module if we so wish, while still preserving order. An example of this would look like, for a hypothetical ports tree with Portfiles still in testing:
     
    6568}}}
    6669
    67 An upgrade target in the [source:branches/dp2mp-move/base/Makefile.in main Makefile] takes care of moving everything that's "old" in an existing MacPorts installation into its new location before regular installation of the new sources begins, as detailed in the moves above. Also, among the rules in this target there are a set of `sed` calls that act on existing configuration files to upgrade them to the new conventions. For the new global and user specific `macpors.conf` file (`/opt/local/etc/macports/macports.conf` and `~/.macports/macports.conf`, respectively), these are:
     70== Upgrading existing installations ==
     71
     72An upgrade target in the [source:trunk/base/Makefile.in main Makefile] takes care of moving everything that's "old" in an existing MacPorts installation into its new location (as detailed in the moves dialog above) before regular installation of the new sources begins. Also, among the rules in this target there are a set of `sed` calls that act on existing configuration files to upgrade them to the new conventions. For the new system-widw and user specific `macpors.conf` files (`/opt/local/etc/macports/macports.conf` and `~/.macports/macports.conf`, respectively), these are:
    6873
    6974 * new default path up to the configuration files is inserted, `/opt/local/etc/ports  --->  /opt/local/etc/macports`;
     
    7580 * useless --delete option is removed from the default rsync flags (--delete is implied by --delete-after);
    7681 * comment references to the old ports.conf(5) man page are upgraded to the new macports.conf(5) page, `ports.conf(5)  --->  macports.conf(5)`;
    77  * remaining comments in the DarwinPorts namespace are also upgraded.
     82 * remaining comments in the DarwinPorts namespace are also upgraded to the MacPorts namespace.
    7883
    7984And for `sources.conf`:
     
    8287 * new default value for the ports tree, `dpupdate/dports --->  release/ports/`.
    8388
     89This takes care of `selfupdate` and source based existing MacPorts installations. Users installing from the pkg installer distributed through our dmgs will also experience the exact same upgrade through the included [source:trunk//base/portmgr/dmg/preflight preflight script].
     90
    8491= Pending =
    8592