File: buildsystem.pm

package info (click to toggle)
dh-octave 1.13.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 164 kB
  • sloc: perl: 451; sh: 311; makefile: 35
file content (77 lines) | stat: -rw-r--r-- 2,617 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Copyright © 2018, 2022, 2024, 2025  Rafael Laboissière <rafael@debian.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.

package Debian::Debhelper::Buildsystem::octave; ## no critic

use strict;
use warnings;
use parent qw(Debian::Debhelper::Buildsystem);
use Debian::Debhelper::Dh_Lib;

sub DESCRIPTION {
    "Octave"
}

sub install {
    my $this = shift;
    my $destdir = shift;
    my $arch = dpkg_architecture_value("DEB_HOST_MULTIARCH");
    my $mpath = "$destdir/usr/share/octave/packages";
    my $bpath = "$destdir/usr/lib/$arch/octave/packages";

    $this->doit_in_sourcedir ("octave",
                              "--no-gui",
                              "--no-history",
                              "--silent",
                              "--no-init-file",
                              "--no-window-system",
                              "/usr/share/dh-octave/install-pkg.m",
                              $mpath, $bpath);

    if (-d $mpath) {

        # Remove unnecessary documentation files
        doit ("/usr/share/dh-octave/clean-docdir", $mpath);
        doit ("find", $mpath, "-name", "COPYING", "-exec", "rm", "-f", "{}", ";");
        doit ("find", $mpath, "-name", "LICENSE", "-exec", "rm", "-f", "{}", ";");

	# Remove left over files *-tst
        doit ("find", $mpath, "-name", "*-tst", "-exec", "rm", "-f", "{}", ";");

	# Remove empty left-over directories
	doit ("find", $mpath, "-type", "d", "-empty", "-delete");

    }

    if (-d $bpath) {

	# Fix permission of installed *.oct and *.mex files, as per FHS 3.0
	# sections 4.6 and 4.7 (see Bug#954149)
	doit ("find", $bpath, "-name", "*.oct", "-exec", "chmod", "-x", "{}", ";");
	doit ("find", $bpath, "-name", "*.mex", "-exec", "chmod", "-x", "{}", ";");

	# Remove empty left-over directories
	doit ("rmdir", "--ignore-fail-on-non-empty", "-p", $bpath);
    }

}

sub clean {
    my $this = shift;
    $this->doit_in_sourcedir_noerror ("dh_octave_clean");
}

1;