Forgot your password?
typodupeerror
User Journal

Journal: Widenius on "selfless" quest to destroy GPL MySQL "in order to save it" 3

Journal by toby

It's not "his baby" any more!

And the "selfless" argument accepts as a given that Oracle will let MySQL die on the vine. There are many rational reasons why they would not.

If Oracle's intentions are opaque, Widenius' motives are no less opaque. He risks serious embarrassment himself by advocating that the EU, as Deus ex machina, strip the GPL, the last layer of protection for the MySQL community and platform. To that extent this issue is *very much* "about Open Source"!

It's time to let go and build "what comes after MySQL". Even a casual observer can see conventional RDBMS architectures straining to keep up with today's data environments, hence the growth of the NoSQL movement. If a fraction of the talent already shed by MySQL AB, combined with the brains at Primebase, and all the other community contributors can rise to that challenge, Oracle may easily find itself on the defensive once more - to the market's gain!

Mr Widenius, you've created one technology so incredibly disruptive that Oracle (the market leader) finally had to buy it - why not move on and create the next one? You already have the support and respect of geeks and suits alike. But you won't keep it by insisting on this contrarian, easily misconstrued campaign.

Databases

Journal: SQL: random member of each of many groups

Journal by toby
Question asked on comp.databases.mysql, which I solved as follows:

mysql> select T.n, T.rnd, L.id, L.street, L.town, count(R.id) as idx
from (
select count(*) as n, rand() as rnd, town
from addr
group by town
) T
join addr L on L.town = T.town
join addr R on R.town = L.town and R.id <= L.id
group by L.id
having ceil(T.n*T.rnd) = idx;
+----+---------------------+-----+---------------------------------
+-------------+-----+
| n | rnd | id | street |
town | idx |
+----+---------------------+-----+---------------------------------
+-------------+-----+
| 12 | 0.00842807908396058 | 1 | 601 West 5th Avenue |
Anchorage | 1 |
| 10 | 0.650273804227145 | 37 | 9190 Parkway East |
Birmingham | 7 |
| 11 | 0.226084814617489 | 55 | 3494 BEL AIR MALL |
Mobile | 3 |
| 16 | 0.179602691139656 | 117 | 4940 S Gilbert Rd |
Chandler | 3 |
| 10 | 0.219759042579456 | 154 | 7123 N. 138th Ave. |
Glendale | 3 |
| 18 | 0.559987170211959 | 187 | 2832 North Power Road |
Mesa | 11 |
| 63 | 0.14065875405507 | 213 | 340 East McDowell Rd |
Phoenix | 9 |
| 26 | 0.0233322903731207 | 275 | 15660 N Frank Lloyd Wright Blvd |
Scottsdale | 1 |
| 16 | 0.694685220434037 | 325 | 5000 Arizona Mills Circle |
Tempe | 12 |
| 35 | 0.403429261784469 | 345 | 3901 W Ina Rd |
Tucson | 15 |
| 19 | 0.933090678353878 | 454 | 2200 Panama Lane |
Bakersfield | 18 |
| 15 | 0.45516563714963 | 513 | 4000 Warner Blvd |
Burbank | 7 |
+----+---------------------+-----+---------------------------------
+-------------+-----+
12 rows in set (0.16 sec)

Databases

Journal: Uses for self JOIN: 11) winning streak

Journal by toby

Cluber on #mysql wanted to find the longest winning streak in a series of matches, like this:

mysql> select * from m;
+----+--------+-------+
| id | winner | loser |
+----+--------+-------+
| 29 | A | B |
| 30 | A | C |
| 31 | C | B |
| 32 | B | A |
| 33 | A | D |
| 34 | B | C |
| 35 | C | D |
| 36 | E | D |
+----+--------+-------+
8 rows in set (0.00 sec)

Longest winning streak per user is the longest series of wins by a user before they lose a match. The wins need not be consecutive. Here is a SQL solution:

