public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Re: Proposed change to base-files /etc/bash.bashrc: see whether PS1 has already been set
@ 2012-03-26 20:12 David Caldwell
  2012-03-26 21:02 ` David Sastre Medina
  0 siblings, 1 reply; 4+ messages in thread
From: David Caldwell @ 2012-03-26 20:12 UTC (permalink / raw)
  To: cygwin

>On Mon, Mar 26 2012 at 09:22:3147PM +0200, David Sastre Medina wrote:
>>On Mon, Mar 26, 2012 at 04:40:31PM +0100, David Caldwell wrote:
>> I can't figure out where the CVS is for base-files, but I wanted to
>> propose that the file:
>>
>> /etc/bash.bashrc
>>
>> ... be altered to test whether the PS1 variable has already been set
>> before setting it to the default.
>> I set mine in a file in the?/etc/profile.d?directory, but with the
>> standard Cygwin installation, this value is overwritten unless I
>> modify each user's local setup or alter the system-wide file.
>> It would be harmless to ignore already-set values in this situation.
>> I could obviously generate a patch as necessary if I knew where the
>> repository was, but it's a one-liner, basically:
>>
>> if [ -z "$PS1" ]; then
>> ? ? ? ? PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '
>> fi

>There is no public repository for the package. That does not stop you
>from generating a patch, though :)

>You forgot to say which shell are you using, as they are/can be
>differently set up WRT PS1.

>If I wanted all my users to get a custom (read: different from the
>default) PS1, I guess I'd use the skel files for that.

>If you decide to use a custom /etc/profile.d/ script to do that job,
>then you need to tweak system-wide /etc/profile as well, IMHO.

>Also, the patch is indeed harmless, but, as you provide it, i needs to
>be used once for each ifdef in the profile.

I'm not sure I follow ... I'm not a UNIX system administration expert,
but I am pretty sure the bash.bashrc file pertains only to bash. And
the current base version of that file only sets one variable: PS1. So
that's why I'm proposing the one-line patch.

I'm not sure why one would need to alter /etc/profile to create an
/etc/profile.d script, but I'm open to hearing more.

Of the various shells referenced in the provided /etc/profile, only
bash executes a custom file (in addition to executing the files in
/etc/profile.d), and it executes /etc/bash.bashrc.

I suppose an alternative, equivalent change to the one I originally
proposed might be to execute /etc/bash.bashrc *before* executing the
files in /etc/profile.d; either makes sense to me. I'm not sure what
the precedence order of those ought to be but my view is bash.bashrc
ought to be executed first as it is providing out-of-the-box defaults
and /etc/profile.d is intended for local modification.

I'd be willing to generate either patch. :)

-- David.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Proposed change to base-files /etc/bash.bashrc: see whether PS1 has already been set
  2012-03-26 20:12 Proposed change to base-files /etc/bash.bashrc: see whether PS1 has already been set David Caldwell
@ 2012-03-26 21:02 ` David Sastre Medina
  0 siblings, 0 replies; 4+ messages in thread
From: David Sastre Medina @ 2012-03-26 21:02 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 1488 bytes --]

On Mon, Mar 26, 2012 at 09:12:11PM +0100, David Caldwell wrote:
> >On Mon, Mar 26 2012 at 09:22:3147PM +0200, David Sastre Medina wrote:
> >>On Mon, Mar 26, 2012 at 04:40:31PM +0100, David Caldwell wrote:
> >> I can't figure out where the CVS is for base-files, but I wanted to
> >> propose that the file:
> >>
> >> /etc/bash.bashrc

Oops! So sorry. I (obviously) overlooked this line...
 
> I'm not sure why one would need to alter /etc/profile to create an
> /etc/profile.d script, but I'm open to hearing more.

What I tried to say is that by adding a custom /etc/profile.d/ script,
you are overriding the default setup for bash, and therefore it would not be
that weird to alter also /etc/profile. I never implied that by adding
the former one would be forced to alter the latter.

> I suppose an alternative, equivalent change to the one I originally
> proposed might be to execute /etc/bash.bashrc *before* executing the
> files in /etc/profile.d; either makes sense to me. I'm not sure what
> the precedence order of those ought to be but my view is bash.bashrc
> ought to be executed first as it is providing out-of-the-box defaults
> and /etc/profile.d is intended for local modification.

I see what you mean. It looks a much simpler solution to swap those lines.
I'll check it doesn't (unexpectedly) break anything else and add it for the 
next release.

Thanks.

-- 
Primary key fingerprint: AD8F BDC0 5A2C FD5F A179  60E7 F79B AB04 5299 EC56

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 230 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Proposed change to base-files /etc/bash.bashrc: see whether PS1 has already been set
  2012-03-26 15:41 David Caldwell
@ 2012-03-26 19:23 ` David Sastre Medina
  0 siblings, 0 replies; 4+ messages in thread
From: David Sastre Medina @ 2012-03-26 19:23 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 1476 bytes --]

On Mon, Mar 26, 2012 at 04:40:31PM +0100, David Caldwell wrote:
> I can't figure out where the CVS is for base-files, but I wanted to
> propose that the file:
> 
> /etc/bash.bashrc
> 
> ... be altered to test whether the PS1 variable has already been set
> before setting it to the default.
> I set mine in a file in the /etc/profile.d directory, but with the
> standard Cygwin installation, this value is overwritten unless I
> modify each user's local setup or alter the system-wide file.
> It would be harmless to ignore already-set values in this situation.
> I could obviously generate a patch as necessary if I knew where the
> repository was, but it's a one-liner, basically:
> 
> if [ -z "$PS1" ]; then
>         PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '
> fi

There is no public repository for the package. That does not stop you
from generating a patch, though :)
You forgot to say which shell are you using, as they are/can be
differently set up WRT PS1.

If I wanted all my users to get a custom (read: different from the
default) PS1, I guess I'd use the skel files for that.

If you decide to use a custom /etc/profile.d/ script to do that job,
then you need to tweak system-wide /etc/profile as well, IMHO.

Also, the patch is indeed harmless, but, as you provide it, i needs to
be used once for each ifdef in the profile.

-- 
Primary key fingerprint: AD8F BDC0 5A2C FD5F A179  60E7 F79B AB04 5299 EC56

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 230 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Proposed change to base-files /etc/bash.bashrc: see whether PS1 has already been set
@ 2012-03-26 15:41 David Caldwell
  2012-03-26 19:23 ` David Sastre Medina
  0 siblings, 1 reply; 4+ messages in thread
From: David Caldwell @ 2012-03-26 15:41 UTC (permalink / raw)
  To: cygwin

I can't figure out where the CVS is for base-files, but I wanted to
propose that the file:

/etc/bash.bashrc

... be altered to test whether the PS1 variable has already been set
before setting it to the default.

I set mine in a file in the /etc/profile.d directory, but with the
standard Cygwin installation, this value is overwritten unless I
modify each user's local setup or alter the system-wide file.

It would be harmless to ignore already-set values in this situation.

I could obviously generate a patch as necessary if I knew where the
repository was, but it's a one-liner, basically:

if [ -z "$PS1" ]; then
        PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '
fi

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-03-26 21:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-26 20:12 Proposed change to base-files /etc/bash.bashrc: see whether PS1 has already been set David Caldwell
2012-03-26 21:02 ` David Sastre Medina
  -- strict thread matches above, loose matches on Subject: below --
2012-03-26 15:41 David Caldwell
2012-03-26 19:23 ` David Sastre Medina

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).