view release on metacpan or search on metacpan
if (-e $file) {
mkpath(dirname("$tardir/$file"), 0, 0777);
print STDERR "copy $file $tardir/$file\n";
copy($file, "$tardir/$file");
if ($file =~ m/ (?: Build\.PL | Makefile\.PL ) \z/oxmsi) {
chmod(0664, "$tardir/$file");
}
elsif ($file =~ m/\. (?: pl | bat | exe | com ) \z/oxmsi) {
chmod(0775, "$tardir/$file");
}
elsif ($file =~ m{^bin/}oxmsi) {
chmod(0775, "$tardir/$file");
}
else {
chmod(0664, "$tardir/$file");
}
}
}
system(qq{tar -cvf $tardir.tar $tardir});
system(qq{gzip $tardir.tar});
else {
open(FH_TARBAT, '>ptar') || die "Can't open file: ptar\n";
print FH_TARBAT '#!', &which($^X), "\n";
print FH_TARBAT $ptar;
close FH_TARBAT;
chmod 0755, 'ptar';
}
}
# unzip and untar *.tar.gz
elsif ($target =~ /^xzvf$/) {
else {
open(FH_WGETBAT, '>pwget') || die "Can't open file: pwget\n";
print FH_WGETBAT '#!', &which($^X), "\n";
print FH_WGETBAT $pwget;
close FH_WGETBAT;
chmod 0755, 'pwget';
}
}
else {
warn "unknown target: $target.\n";
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Git/IssueManager/AddHook.pm view on Meta::CPAN
open my $hook,">",".git/hooks/post-commit";
print $hook "#!/bin/sh\n";
print $hook "git-issue-commit-hook\n";
close $hook;
system("chmod a+x .git/hooks/post-commit");
}
1;
view all matches for this distribution
view release on metacpan or search on metacpan
for my $file (path('bin')->children) {
next if !-x $file;
my $out = $file;
$out =~ s/bin/out/;
system "fatpack pack $file > $out";
system "chmod +x $out";
}
return;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/GitGerrit.pm view on Meta::CPAN
if ($@) {
info "Cannot install $commit_msg hook because you don't have LWP::Simple installed";
} else {
info "Installing $commit_msg hook";
if (LWP::Simple::is_success(LWP::Simple::getstore(config('baseurl') . "/tools/hooks/commit-msg", $commit_msg))) {
chmod 0755, $commit_msg;
}
}
}
# The credential_* routines below use the git-credential command to
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/GitHooks/Plugin/DetectCommitNoVerify.pm view on Meta::CPAN
{
# "git revert" bypasses the pre-commit hook, so we can only use use the
# prepare-commit-msg hook to catch any show-stoppers.
# Since prepare-commit-msg doesn't support --no-verify, we should only
# perform the essential checks when we're analyzing a revert. Note that you
# can still do chmod -x .git/hooks/prepare-commit-msg to force-bypass this
# hook in this case.
my $staged_changes = $app->get_staged_changes();
if ( $staged_changes->is_revert() )
{
chomp( $stdout );
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/GitHooks/Test.pm view on Meta::CPAN
},
'Write the hook.',
);
ok(
chmod( 0755, $hook_path ),
"Make the $hook_name hook executable.",
);
}
);
}
view all matches for this distribution
view release on metacpan or search on metacpan
```bash
# Create credentials file (one time setup)
echo "user YOUR_PAUSE_ID" > ~/.pause
echo "password YOUR_PASSWORD" >> ~/.pause
chmod 600 ~/.pause
```
Replace `YOUR_PAUSE_ID` and `YOUR_PASSWORD` with your actual PAUSE credentials.
#### Step 3: Prepare Distribution
view all matches for this distribution
view release on metacpan or search on metacpan
while ($html =~ /answer:"([A-Z]+)\s*"/g) {
print lc($1), "\n";
}
EOF
chmod +x /tmp/extract_answers.pl
cat /tmp/wordle_page.html | perl /tmp/extract_answers.pl > /tmp/all_answers.txt
# Remove duplicates while preserving order (newest first)
cat /tmp/all_answers.txt | awk '!seen[$0]++' > /tmp/nyt_answers_unique.txt
view all matches for this distribution
view release on metacpan or search on metacpan
using the "print-secret" command, but you don't need to.
Then we'll take advantage of the fact that an Ansible Vault password
file can be an executable program that prints the Vault password to
STDOUT. Create a file named vault-password with the following script,
and make it executable (chmod +x vault-password):
#!/bin/sh
# Use groupsecret <https://github.com/chazmcgarvey/groupsecret> to access the Vault password
exec ${GROUPSECRET:-groupsecret} -f vault-password.yml print-secret
view all matches for this distribution
view release on metacpan or search on metacpan
hack.exe.PL view on Meta::CPAN
close $fhi;
open my $fho, '>', $file_out
or croak("Failed to open file `$file_out` for writing: $!");
print $fho $code;
close $fho;
chmod 0755, $file_out;
sub squash_strip {
my $fh = shift;
my $stripped;
my $in_ignore_section = 0;
view all matches for this distribution
view release on metacpan or search on metacpan
You may also choose to download homebank2ledger as a single executable,
like this:
curl -OL https://raw.githubusercontent.com/chazmcgarvey/homebank2ledger/solo/homebank2ledger
chmod +x homebank2ledger
For developers
If you're a developer and want to hack on the source, clone the
repository and pull the dependencies:
view all matches for this distribution
view release on metacpan or search on metacpan
bin/implode view on Meta::CPAN
warn sprintf "Generating $self->{out} with embedded bzip archive...\n" if $self->verbose;
print $OUT $script =~ s/^(#!.+?[\r\n]+)//m ? $1 : "#!/usr/bin/perl\n";
print $OUT $exploder, "\n", $script, "\n__END__\n";
$self->tarball->write(IO::Compress::Bzip2->new($OUT), COMPRESS_GZIP);
close $OUT;
chmod 0755, $self->{out};
warn sprintf "$self->{out} is generated.\n" if $self->verbose;
}
sub chdir {
my $self = shift;
bin/implode view on Meta::CPAN
}
sub tarball {
my $self = shift;
my $chdir = $self->chdir($self->tmpdir);
my $chmod = sub { -f and chmod 0600 | (0777 & (stat _)[2]), $_ };
my $files = sub { @_ > 1 and File::Find::find({no_chdir => 1, wanted => shift}, @_) };
my $tar = Archive::Tar->new;
$files->(
sub {
return unless $chmod->();
warn sprintf "Add @{[catfile $self->{tmpdir}, $_]}\n" if $self->verbose;
$tar->add_files($_);
},
grep {-d} qw( bin lib )
);
undef $chdir;
$files->(
sub {
return unless $chmod->() and s!lib!lib/perl5!;
warn sprintf "Add $_\n" if $self->verbose;
$tar->add_data($_, $self->slurp($File::Find::name));
},
grep {-d} qw( lib )
);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Install.pm view on Meta::CPAN
You'll generally do this straight after listing the files to install.
Only non-default permissions need to be specified; the default will be
whatever your system generally creates files as, eg. 0644 for readable
by everyone, writable by owner. See the docs for C<chmod()> for more
information.
=head2 Including variable data in your files
If you wish data to be interpolated into your inline files -- and you
lib/App/Install.pm view on Meta::CPAN
sub _set_permissions {
my ($file) = @_;
return unless $file;
printf " Setting permissions for %s to %lo\n", $file, $App::Install::permissions{$file};
chmod $App::Install::permissions{$file}, $file;
}
=head1 AUTHOR
Kirrily "Skud" Robert, C<< <skud at cpan.org> >>
view all matches for this distribution
view release on metacpan or search on metacpan
t/TestBot.pm view on Meta::CPAN
enabled: 1
allowed_networks:
- $addr
short_url_service: DummyShortener
EOF
chmod 0600, $fh;
close($fh);
my $bot_script =
$ENV{KGB_BOT_SCRIPT} || File::Spec->catfile( 'script', 'kgb-bot' );
view all matches for this distribution
view release on metacpan or search on metacpan
kritika.fatpack view on Meta::CPAN
$fatpacked{"ExtUtils/Helpers.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'EXTUTILS_HELPERS';
package ExtUtils::Helpers;$ExtUtils::Helpers::VERSION='0.05';use strict;use warnings FATAL=>'all';use Exporter 5.57 'import';use Config;use File::Basename qw/basename/;use File::Spec::Functions qw/splitpath canonpath abs2rel splitdir/;use Text::Par...
EXTUTILS_HELPERS
$fatpacked{"ExtUtils/Helpers/Unix.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'EXTUTILS_HELPERS_UNIX';
package ExtUtils::Helpers::Unix;$ExtUtils::Helpers::Unix::VERSION='0.05';use strict;use warnings FATAL=>'all';use Exporter 5.57 'import';our@EXPORT=qw/make_executable detildefy/;use Carp qw/croak/;use Config;my$layer=$] >= 5.008001 ? ":raw" : "";su...
EXTUTILS_HELPERS_UNIX
$fatpacked{"ExtUtils/Helpers/VMS.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'EXTUTILS_HELPERS_VMS';
package ExtUtils::Helpers::VMS;$ExtUtils::Helpers::VMS::VERSION='0.05';use strict;use warnings FATAL=>'all';use Exporter 5.57 'import';our@EXPORT=qw/make_executable detildefy/;use File::Copy qw/copy/;sub make_executable {my$filename=shift;my$batchn...
EXTUTILS_HELPERS_VMS
view all matches for this distribution
view release on metacpan or search on metacpan
% cpanm App::LJ
or you can get single packed executable file.
% curl -L https://raw.githubusercontent.com/Songmu/App-LJ/master/lj > /usr/local/bin/lj; chmod +x /usr/local/bin/lj
# LICENSE
Copyright (C) Songmu.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/LXC/Container/Run.pm view on Meta::CPAN
# finally write startup script:
open my $f, '>', $self->{init}
or fatal 'can_t_open__1__2', $self->{init}, $!;
say $f $_ foreach @todo;
close $f;
# A failing chmod can only happen in very unlikely race conditions:
# uncoverable branch true
unless (chmod(0755, $self->{init}) == 1)
{
# uncoverable statement
fatal 'call_failed__1__2', 'chmod', $self->{init};
}
# TODO: We could optimise everything if we only have /bin/sh as single
# command (no script needed)!
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/MBUtiny/Collector/DBI.pm view on Meta::CPAN
my $issqlite = 0;
if ($dbh && $dsn =~ /SQLite/i) {
$file = $dbh->sqlite_db_filename();
unless ($file && (-e $file) && !(-z $file)) {
touch($file);
chmod(0666, $file);
$fnew = 1;
}
$issqlite = 1;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/MHFS/HTTP/Server.pm view on Meta::CPAN
STDERR->autoflush(1);
}
# make the temp dirs
make_path($settings->{'VIDEO_TMPDIR'}, $settings->{'MUSIC_TMPDIR'}, $settings->{'RUNTIME_DIR'}, $settings->{'GENERIC_TMPDIR'});
make_path($settings->{'SECRET_TMPDIR'}, {chmod => 0600});
make_path($settings->{'DATADIR'}, $settings->{'MHFS_TRACKER_TORRENT_DIR'});
my $sock = IO::Socket::INET->new(Listen => 10000, LocalAddr => $settings->{'HOST'}, LocalPort => $settings->{'PORT'}, Proto => 'tcp', Reuse => 1, Blocking => 0);
if(! $sock) {
say "server: Cannot create self socket";
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Magpie/Action/Update.pm view on Meta::CPAN
svn ci -m "update to $newvers" && \\
mgarepo submit && \\
rm \$0
EOF
$fh->close;
chmod 0755, $script;
# try to install buildrequires
if ( ! $ENV{MAGPIE_NO_URPMI_BUILDREQUIRES} ) {
$self->log( "installing buildrequires" );
$self->run_command( "LC_ALL=C sudo urpmi --wait-lock --buildrequires $specfile" );
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Maisha/Plugin/Identica.pm view on Meta::CPAN
mkpath( $config->{home} . '/.maisha' );
# save the access tokens
store $access_tokens, $datafile;
chmod 0640, $datafile; # make sure it has reasonable permissions
}
};
if($@) {
warn "Unable to login to Identica\n";
lib/App/Maisha/Plugin/Identica.pm view on Meta::CPAN
unlink $datafile;
mkpath( $config->{home} . '/.maisha' );
# save the access tokens
store $access_tokens, $datafile;
chmod 0640, $datafile; # make sure it has reasonable permissions
};
if($@) {
warn "Unable to login to Identica\n";
return 0;
view all matches for this distribution
view release on metacpan or search on metacpan
or die "Unable to recreate directory '$stat->{path}': $!\n";
} else {
die "FATAL: don't know how to check in $stat->{path}.\n";
}
unless (S_ISLNK $stat->{mode}) {
chmod $stat->{mode} & 07777,$stat->{path}
or die "Unable to change mode for '$stat->{path}': $!\n";
chown $stat->{uid},$stat->{gid},$stat->{path}
or warn "Unable to change user and group id for '$stat->{path}': $!\n";
utime $stat->{atime},$stat->{mtime},$stat->{path}
or warn "Unable to change atime and mtime for '$stat->{path}': $!\n";
view all matches for this distribution
view release on metacpan or search on metacpan
t/06_restart.t view on Meta::CPAN
make_path $lib_path;
open my $exe, '>', $exe_bin;
print $exe "#!/usr/bin/env perl\nexit 0\n";
close $exe;
chmod 0700, $exe_bin;
open my $fake0, '>', $fake0_bin;
print $fake0 "#!/usr/bin/env perl\nexit 0\n";
close $fake0;
}
view all matches for this distribution
view release on metacpan or search on metacpan
t/process_dirs_abs.t view on Meta::CPAN
ok( make_path($cant_read), 'create cant_read' );
SKIP: {
skip( 'Running under windows', 2 ) if $^O eq 'MSWin32';
ok( chmod(oct(0400), $cant_read), 'make cant_read unreadable' );
throws_ok{ _process_dirs($abs_tt2, $tmpl_vars, $abs_tmpl_path, $cant_read) } qr/\ACouldn't open directory/, '_process_dirs() fails on unreadable output path';
}
ok( remove_tree($cant_read), 'removing cant_read path' );
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/MonM/Notifier/Store.pm view on Meta::CPAN
my $issqlite = 0;
if ($dbh && $dsn =~ /SQLite/i) {
$file = $dbh->sqlite_db_filename();
unless ($file && (-e $file) && !(-z $file)) {
touch($file);
chmod(0666, $file);
$fnew = 1;
}
$issqlite = 1;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/MonM/Store.pm view on Meta::CPAN
my $issqlite = 0;
if ($dbh && $dsn =~ /SQLite/i) {
$file = $dbh->sqlite_db_filename();
unless ($file && (-e $file) && !(-z $file)) {
touch($file);
chmod(0666, $file);
$fnew = 1;
}
$issqlite = 1;
}
view all matches for this distribution
view release on metacpan or search on metacpan
ssh -o 'BatchMode Yes' %h 'ls -ald /tmp/'
And let's say our hostname is C<corky!wisp>, then the command becomes:
ssh -o 'BatchMode Yes' corky ssh -o 'Batchmode\ Yes' wisp 'ls\\ -ald\\ /tmp'
=item B<%u>
Replaced with the username, if applicable. When hostname contains an C<@>
character, for example C<jettero@corky>, the portion before the C<@> is
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/MtAws/IntermediateFile.pm view on Meta::CPAN
my $character_tempfile = delete $self->{tempfile} or confess "file already permanent or not initialized";
$self->{tmp}->unlink_on_destroy(0);
undef $self->{tmp};
my $binary_tempfile = binaryfilename($character_tempfile);
chmod((0666 & ~umask), $binary_tempfile) or confess "cannot chmod file $character_tempfile";
utime $self->{mtime}, $self->{mtime}, $binary_tempfile or confess "cannot change mtime for $character_tempfile" if defined $self->{mtime};
rename $binary_tempfile, $binary_target_filename or
die exception "cannot_rename_file" => "Cannot rename file %string from% to %string to%",
from => $character_tempfile, to => $self->{target_file};
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Munner/Runner.pm view on Meta::CPAN
my $info = $self->sys_user_info;
my $uid = $info->{uid};
my $gid = $info->{gid};
chown $uid, $gid, $file
or die "Unable to chown $file\n";
chmod 0700, $file
or die "Unable to chown $file to 0700\n";
}
sub _touch {
my $self = shift;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Music/PlayTab/Chord.pm view on Meta::CPAN
eval { $self->{key} = App::Music::PlayTab::Note->parse($key) };
croak("Unrecognized pitch in chord: ".$self->{_unparsed})
unless defined $self->{key};
# Encodings: a bit is set in $chflags for every note in the chord.
# The corresponding element of $chmods is 0 (natural), -1
# (lowered), 1 (raised) or undef (suppressed).
my $chflags = '';
my @chmods = (0) x 14;
# Assume major triad.
vec($chflags,3,1) = 1;
vec($chflags,5,1) = 1;
$chmods[3] = 0;
$chmods[5] = 0;
$mod =~ s/^-/min/; # Minor triad
$mod =~ s/^\+/aug/; # Augmented triad
$mod =~ s/^0/dim/; # Diminished
lib/App/Music/PlayTab/Chord.pm view on Meta::CPAN
next;
}
if ( $mod =~ /^maj7?(.*)/ ) { # Maj7
$mod = $+;
vec($chflags,7,1) = 1;
$chmods[7] = 1;
next;
}
if ( $mod =~ /^(min|m)7(.*)/ ) { # Minor triad + 7
$mod = $+;
vec($chflags,7,1) = 1;
$chmods[7] = 0;
vec($chflags,3,1) = 1;
$chmods[3] = -1;
next;
}
if ( $mod =~ /^(min|m)(.*)/ ) { # Minor triad
$mod = $+;
vec($chflags,3,1) = 1;
$chmods[3] = -1;
next;
}
if ( $mod =~ /^sus2(.*)/ ) { # Suspended second
$mod = $+;
vec($chflags,3,1) = 0;
undef $chmods[3];
next;
}
if ( $mod =~ /^sus4?(.*)/ ) { # Suspended fourth
$mod = $+;
vec($chflags,4,1) = 1; # does it?
undef $chmods[3];
$chmods[4] = 0;
next;
}
if ( $mod =~ /^aug(.*)/ ) { # Augmented
$mod = $+;
vec($chflags,5,1) = 1;
$chmods[5] = 1;
next;
}
if ( $mod =~ /^(o|dim)(.*)/ ) { # Diminished
$mod = $+;
vec($chflags,3,1) = 1;
vec($chflags,5,1) = 1;
vec($chflags,7,1) = 1;
$chmods[3] = -1;
$chmods[5] = -1;
$chmods[7] = -1;
next;
}
if ( $mod =~ /^%(.*)/ ) { # half-diminished 7
$mod = $+;
$chflags = '';
vec($chflags,3,1) = 1;
vec($chflags,5,1) = 1;
vec($chflags,7,1) = 1;
$chmods[3] = -1;
$chmods[5] = -1;
$chmods[7] = 0;
next;
}
if ( $mod =~ /^([\#b])?(2|5|6|7|9|10|11|13)(.*)/ ) { # addition
$mod = $+;
# 13th implies 11th implies 9th implies 7th...
if ( $2 > 7 && !(vec($chflags,7,1)) ) {
vec($chflags,7,1) = 1;
$chmods[7] = 0;
}
if ( $2 > 10 && !(vec($chflags,9,1)) ) {
vec($chflags,9,1) = 1;
$chmods[9] = 0;
}
if ( $2 > 11 && !(vec($chflags,11,1)) ) {
vec($chflags,11,1) = 1;
$chmods[11] = 1;
}
vec($chflags,$2,1) = 1;
$chmods[$2] = 0;
if ( defined $1 ) {
$chmods[$2] = ($1 eq '#') ? 1 : -1;
}
next;
}
if ( $mod =~ /^no\s*(\d+)(st|nd|rd|th)?(.*)/ ) {
$mod = $+;
vec($chflags,$1,1) = 1;
undef $chmods[$1];
next;
}
# High add-ons.
if ( $mod =~ /^\\([^\/]+)(.*)/ ) {
lib/App/Music/PlayTab/Chord.pm view on Meta::CPAN
}
my @vec = (0);
for ( 1..13 ) {
next unless vec($chflags,$_,1);
next unless defined $chmods[$_];
push (@vec, (0,0,2,4,5,7,9,10,12,14,16,17,19,21)[$_]+$chmods[$_]);
}
$self->{vec} = [@vec];
warn("=> Chord ", $self->{_unparsed}, ": ", $self->{key}->key,
view all matches for this distribution