mysql> select Streak.winner, max(Streak.cnt)
from (
select m0.id, m0.winner, count(Game.id) as cnt
from m m0
join (
select m1.id, min(m2.id) as minid
from m m1
left join m m2 on m2.loser = m1.winner
and m2.id > m1.id
group by m1.id
) Loss on Loss.id = m0.id
join m Game on Game.winner = m0.winner
and Game.id >= m0.id
and (Loss.minid is null
or Game.id < Loss.minid)
group by m0.id
) Streak
group by Streak.winner;

+--------+-----------------+
| winner | max(Streak.cnt) |
+--------+-----------------+
| A | 2 |
| B | 2 |
| C | 1 |
| E | 1 |
+--------+-----------------+
4 rows in set (0.01 sec)

User Journal

Journal: generate Solaris package file lists directly with install-sh

Journal by toby

As part of the Solaris pkg creation process, a prototype file is created listing every file and directory created in the process of installing the package.

There are various ways to extract this information, but not all are convenient. By patching about 12 lines of install-sh we can generate the prototype file directly (as /tmp/prototype), with appropriate user/group/mode settings. In parallel we generate a simple file list (/tmp/files) that can be used to safely 'uninstall' the package during experimentation with packaging.

-bash-3.00# diff -c dovecot-1.1.14/install-sh TLGRdovecot-1.1.14/install-sh
*** dovecot-1.1.14/install-sh Mon Jan 5 16:24:36 2009
--- TLGRdovecot-1.1.14/install-sh Sat May 23 19:51:18 2009
***************
*** 128,133 ****
--- 128,136 ----
RMPROG STRIPPROG
"

+ CLASS=none
+ OWNER=bin
+ GROUP=bin
while test $# -ne 0; do
case $1 in
-c) ;;
***************
*** 136,142 ****

-d) dir_arg=true;;

! -g) chgrpcmd="$chgrpprog $2"
shift;;

--help) echo "$usage"; exit $?;;
--- 139,145 ----

-d) dir_arg=true;;

! -g) GROUP=$2; chgrpcmd="$chgrpprog $2"
shift;;

--help) echo "$usage"; exit $?;;
***************
*** 150,156 ****
esac
shift;;

! -o) chowncmd="$chownprog $2"
shift;;

-s) stripcmd=$stripprog;;
--- 153,159 ----
esac
shift;;

! -o) OWNER=$2; chowncmd="$chownprog $2"
shift;;

-s) stripcmd=$stripprog;;
***************
*** 327,335 ****
--- 330,341 ----
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
+ echo d $CLASS $dstdir $mode $OWNER $GROUP >>/tmp/prototype
else
+ echo d $CLASS $dstdir 755 $OWNER $GROUP >>/tmp/prototype
mkdir_mode=
fi
+ echo $dstdir >>/tmp/files

posix_mkdir=false
case $umask in
***************
*** 405,410 ****
--- 411,417 ----
do
test -z "$d" && continue

+
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
***************
*** 442,447 ****
--- 449,457 ----
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else

+ echo f $CLASS $dst $mode $OWNER $GROUP >>/tmp/prototype
+ echo $dst >>/tmp/files
+
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_

(Actual diff here)

As an example, let's package Dovecot 1.1.14 in a manner suitable for a Solaris non-global zone:

$ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
...
# make install
...
# cat /tmp/prototype
d none /usr/libexec/dovecot 0755 bin bin
f none /usr/libexec/dovecot/dovecot-auth 0755 bin bin
f none /usr/libexec/dovecot/checkpassword-reply 0755 bin bin
d none /usr/lib/dovecot/auth 0755 bin bin
f none /usr/libexec/dovecot/dict 0755 bin bin
f none /usr/libexec/dovecot/ssl-build-param 0755 bin bin
f none /usr/sbin/dovecot 0755 bin bin
f none /usr/libexec/dovecot/imap-login 0755 bin bin
f none /usr/libexec/dovecot/imap 0755 bin bin
f none /usr/libexec/dovecot/pop3-login 0755 bin bin
f none /usr/libexec/dovecot/pop3 0755 bin bin
f none /usr/libexec/dovecot/deliver 0755 bin bin
f none /usr/libexec/dovecot/rawlog 0755 bin bin
f none /usr/libexec/dovecot/gdbhelper 0755 bin bin
f none /usr/libexec/dovecot/idxview 0755 bin bin
f none /usr/libexec/dovecot/listview 0755 bin bin
f none /usr/libexec/dovecot/logview 0755 bin bin
f none /usr/libexec/dovecot/maildirlock 0755 bin bin
f none /usr/sbin/dovecotpw 0755 bin bin
d none /usr/lib/dovecot/imap 0755 bin bin
d none /usr/lib/dovecot/lda 0755 bin bin
f none /usr/lib/dovecot/lib01_acl_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib01_acl_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib01_acl_plugin.a 0755 bin bin
d none /usr/lib/dovecot/pop3 0755 bin bin
f none /usr/libexec/dovecot/convert-tool 0755 bin bin
f none /usr/lib/dovecot/lib20_convert_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib20_convert_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib20_convert_plugin.a 0755 bin bin
f none /usr/libexec/dovecot/expire-tool 0755 bin bin
f none /usr/lib/dovecot/lib20_expire_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib20_expire_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib20_expire_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib20_fts_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib20_fts_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib20_fts_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib21_fts_squat_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib21_fts_squat_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib21_fts_squat_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib02_lazy_expunge_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib02_lazy_expunge_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib02_lazy_expunge_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib20_mail_log_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib20_mail_log_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib20_mail_log_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib20_mbox_snarf_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib20_mbox_snarf_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib20_mbox_snarf_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib10_quota_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib10_quota_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib10_quota_plugin.a 0755 bin bin
f none /usr/lib/dovecot/imap/lib11_imap_quota_plugin.so 0755 bin bin
f none /usr/lib/dovecot/imap/lib11_imap_quota_plugin.la 0755 bin bin
f none /usr/lib/dovecot/imap/lib11_imap_quota_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib11_trash_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib11_trash_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib11_trash_plugin.a 0755 bin bin
f none /usr/lib/dovecot/lib20_zlib_plugin.so 0755 bin bin
f none /usr/lib/dovecot/lib20_zlib_plugin.la 0755 bin bin
f none /usr/lib/dovecot/lib20_zlib_plugin.a 0755 bin bin
d none /usr/share/doc/dovecot/wiki 0755 bin bin
f none /usr/share/doc/dovecot/wiki/ACL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AixPluginsSupport.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.CheckPassword.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.LDAP.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.Passwd.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.PasswdFile.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.SQL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.VPopMail.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/AuthDatabase.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Caching.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Kerberos.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.MasterUsers.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Mechanisms.DigestMD5.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Mechanisms.NTLM.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Mechanisms.Winbind.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.Mechanisms.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.MultipleDatabases.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.PasswordSchemes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.RestrictAccess.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Authentication.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/BasicConfiguration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Chrooting.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Clients.NegativeUIDs.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Clients.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/CommandLine.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/CompilingSource.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Debugging.Authentication.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Debugging.ProcessTracing.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Debugging.Rawlog.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Debugging.Thunderbird.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.AuthProcess.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.Cache.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.MailIndexApi.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.MainIndex.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.TransactionLog.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Indexes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.MailProcess.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.Processes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Design.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/FindMailLocation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/FinishBasicConfiguration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.EximAndDovecotSASL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.PopBSMTPAndDovecot.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.PopRelay.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.PostfixAndDovecotSASL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.Rootless.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.SimpleVirtualInstall.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/HowTo.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/IndexFiles.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/InetdInstall.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Iptables.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Exim.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Indexing.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Postfix.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Qmail.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Sendmail.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.Sieve.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LDA.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Logging.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/LoginProcess.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MDA.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MTA.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.LocalDisk.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.Maildir.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.Mbox.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.SharedDisk.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailLocation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.Cydir.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.MH.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.Maildir.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.dbox.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.mailstore.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.mbox.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.mbx.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MailboxFormat.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/ManageSieve.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MboxLocking.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MboxProblems.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.BincIMAP.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Courier.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Cyrus.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Linuxconf.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.MailFormat.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Teapop.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.UW.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.Vm-pop3d.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Migration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/MissingMailboxes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/NFS.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Namespaces.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/OSCompatibility.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/POP3Server.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.BSDAuth.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.AllowNets.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.Host.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.NoDelay.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.NoLogin.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.Proxy.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.User.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.ExtraFields.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.PAM.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.Shadow.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PasswordDatabase.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PerformanceTuning.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Autocreate.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Convert.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Expire.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.FTS.Lucene.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.FTS.Solr.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.FTS.Squat.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.FTS.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Lazyexpunge.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Listescape.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.MailLog.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.MboxSnarf.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Trash.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Virtual.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.Zlib.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Plugins.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/PostLoginScripting.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/QuickConfiguration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.1.1.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.Dict.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.Dirsize.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.FS.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.Maildir.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Quota.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/RunningDovecot.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SSL.CertificateClientImporting.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SSL.CertificateCreation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SSL.DovecotConfiguration.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SSL.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Sasl.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SecurityTuning.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SharedMailboxes.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/SystemUsers.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/TestInstallation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/TestPop3Installation.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/TimeMovedBackwards.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Upgrading.1.0.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Upgrading.1.1.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Upgrading.1.2.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Upgrading.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.ExtraFields.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.NSS.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.Prefetch.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.Static.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserDatabase.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/UserIds.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/Variables.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/VirtualUsers.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/WhyDoesItNotWork.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/maildrop.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/mutt.txt 644 bin bin
f none /usr/share/doc/dovecot/wiki/uw2dovecot.sh.txt 644 bin bin
f none /etc/dovecot-db-example.conf 644 bin bin
f none /etc/dovecot-ldap-example.conf 644 bin bin
f none /etc/dovecot-sql-example.conf 644 bin bin
f none /usr/share/doc/dovecot/auth-protocol.txt 644 bin bin
f none /usr/share/doc/dovecot/documentation.txt 644 bin bin
f none /usr/share/doc/dovecot/securecoding.txt 644 bin bin
f none /etc/dovecot-example.conf 644 bin bin
d none /usr/include/dovecot 0755 bin bin

This leaves the package installed, creates /tmp/prototype ready for packaging - accomplished roughly like this:

$ echo i pkginfo=./pkginfo >>prototype
$ cat pkginfo
PKG=TLGRdovecot
NAME=Dovecot IMAP/POP3 server
ARCH=i386
VERSION=1.1.14
CATEGORY=application
VENDOR=http://www.dovecot.org/
BASEDIR=
CLASSES=none
DESC=Dovecot Secure IMAP/POP3 server, by Timo Sirainen
EMAIL=support@telegraphics.com.au
$ pkgmk -r `pwd`
$ cd /var/spool/pkg/
$ pkgtrans -s `pwd` /tmp/TLGRdovecot-1.1.14

Remove the installed files (I suggest reviewing the file list first!)

# rm -fr $(< /tmp/files )
or
# xargs rm -fr < /tmp/files

User Journal

Journal: Retired Gates "too busy, important" to finish deposition

Journal by toby

Watch Gates lie through his teeth in Novell vs Microsoft - until the Microsoft side cut the deposition short. Another appointment? Or did they not like the line of questioning? Groklaw reports; you decide. But as the Novell lawyer remarks,

I ... can't remember a single case where I was able to extract a monetary settlement from an opponent by harassing its Board Chairman through a deposition. Perhaps there is something deeper at work here.

Mr. Gates is one of the richest and most powerful persons in this country. His foundation is engaged in good works. Yet we are all equal under the law. Despite his central role in this action, we have requested nothing more than would be expected of any other litigant, a deposition not exceeding 7 hours in length in accordance with Fed. R. Civ. P. 30(b)(1).

(emphasis mine).

This cartoon sums up the true situation very well.

User Journal

Journal: say whut? 1

Journal by toby

