1,885
edits
Changes
→Release Dates, Presentations, and Quizzes
Previous semester: [[Fall 2010 SBR600 Weekly Schedule]]
= Week 1 (Jan 10) - Introduction , Building from Source, and Creating RPM Packages =
== Tuesday ==
=== Welcome ===* WelcomeAbout this course
* Introductions
* Introduction to Free Software and Open Source
** The [http://fsf.org Free Software Foundation]
** Working with Open Source
** Working with the Fedora Project
* <span style="background: #ffff00">* [[SBR600 Communication Tools|Communication Tools]]</span> - '''Resource page for setting up wiki, IRC, and FAS2 accounts'''** [[SBR600|Course Outline]]* How this Course Works** [[SBR600 Communication Tools]]** How coursework is submitted in SBR600* [[FUDCon Tempe 2011]] trip** Selection of attendees* Visit to the [[CDOTArea]] Area
=== To Do ===
'''By Wednesday, January 12:'''
# [[SBR600 Communication Lab|Communication Lab]]# [[SBR600 Fedora Installation|Fedora Installation]]# [[SBR600 Build-from-Source Lab|Build-from-Source Lab]]
== Thursday ==
=== RPM Packages ===* Differences between managing RPMS and Installing from Source** RPMS provide a database of installed software*** Let you determine what's installed*** Purpose Automatic management of dependencies*** Identify the databaseorigin of files* Querying the RPM database** Permit easy update or removal** rpm -q* Enable you to verify installation (useful for spotting file corruption and intrusions)* [[RPM Package Contents|Contents of an RPM Package]]
== Friday = The RPM Database ===
* Basic Sections# preamble - basic metadata# %prep - commands to prepare the package for building# %build - commands to build the package# %install - commands to install the built files# %check - commands to check/test the built files (optional, often not included)# %clean - commands to clean up the disk space# %files - list of files to be included in the pacakge# %changelog - record of the package's change-history* Scriptlets** %pre -- run before installation** %post -- run after installation** %preun -- run before uninstallation** %postun -- run after uninstallation*** Note that during upgrade, the installation of the new package is considered to happen before the removal of the old package.* Macros** %{_tmppath}** %{buildroot}** %{_bindir}** %{_datadir}** %{_mandir}** %{_smp_flags}** %setup** %configure** %makeinstall[[RPM Packaging Process]]
=== Demo: Creating a Simple Package ===
* Writing the specfile
* Testing the specfile
** Using rpmlint
=== Resources ===
* Two simple [http://matrix.senecac.on.ca/~chris.tyler/osd600/makefile-examples.tgz makefile examples]
* [[:fedora:PackageMaintainers|Fedora Package Maintainers page]]
** [[:fedora:PackageMaintainers/CreatingPackageHowTo|Packaging How-To]]
* ''Fedora Linux'' chapter 5 (see Seneca Library website > eBooks > View All > Safari > Fedora Linux).
* rpmlint
** [[:fedora:Common Rpmlint issues|Fedora Common Rpmlint issues]]
= Week 2 (January 17) - Using Mock and Koji =
== Tuesday ==
== Tuesday = ToDo ===* Discussion of issues related to building** Finding dependencies.** <code>-j''X''</code> flag to enable multiple jobs
== Thursday ==
=== Creating Packages mock: Testing BuildRequires ===
=== Writing a specfile koji: Testing multiple architectures ===
=== Resources ===
* mock
** [[:fedora:Projects/Mock|Mock Project page]]
** [[:fedora:Using_Mock_to_test_package_builds|Using Mock to test package builds]]
* koji
** [[:fedora:PackageMaintainers/UsingKoji|Using Koji]]
== ToDo =Week 3 (January 24) - Solving Build Issues =
= Week 3 (January 24) - Using Mock and Koji = Tuesday ==
= Week 5 (February 7) - Repositories/Distributing =
# Create a GPG key: <code>gpg --gen-key</code>
# Add the e-mail address associated with your gpg key to the <code>%_gpg_name</code> macro in <code>~/.rpmmacros</code> -- the line will look like this: <code>%_gpg_name "<i>e-mail-address</i>"</code>
# Find (or make) some packages to put in your repository. Make sure that the epoch-version-release is higher than that of any package with the same name in the Fedora repositories.
# Sign those packages with: <code>rpm --addsign <i>packagefile</i></code>
== ToDo ==
Lab
* Project work
= Release Dates, Presentations, and Quizzes =* March 7 - '''Release 0.1'''* March 15/17 - Pre-0.2 presentations* March 24 - Written Quiz* April 4 - '''Release 0.2'''* April 5/7 - Pre-0.3 presentations* April 11/13 (To Be Confirmed) - OCE Presentations* April 14 - Practical Quiz* April 22 - '''Release 0.3''' - DO NOT BE LATE! <!-- = Week 8 =
* Git
** See http://git-scm.org for basic notes and tutorials
git pull origin $SomeoneElsesBranch
git checkout $SomeoneElsesBranch
-->
= Exam Week =