Skip to content

Build The World Notes

andy diller edited this page Jun 3, 2022 · 4 revisions

In order to put some notes down about this thing.

Some Time and Notes from Discord

Most recent notes at the top

June 2022 Work

https://gist.github.com/unxmaal/a0968a8a28311fdc1a229fe70b6d3495

U: this only handles the first phase, building the base set of packages that i'm pretty sure are all that's required for tdnf to function on a bare irix install, using the current 0.0.7 rse env on my o350, the next phase is to

  • install all those into a chroot,
  • tarball the chroot,
  • extract the tarball into an irix without an rse (or one that's been relocated), and
  • test if tdnf works (and rpm can install rpms)

Jan 2022 Work & Notes

Unxy Method

mkdir -p tiny_build && cd tiny_build
mkdir -p output/{PROGRESS,RPMS,SRPMS}
# get the irix_chroot.tar.gz
sudo tar xvzf irix_chroot.tar.gz
# test your chroot
sudo chroot ./chroot /bin/csh
# run some base commands, like ls
# then switch to sgugshell and run more base commands
/usr/sgug/bin/sgugshell
exit 
# get the worldrebuilder.sh
# get the releasepackages.lst
# git clone sgug-rse to ~/sgug-rse.git and check out wip-testing or 0.0.8alpha etc
cp releasepackages.lst ~/sgug-rse.git/.
bash -x worldrebuilder.sh /usr/people/edodd/btw/tiny_build/rpmbuild
# install the rpms you've made
#   NOTE you have to use full paths!
sudo rpm -ivh  --root=/usr/people/edodd/btw/tiny_build/chroot output/RPMS/noarch/*.rpm output/RPMS/mips/*.rpm --nodeps
# go back into the chroot and tarball up /usr/sgug
sudo chroot ./chroot /bin/csh
/usr/sgug/bin/sgugshell
cd /usr
tar cvzf sgug_whatever.tar.gz sgug
exit
# copy this somewhere like /usr
cp /path/to/tiny_build/chroot/sgug_whatever.tar.gz /usr/.
# log out of everything on this box
# log in, do NOT run sgugshell, su as root
cd /usr
mv sgug sgug_working
gunzip sgug_whatever.tar.gz
/usr/sgug/bin/sgugshell
# run some tests. tdnf should work.

http://booterizer.com/files/irix_chroot.tar.gz

if tdnf fails or whatever, you'll want to run this

sudo cp -Ra /usr/etc chroot/usr/.
sudo cp -Ra /etc chroot/.
sudo cp -Ra /usr/sgug/etc/yum.repos.d chroot/usr/sgug/etc/.

H: iirc Dan added only the parts required to install rpm-packages to the selfhoster, for 0.0.8 you take those packages + all deps required for tdnf ? I remember gcc toolchain was among the huge application package, maybe it is a good idea to have a package just adding clang-llvm + deps and no further apps for those who want to build stuff on their own ? I assume it still makes sense to have a package that installs some basic features besides the selfhoster/tdnf package and the llvm/clang package.

The build essential -package would also be for those who want to download the specs/patches from our repo and build them on their own, I think we have some of those folks on Discord.

J: I was thinking of "build-essential" as being an empty RPM spec we could put up on the repos. I think having the core archive be only the bare minimum for dnf is good. We can always offer a snapshot of the rest of the packages if anyone wants to archive it. Or there may already just be a script someone wrote for Linux to archive dnf repos.

U: I'm only thinking about a minimal tdnf capable tarball + precompiled packages in repos right now For repos, I'm thinking we have two for 0.0.8: stable and unstable Flow goes from wip-testing to 0.0.8alpha which will be built and pushed to the 0.0.8stable dnf repo Anything else can be built from wip-testing directly (or a 008 wip branch?) and pushed to the unstable dnf repo