Cloud computing is emerging as the computational and storage paradigm for ultra-scale data and analytics. A cloud is a pool of virtualized, commodity computer resources accessible via a Web-based interface in conjunction with a highly automated mechanism for managing those resources. Upon this infrastructure, a computational framework brings analytics to the data, effectively implementing a key tenant of cloud computing - ingest data once, move data rarely, and re-use data often. Thus cloud enables the rapid configuration and allocation of vast computational resources while supporting massively parallel processing over petabytes of distributed data to deliver both agility and power at scale. Google, the progenitor of cloud, and others have proven the extraordinary capability of cloud for specific applications within certain well defined domains (e.g. web search/index). Within the Intelligence Community (IC), substantial cloud computing initiatives already underway are poised to do similarly, tailoring cloud for specific objectives. Considered more broadly however, as an enterprise wide platform for the IC, several aspects of cloud are in need of further research and development. Principal among these is the cloud analytic tool set. Analysts working high op-tempo missions down range tell us the most rapid time scale is not of the data or the mission, rather it is the frequency with which they must change the way they view and manipulate the data. For these warfighters, sophisticated tools built nationally are obsolete the day they get deployed. What they clamor for are basic, elemental tools that they can apply in diverse contexts and compose into workflows that help them do their job easier and faster. This SBIR seeks to develop an analytic tool set designed to operate within cloud computing infrastructure, on cloud data. In addition to being cloud-native, the set of tools should reflect a basis-set of functions that together span the range of analytic activity. Each tool should capture / enable a basic element of analytic activity while presenting minimal dependencies on other elements or on application specifics. By developing a complete set of cloud-native tools that may be used independently or composed into workflows to build analytic product, this SBIR aims to provide the warfighter with the means to harness the full power of cloud in the face of rapid change.

Let's play buzzword bingo...

21 the
16 of
14 cloud
10 and
9 to
9 data
8 a
6 for
5 is
5 set
5 they
5 analytic
4 tools
4 computing
4 that
4 are
4 in
3 on
3 computational
3 resources
3 or
3 with
3 rapid
3 tool
3 scale
2 this
2 SBIR
2 range
2 workflows
2 these
2 native
2 analytics
2 basic
2 an
2 do
2 infrastructure
2 activity
2 into
2 specific
2 change
2 while
2 IC
2 within
2 should
2 as
2 power
1 full
1 elemental
1 sophisticated
1 way
1 paradigm
1 enables
1 both
1 Upon
1 Intelligence
1 framework
1 independently
1 based
1 over
1 nationally
1 index
1 emerging
1 massively
1 functions
1 pool
1 Principal
1 developing
1 effectively
1 key
1 complete
1 parallel
1 compose
1 once
1 re
1 aims
1 further
1 enterprise
1 at
1 rather
1 application
1 tell
1 managing
1 development
1 deliver
1 agility
1 applications
1 may
1 computer
1 highly
1 move
1 addition
1 working
1 allocation
1 need
1 not
1 ultra
1 mission
1 Within
1 warfighter
1 interface

User Journal

Journal: if minimising a Solaris 10 system...

Journal by toby

Don't remove these packages if you are going to need libX11 or libXpm later...

system SUNWxwdv X Windows System Window Drivers
system SUNWxwfnt X Window System platform required fonts
system SUNWxwhl X Window System & Graphics Header links in /usr/include
system SUNWxwice X Window System Inter-Client Exchange (ICE) Components
system SUNWxwinc X Window System include files
system SUNWxwmod X Window System kernel modules
system SUNWxwplr X Window System platform software configuration
system SUNWxwplt X Window System platform software
system SUNWxwrtl X Window System & Graphics Runtime Library Links in /usr/lib
system SUNWxwssu X Server x86 platform config start up software

User Journal

Journal: Setting up CollabNet Subversion on Solaris 10, with SMF.

Journal by toby

Download the CollabNet Subversion package for Solaris.

Edit Apache configuration, /etc/opt/CollabNet_Subversion/conf/httpd.conf , /etc/opt/CollabNet_Subversion/conf/extra/httpd-vhosts.conf

