Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Tomcat42
perl-Shell-Guess
perl-Shell-Guess.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File perl-Shell-Guess.spec of Package perl-Shell-Guess
# # spec file for package perl-Shell-Guess # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: perl-Shell-Guess Version: 0.09 Release: 0 %define cpan_name Shell-Guess Summary: Make an educated guess about the shell in use License: Artistic-1.0 OR GPL-1.0-or-later Group: Development/Libraries/Perl Url: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros BuildRequires: perl(Test::More) >= 0.94 %{perl_requires} %description Shell::Guess makes a reasonably aggressive attempt to determine the shell being employed by the user, either the shell that executed the perl script directly (the "running" shell), or the users' login shell (the "login" shell). It does this by a variety of means available to it, depending on the platform that it is running on. * * getpwent On UNIXy systems with getpwent, that can be used to determine the login shell. * * dscl Under Mac OS X getpwent will typically not provide any useful information, so the dscl command is used instead. * * proc file systems On UNIXy systems with a proc filesystems (such as Linux), Shell::Guess will attempt to use that to determine the running shell. * * ps On UNIXy systems without a proc filesystem, Shell::Guess will use the ps command to determine the running shell. * * Win32::Getppid and Win32::Process::List On Windows if these modules are installed they will be used to determine the running shell. This method can differentiate between PowerShell, 'command.com' and 'cmd.exe'. * * ComSpec If the above method is inconclusive, the ComSpec environment variable will be consulted to differentiate between 'command.com' or 'cmd.exe' (PowerShell cannot be detected in this manner). * * reasonable defaults If the running or login shell cannot be otherwise determined, a reasonable default for your platform will be used as a fallback. Under OpenVMS this is dcl, Windows 95/98 and MS-DOS this is command.com and Windows NT/2000/XP/Vista/7 this is cmd.exe. UNIXy platforms fallback to bourne shell. The intended use of this module is to enable a Perl developer to write a script that generates shell configurations for the calling shell so they can be imported back into the calling shell using 'eval' and backticks or 'source'. For example, if your script looks like this: #!/usr/bin/perl use Shell::Guess; my $shell = Shell::Guess->running_shell; if($shell->is_bourne) { print "export FOO=bar\n"; } else($shell->is_c) { print "setenv FOO bar\n"; } else { die "I don't support ", $shell->name, " shell"; } You can then import FOO into your bash or c shell like this: % eval `perl script.pl` or, you can write the output to a configuration file and source it: % perl script.pl > foo.sh % source foo.sh Shell::Config::Generate provides a portable interface for generating such shell configurations, and is designed to work with this module. %prep %setup -q -n %{cpan_name}-%{version} %build perl Makefile.PL INSTALLDIRS=vendor make %{?_smp_mflags} %check make test %install %perl_make_install %perl_process_packlist %perl_gen_filelist %files -f %{name}.files %defattr(-,root,root,755) %doc author.yml Changes corpus README %license LICENSE %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor