view release on metacpan or search on metacpan
lib/App/Exifpic.pm view on Meta::CPAN
package App::Exifpic;
use 5.010;
use strict;
use warnings;
use threads;
use Thread::Queue;
use autodie;
use Image::ExifTool;
use Imager;
use File::Slurp qw(read_file);
lib/App/Exifpic.pm view on Meta::CPAN
# Run our application...
sub run {
my ($self) = shift;
# Imager needs to be preloaded if we're using threads.
Imager->preload;
# Right now we treat everything as a file to process...
my $work_queue = Thread::Queue->new;
$work_queue->enqueue(@_);
$work_queue->end;
# Spawn our threads, each of which will process files until we're done.
my @threads;
my $cores = $self->get_cores();
# TODO: This could look less ugly
for (1..$cores) {
push(@threads,
threads->create( sub {
while (my $src = $work_queue->dequeue) {
$self->process_image($src);
}
})
);
}
# Join threads.
foreach my $thread (@threads) { $thread->join; }
return EXIT_SUCCESS;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/FQStat/Scanner.pm view on Meta::CPAN
warnenter if ::DEBUG;
my $forced = shift;
lock($::ScannerStartRun);
if (not defined $::ScannerThread) {
warnline "Creating new (initial?) scanner thread" if ::DEBUG;
$::ScannerThread = threads->new(\&App::FQStat::Scanner::scanner_thread);
}
elsif ($::ScannerThread->is_joinable()) {
warnline "Joining scanner thread" if ::DEBUG;
my $return = $::ScannerThread->join();
($::Records, $::NoActiveNodes) = @$return;
$::Summary = [];
$::Initialized = 1;
{ lock($::RecordsChanged); $::RecordsChanged = 1; }
warnline "Joined scanner thread. Creating new scanner thread" if ::DEBUG;
$::ScannerThread = threads->new(\&App::FQStat::Scanner::scanner_thread);
}
elsif (!$::ScannerThread->is_running()) {
warnline "scanner thread not running. Creating new scanner thread" if ::DEBUG;
undef $::ScannerThread;
$::ScannerThread = threads->new(\&App::FQStat::Scanner::scanner_thread);
}
elsif ($forced) {
warnline "scanner thread running. Force in effect, setting StartRun" if ::DEBUG;
$::ScannerStartRun = 1;
}
}
sub scanner_thread {
warnenter if ::DEBUG;
{
lock($::ScannerStartRun);
$::ScannerStartRun = 0;
}
lib/App/FQStat/Scanner.pm view on Meta::CPAN
if ($::DisplayOffset and $::DisplayOffset > $limit) {
$::DisplayOffset = $limit;
}
sleep 0.1; # Note to self: fractional sleep without HiRes => CPU=100%
warnline "End of scanner_thread" if ::DEBUG;
return [\@lines, $noActiveNodes];
}
view all matches for this distribution
view release on metacpan or search on metacpan
bin/fetchware view on Meta::CPAN
30 2 * * * fetchware upgrade-all
=head1 MOTIVATION
While sysadmining I liked to install my own compiled from source versions of
popular programs like Apache, MySQL, or Perl without threading. However, doing
so means that you have to manually recompile everytime a new security hole comes
out, which is annoyingly frequent for Apache. So, fetchware was created to bring
the power of package management to source code distributions.
=head1 DESCRIPTION
view all matches for this distribution
view release on metacpan or search on metacpan
t/lib/Test/NoMore.pm view on Meta::CPAN
# sorted with the same algorithm.
#
# Ensure that references are not accidentally treated the same as a
# string containing the reference.
#
# Have to inline the sort routine due to a threading/sort bug.
# See [rt.cpan.org 6782]
#
# I don't know how references would be sorted so we just don't sort
# them. This means eq_set doesn't really work with refs.
return eq_array(
view all matches for this distribution
view release on metacpan or search on metacpan
share/sample0.txt view on Meta::CPAN
women intarsias exploder onboard caseated jazzily ancientness whomps blackcock delusters brills frenula cephalosporins resurface rhetors generosities dewool quaternions repacifies inscroll stereopsis coenzyme opossum caressingly tartar zincous pyrans...
subvocalization yanks plusses suboral predestinarian corrupters neurine chargehands quarried nurserymen foozlers begalls shellacs floccing haute unstring bogus pennons blotchiest galagos flyswatters brogue disastrously oxygenations perversions liners...
commune nonbelligerent segregate reminiscer disunites coquettishnesses terraforms immutability epithelia emperor superimposable tadpoles circles stratifying archaized randomizing dolmen resist fulfillments deceivingly fearsomeness swotted affirms lab...
extensionalities maiden thickset components shebang crumpets punier gyrations separabilities anabas heydays inapproachable revalorizing vibrioid totalises antiferromagnetic photobiologies toadlike digastric jingoist unreservedness scripters hawfinch ...
lionising guiltless antiquer lionisers imagist unimpressive wavier tabaret skywalk politeness summarizable outdate learnedness galenas ribbonlike pharmacopoeias superphosphate sulfid venom melphalan colchicum obits swiftest permit keelless digitizing...
wildfowl mopery princesse misstate soddened dewaxes interleaves vagabonds premodifies concluded calamus necromantically codrive phraseologists tracers deuteranopes shammos gemeinschaft runabouts sleuths hyperostotic electrometallurgies threads powerb...
twerp edgings harpist skeane forefingers cimbalom radiopharmaceutical dragonhead forte jilt phorate irradiates perter butler bleaks incapablenesses deselect relicenses infundibuliform grimnesses venter adsorptions clairaudiently photolyses venetian r...
view all matches for this distribution
view release on metacpan or search on metacpan
1.000003 2017-05-18
- Removed the use List::Gather. This seems to be the most likely culprit for
some very odd test failures seen with threaded versions of Perl. See
https://rt.cpan.org/Ticket/Display.html?id=121777 for details.
1.000002 2017-05-04
view all matches for this distribution
view release on metacpan or search on metacpan
* print --help message as table (`rsync --help' like, at least in options
section)
* add priority-based option lookup
* add environment variables handling (those options will also get their prio)
* set/change options later, at run time, using copy-on-write strategy
(multithreading anyone?)
List of ideas to settle
* how about whole subtree aliases? (for subsystem to have its own view on
config options without arduous copying all the options)
view all matches for this distribution
view release on metacpan or search on metacpan
bin/gitc-submit view on Meta::CPAN
TMPDIR => 1,
CLEANUP => 1,
);
my $project = project_name();
git "format-patch -o $tmpdir"
. " --thread"
. " --no-numbered"
. " --cover-letter"
. " --no-color"
. " --no-binary"
. " -M -C --no-ext-diff"
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Glacier/Command/Get.pm view on Meta::CPAN
package App::Glacier::Command::Get;
use strict;
use warnings;
use threads;
use threads::shared;
use App::Glacier::Core;
use App::Glacier::Job::FileRetrieval;
use App::Glacier::DateTime;
use App::Glacier::Progress;
use parent qw(App::Glacier::Command);
lib/App/Glacier/Command/Get.pm view on Meta::CPAN
my @part_hashes :shared = ();
my $p = new App::Glacier::Progress($total_parts,
prefix => $localname)
unless $self->{_options}{quiet};
for (my $i = 0; $i < $njobs; $i++) {
my ($thr) = threads->create(
sub {
my ($job_idx) = @_;
# Number of part to start from
my $part_idx = $job_idx * $job_parts;
# Offset in file
lib/App/Glacier/Command/Get.pm view on Meta::CPAN
return 1;
}, $i);
}
$self->debug(2, "waiting for download to finish");
foreach my $thr (threads->list()) {
# FIXME: error handling
$thr->join() or croak "thread $thr failed";
}
$p->finish('downloaded') if $p;
close($fd);
return $glacier->_tree_hash_from_array_ref(\@part_hashes);
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/GoogleSearchPerlmonksUser.pm view on Meta::CPAN
v => 1.1,
summary => 'Search Google for user mentions in perlmonks.org',
description => <<'_',
Basically a shortcut for launching Google search for a user (specifically, user
mentions in discussion threads) in `perlmonks.org` site, with some unwanted
pages excluded.
_
args => {
user => {
lib/App/GoogleSearchPerlmonksUser.pm view on Meta::CPAN
google_search_perlmonks_user(%args) -> [status, msg, result, meta]
Search Google for user mentions in perlmonks.org.
Basically a shortcut for launching Google search for a user (specifically, user
mentions in discussion threads) in C<perlmonks.org> site, with some unwanted
pages excluded.
This function is not exported.
Arguments ('*' denotes required arguments):
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/HTTP_Proxy_IMP.pm view on Meta::CPAN
App::HTTP_Proxy_IMP implements an HTTP proxy, which can inspect and modify the
HTTP header or content before forwarding. Inspection and modification is done
with plugins implementing the L<Net::IMP> interface.
The proxy is single-threaded and non-forking, but due to the event-driven model
it can still process multiple connections in parallel. It is mainly intended to
be used as a platform for easy prototyping of interesting ideas using IMP
plugins, but should be also fast enough to be used to enhance, secure, restrict
or protocol the browsing experience for small groups.
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Test/Builder.pm view on Meta::CPAN
use warnings;
our $VERSION = '0.84';
$VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval)
# Make Test::Builder thread-safe for ithreads.
BEGIN {
use Config;
# Load threads::shared when threads are turned on.
# 5.8.0's threads are so busted we no longer support them.
if( $] >= 5.008001 && $Config{useithreads} && $INC{'threads.pm'} ) {
require threads::shared;
# Hack around YET ANOTHER threads::shared bug. It would
# occassionally forget the contents of the variable when sharing it.
# So we first copy the data, then share, then put our copy back.
*share = sub (\[$@%]) {
my $type = ref $_[0];
my $data;
inc/Test/Builder.pm view on Meta::CPAN
}
else {
die( "Unknown type: " . $type );
}
$_[0] = &threads::shared::share( $_[0] );
if( $type eq 'HASH' ) {
%{ $_[0] } = %$data;
}
elsif( $type eq 'ARRAY' ) {
inc/Test/Builder.pm view on Meta::CPAN
}
return $_[0];
};
}
# 5.8.0's threads::shared is busted when threads are off
# and earlier Perls just don't have that module at all.
else {
*share = sub { return $_[0] };
*lock = sub { 0 };
}
inc/Test/Builder.pm view on Meta::CPAN
$self->{Expected_Tests} = $self->{Curr_Test};
}
# Auto-extended arrays and elements which aren't explicitly
# filled in with a shared reference will puke under 5.8.0
# ithreads. So we have to fill them in by hand. :(
my $empty_result = &share( {} );
for my $idx ( 0 .. $self->{Expected_Tests} - 1 ) {
$test_results->[$idx] = $empty_result
unless defined $test_results->[$idx];
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/JobLog/Command/info.pm view on Meta::CPAN
Everything you've done today. Example:
\$ job today
Tuesday, 15 March
11:33 - 11:35 am 0.04 widgets checking up on Lem's issue with pipeline
11:38 - 11:46 am 0.12 widgets checking up on Lem's issue with pipeline; figuring out null pointer in multi-threaded code
12:40 - 1:11 pm 0.52 widgets debugging null pointers
TOTAL HOURS 0.68
widgets 0.68
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Test/More.pm view on Meta::CPAN
# sorted with the same algorithm.
#
# Ensure that references are not accidentally treated the same as a
# string containing the reference.
#
# Have to inline the sort routine due to a threading/sort bug.
# See [rt.cpan.org 6782]
#
# I don't know how references would be sorted so we just don't sort
# them. This means eq_set doesn't really work with refs.
return eq_array(
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Test/More.pm view on Meta::CPAN
# sorted with the same algorithm.
#
# Ensure that references are not accidentally treated the same as a
# string containing the reference.
#
# Have to inline the sort routine due to a threading/sort bug.
# See [rt.cpan.org 6782]
#
# I don't know how references would be sorted so we just don't sort
# them. This means eq_set doesn't really work with refs.
return eq_array(
view all matches for this distribution
view release on metacpan or search on metacpan
t/devscripts/info-at-eof.h view on Meta::CPAN
#define LUA_ENVIRONINDEX (-10001)
#define LUA_GLOBALSINDEX (-10002)
#define lua_upvalueindex(i) (LUA_GLOBALSINDEX-(i))
/* thread status; 0 is OK */
#define LUA_YIELD 1
#define LUA_ERRRUN 2
#define LUA_ERRSYNTAX 3
#define LUA_ERRMEM 4
#define LUA_ERRERR 5
t/devscripts/info-at-eof.h view on Meta::CPAN
/*
** state manipulation
*/
LUA_API lua_State *(lua_newstate) (lua_Alloc f, void *ud);
LUA_API void (lua_close) (lua_State *L);
LUA_API lua_State *(lua_newthread) (lua_State *L);
LUA_API lua_CFunction (lua_atpanic) (lua_State *L, lua_CFunction panicf);
/*
t/devscripts/info-at-eof.h view on Meta::CPAN
LUA_API int (lua_toboolean) (lua_State *L, int idx);
LUA_API const char *(lua_tolstring) (lua_State *L, int idx, size_t *len);
LUA_API size_t (lua_objlen) (lua_State *L, int idx);
LUA_API lua_CFunction (lua_tocfunction) (lua_State *L, int idx);
LUA_API void *(lua_touserdata) (lua_State *L, int idx);
LUA_API lua_State *(lua_tothread) (lua_State *L, int idx);
LUA_API const void *(lua_topointer) (lua_State *L, int idx);
/*
** push functions (C -> stack)
t/devscripts/info-at-eof.h view on Meta::CPAN
va_list argp);
LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...);
LUA_API void (lua_pushcclosure) (lua_State *L, lua_CFunction fn, int n);
LUA_API void (lua_pushboolean) (lua_State *L, int b);
LUA_API void (lua_pushlightuserdata) (lua_State *L, void *p);
LUA_API int (lua_pushthread) (lua_State *L);
/*
** get functions (Lua -> stack)
*/
t/devscripts/info-at-eof.h view on Meta::CPAN
#define lua_isfunction(L,n) (lua_type(L, (n)) == LUA_TFUNCTION)
#define lua_istable(L,n) (lua_type(L, (n)) == LUA_TTABLE)
#define lua_islightuserdata(L,n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA)
#define lua_isnil(L,n) (lua_type(L, (n)) == LUA_TNIL)
#define lua_isboolean(L,n) (lua_type(L, (n)) == LUA_TBOOLEAN)
#define lua_isthread(L,n) (lua_type(L, (n)) == LUA_TTHREAD)
#define lua_isnone(L,n) (lua_type(L, (n)) == LUA_TNONE)
#define lua_isnoneornil(L, n) (lua_type(L, (n)) <= 0)
#define lua_pushliteral(L, s) \
lua_pushlstring(L, "" s, (sizeof(s)/sizeof(char))-1)
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/LinkSite/Social.pm view on Meta::CPAN
mastodon => {
# Hmm...
url => "https://fosstodon.org/@",
name => 'Mastodon',
},
threads => {
url => "https://www.threads.net/@",
name => 'Threads',
},
bluesky => {
url => 'https://bsky.app/profile/',
name => 'Bluesky',
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Locker.pm view on Meta::CPAN
print "UNLOCK\n";
}
=head1 DESCRIPTION
This module provides create lock point in any place scipt and unlock it from another script place (main, fork, thread).
=cut
$Storable::Deparse = 1;
view all matches for this distribution
view release on metacpan or search on metacpan
share/js/core/lib.js view on Meta::CPAN
return a.filter(function(item) {
return seen.hasOwnProperty(item) ? false : (seen[item] = true);
});
},
// pause main thread for n milliseconds
//wait: function (ms) {
// var start = new Date().getTime();
// var end = start;
// while(end < start + ms) {
// end = new Date().getTime();
view all matches for this distribution
view release on metacpan or search on metacpan
lib/MHFS/HTTP/Server/Client.pm view on Meta::CPAN
#CT_READ => 1,
#CT_PROCESS = 2,
#CT_WRITE => 3
};
# The "client_thread" consists of 5 states, CT_READ, CT_PROCESS, CT_WRITE, CT_YIELD, and CT_DONE
# CT_READ reads input data from the socket
## on data read transitions to CT_PROCESS
## on error transitions to CT_DONE
## otherwise CT_YIELD
lib/MHFS/HTTP/Server/Client.pm view on Meta::CPAN
# CT_WRITE outputs data to the socket
## on all data written transitions to CT_PROCESS unless Connection: close is set.
## on error transitions to CT_DONE
## otherwise CT_YIELD
# CT_YIELD just returns control to the poll loop to wait for IO or allow another client thread to run
# CT_DONE also returns control to the poll loop, it is called on error or when the client connection should be closed or is closed
sub CT_READ {
my ($self) = @_;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/MaMGal/Entry/Dir.pm view on Meta::CPAN
sub _write_contents_to
{
my $self = shift;
my $code = shift;
my $suffix = shift;
# TODO: this will be an issue when mamgal goes multi-threaded
my $tmp_name = $self->child('.mamgal-tmp');
my $full_name = $self->child($suffix);
$self->SUPER::_write_contents_to($code, $tmp_name, $full_name);
}
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Test/More.pm view on Meta::CPAN
# sorted with the same algorithm.
#
# Ensure that references are not accidentally treated the same as a
# string containing the reference.
#
# Have to inline the sort routine due to a threading/sort bug.
# See [rt.cpan.org 6782]
#
# I don't know how references would be sorted so we just don't sort
# them. This means eq_set doesn't really work with refs.
return eq_array(
view all matches for this distribution
view release on metacpan or search on metacpan
- ldconfig is statically linked so changes by ldconfig
aren't noticed
- this probably breaks when threads are being used
- files with holes are not restored properly (this
is impossible)
- hardlinks are neither recognized nor restored.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/MechaCPAN.pm view on Meta::CPAN
Changes to a specified directory before any processing is done. This allows you to specify what directory you want C<local/> to be in. If this isn't provided, the current working directory is used instead.
=head2 --build-reusable-perl
Giving this options will override the mode of operation and generate a reusable, relocatable L<perl> archive. This accepts the same parameters as the L<Perl|App::MechaCPAN::Perl> command (i.e. L</devel> and L</threads>) to generate the binary. Note t...
Once you have a reusable binary archive, L<App::MechaCPAN::Perl> can use that archive as a source file and install the binaries into the local directory. This can be handy if you are building a lot of identical systems and only want to build L<perl> ...
The exact parameters included in the archive name are:
lib/App/MechaCPAN.pm view on Meta::CPAN
=item * The architecture name, as found in the first piece of $Config{archname}
=item * The Operating System, as found in $Config{osname}
=item * Optionally notes if it was built with threads
=item * The name of the libc used
=item * The version of the libc used
view all matches for this distribution
view release on metacpan or search on metacpan
}
unshift @INC,
(
'/home/leto/git/util/perl_lib',
'/home/leto/perl5/lib/perl5',
'/home/leto/local-lib/lib/perl5/x86_64-linux-gnu-thread-multi',
'/home/leto/local-lib/lib/perl5',
'/home/leto/svn/gmod/chado/lib',
'/home/leto/git/cxgn/cxgn-corelibs/lib',
'/home/leto/git/cxgn/ITAG/lib',
'/home/leto/git/cxgn/ITAG-analyses/lib',
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/MtAws.pm view on Meta::CPAN
# along with this program. If not, see <http://www.gnu.org/licenses/>.
=head1 NAME
mt-aws-glacier - Perl Multithreaded Multipart sync to Amazon Glacier
=head1 SYNOPSIS
More info in README.md or L<https://github.com/vsespb/mt-aws-glacier> or L<http://mt-aws.com/>
view all matches for this distribution
view release on metacpan or search on metacpan
'gid' => 0,
'cttlflt' => 0,
'cmdline' => 'perl p3',
'utime' => '0.17',
'cpuid' => '3',
'threads' => '1',
'majflt' => 0,
'sess' => '6315',
'priority' => '20',
'pid' => '7783',
'wchan' => '0',
view all matches for this distribution
view release on metacpan or search on metacpan
public/javascripts/ace/mode-apex.js view on Meta::CPAN
var mainKeywordMapper = this.createKeywordMapper({
"variable.language": "activate|any|autonomous|begin|bigdecimal|byte|cast|char|collect|const"
+ "|end|exit|export|float|goto|group|having|hint|import|inner|into|join|loop|number|object|of|outer"
+ "|parallel|pragma|retrieve|returning|search|short|stat|synchronized|then|this_month"
+ "|transaction|type|when",
"keyword": "private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final"
+ "|and|array|as|asc|break|bulk|by|catch|class|commit|continue|convertcurrency"
+ "|delete|desc|do|else|enum|extends|false|final|finally|for|from|future|global"
+ "|if|implements|in|insert|instanceof|interface|last_90_days|last_month"
+ "|last_n_days|last_week|like|limit|list|map|merge|new|next_90_days|next_month|next_n_days"
+ "|next_week|not|null|nulls|on|or|override|package|return"
view all matches for this distribution
view release on metacpan or search on metacpan
share/public/swagger-ui/swagger-ui-bundle.js.map view on Meta::CPAN
{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 396b8c743e9ffbc09e47","webpack:///./node_modules/react/react.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/babel-run...
view all matches for this distribution
view release on metacpan or search on metacpan
DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB)
INSTALLSITELIB = $(INSTALL_BASE)/lib/perl5
DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB)
INSTALLVENDORLIB = $(INSTALL_BASE)/lib/perl5
DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB)
INSTALLARCHLIB = $(INSTALL_BASE)/lib/perl5/x86_64-linux-gnu-thread-multi
DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB)
INSTALLSITEARCH = $(INSTALL_BASE)/lib/perl5/x86_64-linux-gnu-thread-multi
DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH)
INSTALLVENDORARCH = $(INSTALL_BASE)/lib/perl5/x86_64-linux-gnu-thread-multi
DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH)
INSTALLBIN = $(INSTALL_BASE)/bin
DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN)
INSTALLSITEBIN = $(INSTALL_BASE)/bin
DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN)
ppd :
$(NOECHO) $(ECHO) '<SOFTPKG NAME="$(DISTNAME)" VERSION="$(VERSION)">' > $(DISTNAME).ppd
$(NOECHO) $(ECHO) ' <ABSTRACT>Will add links to the device details page to a graph website.</ABSTRACT>' >> $(DISTNAME).ppd
$(NOECHO) $(ECHO) ' <AUTHOR>Frederik Reenders <f.reenders@utwente.nl></AUTHOR>' >> $(DISTNAME).ppd
$(NOECHO) $(ECHO) ' <IMPLEMENTATION>' >> $(DISTNAME).ppd
$(NOECHO) $(ECHO) ' <ARCHITECTURE NAME="x86_64-linux-gnu-thread-multi-5.14" />' >> $(DISTNAME).ppd
$(NOECHO) $(ECHO) ' <CODEBASE HREF="" />' >> $(DISTNAME).ppd
$(NOECHO) $(ECHO) ' </IMPLEMENTATION>' >> $(DISTNAME).ppd
$(NOECHO) $(ECHO) '</SOFTPKG>' >> $(DISTNAME).ppd
view all matches for this distribution