Fix some permissions:

# chown -R daemon:daemon /pool/YOURDOMAIN/svn/YOURREPO/
  # chown daemon:daemon /var/opt/CollabNet_Subversion/logs/

Set up SMF manifest.
This file is based on the manifest distributed with CoolStack, /opt/coolstack/lib/svc/manifest/cskapache2.xml . For modified text, see bottom of this post.

# svccfg import apache22-svn.xml

To see the configuration of the Apache built with CollabNet Svn,

# /opt/CollabNet_Subversion/bin/httpd -V
Server version: Apache/2.2.8 (Unix)
Server built: Oct 23 2008 15:51:40
Server's Module Magic Number: 20051115:11
Server loaded: APR 1.2.12, APR-Util 1.2.12
Compiled using: APR 1.2.12, APR-Util 1.2.12
Architecture: 32-bit
Server MPM: Prefork
  threaded: no
    forked: yes (variable process count)
Server compiled with....
  -D APACHE_MPM_DIR="server/mpm/prefork"
  -D APR_HAS_SENDFILE
  -D APR_HAS_MMAP
  -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
  -D APR_USE_FCNTL_SERIALIZE
  -D APR_USE_PTHREAD_SERIALIZE
  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
  -D APR_HAS_OTHER_CHILD
  -D AP_HAVE_RELIABLE_PIPED_LOGS
  -D DYNAMIC_MODULE_LIMIT=128
  -D HTTPD_ROOT="/"
  -D SUEXEC_BIN="//bin/suexec"
  -D DEFAULT_PIDLOG="var/opt/CollabNet_Subversion/run/httpd.pid"
  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
  -D DEFAULT_LOCKFILE="var/opt/CollabNet_Subversion/run/accept.lock"
  -D DEFAULT_ERRORLOG="/var/opt/CollabNet_Subversion/logs/error_log"
  -D AP_TYPES_CONFIG_FILE="etc/opt/CollabNet_Subversion/conf/mime.types"
  -D SERVER_CONFIG_FILE="etc/opt/CollabNet_Subversion/conf/httpd.conf"

conf/extra/httpd-vhosts.conf:

#
# Virtual Hosts
#...
 
Listen 443
 
#
# Use name-based virtual hosting.
#
#NameVirtualHost *:80
NameVirtualHost *:443
 
<VirtualHost *:443>
    ServerAdmin sysadmin@YOURDOMAIN.com.au
    DocumentRoot /pool/YOURDOMAIN/www/YOURDOMAIN/htdocs
    ServerName YOURDOMAIN
# ServerAlias www.dummy-host.example.com
    ErrorLog /pool/YOURDOMAIN/www/YOURDOMAIN/logs/error_log
    CustomLog /pool/YOURDOMAIN/www/YOURDOMAIN/logs/access_log combined
 
<Location /svn>
        Dav svn
        SVNParentPath /pool/YOURDOMAIN/svn
        AuthType Basic
        AuthName "Subversion"
        AuthUserFile /pool/YOURDOMAIN/www/YOURDOMAIN/htpasswd
# AuthzSVNAccessFile /pool/YOURDOMAIN/svn/svnpolicy
        Require valid-user
        SSLRequireSSL
                Order allow,deny
                Allow from all
</Location>
 
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
...and the rest of the SSL config
...can be copied from /opt/coolstack/apache2/conf/extra/httpd-ssl.conf

apache22-svn.xml:

<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
    Copyright 2006-2007 Sun Microsystems, Inc. All rights reserved.
    CSKapache2 manifest - should reside in /var/svc/manifest/network.
-->
 
<service_bundle type='manifest' name='COLLABNETapache2:apache'>
 
