The Source Ruckus Packager (SRP) is the source based package management system used by Source Ruckus Linux. It aims to simplify the automation of installing, uninstalling, verifying, and upgrading source based software packages.
Be the first to post a text review of Source Ruckus Packager. Rate and review a project by clicking thumbs up or thumbs down in the right column.
2007-04-06: summary of changes from 2.3.0 to 2.4.0 -------------------------------------------------- - squashed bug #083 (brp prepost exceptions) - squashed bug #087 (DEVDATE multiple expansion) - squashed bug #085 (Makefile.common) - squashed bug #086 (foo dist target should be dist-brp) - squashed bug #017 (sr.exec_path) - squashed bug #088 (dist-* target deps) - squashed bug #084 (SRP_CHAIN) - squashed bug #089 (SRP_{,NO_}LEFTOVERS) - squashed bug #091 (python bug #1609958) - squashed bug #092 (SRP_CHAIN upgrade) Fixing bug #085 introduces SRP's Makefile.common. This makefile can be used by package maintainers to consistently create foo-x.y.z.tar.bz2, foo-x.y.z-r.srp, and foo-x.y.z-r.platform.id.brp targets. See Info files and example packages for instructions. Fixing bug #084 introduces a new srp_flag: SRP_CHAIN. This flag can be used to generate multiple BRPs (or installed packages) from a single SRP. For example, building the foo-1.0-1.srp package would result in three stand-alone BRPs: foo-1.0-1.linux.i686.brp, foo-dev-1.0-1.linux.i686.brp, and foo-docs-1.0-1.linux.i686.brp. The flag should have the next package's NOTES file's name attached as an argument. Fixing bug #089 introduces two new flags: SRP_LEFTOVERS and SRP_NO_LEFTOVERS. SRP_LEFTOVERS is now a member of default_flags and is the traditional behavior when upgrading (left-over files remain behind as a special package). To turn off this behavior, a package can use the SRP_NO_LEFTOVERS flag to force SRP to remove all traces of the old package when upgrading. Fixing bug #091 introduces new functionality to python-test. python-test will now run each script in python-test.d (if it exists) with each interpreter found with an appropriate version to check for other interpreter features/bugs. The only script in there right now is check-tarfile-module.py, which checks for the existence of python bug #1609958. Makefile.common and python-test are installed in LIBDIR. The python-test script can be used to locate an appropriate version of the python interpreter on host systems.
2006-07-22: summary of changes from 2.2.6 to 2.3.0 -------------------------------------------------- - squashed bug #057 (srp -F exit status) - squashed bug #056 (source tree reorg) - squashed bug #058 (bad os.path.join() usage) - squashed bug #051 (SHA1 checksums) - squashed bug #061 (srp -F umask) - squashed bug #052 (tracking installed file's permisions) - squashed bug #053 (tracking installed symlink's target) - squashed bug #059 (use tarfile module) - squashed bug #067 (escape-out hell) - squashed bug #039 (SRP_OWNEROVERRIDE) - squashed bug #062 (SRP_OWNEROVERRIDE) - squashed bug #066 (BRP ldconfig) - squashed bug #073 (installing BRP with unsupported srp_flags) - squashed bug #074 (abundant srpbak files) - squashed bug #076 (PREPOSTLIB exceptions) - squashed bug #077 (missing PREPOSTLIB after upgrade) - squashed bug #078 (better check() feedback) - squashed bug #071 (intermediate dir mode) - squashed bug #083 (srp -l exit status) - squashed bug #064 (improved deps checking) - squashed bug #063 (install distro docs) Fixing bug #067 is more major than a simple bugfix in that it effects compatibility with pre-existing packages' NOTES files. It is no longer necesary to escape out shell variables or carriage returns in the i_script portion of the file. Fixing bugs #051, #052, #053, and #039 introduces some new srp_flags. - SRP_SHA1SUM Forces use of SHA1 checksums - SRP_CHECKSUM Lets srp decide on a checksum algorithm depending on system availability. SRP_MD5SUM or SRP_SHA1SUM is written into BRPs. - SRP_PERMS Causes srp to track installed files' permissions and ownership. - SRP_LINKTARGET Causes srp to track installed symlinks' targets. - SRP_OWNEROVERRIDE Causes srp to override file ownership at install time by looking at a supplied file. This allows the building of BRPs from SRPs that need to chown files as non-root users. Using chown inside the NOTES file is now highly frowned upon. Using chmod inside the NOTES file is still desirable, though. Fixing bug #060 introduces a set of default srp_flags for SRPs. Unless specified otherwise in the NOTES file, all SRPs will build with the following flags enabled: - SRP_UPGRADABLE - SRP_CHECKSUM - SRP_PERMS - SRP_LINKTARGET This also causes the addition of the following self explanitory (and probably rarely used) srp_flags: - SRP_NO_UPGRADE - SRP_NO_CHECKSUM - SRP_NO_PERMS - SRP_NO_LINKTARGET Fixing bug #076 means that the new prefered method of failure notification in PREPOSTLIB functions is via exceptions. Integer return values will still be checked (for now!) for backwards compatibility, but package maintainers should start using exceptions sooner rather than later.
2005-08-08: summary of changes from 2.2.5 to 2.2.6 -------------------------------------------------- - squashed bug #045 (running srp with SRP_ROOT_PREFIX) - squashed bug #043 (upgrade fails) - squashed bug #046 (make install-dist-srp fix) - squashed bug #048 (srp should create RUCKUS dirs) - squashed bug #049 (srp -u failure cleanup) - squashed bug #047 (absolute path symlinks to RUCKUS) - squashed bug #050 (uninstalling broken symlinks) - squashed bug #054 (rework md5suming) --- bug details --- #0452005-06-29 srp imports the wrong libraries when running in a SRP_ROOT_PREFIX area. SRP_ROOT_PREFIX needs to be filled out _PRIOR_ to importing sr.py... FIX:2005-06-29 ok, srp now prepends SRP_ROOT_PREFIX to LIBDIR prior to importing anything. this causes the correct modules to get imported. FIX: 2005-07-15 srp _ONLY_ prepends SRP_ROOT_PREFIX to LIBDIR if the absolute path to srp is within the SRP_ROOT_PREFIX. previous fix was causing /usr/bin/srp to import stuff out of SRP_ROOT_PREFIX/usr/lib/srp, which is still not always right #0432005-06-29 upgrading packages fails... must have broken something. FIX:2005-07-13 yup, sure did. brp.upgrade() was doing a couple bad things including splitting a string on SRP_ROOT_PREFIX without checking to see if it was empty and not passing the appropriate arguments into the install() function. then, since upgrade() now removes PREPOSTLIBs, uninstall was failing to import the PREPOSTLIB and then refusing to do anything else... this should all be fixed now. #0462005-06-29 make install-dist-srp fails if srp not already installed. this target should depend on the ruckusdir target. FIX:2005-07-13 fixed. #0482005-07-15 srp --setup-root or srp -F should create RUCKUS directory structure. this would make it much easier to experiment with packages in a SRP_ROOT_PREFIX. without it, a package maintainer has to have an intimate knowledge of how srp works... FIX:2005-07-15 srp -F now calls create_ruckus_dirs() which creates all the leaf RUCKUS dirs defined in sr.ruckus_dirs. #0492005-07-15 after an srp -u failure, srp doesn't realize it needs a cleanup. FIX:2005-08-02 package::uninstall now exits with more appropriate return values and srp now does cleanup if the action returns -1. #0472005-07-13 if a package creates symlinks with absolute paths while it's building, broken symlinks with RUCKUS in them will get installed on the system. FIX:2005-08-05 package::_dump() now detects and fixes absolute paths in symlinks. this fix does _NOT_ require rebuilding of BRPs. if a bad symlink is already in a BRP, it will be fixed at install-time. #0502005-08-04 when uninstalling a package, if the target of an installed symlink is removed first (or the link was just plain broken), the broken symlink is left behind with no notification to the user. FIX:2005-08-05 package::uninstall() was using os.path.exists() to determine if is should delete each file. however, that function return False for broken symlinks. we now check with (islink() or exists()). #0542005-08-05 utils.md5sum is horrible. right now, it makes a system call to the md5sum program and writes the result into a temporary file. then it reads the temp file and deletes it. horrible!! md5sum checksumming is built into python!!! the correct algorithm is as follows: >>> md5.new(file("filename", "rb").read()).hexdigest() FIX:2005-08-05 rewrote utils.md5sum to use python's builtin md5 stuff. the result is a hugely dramatic speed up when checking or generating md5sums. srp -c ACE+TAO used to take 1:45 or so... now it takes 10 seconds. :-)
2005-03-26: summary of changes from 2.2.4 to 2.2.5 -------------------------------------------------- - ack, python-test didn't actually work! on redhat 7.3, srp-2.2.4-1.srp generated by the makefile would install but the python interpreter was never set up! it's fixed now. :-/
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?
Thanks for your review!
Get credit for your review by logging in via OpenID. Click your account provider: