[Bug 592094] New: Version control and mock builds for custom packages



http://bugzilla.gnome.org/show_bug.cgi?id=592094

           Summary: Version control and mock builds for custom packages
    Classification: Infrastructure
           Product: sysadmin
           Version: unspecified
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: Packages
        AssignedTo: sysadmin-maint gnome bugs
        ReportedBy: otaylor redhat com
         QAContact: sysadmin-maint gnome bugs
      GNOME target: ---
     GNOME version: ---


--- Comment #0 from Owen Taylor <otaylor redhat com> 2009-08-17 14:13:20 UTC ---
The current procedure for locally built RPMS (RHEL machines) is roughly as
follows:

 - Set up your user account to build into ~/src/redhat by creating a
~/.rpmmacros with:

---
%_topdir            /home/users/otaylor/src/redhat
%packager Owen Taylor <otaylor redhat com>
---

 - Create a package; ideally this either a rebuild of a Fedora package, or an
update of an existing EPEL package to a newer version.

 - Build this on window.gnome.org (i386) or fixed.gnome.org (x86_6) with:

   rpmbuild -ba <package>.spec --define 'dist .el5.gnome'

   after installing any necessary build dependencies.

 - Copy the src.rpm into /home/admin/pkgs/el5/SRPMS

 - Copy the binary into /home/admin/pkgs/el5/i386 or ../x86_64

 - As root on container, run 'cobbler reposync'

This has various problems:

 - The package is built against whatever is installed on window or fixed, hence
reproducibility problems

 - We end up with a gigantic mess of build dependencies on window and fixed.

 - Change history is limited to a) the the %changelog in the spec file b) the
left-over pile of old SRPMS.

 - It's a bit of a pain

Rough plan for improvement:

 - Set up mock on fixed for doing chroot builds for both x86_64 and i386
 - Check the spec files and patches into a git module (subdirectory per package
maybe)
 - Have a simple makefile that takes the spec file, the patches, sources from a
lookaside directory, builds a SRPM, and rebuilds that into mock. 
 - Bonus points: make the makefile copy stuff into /home/admin and use fishpoll
to trigger the cobbler reposync (separate target?)

It would certainly be conceivable to use infrastructure components from Fedora
(koji and pkgcvs) to set up something much more sophisticated, but I think it
would be complete overkill. Low tech sounds better.

-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the QA contact of the bug.
You are watching the assignee of the bug.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]