<service
    name='network/http'
    type='service'
    version='1'>
 
    <!--
      Because we may have multiple instances of network/http
      provided by different implementations, we keep dependencies
      and methods within the instance.
    -->
 
    <instance name='apache22-svn' enabled='false'>
    <!--
      Wait for network interfaces to be initialized.
    -->
      <dependency name='network'
          grouping='require_all'
          restart_on='error'
          type='service'>
          <service_fmri value='svc:/milestone/network:default'/>
      </dependency>
 
      <!--
          Wait for all local filesystems to be mounted.
      -->
      <dependency name='filesystem-local'
          grouping='require_all'
          restart_on='none'
          type='service'>
          <service_fmri
              value='svc:/system/filesystem/local:default'/>
      </dependency>
 
      <!--
          Wait for automounting to be available, as we may be
          serving data from home directories or other remote
          filesystems.
      -->
      <dependency name='autofs'
          grouping='optional_all'
          restart_on='error'
          type='service'>
          <service_fmri
              value='svc:/system/filesystem/autofs:default'/>
      </dependency>
 
      <exec_method
          type='method'
          name='start'
          exec='/opt/CollabNet_Subversion/bin/apachectl start'
          timeout_seconds='60'>
      </exec_method>
 
      <exec_method
          type='method'
          name='stop'
          exec='/opt/CollabNet_Subversion/bin/apachectl stop'
          timeout_seconds='60'>
          <method_context />
      </exec_method>
 
      <exec_method
          type='method'
          name='refresh'
          exec='/opt/CollabNet_Subversion/bin/apachectl restart'
          timeout_seconds='60'>
          <method_context />
      </exec_method>
 
        <property_group name='httpd' type='application'>
            <stability value='Evolving' />
            <propval name='ssl' type='boolean' value='true' />
        </property_group>
 
        <property_group name='startd' type='framework'>
            <!-- sub-process core dumps shouldn't restart session -->
            <propval name='ignore_error' type='astring'
                    value='core,signal' />
        </property_group>
        <template>
            <common_name>
                <loctext xml:lang='C'>
                    Apache 2 HTTP server
                </loctext>
            </common_name>
<!--
            <documentation>
                <manpage title='httpd' section='8'
                    manpath='/opt/coolstack/apache2/man' />
                <doc_link name='apache.org'
                    uri='http://httpd.apache.org' />
            </documentation>
-->
        </template>
 
    </instance>
 
    <stability value='Evolving' />
</service>
 
</service_bundle>

User Journal

Journal: Joe the Plumber as spokesman for Israel

Journal by toby

Now we know there's something lower than Z-list on the celebrity scale. Be careful with your next tax return, Joe.

Update - but wait, there's more...

To be honest with you, I don't think journalists should be anywhere allowed war (sic). I mean, you guys report where our troops are at, you report what's happening day-to-day, you make a big deal out of it. I think it's asinine. I liked back in World War I and World War II, when you'd go to the theater and you'd see your troops on the screen and everyone would be real excited and happy for them. Now everyone's got an opinion and wants to down soldiers, our American soldiers, Israeli soldiers. I think media should be abolished from, you know, reporting. You know, war is hell, and if you're going to sit there and say, "Well, look at this atrocity," well, you don't know the full story behind it half the time. So I think the media should have no business in it.

Comment is hardly needed...

User Journal

Journal: Roche speaks, from V.S. Naipaul's "Guerillas"

Journal by toby

"When I eat food and enjoy it, I wonder why I am allowed to do so. When I lie down in my bed at night and make myself comfortable, I wonder why I am allowed to do so. It would be so easy to take it away from me. Every night I think about that. It would be so easy to torment me. Once you tie a man's hands you can do anything to him."

User Journal

Journal: What am I angry about today? 2

Journal by toby
  • This flaming turd - How can anyone be involved in such a piece of DRECK and maintain their self respect?
  • The FUCKING White Anglo Ratfuck IMMIGRATION SYSTEM in all its ramified, arbitrary, racist, discriminatory glory
  • The MONKEY - the FUCKING MONKEY - do I *ever* have to see his moronic face again? Put him in Pound-Ass Prison and drop the key into the ocean. Better yet. Put him and Cheney and their attorneys in a basketball stadium with every surviving Guantanamo detainee and cheer the spectacle on.

Real computer scientists don't comment their code. The identifiers are so long they can't afford the disk space.

Working...