diff --git a/clean_oslo_namespaces.sh b/clean_oslo_namespaces.sh new file mode 100755 index 0000000..9a6e0eb --- /dev/null +++ b/clean_oslo_namespaces.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# +# Script to replace imports from the 'oslo' namespace package with the +# appropriate alternative in the dist-specific packages. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +name=$(python setup.py --name) +dir=${1:-$name} + +echo "Updating $dir" +sed -i \ + -e 's/from oslo\./from oslo_/g' \ + -e 's/import oslo\./import oslo_/g' \ + -e 's/from oslo import i18n/import oslo_i18n as i18n/g' \ + -e 's/from oslo import messaging/import oslo_messaging as messaging/g' \ + -e 's/from oslo import config/import oslo_config as config/g' \ + -e 's/from oslo import serialization/import oslo_serialization as serialization/g' \ + -e 's/from oslo import utils/import oslo_utils as utils/g' \ + -e 's/oslo\.i18n\.TranslatorFactory/oslo_i18n.TranslatorFactory/g' \ + $(find $dir -name '*.py' | grep -v "$name/tests/unit/test_hacking.py") + +set -x + +git grep 'from oslo import' +git grep 'oslo\.' diff --git a/remove-namespace-packages-project.txt b/remove-namespace-packages-project.txt new file mode 100644 index 0000000..45399af --- /dev/null +++ b/remove-namespace-packages-project.txt @@ -0,0 +1,18 @@ +Drop use of 'oslo' namespace package + +The Oslo libraries have moved all of their code out of the 'oslo' +namespace package into per-library packages. The namespace package was +retained during kilo for backwards compatibility, but will be removed by +the liberty-2 milestone. This change removes the use of the namespace +package, replacing it with the new package names. + +The patches in the libraries will be put on hold until application +patches have landed, or L2, whichever comes first. At that point, new +versions of the libraries without namespace packages will be released as +a major version update. + +Please merge this patch, or an equivalent, before L2 to avoid problems +with those library releases. + +Blueprint: remove-namespace-packages +https://blueprints.launchpad.net/oslo-incubator/+spec/remove-namespace-packages