-
Notifications
You must be signed in to change notification settings - Fork 20
Build The World Notes
In order to put some notes down about this thing.
Most recent notes at the top
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)
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
Copyright 2022 Contributors to the SGUG-RSE project.
Join us on Discord: https://discord.gg/skp987v