From f7171cc18d2452797e1497158bed21d779c54355 Mon Sep 17 00:00:00 2001 From: Michael Merickel Date: Thu, 17 Dec 2015 21:53:34 -0600 Subject: ensure IAssetDescriptor.abspath always returns an abspath fixes #2184 --- pyramid/path.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyramid/path.py b/pyramid/path.py index b79c5a6ac..ceb0a0cf3 100644 --- a/pyramid/path.py +++ b/pyramid/path.py @@ -396,7 +396,8 @@ class PkgResourcesAssetDescriptor(object): return '%s:%s' % (self.pkg_name, self.path) def abspath(self): - return self.pkg_resources.resource_filename(self.pkg_name, self.path) + return os.path.abspath( + self.pkg_resources.resource_filename(self.pkg_name, self.path)) def stream(self): return self.pkg_resources.resource_stream(self.pkg_name, self.path) -- cgit v1.2.3 From 010218070ef62a31e3880acf2994ea217797332a Mon Sep 17 00:00:00 2001 From: Michael Merickel Date: Thu, 17 Dec 2015 22:19:46 -0600 Subject: add changelog for #2187 --- CHANGES.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index 3c3dd6e79..0f88a95da 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -252,6 +252,11 @@ Bug Fixes process failed to fork because it could not find the pserve script to run. See https://github.com/Pylons/pyramid/pull/2137 +- Ensure that ``IAssetDescriptor.abspath`` always returns an absolute path. + There were cases depending on the process CWD that a relative path would + be returned. See https://github.com/Pylons/pyramid/issues/2187 + + Deprecations ------------ -- cgit v1.2.3 From 43fb2c233a6ebbf5c26cf66a0b1ddb16d89a1026 Mon Sep 17 00:00:00 2001 From: Michael Merickel Date: Fri, 18 Dec 2015 09:50:52 -0600 Subject: deprecate pserve --user and --group options This completes the deprecation of all process management options from pserve. --- pyramid/scripts/pserve.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pyramid/scripts/pserve.py b/pyramid/scripts/pserve.py index 95752a3be..5aaaffec9 100644 --- a/pyramid/scripts/pserve.py +++ b/pyramid/scripts/pserve.py @@ -212,8 +212,9 @@ class PServeCommand(object): self.options.set_user = self.options.set_group = None # @@: Is this the right stage to set the user at? - self.change_user_group( - self.options.set_user, self.options.set_group) + if self.options.set_user or self.options.set_group: + self.change_user_group( + self.options.set_user, self.options.set_group) if not self.args: self.out('You must give a config file') @@ -624,11 +625,16 @@ a real process manager for your processes like Systemd, Circus, or Supervisor. self.out('%s %s %s' % ('-' * 20, 'Restarting', '-' * 20)) def change_user_group(self, user, group): # pragma: no cover - if not user and not group: - return import pwd import grp + self.out('''\ +The --user and --group options have been deprecated in Pyramid 1.6. They will +be removed in a future release per Pyramid's deprecation policy. Please +consider using a real process manager for your processes like Systemd, Circus, +or Supervisor, all of which support process security. +''') + uid = gid = None if group: try: -- cgit v1.2.3 From 7593b05e4b4bd0bc85c5f46964b4e4a55286ad49 Mon Sep 17 00:00:00 2001 From: Michael Merickel Date: Sat, 19 Dec 2015 00:15:28 -0600 Subject: update changelog for #2189 --- CHANGES.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGES.txt b/CHANGES.txt index 0f88a95da..32c4995b8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -263,7 +263,10 @@ Deprecations - The ``pserve`` command's daemonization features have been deprecated as well as ``--monitor-restart``. This includes the ``[start,stop,restart,status]`` subcommands as well as the ``--daemon``, ``--stop-daemon``, ``--pid-file``, - and ``--status`` flags. + ``--status``, ``--user`` and ``--group`` flags. + See https://github.com/Pylons/pyramid/pull/2120 + and https://github.com/Pylons/pyramid/pull/2189 + and https://github.com/Pylons/pyramid/pull/1641 Please use a real process manager in the future instead of relying on the ``pserve`` to daemonize itself. Many options exist including your Operating -- cgit v1.2.3