Conary Blogs
Archives for: January 2009
The rBuilder Online scheduled maintenance is complete. Maintenance was performed on site infrastructure and has no visible impact.
Thank you for your interest in rBuilder Online.
The rBuild tool is now generally available, and has been included in the rPath Linux 1 and 2 development environments. There have been no changes to rBuild since 0.17 beta.
rBuilder Online will undergo scheduled maintenance starting Wednesday January 28th at 21:00 EST (-0500) and ending at 22:00. During this time, rBuilder Online and all rpath.org repositories will not be available. A message will be posted when the scheduled maintenance period has been completed.
Thank you for your interest in rBuilder Online.
rBuild 0.17 is a beta release.
Beta:- rBuild is now in beta release status.
- rBuild now tests to make sure that the product definition has at least one image defined before certain critical operations that require that at least one image is defined. Previously, it would give various cryptic error messages as the result of failed operations due to lack of defined images. (RBLD-171)
- Early in rBuild development, a workaround for insufficient definition of flavors for images was added. This workaround is no longer necessary and may be harmful in some cases, so it has been removed. (RBLD-172)
This is the first Beta release of rBuild. If it breaks, tell us about it as soon as possible so that we can fix it before we release 1.0—just around the corner
Conary 2.0.35 is a maintenance release.
Bug Fixes:- setTroveInfo no longer sends extended metadata information to update services that cannot understand it. (CNY-3050)
At least more alpha release; rBuild 0.16 is an alpha release.
New Features:- "rbuild promote" will now "flatten" all troves that are not in the product's search path (e.g. those from contrib.rpath.org) onto the target label. Additionally, troves that are on the product's label will be re-rooted so they no longer reference upstream packages. (RBLD-168)
This update requires rpath-product-definition 0.6 for the "rbuild promote" command to work, due to changes required to implement RBLD-168.
Remember, this is alpha code. It worked for me in a few tests. Your milage may vary — and if it does, please do tell us about it. That said, this is probably the final alpha release of rBuild. If our validation of this release is successful, the next release will be the first beta. I know I said that last time, but with only one new feature and no new bugs to fix in almost a week we are definitely approaching release, so I still expect only one or two beta releases with only minor changes (if any) before release.
The rBuilder Online scheduled maintenance is complete. Maintenance was performed on site infrastructure and has no visible impact.
Thank you for your interest in rBuilder Online.
rBuilder Online will undergo scheduled maintenance starting Thursday January 15th at 21:00 EST (-0500) and ending at 22:00. During this time, rBuilder Online and all rpath.org repositories will not be available. A message will be posted when the scheduled maintenance period has been completed.
Thank you for your interest in rBuilder Online.
Conary 2.0.34 is a maintenance release.
Bug Fixes:- You can now have flavored groups for superclass groups - these can be created when superclass groups are created as a part of another group recipe. This release includes additional fixes over those added in 2.0.33. (CNY-3061)
- Post-mortem debugging sessions with recipes using --debug-all now start at the point of the innermost exception, making debugging easier.
rBuild 0.15 is an alpha release.
API Changes:- The expectations for API backward compatibility have been modified, as documented in the README file. (RBLD-166)
- The interview process now asks the user if they want to set up rMakeUrl automatically to connect to a running rMake server on an rBA if possible. (RBLD-163)
- The checkout command with --new argument will now detach a package from its parent if run against a package that has been shadowed on to the product's label. (RBLD-30)
- The rebase plugin is now much more conservative, and will bail out if any merge conflicts or modified files exist, preventing product checkouts from invisibly diverging from what is in the repository. (RBLD-164)
- The rebase plugin no longer says that it has updated to version "None" when no newer version is available. (RBLD-164)
Remember, this is alpha code. It worked for me in a few tests. Your milage may vary — and if it does, please do tell us about it.
That said, this is probably the final alpha release of rBuild. If our validation of this release is successful, the next release will be the first beta.
rMake 1.0.26 is a maintenance release.
Bug Fixes:- The monitor plugin will no longer traceback when displaying build log updates with blank lines. (RMK-955)
- When setting up multi-node server, a trailing / in the rBuilder URL will no longer cause your authorization to fail. (RMK-952)
- rMake now displays the Conary it is using only when it is not a standard site-packages path. (RMK-953)
- When rMake sends "stop" commands to daemons, the attempt to kill the processes will last only 10 seconds, so that the job does not hang. (RMK-956)
- Trove load commands can now be stopped correctly; previously, they could cause nodes to hang. (RMK-958)
Conary 2.0.33 is a maintenance release.
New Features:- When adding an XML file (filename ending in ".xml") to a source component, it will be added as a text (config) file by default, and so changes will be managed with diff/patch merging. Specify the --binary option to avoid merging. (CNY-3045)
- When adding groups via addAll, conary now reports the exact name, version, and flavor of the group being added. (CNY-2977)
- Fixed reporting of errors when using glob objects in actions such as r.Remove. (CNY-3055)
- Promotion of source components where files have been renamed across repositories has been fixed. (CNY-3059)
- Preserving ownership in tar archives containing files with missing intermediate directories now functions. (CNY-3060)
- Added support for python module discovery in python 2.6, which uses a new PREFIXES variable to determine where to search for modules. (CNY-3063)
- You can now have flavored groups for superclass groups - these can be created when superclass groups are created as a part of another group recipe. (CNY-3061)
- Metadata promotion is more robust in the context of other inaccessible or missing older troves. (CNY-2611)
- Promotion of inidividual components is no longer allowed. (CNY-2941)
- Fixed a case conaryclient.makeSourceTrove could fail to create a trove because it tried to assign it a previously existing version. (CNY-3028)
- A bug that caused an IOError when a repository attempted to commit a changeset larger than 2 GiB has been fixed (CNY-3065)
rBuild 0.14 is an alpha release.
New Features:- The interview process during initial configuration now checks that the provided url is an rbuilder, and it tries to authorize the provided credentials. If either fail, prompts are displayed for re-entry. (RBLD-113)
- The init command has improved error handling and messages when an invalid product name or label is given. (RBLD-111)
- You can now create shadows of packages on arbitrary labels in your product, using a command line something like: "rbuild checkout --shadow package=foo.rpath.org@rpl:2" Previously, you were limited to shadows of packages included in your platform. (RBLD-145)
- The promote plugin now provides an initial progress indication.
- When reconfiguring rbuild (rbuild config --ask), the password previously entered will no longer be displayed. (RBLD-102)
- The usage statement for rbuild init has been clarified. (RBLD-161)
- The publish and show images plugins were previously not installed during a "make install". (RBLD-159)
- Certain combinations of image types could result in fewer flavors of a package or group being built than necessary. This has been corrected. (RBLD-160)
Remember, this is alpha code. It worked for me in a few tests. Your milage may vary — and if it does, please do tell us about it.
That said, rBuild is almost ready for beta release. I would like to encourage you to try using it -- join IRC on irc.freenode.net #conary and ask for help getting started if you have not yet tried rBuild, and we'll get you started. As rBuild approaches beta and then general availability, we are especially looking for more new users to test it out and help us find bugs that we can fix.
I have two separate servers for email; one is a login server that runs dovecot for IMAPS and has externally-inaccessible sendmail; the other runs the publicly-accessible sendmail but has no user accounts. I wanted to set up SMTPS with password authentication from the login server. It turns out that authenticating against the IMAPS server is the easiest way to do this.
Since most of the guides I found had lots of irrelevant detail for me, I thought I'd document what I did here, since it was actually fairly simple.
I created /etc/ssl/certs/sendmail.pem ("make sendmail.pem" in /etc/ssl/pem, moved sendmail.pem to /etc/ssl/certs/ -- your distribution may have other ways of handling this). I made it mode 600 owned by root.
I modified /etc/mail/sendmail.mc:
--- sendmail.mc.orig 2009-01-05 22:56:52.000000000 -0500 +++ sendmail.mc 2009-01-05 23:14:32.000000000 -0500 @@ -38,22 +38,22 @@ dnl # The following allows relaying if the user authenticates, and disallows dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links dnl # -dnl define(`confAUTH_OPTIONS', `A p')dnl +define(`confAUTH_OPTIONS', `A p')dnl dnl # dnl # PLAIN is the preferred plaintext authentication method and used by dnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs do dnl # use LOGIN. Other mechanisms should be used if the connection is not dnl # guaranteed secure. dnl # -dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl -dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl +TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl +define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl dnl # dnl # Uncomment lines below to enable SSL configuration. dnl # -dnl define(`confCACERT_PATH',`/etc/ssl/certs') -dnl define(`confCACERT',`/etc/ssl/certs/ca-bundle.crt') -dnl define(`confSERVER_CERT',`/etc/ssl/certs/sendmail.pem') -dnl define(`confSERVER_KEY',`/etc/ssl/private/sendmail.pem') +define(`confCACERT_PATH',`/etc/ssl/certs') +define(`confCACERT',`/etc/ssl/certs/ca-bundle.crt') +define(`confSERVER_CERT',`/etc/ssl/certs/sendmail.pem') +define(`confSERVER_KEY',`/etc/ssl/certs/sendmail.pem') dnl # dnl # This allows sendmail to use a keyfile that is shared with OpenLDAP's dnl # slapd, which requires the file to be readble by group ldap @@ -105,7 +105,7 @@ dnl # dnl # For this to work your OpenSSL certificates must be configured. dnl # -dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl +DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl dnl # dnl # The following causes sendmail to additionally listen on the IPv6 loopback dnl # device. Remove the loopback address restriction listen to the network.
I then ran "make" in /etc/mail
I installed cyrus-sasl, made sure it was configured to start automatically with "chkconfig saslauthd on", and configured it to authenticate against IMAP by using the remote IMAP (rimap) method and telling it which server to authenticate to.
# cat /etc/sysconfig/saslauthd # Directory in which to place saslauthd's listening socket, pid file, and so # on. This directory must already exist. SOCKETDIR=/var/run/saslauthd # Mechanism to use when checking passwords. Run "saslauthd -v" to get a list # of which mechanism your installation was compiled to use. MECH=rimap # Additional flags to pass to saslauthd on the command line. See saslauthd(8) # for the list of accepted flags. FLAGS="-O MY_IMAP_SERVER_HERE"
I restarted services with "service saslauthd start; service sendmail restart" and tested sending mail using password authentication to send mail to/from hosts which were not otherwise authorized to relay.
(Of course, I made a few minor mistakes along the way, like inadvertently disabling mail service for my domain for a few minutes. :)
rBuilder Online will undergo scheduled maintenance starting Wednesday January 7th at 21:00 EST (-0500) and ending at 22:00. During this time, rBuilder Online and all rpath.org repositories will not be available. A message will be posted when the scheduled maintenance period has been completed.
Thank you for your interest in rBuilder Online.
rBuild 0.13 is an alpha release.
New Features:- Use new distinction between searchPath elements intended to be part of a development environment for building the product but not included in the product itself, and those searchPath elements which are available to include within the product by default. This allows the development environment to be kept separate from the platform, but still kept synchronized with the "rbuild rebase" command. Requires rpath-product-definition 0.5 or later to build groups. (RBLD-150)
- The commit message when building and committing packages or groups can now be specified with the --message or -m command-line argument. (RBLD-120)
- The "rbuilder" program has been moved to a separate package, rbuilder-client, because it has a different operating model than the rbuild tool. In particular, it expressly does not honor product-definition, instead taking all data from command-line arguments. (RBLD-152)
- The "rbuild rebase" command now provides both a "from" and a "to" version in its output, to make it clearer what operations happened during the rebase operation.
- Some long-running operations print a time-stamped status message during normal operation (disabled during quiet operation) as a "pacifier". (RBLD-156)
- After successfully building a set of images, rBuild previously failed to correctly compose a release in rBuilder due to an undefined symbol. This has been fixed. (RBLD-154)
- The "rbuild rebase" command updates the product definition before rebasing, to avoid regression in product definition data. (RBLD-155)
- Epydoc generation has been fixed. (RBLD-144)
- The ui.progress() method has been added for providing non-essential progress information to users. The default implementation prints a timestamp preceding the message. (RBLD-156)
Remember, these are a combination of alpha code and un-validated snapshots. They worked for me in a few tests. Your milage may vary — and if it does, please do tell us about it.