summaryrefslogtreecommitdiff
path: root/README
blob: a069236039231818a11d66e6ff373271369a7de0 (plain) (blame)
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
This directory contains my scripts to build backports of R software from Debian
sid or even experimental to older Debian distributions.

Currently I am using the following setup:

~/.pbuilderrc contains:

  NAME="$DIST-$ARCH"
  APTCACHEHARDLINK=yes
  DISTRIBUTION="$DIST"
  DEBOOTSTRAPOPTS=("--arch" "$ARCH" 
    "${DEBOOTSTRAPOPTS[@]}")
  APTKEYRINGS="/home/jranke/.gnupg/pubring.gpg"
  BASETGZ="`dirname $BASETGZ`/$NAME-base.tgz"
  BUILDRESULT="/var/cache/pbuilder/$NAME/result/"
  APTCACHE="/var/cache/pbuilder/$NAME/aptcache/"
  MIRRORSITE="http://ftp.de.debian.org/debian/"
  OTHERMIRROR="deb http://security.debian.org $DIST/updates main|deb http://ftp.de.debian.org/debian $DIST-backports main|deb http://localhost/r-cran $DIST-cran40/"
  COMPONENTS="main"

This means I have the appropriate aptcache and buildresult directories set up
under /var/cache/pbuilder. I have several pbuilder images used for package
creation under /var/cache/pbuilder, among others:

  /var/cache/pbuilder/buster-i386-base.tgz

With the pbuilderrc mentioned above, this can be created as a normal user with

  export ARCH=i386
  export DIST=bullseye
  sudo -E pbuilder create

We also need to create the build directory:

  sudo mkdir /var/cache/pbuilder/bullseye-i386/build

When using these scripts on Debian, I used to configure sudo to allow my normal
user to use pbuilder, apt-get and the backporting scripts. Currently, I have 
set up my Debian installations using the Ubuntu like sudo configuration that
I select during the installation.

I am building other architectures on different machines (raspi: armxx) or in a
local chroot (amd64).

For creating a local chroot, I am using (e.g. for bullseye)

  cd /var/chroot
  sudo mkdir bullseye-amd64
  sudo debootstrap bullseye bullseye-amd64 http://ftp.de.debian.org/debian/

Then I add a new entry in /etc/schroot/schroot.conf like

  [bullseye64]
  description=Debian bullseye 64-bit
  type=directory
  profile=default
  directory=/var/chroot/bullseye-amd64

and use sudo schroot -c bullseye64 to enter it. Within the chroot I install
some necessary or useful stuff

  apt install vim gnupg build-essential devscripts

add the matching local r-cran repository to /etc/apt/sources.list like

  deb http://localhost/r-cran bullseye-cran40/
  deb-src http://localhost/r-cran bullseye-cran40/

and tell apt to trust my key (from my Debian CRAN page):

  gpg --keyserver keyserver.ubuntu.com --recv-key '95C0FAF38DB3CCAD0C080A7BDC78B2DDEABC47B7'
  gpg --armor --export '95C0FAF38DB3CCAD0C080A7BDC78B2DDEABC47B7' > /etc/apt/trusted.gpg.d/cran_debian_key.asc

In the chroot, build-essential and devscripts have to be installed

Contact - Imprint