source: trunk/LATMOS-Accounts/Makefile.PL @ 1001

Last change on this file since 1001 was 1001, checked in by nanardon, 12 years ago
  • kill la-buildnet, can be done with la-sync-process
File size: 5.3 KB
RevLine 
[1]1use 5.010000;
2use ExtUtils::MakeMaker;
3# See lib/ExtUtils/MakeMaker.pm for details of how to influence
4# the contents of the Makefile that is written.
5WriteMakefile(
6    NAME              => 'LATMOS::Accounts',
[989]7    VERSION_FROM      => 'lib/LATMOS/Accounts.pm',
[258]8    PREREQ_PM         => {
9        'Net::LDAP' => undef,
10        'Unicode::Map8' => undef,
11        'DBD::Pg' => undef,
[413]12        'Crypt::RSA' => undef,
13        'MIME::Base64' => undef,
14        'Term::ReadKey' => undef,
[432]15        'Config::IniFiles' => undef,
16        'Mail::Sendmail' => undef,
17        'Net::DNS' => undef,
18        'Template' => undef,
19        'Sys::Syslog' => undef,
[627]20        'Pod::Usage' => undef,
[432]21        'Unicode::String' => undef,
[584]22        'Crypt::Cracklib' => undef,
[861]23        'Net::IP' => undef,
[867]24        'Net::IPv4Addr' => undef,
25        'Net::IPv6Addr' => undef,
[258]26    }, # e.g., Module::Name => 1.1
[1]27    ($] >= 5.005 ?     ## Add these new keywords supported since 5.005
28      (ABSTRACT_FROM  => 'lib/LATMOS/Accounts.pm', # retrieve abstract from module
[254]29       AUTHOR         => 'Thauvin Olivier <olivier.thauvin@latmos.ipsl.fr>') : ()),
[416]30    EXE_FILES => [ qw(
31        bin/la-acls
[640]32        bin/la-qacls
[617]33        bin/la-attributes
[845]34        bin/la-cli
[416]35        bin/la-config
36        bin/la-create
37        bin/la-crypt-passwd
[531]38        bin/la-delete
[416]39        bin/la-edit
[861]40        bin/la-find-expired
[416]41        bin/la-group
42        bin/la-guser
43        bin/la-passwd
44        bin/la-query
[715]45        bin/la-rename
[861]46        bin/la-rename-host
47        bin/la-exchange-ip
[838]48        bin/la-rev
[613]49        bin/la-search
[416]50        bin/la-sync
[578]51        bin/la-sync-manager
[416]52        bin/la-warn-expire
[861]53        bin/la-freeip
54        bin/la-expired-reminder
55        bin/la-sql-regatt
56        bin/la-sql-loadatt
[881]57        bin/la-sql-upgrade
[959]58        bin/la-sql-edit-form
[990]59        bin/la-test-mail
[416]60        ) ],
[861]61        macro => {
62            INSTALLMAN5DIR      => '$(PERLPREFIX)/share/man/man5',
[991]63            INSTALLMAN8DIR      => '$(PERLPREFIX)/share/man/man8',
[861]64            DESTINSTALLMAN5DIR  => '$(DESTDIR)$(INSTALLMAN5DIR)',
[991]65            DESTINSTALLMAN8DIR  => '$(DESTDIR)$(INSTALLMAN8DIR)',
[861]66            INST_MAN5DIR        => 'blib/man5',
[991]67            INST_MAN8DIR        => 'blib/man8',
[881]68            DESTRPMDIR          => '$(shell pwd)',
69            DATADIR             => '/usr/share/latmos-accounts',
70            DESTDATADIR         => '$(DESTDIR)$(DATADIR)',
[861]71        },
72        MAN1PODS        => {
73            map {
74                my $targ = $_;
75                $targ =~ s{^man/}{};
76                $targ =~ s{^bin/}{};
77                $targ =~ s/\.(\d)\.pod$//;
78                my $section = $1 || 1;
79                ( $_ =>
80                    "\$(INST_MAN${section}DIR)/$targ.$section" );
81            } <man/*.pod>, (grep { ! /~$/ } <bin/*>)
82        },
83
[1]84);
[416]85
86package MY;
87
88sub postamble {
89    <<EOF;
[861]90#.PHONY .= svnmanifest
[416]91
[881]92bin/la-sql-upgrade: bin/la-sql-upgrade.in
93\tcat \$< \| sed 's:\@DATADIR\@:\$(DATADIR):' > \$@
94\tchmod +x \$@
95
[416]96svnmanifest:
97\tsvn ls -R| grep -v "/\$\$"  > MANIFEST
98
[432]99ChangeLog:
100\tsvn log > ChangeLog
101
102latmos-accounts.spec: latmos-accounts.spec.in Makefile
103\tsed -e 's/\@VERSION@/\$(VERSION)/' < \$< > \$@
104
105rpm: \$(DISTVNAME).tar.gz latmos-accounts.spec
106\tmkdir ./noarch || :
107\trpmbuild -ba --clean\\
108\t --define "_sourcedir `pwd`" \\
109\t --define "_specdir `pwd`" \\
[861]110\t --define "_srcrpmdir \$(DESTRPMDIR)" \\
111\t --define "_rpmdir \$(DESTRPMDIR)" \\
[432]112\t latmos-accounts.spec
113
[861]114svnrpm: \$(DISTVNAME).tar.gz latmos-accounts.spec
115\tmkdir \$(DESTRPMDIR)/noarch || :
116\trpmbuild -ba --clean\\
117\t --define "_sourcedir `pwd`" \\
118\t --define "_specdir `pwd`" \\
119\t --define "_srcrpmdir \$(DESTRPMDIR)" \\
120\t --define "_rpmdir \$(DESTRPMDIR)" \\
121\t --define "svnrelease `LC_ALL=C svn info | grep '^Revision:' | sed 's/Revision: //'`" \\
122\t latmos-accounts.spec
123
[416]124EOF
125}
[548]126
[861]127sub installbin {
128    my $self = shift;
129    my $inherited = $self->SUPER::installbin(@_);
130    my $s = join '|', map quotemeta, @sbin_scripts;
131    # how to create needed directories under blib
[991]132    $inherited .= $self->dir_target("\$(INST_$_)") for qw(MAN5DIR MAN8DIR);
[861]133    $inherited;
134}
135
136sub top_targets {
137    my $inherited = shift->SUPER::top_targets(@_);
[991]138    $inherited =~ s/^config ::/$& \$(INST_MAN5DIR)\$(DIRFILESEP).exists \$(INST_MAN8DIR)\$(DIRFILESEP).exists/m;
[861]139    $inherited;
140}
141
[548]142sub install {
143    my ($self) = @_;
144    my $section = $self->SUPER::install();
145
[881]146    $section =~ s/(^install ::.*)/$1 install_config install_templates install_data/m;
[991]147    $section =~ s/\$\(INST_BIN\) \$\(DESTINSTALL(\w*)BIN\)/$& \$(INST_MAN5DIR) \$(DESTINSTALLMAN5DIR) \$(INST_MAN8DIR) \$(DESTINSTALLMAN8DIR)/g;
[548]148
[705]149    $section .= q[
[548]150install_config ::
151        install -d $(DESTDIR)/etc
[861]152        install -d $(DESTDIR)/etc/latmos-accounts
153        install sample/latmos-accounts.ini $(DESTDIR)/etc/latmos-accounts/latmos-accounts.ini
154        install sample/la-sync-list.ini $(DESTDIR)/etc/latmos-accounts/la-sync-list.ini
155        install sample/la-allowed-values.ini $(DESTDIR)/etc/latmos-accounts/la-allowed-values.ini
156        install sample/la-sync-manager.ini $(DESTDIR)/etc/latmos-accounts/la-sync-manager.ini
[705]157
158install_templates ::
[881]159        install -d $(DESTDIR)$(DATADIR)/templates
[705]160        $(ABSPERLRUN) -MExtUtils::Install -e 'install({ templates => @ARGV })' \\
[881]161                $(DESTDIR)$(DATADIR)/templates
162
163install_data ::
164        install -d $(DESTDIR)$(DATADIR)
165        $(ABSPERLRUN) -MExtUtils::Install -e 'install({ sqldata => @ARGV })' \\
166            $(DESTDIR)$(DATADIR)
[705]167];
[548]168 
169    return $section;
170}
Note: See TracBrowser for help on using the repository browser.