1 var fs = require("fs");
2 var http = require("http");
3 var url = require("url");
4 var path = require("path");
8 function maintain(name, repoinfo, files) {
9 console.log("doing yum clean for ", repoinfo);
11 var metaAge = 24*3600*1000*(repoinfo.updateinterval);
12 var expireAge = 24*3600*1000*(repoinfo.expiretime);
14 function fileCheck(i) {
15 console.log("checking file: ", files[i]);
17 // we look for repodata/repomd.xml file, if this is past maturity, we clean that whole directory
18 if(files[i].match(/.*repodata\/repomd\.xml$/)) {
19 console.log("Found repomd.xml file: ", files[i]);
21 // strip the repomd file to get the dir
22 var repomddir = files[i].replace(/repomd\.xml$/, "");
23 console.log("repomd dir is:", repomddir);
27 fs.stat(files[i], function(err, stats) {
28 console.log("stats for file was: ", stats);
29 var curtime = new Date().getTime();
30 var ctime = stats.ctime.getTime();
31 console.log("curtime is ", curtime);
32 console.log("ctime is ", ctime);
34 var age = curtime - ctime;
35 console.log("age is (%d) for (%d)", age, metaAge);
37 // TODO: cleanup repomd directory
43 fs.stat(files[i], function(err, stats) {
44 console.log("stats for file was: ", stats);
45 var curtime = new Date().getTime();
46 var atime = stats.atime.getTime();
47 console.log("curtime is ", curtime);
48 console.log("ctime is ", atime);
50 var age = curtime - atime;
51 console.log("age is (%d) for (%d)", age, expireAge);
53 // TODO: cleanup singular file
54 // TODO: cleanup meta too, fuck me
55 console.log("clean up file \n", files[i]);
56 var metafile = files[i].replace(/(.*)\/(.[^\/]+$)/, "$1/.meta.$2.filesize");
57 //console.log("meta for this file is \n", nfile);
64 if(typeof files[i+1] != "undefined") fileCheck(i+1);
67 if(typeof files[0] != 'undefined') fileCheck(0)
68 else console.log("Skipping (yum) file check as there are none... apprently?");
73 exports.maintain = maintain;