trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: January 2014

Arch - Building TDE i686 on x86_64 hardware

From: "David C. Rankin" <drankinatty@...>
Date: Mon, 27 Jan 2014 20:34:10 -0600
All,

  A note to all who may try building TDE on arch. You can build/package both
x86_64 and i686 packages on your x86_64 box -- simply.

  To build i686 packages on x86_64, create a 2nd archroot using a custom
makepkg.conf and pacman.conf. To create the custom conf files, the only changes
necessary are change '$auto' or auto, and x86_64 and x86-64 to 'i686' as follows:

  echo "  Creating i686 pacman.conf"
  cp /etc/pacman.conf "$tmp"
  sed -i 's/Architecture = auto/Architecture = i686/' "$tmp/pacman.conf"

  echo "  Creating new i686 archroot in '$CHROOT'"
  cp /etc/makepkg.conf "$tmp"
  sed -i 's/x86.64/i686/g' "$tmp/makepkg.conf"

  echo "  Creating new i686 archroot in '$CHROOT'"
  sudo mkarchroot \
    -C "$tmp/pacman.conf" \
    -M "$tmp/makepkg.conf" \
    $CHROOT/root base base-devel sudo gdb

  Build your first package by switching to the directory with the PKGBUILD for
the first dependency and build/clean with:

  sudo makechrootpkg -c -r $CHROOT

  Then create a [local] repository to hold all packages with 0777 permissions
and update your $CHROOT/root/etc/pacman.conf with the [local] repo definition

  sudo mkdir -p $CHROOT/root/repo || echo -e " WARNING: unable to create
\$CHROOT/root/repo\n You must manually setup local repository.\n"
  echo "  Setting permissions for '$CHROOT/root/repo'"
  [[ -d $CHROOT/root/repo ]] && sudo chmod 0777 $CHROOT/root/repo

  echo "  Adding local repository to root/pacman.conf"
  echo -e "\n[local]\nSigLevel = Never\nServer = file:///repo\n" > /tmp/repotmp.txt
  sudo bash -c "cat /tmp/repotmp.txt >> $CHROOT/root/etc/pacman.conf"
  rm /tmp/repotmp.txt

  The copy the first package to $CHROOT/root/etc/pacman.conf and create the
[local] repository index with:

  sudo repo-add $CHROOT/root/repo/local.db.tar.gz $CHROOT/root/repo/*.xz

  Then simply build all remaining dependencies and TDE in the order specified,
install each complete package to the rw-layer of the chroot when built, and copy
each completed package to $CHROOT/root/repo updating the local repository index
as shown above after building/installing each package Build all remaining
packages with:

  sudo makechrootpkg -r $CHROOT




-- 
David C. Rankin, J.D.,P.E.