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;
|