From Fedora Project Wiki
Fedora packages I am maintainer of, or involved with
Misc
- git-changelog A simplified version of dcantrell's makebumpver script, it prints a nice summary of commits since the specified tag, suitable for use in a rpm spec file %changelog section.
- update images, logs, etc.
Anaconda Development
- grab the relevant boot.iso for the release you are working on
https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/images/boot.iso (I use Everything because it has, well, everything)
- Boot the iso in a VM and check the anaconda version in the boot.iso
This version can be used to set where in history the makeupdates script starts grabbing changes from. Use virt-viewer->Send key->Ctrl+Alt+F1 to switch to the tmux console, the version will be at the top
- Branch anaconda from the release you are working on
Make some changes (eg. start out by adding a log.info("FOO WAS HERE") to ./anaconda right before the anaconda._intf.setup(ksdata) line.
- Run ./scripts/makeupdates to generate an updates.img
If you're curious about what it put into it, run with -k and it will keep the ./updates/ directory with all the files it put into it. If the version on the boot.iso is older than the most recent anaconda tag (shown by git log) you will need to tell the script that, by running it like:
./scripts/makeupdates -t anaconda-29.18-1
(the boot.iso I have is .18 and the current branch is tagged as .19 so you need to include all changes since .18 in the updates.img)
- Setup a webserver to serve up the updates.img
This can be as simple as: mkdir /tmp/updates; cp updates.img /tmp/updates; cd /tmp/updates; python3 -m http.server You'll need to know the IP of your workstation, and may need to open up port 8000 so the VM can access the webserver. You can do this with firewalld by by running:
firewall-cmd --add-port=8000/tcp && firewall-cmd --permanent --add-port=8000/tcp
- Then reboot the VM with the boot.iso, and interrupt the boot screen (I hit the up arrow to select the
first entry), hit tab to edit it, delete 'quiet' to enable boot message output, and add:
updates=http://IP-TO-DEVBOX:8000/updates.img
And hit enter to boot with the updates.img
After it boots switch to the tmux console and check /tmp/anaconda.log for your new log message (FOO WAS HERE)
If it doesn't boot it is likely a problem reading the updates.img, which can be a networking issue (VM not able to connect to the host) or the port (8000 in this case) isn't open.
Building boot images
See the Lorax documentation
Creating a disk image
See the livemedia-creator documentation
Moving a project to github
- Make a new repo there (in rhinstaller or wherever it is going)
- Edit .git/config and make a copy of the origin section, replace the url with the new one.
- rename the old origin to something descriptive like 'fedorahosted' and also change the fetch line so the origin is replaced by this new name.
- on master run git push -u origin master to push it to the new location on github
- git push --tags
- git checkout rhel7-branch && git push -u origin rhel7-branch
- Repeat for any other active branches.
- git fetch fedorahosted
- git checkout -b fh-master fedorahosted/master
- git rm -r * && git rm .gitignore
- create and edit a dead.repo file
- git add dead.repo
- git commit -m "Moved XX to github"
- git push --dry-run
- If the destination looks correct, git push and if not, git push fedorahosted HEAD:<branchname>