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 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766
|
#!/usr/bin/make -f
# debian/rules file for the Debian GNU/Linux r-base package
# Copyright 1997-2003 Douglas Bates <bates@stat.wisc.edu>
# Copyright 1998-2019 Dirk Eddelbuettel <edd@debian.org>
#
# $Id: rules,v 1.3 2007/05/06 17:13:23 edd Exp edd $
corepackage = r-base-core
devpackage = r-base-dev
#latexpackage = r-base-latex
pdfpackage = r-doc-pdf
htmlpackage = r-doc-html
nmathpackage = r-mathlib
infopackage = r-doc-info
recdpackage = r-recommended
dbugpackage = r-base-core-dbg
# for the standalone library, no sonames are assigned in the upstream Makefiles
somaj = 1
somin = 0
sorel = 0
libver = $(somaj).$(somin).$(sorel)
debbase := $(CURDIR)/debian
debtmp := $(debbase)/$(corepackage)
debdoc := $(debbase)/$(corepackage)/usr/share/doc/$(corepackage)
debmat := $(debbase)/$(nmathpackage)
debetc := $(debbase)/$(corepackage)/usr/lib/R/etc
debinf := $(debbase)/$(infopackage)
debcnf := $(debbase)/$(corepackage)/etc/R
## edd 24 Oct 2005 use DEB_BUILD_GNU_CPU, not DEB_BUILD_GNU_TYPE
## updated rules throughout
arch := $(shell dpkg-architecture -qDEB_BUILD_GNU_CPU)
buildarch := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
## edd 26 Jul 2013 also use DEB_HOST_ARCH_OS to catch kFreeBSD
buildos := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
#export DH_VERBOSE = 1
# edd 15 Aug 2001 default to blas, atlas can override it
#atlas = --with-blas=blas
# dmb 04 Apr 2003 better to use no specify blas
# atlas = --with-blas
# edd 28 Apr 2003 try configuring with atlas
# atlas = --with-blas=atlas
# edd 16 Oct 2003 back to older default
#atlas = --with-blas=blas
# edd 26 Feb 2004 point to refblas3
#atlas = --with-blas=-lblas-3
# edd 05 Feb 2008 default blas
atlas = --with-blas
# edd 08 Mar 2003 use the new lapack feature
# edd 27 Apr 2003 Set this to =no as we currently see numerical errors
#lapack = --with-lapack=no
# edd 26 Feb 2004 point to lapack3
#lapack = --with-lapack=-llapack-3
# edd 13 Oct 2004 Set this once again to =no as we still see numerical errors
#lapack = --with-lapack=no
# edd 05 Feb 2008 switched back
# edd 05 Feb 2008 oh, no switch back to internal lapack -- see #464833
#lapack = --with-lapack=no
# edd 05 Mar 2008 with lapack as we can now use lapack 3.1 in unstable
lapack = --with-lapack
# edd 02 Sep 2001 default to g77 but let m68k use f2c
# edd 06 Mar 2003 enforce 3.2 versions explicitly
# so that on testing we will pick them over 2.95
# edd 07 Jun 2003 let's fall back to the default compilers
# edd 08 Sep 2005 real defaults, i.e. remove -3.4 strings
# edd 03 Apr 2006 switch to gfortran
# edd 04 Apr 2006 use optimflags, build per-compiler flags later
# edd 26 Jun 2007 need 4.2 for fortran linking
# edd 26 Nov 2007 4.2 is now default, so no longer set -4.2 explictly; also add f95compiler
# edd 11 Oct 2011 setting -std=gnu99 with compiler (thanks, Kurt Hornik)
fortrancompiler = F77=gfortran
f95compiler = gfortran
# edd 10 Jan 2016 mips currently needs gcc-4.9 (cf #810357) and big thanks to Sébastien Villemot
# edd 12 Apr 2016 mips treatment removed again after kernel fix on
#ifeq ($(arch),mips)
#compiler = "gcc-4.9 -std=gnu99"
#else
compiler = "gcc -std=gnu99"
#endif
cxxcompiler = g++
# edd 31 Mar 2014
#optimflags = -O3 -pipe
optimflags = $(shell dpkg-buildflags --get CFLAGS)
# edd 08 Apr 2014 add CPPFLAGS
optimflags += $(shell dpkg-buildflags --get CPPFLAGS)
# edd 22 Apr 2012 gcc-4.7 needs -O2 to build R (also #67359)
ifneq "$(shell gcc --version | head -1 | cut -d' ' -f4 | grep '^4.7')" ""
optimflags = -O2 -pipe
endif
# edd 04 Sep 2001 default compiler flags, lowered for m68k
#compilerflags = -O2
# m68k barks when using g77, and when gcc use -O2
# edd 26 Nov 2002 switched back to g77
# edd 02 Jun 2003 switched back
# cts 04 Jun 2003 use -O1 on m68k
#ifeq ($(arch),m68k)
#fortrancompiler = F2C=f2c
#compilerflags = -O1
#endif
# edd 14 Nov 2003 turn blas off on arm
# edd 12 May 2010 no longer needed -- thx to Modestas Vainius
#ifeq ($(arch),arm)
#atlas = --without-blas
#endif
## edd 09 Nov 2001 ia64 needs gcc-3.0, hppa gets it by default
#ifeq ($(arch),ia64)
#fortrancompiler = F77=g77-3.0
#compiler = gcc-3.0
#cxxcompiler = g++-3.0
#compilerflags = -O2
#endif
## lamont@debian.org 06 Dec 2001 hppa needs -ffunction-sections
ifeq ($(arch),hppa)
optimflags = -O2 -ffunction-sections
endif
## edd 20 Jun 2002 no optimisation or debugging on baby systems
## edd 02 Jun 2003 use this on arm only
## edd 12 May 2010 no longer use it on arm either -- thx Modestas
## edd 04 Aug 2010 on mips and mipsel, don't use -g
## edd 10 Jan 2016 turn all off again
##ifneq "$(findstring $(arch), m68k arm)" ""
#ifneq "$(findstring $(arch), arm)" ""
#ifneq "$(findstring $(arch), mips mipsel)" ""
#optimflags = -g0
##optimflags = -O0 -g0
#endif
## edd 04 Apr 2009 Alpha dies on deriv.c, trying will less optimisation
## edd 16 Apr 2009 commented-out as Kurt Roeckx applied a gcc patch
#ifeq ($(arch),alpha)
#optimflags = -O2 -g0
#endif
## edd 09 Apr 2006 per patch from Andreas Jochens in #361604
ifeq ($(arch),powerpc64)
optimflags += -mminimal-toc
endif
## edd 26 Jul 2013 kFreeBSD wants -O2 per #714506
ifeq ($(buildos),kfreebsd)
optimflags = -O2 -pipe
endif
## edd 30 Apr 2020 ppc64el aka powerpc64le has weird long double behavior breaking build
## so default to longdouble everywhere, but on powerpc64le
## also include powerpc64 and ppc64
longdouble = --enable-long-double
ifneq "$(findstring $(arch), powerpc64le powerpc64 ppc64)" ""
longdouble = --disable-long-double
endif
## edd 04 Apr 2006 generalize from old compilerflags to per-compiler
## edd 11 Oct 2011 -std=gnu goes to CC (thanks to Kurt Hornik)
cflags = $(optimflags)
cxxflags = $(optimflags)
## edd 31 Mar 2014 with thanks to Julian Gilbey in #726913
#fcflags = $(optimflags)
fcflags = $(shell dpkg-buildflags --get FFLAGS)
## edd 17 Sep 2006 suggested by Brian Ripley in email dated 15 Sep 2006
#ldflags = -Wl,-O1,-Bdirect,--hash-style=both
#ldflags = -Wl,-O1
## edd 06 May 2007 try it
## edd 05 Feb 2008 still no go under gcc 4.3
#ldflags = -Wl,-O1,-Bdirect,--hash-style=both
## edd 31 Mar 2014
ldflags = $(shell dpkg-buildflags --get LDFLAGS)
## edd 16 Apr 2008 add -g to optim flags to allow for -dbg package
optimflags += -g
## 12 Jan 2015
## Support for #774031 uncomment the two assignment to pass a non-empty string for this to hold
#builttime := $(shell dpkg-parsechangelog -l$(CURDIR)/debian/changelog | awk -F': ' '/Date/ {print $$2}')
#builttimestamp := "$(builttime)"
buildtimestamp := ""
#arch = kfreebsd-amd64
maketest:
@echo "Hi $(arch)"
@echo "$(findstring $(arch), i486 hppa arm)"
ifeq "$(findstring $(arch), kfreebsd-amd64 x86_64 hppa arm)" ""
@echo "**** TRUE if the arch is NOT in the list as !find == '' ***"
endif
ifneq "$(findstring $(arch), kfreebsd-amd64 x86_64 i486 hppa arm)" ""
@echo "**** TRUE if the arch is in list as find != '' is TRUE ***"
endif
@echo Bye
get-orig-source: upstream
upstream:
#links http://cran.us.r-project.org/src/base
links http://cran.r-project.org/src/base/?M=D
upstreamdevel:
links ftp://ftp.stat.math.ethz.ch/Software/R
#links http://cran.us.r-project.org/src/base
#rsync -vaC rsync.r-project.org::r-devel .
prerelease:
links http://cran.r-project.org/src/base-prerelease
denmark:
links http://www.biostat.ku.dk/~pd/R-release
## edd 24 Oct 2003 build is invoked by the buildd, so we would prefer to
## not imply build-indep; unfortunately R does not build
## properly without it, so we have to stick with it
## edd 15 Jan 2004 trying again on build only build: build-arch build-indep
## the main hook is to then have binary depend on both
## binary-arch and binary-indep, and those on their builds
## edd 19 Sep 2019 for source uploads also build build-indep
build: build-arch build-indep
build-arch: make-arch
build-indep: make-indep
configure: configure-stamp
configure-stamp:
@echo "*** configure ***"
# we have to disable use of the expanded R_LD_LIBRARY_PATH as it
# conflicts with Debian's Atlas-can-replace-Blas scheme
# so set R_LD_LIBRARY_PATH to the minimal value R_HOME/bin
# and discard what configure finds for it on this machine
## edd 06 May 2007 no longer used in R.sh.in
#perl -p -i -e 's|:\@R_LD_LIBRARY_PATH\@||' src/scripts/R.sh.in
# edd 15 Dec 2009 the sh4 architecture needs newer configure than
# R Core uses, so following Kurt's recommendation to
# simply re-run configure here
# edd 03 Apr 2010 added automake
# nope, commented both out
#automake
#autoconf
dh_testdir
R_SHELL=/bin/bash \
mkdir_p="/bin/mkdir -p" \
MKDIR_P="/bin/mkdir -p" \
R_TEXI2DVICMD=emulation \
R_PAPERSIZE=letter \
R_BROWSER=xdg-open \
R_BZIPCMD=/bin/bzip2 \
R_GZIPCMD="/bin/gzip -n" \
PAGER=/usr/bin/pager \
PERL=/usr/bin/perl \
JAVA_HOME=/usr/lib/jvm/default-java \
R_UNZIPCMD=/usr/bin/unzip \
R_ZIPCMD=/usr/bin/zip \
R_PRINTCMD=/usr/bin/lpr \
TAR=/bin/tar \
LIBnn=lib \
AWK=/usr/bin/awk \
DD=/bin/dd \
GREP=/bin/grep \
FGREP="/bin/grep -F" \
EGREP="/bin/grep -E" \
SED=/bin/sed \
GETWD="/bin/pwd" \
CC=$(compiler) \
CXX=${cxxcompiler} \
${fortrancompiler} \
FC=${f95compiler} \
CFLAGS="$(cflags)" \
CXXFLAGS="$(cxxflags)" \
FFLAGS="$(fcflags)" \
FCFLAGS="$(fcflags)" \
CPPFLAGS= \
LDFLAGS="$(ldflags)" \
FLIBS= \
rsharedir=/usr/share/R/share \
rincludedir=/usr/share/R/include \
rdocdir=/usr/share/R/doc \
./configure --prefix=/usr \
--with-cairo \
--with-jpeglib \
--with-readline \
--with-tcltk \
--with-system-bzlib \
--with-system-pcre \
--with-system-zlib \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--datadir=/usr/share/R/share \
--includedir=/usr/share/R/include \
$(atlas) \
$(lapack) \
$(longdouble) \
--enable-R-profiling \
--enable-R-shlib \
--enable-memory-profiling \
--without-recommended-packages \
--build $(buildarch)
## Old options now ignore: --with-pango, --with-png, --without-gnome
touch configure-stamp
make-arch: make-arch-stamp
make-arch-stamp: configure-stamp
@echo "*** make-arch ***"
$(MAKE) CFLAGS="$(cflags)" \
CXXFLAGS="$(cxxflags)" \
FFLAGS="$(fcflags)" \
FCFLAGS="$(fcflags)" \
CC=${compiler} \
CXX=${cxxcompiler} \
${fortrancompiler} \
LDFLAGS="$(ldflags)" \
PKG_BUILT_STAMP="$(buildtimestamp)" \
R_GZIPCMD="/bin/gzip -n" \
R
# the top-level 'make stamp-recommended' target implies 'make docs'
# which (for the buildds) implies a lot of time wasted generating
# output we already take from the initial i386 build
# $(MAKE) CFLAGS="$(compilerflags)" \
# CXXFLAGS="$(compilerflags)" \
# FFLAGS="$(compilerflags)" \
# CC=${compiler} \
# CXX=${cxxcompiler} \
# ${fortrancompiler} \
# stamp-recommended
# make standalone math lib
(cd src/nmath/standalone; \
$(MAKE) CFLAGS="$(cflags) -D_REENTRANT" \
CXXFLAGS="$(cxxflags) -D_REENTRANT" \
FFLAGS="$(fcflags) -D_REENTRANT" \
CC=${compiler} \
CXX=${cxxcompiler} \
${fortrancompiler} \
R_GZIPCMD="/bin/gzip -n" \
libRmath_la_LDFLAGS=-Wl,-soname,libRmath.so.$(somaj) \
shared static )
# edd 25 Jan 2004 make install needs html docs
# edd 03 Feb 2004 new test, try without
#make docs
# edd 15 Jan 2004 make install needs html docs
# edd 25 Jan 2004 not needed as we have 'make docs'
## make html
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
R_GZIPCMD="/bin/gzip -n" \
$(MAKE) docs R_CMD_BUILD_HELP_OPTS="--txt --example"
endif
# edd 26 Mar 2013
$(MAKE) javaconf
touch make-arch-stamp
make-indep: make-indep-stamp
make-indep-stamp: configure-stamp
@echo "*** make-indep ***"
## edd 12 Jan 2004 uncommenting 'make docs' to split binary all/any
## now that recommended packages aren't made
## edd 25 Jan 2004 make docs and make html are made in make-arch
## edd 05 Feb 2004 finally, this works in pre-1.9.0 with Kurt's
## R_CMD_BUILD_HELP_OPTS
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
$(MAKE) -k docs
(cd doc/manual && $(MAKE) html)
# $(MAKE) html
# $(MAKE) help
$(MAKE) info
(cd doc/manual && \
$(MAKE) refman.pdf R-admin.pdf R-data.pdf R-exts.pdf \
R-FAQ.pdf R-intro.pdf R-ints.pdf R-lang.pdf)
$(MAKE) -k pdf
endif
$(MAKE) -k vignettes
touch make-indep-stamp
make: make-stamp
make-stamp: make-arch make-indep
#check: make-arch check-stamp
check: make-stamp check-stamp
check-stamp:
@echo "*** check ***"
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
#ifneq ($(arch),arm)
## edd 11 Oct 2005 also disable on hppa
## edd 15 Apr 2008 call inside of xvfb-run for virtual x11, and switch to check-all
ifeq "$(findstring $(arch), hppa arm)" ""
## edd 29 Jul 2013 also disable on kFreeBSD
ifneq ($(buildos),kfreebsd)
-xvfb-run make check-all
endif
endif
endif
touch check-stamp
clean:
@echo "*** clean ***"
dh_testdir
dh_testroot
rm -f configure-stamp \
build-stamp build-indep-stamp build-arch-stamp \
make-stamp make-arch-stamp make-indep-stamp \
install-indep-stamp install-arch-stamp \
check-stamp
[ ! -f Makefile ] || $(MAKE) distclean
-rm -f `find . -name "*~"`
-rm -rf debian/tmp debian/files* core debian/substvars
-rm -f doc/html/function.html doc/html/packages.html
-rm -f modules/*.so src/unix/Rscript
# left over in CVS from r-base --> r-base-core transition
#(cd debian; rm -vf r-base.dirs r-base.files r-base.lintian \
# r-base.menu r-base.postinst)
dh_clean
install: install-arch install-indep
install-arch: build-arch install-arch-stamp
install-arch-stamp:
@echo "*** install-arch ***"
dh_testdir
dh_testroot
dh_prep -a
dh_installdirs -A
@echo $(debtmp)
$(MAKE) DESTDIR=$(debtmp) install
# edd 16 Apr 2008 make Rscript _again_ as the build is broken
# and we need an explicit RHOME
(cd src/unix; \
rm -vf Rscript $(debtmp)/usr/bin/Rscript; \
$(MAKE) CFLAGS="$(cflags) -D_REENTRANT" \
CXXFLAGS="$(cxxflags) -D_REENTRANT" \
FFLAGS="$(fcflags) -D_REENTRANT" \
CC=${compiler} \
CXX=${cxxcompiler} \
${fortrancompiler} \
RHOME=/usr/lib/R \
DESTDIR=$(debtmp) \
install-Rscript )
#ls -ltr $(debtmp)/usr/bin/
#strings src/unix/Rscript
cp -vax src/unix/Rscript $(debtmp)/usr/bin/
#ls -ltr $(debtmp)/usr/bin/
#strings $(debtmp)/usr/bin/Rscript
(cd src/nmath/standalone; \
$(MAKE) DESTDIR=$(debtmp) install )
# fix permissions (Lintian)
# edd 15 Jan 2006 now under /usr/share/R
# edd 13 Oct 2009 no longer have help-{links,print}.sh
chmod a+x $(debtmp)/usr/share/R/share/sh/echo.sh
# $(debtmp)/usr/share/R/share/sh/help-links.sh \
# $(debtmp)/usr/share/R/share/sh/help-print.sh
# remove unneeded license file, but link them back
rm -v $(debtmp)/usr/lib/R/COPYING
(cd $(debtmp)/usr/lib/R/; \
ln -s ../../share/common-licenses/GPL-2 COPYING)
rm -v $(debtmp)/usr/share/R/doc/COPYING
(cd $(debtmp)/usr/share/R/doc; \
ln -s ../../../share/common-licenses/GPL-2 COPYING)
# edd 15 Jul 2002 reduce compile load on small machines
#ifneq "$(findstring $(arch), m68k arm)" ""
# perl -p -i -e 's/-g -O2/-g0 -O0/g' $(debtmp)/usr/lib/R/etc/Makeconf
#endif
# edd 10 Jan 2003 fix Perl interpreter path
# edd 05 May 2005 no longer needed
# (cd $(debtmp)/usr/lib/R/bin; \
# for file in Rdconv Rprof Sd2Rd build check; do \
# perl -p -i -e "s|/usr/local/bin/perl|/usr/bin/perl|" \
# $${file}; \
# done)
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
# edd 25 Sep 2005 link TeX files into texmf
# edd 03 Oct 2006 use link into /usr/share/, not /usr/lib/
(cd $(debtmp)/usr/share/texmf/tex/latex && \
ln -s ../../../R/share/texmf R)
# that being done, now install in different sub-packages
# move files for r-recommended
# move the html manual files in r-doc-html.files into r-doc-html
# these get built in make-arch too ...
dh_movefiles --sourcedir=debian/$(corepackage) -p$(htmlpackage)
# move files for r-base-html
dh_movefiles --sourcedir=debian/$(corepackage) -pr-base-html
# move files for r-base-latex
#dh_movefiles --sourcedir=debian/$(corepackage) -pr-base-latex
make prefix=$(debtmp)/usr \
rdocdir=$(debtmp)/usr/share/R/doc \
install-pdf
# the indep package r-doc-info is made now
make prefix=$(debtmp)/usr \
infodir=$(debtmp)/usr/share/info install-info
# move the pdf manual files listed in r-doc-pdf.files into r-doc-pdf
dh_movefiles --sourcedir=debian/$(corepackage) -p$(pdfpackage)
# move the html manual files in r-doc-html.files into r-doc-html
dh_movefiles --sourcedir=debian/$(corepackage) -p$(htmlpackage)
# edd 06 Dec 2006 lintian wants them compressed with -9, and R
# seems to pre-zip them lower
gunzip -9v $(debtmp)/usr/share/info/*.gz
# move files for r-doc-info
dh_movefiles --sourcedir=debian/$(corepackage) -p$(infopackage)
# deal with stupid automake / install-info issue (cf #235713)
rm -vf $(debinf)/usr/share/info/dir \
$(debinf)/usr/share/info/dir.old
endif
touch install-indep-stamp
# move all the rest into r-base-core
# edd 10 Sep 2005 no longer needed as we install into r-base-core
# dh_movefiles -p$(corepackage)
# for the standalone library package, move the two libs
# as 'make install' ignores these, we have to do it by hand
dh_installdirs -p$(nmathpackage) usr/include usr/lib \
usr/share/lintian/overrides \
usr/lib/pkgconfig
# move the libraries made and installed by R, and the pkgconfig file
dh_movefiles --sourcedir=debian/$(corepackage) -p$(nmathpackage)
# move the library to a lib*.so.major.0.0, then link
(cd $(debmat)/usr/lib; \
ls -l ; \
mv -v libRmath.so libRmath.so.$(libver); \
ln -sv libRmath.so.$(libver) libRmath.so.$(somaj); \
ln -sv libRmath.so.$(somaj) libRmath.so)
# and create a link for Rmath.h
# rather copy directly into the more independent package r-mathlib
install -m 0644 src/include/Rmath.h \
$(debmat)/usr/include
# now deal with $R_HOME/etc <--> /etc/R
# edd 03 Apr 2003 patch Renviron for new R_LIBS standard
# edd 24 Apr 2004 patch Renviron for R_PAPERSIZE (bug #245525)
# edd 16 Jun 2004 nope, doesn't work
# edd 09 Apr 2005 also move the new file repositories to /etc/R
# edd 24 Sep 2006 idem for ldpaths
# edd 21 Jun 2008 do not move Renviron to /etc/R as ucf will handle this,
# but still provide the softlink from /etc/R here
# edd 13 Sep 2008 install Rprofile.site and Renviron.site and link back
install -m 0644 debian/Rprofile.site $(debcnf)
install -m 0644 debian/Renviron.site $(debcnf)
(cd $(debetc); \
cat $(debbase)/Renviron-R_LIBS.patch | patch --verbose; \
mv Makeconf repositories ldpaths ../../../../etc/R/; \
mv Renviron Renviron.ucf; \
ln -s /etc/R/Makeconf .; \
ln -s /etc/R/Renviron .; \
ln -s /etc/R/Renviron.site .; \
ln -s /etc/R/Rprofile.site .; \
ln -s /etc/R/ldpaths .; \
ln -s /etc/R/repositories . )
# cat $(debbase)/Renviron-R_PAPERSIZE.patch | patch --verbose;
# deal with build.help.pl's --htmllists argument
# edd 29 Jan 2009 Not needed as of R 2.9.0
#(cd $(debtmp)/usr/share/R/share/perl; \
# cat $(debbase)/build-help.pl.patch | patch --verbose )
# edd 28 Sep 2006 patch javareconf to modify in /etc/R
# edd 24 Feb 2013 disabled for R 2.15.3
#(cd $(debtmp)/usr/lib/R/bin; \
# cat $(debbase)/javareconf.patch | patch --verbose )
# edd 24 Jan 2006 deal with old postinst/postrm scripts
# calling the old /usr/lib/R/share/perl path
#(cd $(debtmp)/usr/lib/R && ln -s ../../share/R/share . )
# edd 06 Feb 2006 softlink fails with upgrades from older versions
# edd 29 Jan 2009 Not needed as of R 2.9.0
# dh_installdirs -p$(corepackage) usr/lib/R/share/perl
# install -m 0644 debian/build-help.pl \
# debian/$(corepackage)/usr/lib/R/share/perl/
# add tab completion by Deepayan
#install -m 0644 debian/R.bash_completion \
# debian/$(corepackage)/etc/bash_completion.d/R
# edd 24 Mar 2014 now installs via dh_bash-completion
dh_bash-completion
# edd 12 Jan 2016 new location
#install -m 0644 debian/R.bash-completion \
# debian/$(corepackage)/usr/share/bash-completion/completions/R
# edd 02 May 2007 add libR.conf for ld.so
# edd 13 Sep 2009 no more under Policy 3.8.3
# install -m 0644 debian/libR.conf \
# debian/$(corepackage)/etc/ld.so.conf.d/libR.conf
# edd 03 Apr 2010 add a link from usr/lib
(cd $(debtmp)/usr/lib/; \
ln -sv R/lib/libR.so . )
# edd 21 Jun 2012 add icon and desktop file from Philip Johnson's patch
(cd debian/icon-class-patch && munpack rlogo_icon.png.mpack)
install -m 0644 debian/icon-class-patch/rlogo_icon.png \
debian/$(corepackage)/usr/share/icons/hicolor/48x48/apps
install -m 0644 debian/icon-class-patch/R.desktop \
debian/$(corepackage)/usr/share/applications
rm debian/icon-class-patch/rlogo_icon.png
touch install-arch-stamp
#install-indep: make-arch make-indep install-arch install-indep-stamp
install-indep: build-indep install-indep-stamp
install-indep-stamp:
@echo "*** install-indep ***"
dh_testdir
dh_testroot
dh_prep -a
dh_installdirs -A
# make prefix=$(debtmp)/usr install-pdf
#
# # the indep package r-doc-info is made now
# make prefix=$(debtmp)/usr \
# infodir=$(debtmp)/usr/share/info install-info
#
# # move the pdf manual files listed in r-doc-pdf.files into r-doc-pdf
# dh_movefiles -p$(pdfpackage)
# # move the html manual files in r-doc-html.files into r-doc-html
# dh_movefiles -p$(htmlpackage)
# touch install-indep-stamp
# # move files for r-doc-info
# dh_movefiles -p$(infopackage)
# but clean up dir and old.dir
rm -vf $(debbase)/$(infopackage)/usr/share/info/dir \
$(debbase)/$(infopackage)/usr/share/info/dir.old
touch install-indep-stamp
# Build architecture-independent files here.
# edd 5 Feb 2004 binary-indep: build-indep install-indep
# edd 25 Sep 2019 also enforce arch to avoid build=all under source upload
binary-indep: build-arch install-arch build-indep install-indep
@echo "*** binary-indep ***"
dh_testdir -i
dh_testroot -i
dh_link -i
#dh_installdebconf -i
dh_installdocs -i
dh_installdocs -v -p$(htmlpackage)
#dh_installexamples -i
#dh_installmenu -i
#dh_installemacsen -i
#dh_installpam -i
#dh_installmime -i
#dh_installinit -i
#dh_installcron -i
#dh_installmanpages -i
#dh_installinfo -i
#dh_undocumented -i
dh_installchangelogs -i
# install lintian "silencer"
# edd 13 Oct 2009 this package is no longer needed / created
# install -p -m 0644 debian/$(latexpackage).lintian $(debbase)/$(latexpackage)/usr/share/lintian/overrides/$(latexpackage)
dh_installdirs -p$(devpackage) usr/share/R/debian
install -p -m 0755 debian/r-cran.mk \
$(debbase)/$(devpackage)/usr/share/R/debian
dh_compress -i
dh_fixperms -i
#dh_suidregister -i
dh_installdeb -i
#dh_perl -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
# Build architecture-dependent files here.
binary-arch: build-arch install-arch
@echo "*** binary-arch ***"
dh_testdir -a
dh_testroot -a
#dh_installdebconf -a
# edd 04 Apr 2006 AUTHORS RESOURCES THANKS Y2K FAQ all gone
dh_installdocs -p$(corepackage) doc/NEWS.* README \
debian/README.Atlas \
debian/README.mathlib
dh_installdocs -p$(nmathpackage) doc/NEWS.* README \
debian/README.mathlib
dh_installdocs -p$(dbugpackage)
#dh_installexamples -a
#dh_installexamples -p$(corepackage) src/nmath/standalone/test.c
dh_installexamples -p$(nmathpackage) src/nmath/standalone/test.c
#dh_installmenu -a
#dh_installemacsen -a
#dh_installpam -a
#dh_installmime -a
#dh_installinit -a
#dh_installcron -a
#dh_installmanpages -a -p$(corepackage) getline.3
#dh_installman -p$(corepackage) doc/R.1
## dh_installinfo -a -n doc/manual/R-*.info*
## edd 04 Apr 2004 manual is dangling unless r-doc-pdf is installed ...
##(cd $(debdoc)/doc && ln -s ../../../../lib/R/doc/html .)
##(cd $(debdoc)/doc && ln -s ../../../../lib/R/doc/manual .)
# ... so install doc as a link, as we already did with library
# (cd $(debdoc) && ln -s ../../../lib/R/doc .)
(cd $(debdoc) && ln -s ../../R/doc .)
(cd $(debdoc) && ln -s ../../../lib/R/library .)
# install lintian "silencer"
install -p -m 0644 debian/$(corepackage).lintian \
$(debbase)/$(corepackage)/usr/share/lintian/overrides/$(corepackage)
install -p -m 0644 debian/$(recdpackage).lintian \
$(debbase)/$(recdpackage)/usr/share/lintian/overrides/$(recdpackage)
install -p -m 0644 debian/$(nmathpackage).lintian \
$(debbase)/$(nmathpackage)/usr/share/lintian/overrides/$(nmathpackage)
# install -p -m 0644 debian/$(dbugpackage).lintian \
# $(debbase)/$(dbugpackage)/usr/share/lintian/overrides/$(dbugpackage)
#dh_undocumented -a
dh_installchangelogs -a -k doc/NEWS
# dh_strip -a
dh_strip --dbg-package=r-base-core-dbg
dh_compress -a
dh_fixperms -a
#dh_suidregister -a
dh_link -a
dh_makeshlibs -a
dh_installdeb -a
dh_perl -a
dh_shlibdeps -a -l $(debbase)/$(corepackage)/usr/lib/R/lib
# @echo "*** Pruning shlibdeps result from double atlas entry ***"
# cat debian/r-base-core.substvars
# perl -p -i -e 's/atlas2-base, //' debian/r-base-core.substvars
# cat debian/r-base-core.substvars
# @echo "*** Pruning atlas from r-recommended shlibdeps ***"
# cat debian/r-recommended.substvars
# perl -p -i -e 's/atlas2-base, //' debian/r-recommended.substvars
# cat debian/r-recommended.substvars
# echo "*** Done ***"
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
#binary: binary-indep binary-arch install-arch install-indep
binary: make-stamp check binary-arch binary-indep
.PHONY: build clean binary-indep binary-arch binary install install-arch install-indep
|