On Mon, 2006-05-15 at 09:10 +0200, Przemyslaw Gawronski wrote: > Hi, on some servers I need to have proftpd (and postfix) with mysql > suport. What I usually do is compile them from source with these > options. But wouldn't it be more 'correct with art' sort of speak > rebuilding the source rpm's ? If so I would be very thank full for some > tips on how to manage it. I think the postfix src.rpm has an option in it to make it cake to rebuild with mysql support. Not sure about proftpd. -=- Anyway yes - it is relatively easy to rebuild custom RPMs. install this package: fedora-rpmdevtools (it is in extras) Then run (as a regular non root user) : fedora-buildrpmtree This will create an rpm build tree structure in ~/rpmbuild Grab the src.rpm you want to build and install it as your regular user. Look in updates first so you know you have the latest. cd ~/rpmbuild/SPECS/ and the spec file will be there. There are a couple things you want to modify: 1) The release tag This you modify so it looks newer than the existing rpm. I usually just append .something IE - rebuilding sox with lame/libmad support, I append .mp3 to the end. 2) BuildRequires add the devel packages that you need - IE for sox with lame/libmad support - I add BuildRequires: lame-devel libmad-devel (that isn't 100% necessary, it is just cleaner - and needed if you are going to rebuild in a clean chroot via mock or mach) 3) in %build - you may (or may not, but probably for postfix/proftpd) add the flags to the configure switch. IE change %configure to %configure --with-foo Then - to a test build: rpmbuild -bi package.spec It's possible that your new configuration switches will result in additional files that need to be added to %files section. If it complains about unpackaged files, add them to %files section. When the -bi works, you can build your modified rpms with rpmbuild -ba package.spec Install your new package and enjoy. To prevent your modified package from being replaced, add exclude=package to fedora-base.repo and fedora-updates.repo or (if it is an extras package) fedora-extras.repo but watch for updates (you'll want to rebuild again if there was a security patch)