update std
add copyright
add midnightbsd link
remove social stuff
add www
add description and license fields.
formatting dates.
add new api calls
add runs api
add blessed
add blessed
add blessed column
add util to list all port depends
turn off link
add top blockers
add top blockers to magus www interface
catch run ids
fix definition
error handling - dont die, just give 404s like google expects
make fast cgi compatible
switch to dir
add text message
add 404 errors for the ports list page
return an error if we cant connect. fix the bool column for restricted checks
add a copy of ready ports
type is enabled
list depends by type
query types
add quotes
revert
change rel
depends of port relationship
return a depends object not another port
add type column
type is now in the pk
add type
expose type information
fix hash type
add keyword
add a new script to delete runs.
hash
oops these are hash refs
create initial array
attempt to set depends type
add keyword
attempt to store dependency type
add type column
change styling
fix path
add compare runs to template
we use postgresql now
fix data type
Explicitly refer to columsn for clarity
fix includes
more explanation of magus
change padding
dont do vertical spacing
drop resposive on the iamge for now
add a timestamp so we get new data
make the font readable
cleanup markup
typo
fixup media tag
spacing fixes
fixup css
add btn-default
jumbotron replaces hero unit
first pass at bootstrap 3
fix text
try to deal with nav issues
use svnweb rather than cvsweb now
change how we handle license
first pass at using restricted as a flag
add restricted column
add restricted in front end
teach magus about restricted ports
license is an array now
move dialog4ports.sh
oops field name is really name
order the list by name to make it easier
fix select
write it as we go
use vars
fix a bug
first pass at pg rewrite
increase license column
oops we use bootstrap 2.3.2
color code
update pass/fail/warn styles
add readyports view
no reason to order by name
use convenience method
add type
migrate schema to postgres
first pass at postgresql for magus
fixup some properties.
Attempt checkout of svn repo into specific directory.
Update magus to use subversion roots instead. In this case, we switched CvsDir and CvsRoot to VcsRoot and VcsDir to be more generic. While here, fix the licenseit script
Update some of the mports utility scripts
revert 1.8. md5 is used for verify of installed files, but sha256 is used for package verification. really should use sha for both
magus seems to use md5 for file has (why?)
sort the results
add compare feature
fix alignment at low resolution
add runlist
update styling
error styled
improve machine styling
make fluid
Start using twitter bootstrap on Magus website
add files ctfiv put local on stargazer years ago
clear the environment so this actually works
Dialog wrappers for ports
comment out header as it causes errors in safari
make valid xhtml
add MidnightBSD text.
protocol ambiguous
Create a second mysql database connection so we don't have problems with the first result still getting held.
add load_depends function. It creates dependencies list for each package we add to the index for consumption by magus clients. This allows clients to predict what dependencies it needs to fetch prior to fetching the main package. Otherwise, we get a scenario where we fetch a package only to find out we need 5 more and then 5 more after that and so on.
Teach magus to print the worker # in proc title. This lets us know which process is going berserk.
allow users to move templates around.
lower db wait period.. this happens too frequenty to wait this long
old ports are those before 2010/08 now
This script was used to see if version numbers moved backwards and to blame users but required index generation. This would more easily be accomplished with some sql queries + code on magus. We have history there since 2008. Further, the mport tools don't have the same concept of version numbers that pkg_info -P would give us and this script relies on that among other pkg_info specifics.
perl is part of the base system.
use xz for compression
add .mkshrc to the list
Modernize patchtool.py Obtained from: FreeBSD ports
Update to check for RMD160 instead of MD5 which we EOL'd.
perl is part of base now
Get rid of files that are zero bytes
show which function patch is in for update-patches.
The path has changed for Packages.
Add hash code to packages table so we can verify files are ok. Newer versions of mysql require pthread.
Add partial edit functionality. This was work ctriv@ had been doing.
Mport packages end in .mport
Get mirror list from mysql instead of hard coding it. Remove www as we don't store that in magus anyway.
This isn't quite what chris had in mind, but set the alias to the origin for now. This allows a user to type a relative path off of mports to get a specific port without knowing the "friendly" package name. Add indexes for some columns to speed up searches on the client.
This is the first version of the new bless utility for magus/packages. This will generate a sqlite3 database containing an index and mirror list for packages. Next steps: handle os version and arch populate mirror list for mysql? fill in aliases
Perl was excluded. We need it for future magus runs.
Add bundle_name method.
The java ports rely heavily on the proc file system availability when magus is running. Allow the chroot module to mount the proc and linprocfs file systems accordingly.
system perl now..
likewise make it usr/bin/perl since we've got system perl
I think this should be /usr/bin/perl We make a symlink the port case and now that it could be installed as part of the OS...
Script to convert an old package database to libmport.
rewrote the algorithm to not be recursive. MUCH better now.
index number changed in current.
*** empty log message ***
add script to find ports that have not beed updated recently.
start of new filetransfer API.
Make the slave-datadir if it doesn't already exist.
fix a few bugs with syncdir.
a few bug fixes.
Add audit directory for current. (should this be conditional?)
Add mporter; a script I use to automate repetative maintaince tasks. At the moment it is poorly documented, but I hope to improve the docs in the future.
the new approach was fundementally flawed. Go back to the old way.
fix stupid typo bug.
Update to make /etc and /usr/share from src. We also inject a resolv.conf into /etc, as the one from source isn't empty/non-existant. Right now the only way to change resolv.conf is to edit this script, a way to configure this at run time is still needed.
clean up some sorting stuff.
Enable bzip2 compression -y flag to tar Add a newline after the warning so it's easier to read.
After our patch to cvsweb, directory urls need a trailing /
fix exit code reporting.
Warn instead of dieing on missing ports.
Make the check-fake rules more strict. This should fix the false negative on irc/bitlbee
indent results exactly four spaces.
Optimize get_ready_port to only fetch a single row from the DB.
Use compression.
Move chroot init to be with the rest of the init code. Avoid an edge case with sigchld and db drops this way.
Fix various bugs found in the last run.
add licenseit. A simmple script for making it quick and easy to license a port. It downloads the port, starts a shell in the working directory, and once that shell exists, it starts your $EDITOR on the right line of the makefile.
test mtree's exit code.
clean up signal stuff. Deal with child worker exiting 6 (db drop).
deal with SIGTERM too. exit with code 6 on database drop.
have the node script write a pid file. It's handy.
Fix syslog.
fix a doozy of a bug in inject_pkgfile()
New set results stuff
use logger.
clean up a few nits.
Move to logger object.
Add Worker.pm
Move a bunch of stuff to the child module. Still need to clean up logging, but this gives it some badly needed orginzation.
Fix bug with deleting the old mports dir. Fixed bug with package uploading.
Magus meets pointyhat. Magus and pointyhat come to fisticuffs Pointyhat goes away.
Magus 2.1: Many old bugs fixed and replaced with new exciting bugs.
Add a few more defaults.
Fix a bug in _mkdir. File::Path::path throws exceptions on error, its return value in this case isn't what we need to check.
fix bug that was preventing mtree from running correctly in the chroot reference directory.
Try some basic locking to keep two or more workers from updating the machine's run at the same time.
when the script reloads itself, reload the version from the magus mports tree
include the worker ID in verbose reports.
make the cvs checkout more configurable
-j flag: run multiple instances in parallel.
Add some cvs defaults for use on stargazer.
Here's a quick an dirty utility I'm using to make the ftp symlinks. It requires MySQL client library (5.x used). This is ugly and the user/password pair shouldn't be hard coded (i replaced them in the code) To use, cd to the packages directory for the release in question and execute. (All and Latest should be subdirectories)
Pretty big refactor of Chroot.pm. A reference chroot dir is now created, and one or more working chroot dirs. When a working chroot dir is marked dirty or dead, cpdup is used to sync that dir with the reference dir. This is more rebust and faster than the older methods of cleaning a chroot dir. The groundwork is also now in place for supporting more than one worker chroot dir. This will be used when the -j flag is implmented on the slave side.
Add support for SlaveDataDir stuff. Clear all flags in the chroot at clean. (I think this is right).
Try to recover from a dropped DB connection. Don't use /usr/mports for the loopback, set up a mports tree in /usr/magus/slave-data. Don't flush locks on a machine level. This is in anticipation of running more than one magus process on a machine.
Add a framework for using a mports tree other than /usr/mports for a slave magus process.
We got bit by this on the Magus cluster. Clear flags on /var/tmp before deleting it.
Remove /var/tmp in chroot environment and recreate it. This is getting spammed by some ports.
Fix paths on duplicate pkg-descr checking script.
Adjust path for chkorigin script.
Change path to /usr/mports
Clean up make.conf when a chroot dir is cleaned.
make_ftp_symlinks.pl - makes the symlinks needed for packages on the ftp site. Gets the categories and the latest link.
fix typo bug.
The prior change to $Magus::Machine initilization was illadvised.
fix ping method.
Add ping() method to Magus::DBI. Magus now uses it at init time.
Remove unused Archs arrch. Cleanup /tmp in the chroot.
add nuke_internals.pl and top_blockers.pl
Use the anchor to make the status display work with forwards and backwards buttons.
set umask to something more usefull before checking out.
delete lock link.
add support for deleting locks. I'll give you enough rope....
add delete_lock cgi.
Fix regression in skip feature.
add has_many relationship from run to ports.
a few cleanups and bug fixes.
change how the stats look on run pages.
if name is given as a column for search explicitly, don't LIKE it. This helps with the port agg view.
Linking classes need both columns in the pk.
add category stuff, tweak port page.
add distinct_ports method.
add can_reset method.
don't drop untested if the user is doing something tricky in search.
close up cross-scripting hole.
colorize the depends link based on their status.
new colors.
Send the status for depends to the port template.
start of improved searching, can do things like "curl status:fail" or "run:12 status:pass" can't do things involving joins yet, so no "curl arch:i386 status:fail"
make sure the compat dir is there when we make a chroot.
Bug fixes. * Try to keep indexing from using local configuration directives. * Cleanup /compat/linux in dirty chroot dirs.
missed can_reset in one spot
only show reset links if the port belongs to an active run
move result-list.tmpl to port-list.tmpl only show reset links if the port belongs to an active run
remove delete result script. results are dead man. dead.
reset port machine
new stuff for machine page
add search by machine and run
add new template files.
add stuff for machine page.
varius cleanups and additions.
add runs table.
let the user hide the port list.
fix typo so that run links work.
clear file flags before deleting stuff in $root/magus/
add start of run page.
bug fixes.
bug fix
note events differently. this should give timestamps and machine links.
Add reset and note_event methods to Magus::Port Add time field to Magus::Event.
add log method.
start of work for mk II database. Not complete, but usable.
fix logging bug.
download depends from the right location.
Yet another typo. sigh.
make sure to load the Log module.
add pkgname column.
*** empty log message ***
bug/typo fix on log creation.
chmod the tarballs 664 after moving them to the ftp dir.
Don't die if the run's package dir already exists, that's ok.
Move tarballs to the run tarballs dir after they are made.
various cleanups. Most importantly, we refresh the port object in the parent after the child exits. This insures that package is uploaded in the port passed.
Add refresh method.
-R for chflags, need to go thru all the files!
typo fix.
Die if downloading the run tarball fails. We might need/want a retry scheme in the future, but this will be enough for now.
bug fixes.
milestone 2
Update to second milestone.
clean up the cvs cmnd for life on stargazer.
create the subdir in packages for each run.
Set the tree id when the tarball is made, just to simplify things.
Updated for second milestone.
Various bug fixes and improvements.
schema 2.0. Many many changes. Result and port tables have merged. There is now an entry for each port for each run. Runs are per osversion and arch. events have replaced subresults.
Sync with current developement version. This is not ready for primetime yet, but it was felt that a checkin was good for backing up and peer review.
sync with developement version.
Task and Cluster are gone. Snap is new.
new schema.
Update to the devel version of the next milestone. The ports table is now the cross product of the archs and the ports. This makes the rest of the schema much more natural. There is now a ready_ports view in the database. A snap table has been added. This will be used to keep nodes on the right version of the mports tree.
mports changes
Update for mports
*** empty log message ***
Add support for -s (skip check for destdir.).
Add a warning about /mnt
Preserve permissions on tar operation to simulate a real system. Remove /var/crash/ and /var/audit as they should not be needed for ports builds.
Several other files have schg set. Let's just remove the flags from everything even though it takes longer. This includes /usr/sbin and /sbin in the chroot
Remove the unused task stuff. Don't try to remove the mport tree if it isn't there. Bug fix in the cvs command.
make the user confirm result deletion.
Add delete button.
Lable the search button.
Sync with currently deplayed version: now with searching!
Fix primary columns.
Bug fixes.
add bumper. Bumps port revisions based on makefile vars.
When getting a ready port, a depend is only acceptable if it has a positive result for the current version.
fix the columns properly.
Make sure to remove trailing newlines.
Fix columns.
add the in-progress image.
sync with our current working version.
Two bugs for the price of one in check_skip.
bug fix.
Various bug fixes.
Add cvs update support. Fix typo in cluster. Cluster stuff still not ready for prime-time.
We now use the mports tree specified in the config file as the master root. Delete entries from the database when they are no longer in the dir makefiles. Mark ports as failed if they don't exist but are in the dir makefile. Be a bit verbose about what is going on.
Add support for setting your own root and chdir failure callbacks to recurse_ports();
Left align text in a th. With a little padding this looks much on the new wider tables.
Changed how result details work. We now load them in the background on demand inside a results list.
Add support for skip subresults.
Check for LICENSE. Let the warnings begin!
Skip ports that have IGNORE set. Don't report make exiting non-zero if we have a more specific error to report.
add alternating rows.
Header fixes.
Changed the stats to a ul. fiddled margins.
*** empty log message ***
switch to horizontal stats.
send the stats information to each page.
try to make stats on all pages
darker...
hover
"the font is too small"
more definitions.
a few style tweaks.
just add thead and tbody tags...helps with some user agents.
When testing for loopback failure, make sure that it isn't the case that the chroot simply doesn't exist.
Add magus webapp.
Add task support.
Add tasks table. Fix column on the categories join table.
add halt and resume cluster. update the update_cluster.pl script.
Add start of new indexer, and various bug fixes.
various bg fixes, you can now halt and resume the cluster.
Sync magus libs with the current devel version.
Add the start of update_cluster, the ng indexer. This is just a stub file currently.
Make the log data a longtext.
Make the log messages a bit more useful
The trailing whitespace bug fix broke the cwd logic. fixed.
Fix query logic.
A few typo fixes.
Make sure that when looking for ready ports non of the depends are locked. Just because the port is tested doesn't mean that the package is up on the master.
Fix bug where /magus/packages/All wasn't created during clean.
Add logging. Make scp errors more verbose. Add command line flags. Fix SIGINT bug.
Add all_depends method.
Quick little script to delete results from the db
Typo fixes.
Make sure that Packages/All exists in the chroot dir.
Make the /sys symlink.
typo fix.
Add logs. An entry is made in the log table for any phase of a build that fails. This means that subresult rules now get to see all the output, not just each line. While this costs some ram, it will be /much/ faster.
Refactored a good chunk of code. Added logging. Added docs. Cleaned up exception handling. Still a few known bugs. SIGINT isn't quite handled correctly yet.
Add logs table.
Add missing license.
Typo fix.
Add some new vars.
The subresults table had result_id, changed to result.
Various bug fixes.
First beta version.
Add master and slave scripts. Add schema. Add sample configuration file.
Typo fixes.
Add the Magus bootstrap lib.
Added the database layer. Locks, ports, and the ready queue, and such such.
Make the db connection in Mport::Index overrideable. Magus::Index will use this.
strip whitespace from the end of lines.
Strip whitespace from the end of a plist entry.
Sync with my working version. At this point a slave machine can chroot, test a port, and analyze the results. The next step is to implement the master machine.
Start of the outcome rules.
Add log dir. Add mark_$foo methods.
Driver script for Mport::Index. You can run this script and INDEX.db will be made in /usr/mports.
Add depends class.
Gutted to be a Mport::DBI subclass. More functionality will be added to this class as needed.
Add our parent class for the Class::DBI based modules.
Die is a subdir makefile lists a port that doesn't exist.
A pretty significant refactoring. This code is still in active developement, and future such changes are likely.
Ported the chkfake script to sh from perl. This will allow all ports to be checked, and simplify things for magus.
recurse_ports used to take around 4m40s to run. This optimization is a little hacky, but I got the time down to around 5s.
This has been replaced with the magus project.
Couple bug fixes.
Add docs and a delete method. Start to organize the dirs a bit. We might try to cache the dir some...
Add recurse_ports. Only export symbols on request.
Add chroot module. This class takes care of the details of the chroot dirs that ports are tested in.
Add notes on the design of the port testing system (magus).
Add script for building the chroot envirement that ports are tested in.
spelling police.
Start of the perl libraries for playing with mports. At the moment this commit is simply to backup my work so far. The code is not yet usable. As perl will be the official language for major scripting in the mports system, these libraries will - over time - become quite extensive.
Fix port directory
Adjust for mports.
Skip ahead on symlinks. We just want to see that the link is there. It might not make any sense until final install time.
Ignore perl modules' packlists. This is a workaround for a known bug in ExtUtils::MakeMaker.
Improved fake checker. Now checks the contents of files for the fake destdir. Exits non-zero when fake fails.
Added check_fake target.
fix paths
/usr/mports
added -a flag to check all ports. You need to run make index in /usr/mports before you can use this.
Added chkxprefix.pl; a simple script to check if a port and its dependcies don't have an /usr/X11R6 prefix.
update to legal-packages script
Changes to legacy doit.sh in case we need it. Python is not building to use the newer script.
change directory to /usr/mports
add MidnightBSD
s/Free/Midnight
few minor changes for MidnightBSD
Importing legal-packages.sh into mports.
Initial upload of MidnighBSD's mports