01:34:26 jmkasunich has joined #emc-devel 01:40:02 hiya jmk 01:40:20 hi 01:41:02 * jmkasunich is tired 01:41:07 TGIF 01:41:12 still got the cold? 01:41:16 recovering 01:41:33 I stayed at work until after 8 today 01:41:37 that generally sucks 01:41:40 (not working per se tho) 01:41:40 bummer 01:41:57 national engineers week is coming up, and the company has some competitions 01:42:10 they are actually fun, but we spend long hours building stuff 01:42:21 ah - I remember all the E-Week stuff 01:42:34 egg drops, rube goldberg competitions, etc. 01:42:48 we're building a machine to "go bowling" 01:42:56 uh-oh ;) 01:43:09 there will be a ball and a bunch of pins set up in the lobby (about a 30' x 60' area) 01:43:22 we need to grab the ball and knock down the pins 01:43:38 to make it interesting, the pins that are worth the most points aren't on the floor 01:43:48 do you have to release the ball? 01:43:51 no 01:43:54 heh 01:44:11 pins on tables / chairs / mantles? 01:44:14 one pin (worth 30 points) will be on a 16" high pedestal 01:44:30 does it count if you destroy the pedestal? 01:44:39 10 at 2 pts each will be in the traditional triangle setup on a 4" hi platform 01:44:53 pedestal is a pretty sturdy stack of cinderblocks 01:44:54 I think a cannon is the best bet ;) 01:45:06 as long as the ball can handle it 01:45:11 no explosives, flame, or fuels allowed 01:45:19 high pressure gas? 01:45:27 inert or air 01:45:35 an additional twist 01:45:40 compressor to push the ball, rubber seal that'll give way when the pressure is high enough 01:45:43 the pedestal is on the far side of the lobby 01:45:47 of course 01:45:53 ball (and start line) on the near side 01:45:56 and you have to aim 01:46:04 presumably they can move one or the other 01:46:06 between the two is a low wall (which we're not allowed to go over) 01:46:16 with an 18" wide x 15" high tunnel in it 01:46:23 that does put a wrinkle into my plans 01:46:43 so we have to fit thru a 15" high hole, then knock a pin of a 16" high pedestal 01:47:05 does the ball get to break apart? 01:47:11 the rule is that you don't have to actually hit the pin(s) with the ball 01:47:12 no 01:47:23 as long as they fall - that's good 01:47:38 is this a bowling ball, or a baseball? 01:47:40 but you must be carrying the ball if you wish to use part of your vehicle to knock pins 01:47:44 bowling 01:47:46 12 lbs 01:47:48 ok 01:47:59 oh - you get to ride it - that's nice 01:48:05 the easy way is to push the ball around 01:48:12 as long as you're less than 15" tall ;) 01:48:32 there are 10 pins at 1 pt in the usual setup about 10 feet in front of the initial ball position, those are easy 01:48:55 8 more (4 on each side of the wall, far apart) worth 3 points, also on the floor, so easy for someone who is just pushing the ball 01:49:00 the rest are harder 01:49:15 10 on a 4" high platform (with a ramp) 01:49:17 sounds fun 01:49:22 and 1 on the 16" pedestal 01:49:44 should be 01:49:58 we are going with the "2 wheels and a caster" method 01:50:09 we have the wheel/motor part built up 01:50:12 working on the chassis 01:50:17 then the part to capture the ball 01:50:40 and finally a long "tail" that we can lower for the tunnel and raise to knock things off the pedestal 01:51:01 scorpion-bot 01:51:05 we're allowed to use wired remote control 01:51:28 ok, so not a lot of spinning around or going around things 01:51:28 I'm so tempted to put a laptop running HAL on the vehicle tho 01:51:32 yep 01:51:43 ethernet and remote X for a wired remote ;) 01:52:00 we're gonna have a 6-8 foot cord, we can walk around behind it, just not allowed to touch it 01:52:06 ah 01:52:34 if I could pull off the laptop thing I'd want to use wireless ethernet ;-) 01:52:39 in that case, a small monitor and a game controller (like the Nostromo - a USB keypad for the most part) 01:53:22 thing is my beater laptop (my only laptop) doesn't even have ethernet, let along all the other new fangled stuff 01:53:34 s/along/alone/ 01:53:42 bummer 01:53:59 were probably gonna use an analog PWM generator 01:54:07 I built up one for last years event 01:54:22 that was RC controlled - they gave us a little RC car to work with 01:54:29 really underpowered for the contest 01:54:52 just a joystick and analog PWM 01:54:59 so we gutted it, kept the radio, and took the signals from the radio, massaged them into PWM to drive two motors and made a more powerfull vehicle 01:55:15 this year we're gonna reuse the power stage and part of the PWM generator 01:55:27 replace the RC car interface with pots/joystick 01:55:50 what really makes me want to use the PC is that the motors we're using have encoders on them 01:56:03 G-Rex 01:56:14 they came from an old tape library that I dumpster picked 01:56:21 64ppr encoders 01:56:29 do you still have the tape drives? :) 01:56:30 and 45:1 worm gears to drive the wheels 01:56:34 damn 01:56:41 tore the tape drives apart 01:56:46 that'll get you some torque 01:56:55 bummer 01:57:00 the motors are small, 2" long x 1.4" dia 01:57:09 why? who wants SCSI tape drives? 01:57:13 me 01:57:18 high capacity though 01:57:34 I dunno exactly what kind these were 01:57:36 I'm still trying to get my old dual Pentium Pro to work as a server 01:57:41 there were two drives in each box 01:57:57 I have a tape drive (off eBay) - 50/100G AIT-2 01:57:58 size of a full height 5-1/4 disk drive 01:58:06 an - DLT probably 01:58:16 or 8MM 01:58:16 the tape cartridge apparently only has one reel 01:58:21 those were pretty huge 01:58:35 feeds into the center as it pulls off the outside? 01:58:52 it grabs the tape and winds it onto an internal reel (pulling it past the head) then when done winds it back into the cartridge 01:59:01 ah, strange 01:59:23 two reel motors, one mates to the cartridges reel, the other is connected to the internal reel 01:59:47 no capstan drive, there is an idler roller with a high cpr encoer that is used to measure tape speed 02:00:03 I'm guessing late 90's technology 02:00:12 I wanted it for the tape handling stuff 02:00:19 that must be a PITA To get the thing threaded onto the inner reel each time (unless there's a nub or bobbin on the tape) 02:00:33 all automagic 02:00:41 "magnetic" ;) 02:01:12 there is a leader-ish thing inside the drive that apparently connects to a hole or something on the end of the tape 02:02:18 ok - a hole in the tape and a hook (retractable) on the spindle wouldd o it 02:02:26 not on the spindle 02:02:52 there is a 12" or so long piece of thin steel (feeler gage thin, 0.002 or so) that acts as a leader 02:03:09 that is attached to the spindle at one end, and is prethreaded thru the head mechanism 02:03:18 ok - also as a tape protector, I imagine 02:03:26 the other end sits where the cartridge is gonna go, and somehow hooks the end of the tape 02:03:39 (I suspect there is a leader of some sort in the cartridge too) 02:06:09 IF they were a drive type you could have used, and IF I knew, I would have saved them 02:06:19 I really wanted the rest of the tape handling stuff 02:06:19 heh - thanks 02:06:28 if I had known, I would have asked earlier ;) 02:06:35 there were two main units (two tape drives each) and one adder unit 02:06:45 the main units held about 10 cartriges, the adder about 15 02:06:55 cool. some of the libraries are pretty cool, robotically speaking 02:07:07 there were screws and motors and all kinda stuff to move tapes from storage to drive and back 02:07:12 the ADIC upright TB or more libraries really get moving 02:07:14 yep 02:07:27 the expander even had an elevator to take tapes up to the main unit mounted above it in the rack 02:07:33 I got 10 of those little servo motors 02:07:48 yep. have you seen the automated pill dispensers at some pharmacies? 02:08:02 they're pretty similar to the libraries 02:08:07 three 20"+ long, high pitch/multi-start screws and nuts, three worm gears and worms, etc 02:08:14 nope 02:08:16 cool 02:08:32 bunch of little timing belt pulleys and stuff 02:08:55 I collect stuff like that even tho I'll probably only use 2% of it 02:09:03 its a disease 02:09:42 I just scrounged a PC today 02:09:51 dual P3 667MHz 02:10:17 rambus memory - talk about a dead end, that never did take off did it? 02:14:19 not really 02:14:40 the box I grabbed was at one time a high end developers workstation 02:14:44 HP Kayak system 02:14:45 that's better than my dual PPro-overdrive-333 02:15:03 with a whopping 256M (some of which seems to not be working at the moment) 02:15:18 and the dead CMOS battery - you remember the old VARTA blue cylindrical batteries? 02:15:27 ohh, old 02:15:30 heh 02:15:48 yep - it has an i960 chip on it, and 8 PCI slots 02:16:01 what was the 960 for? 02:16:10 IO processor 02:16:12 I've seen them in RAID controllers 02:16:25 yep - this has I2O on the motherboard 02:16:35 another technology that didn't really go anywhere 02:17:09 heh... the "mundane" machines in the dumpster are all pretty mainstream 02:17:26 but the ones that were high end when purchased, were bleeding edge 02:17:31 some bled more than others 02:17:34 I'd love to put this server stuff into another machien, but I'd also love to not spend much on it 02:17:39 yep 02:17:52 what server stuff? 02:18:19 I actually have a SCSI drive array in a hot-swap cage, CD-ROM, ZIP-100 drive, and U160 controllers 02:18:25 and the tape drive, of course 02:18:45 and a case that holds it all? 02:18:48 then again, I can have 3x the storage, in RAID1 SATA for $200 02:18:50 yes 02:18:58 (you got the drive array from me, right?) 02:19:04 19 drive bays, triple redundant 900W supply 02:19:07 nope 02:19:37 ok, I recall giving someone a 3 bay hot plug scsi cage and drives at NIST EMCfest 02:19:38 I bought the machine new (in 1995 or so), most of the other stuff is eBay 02:19:43 must have been someone else 02:19:56 I think I had asked about them, but maybe Paul or JonE got them 02:20:14 so what do you need for that server? you have all the storage, the case, and the PS 02:20:21 just need a mobo? 02:20:31 a battery, and the ability to install Linux from CD-ROM 02:20:42 the motherboard works (though the supply is AT, not ATX) 02:21:10 does it have a spare IDE channel for the cdrom drive? 02:21:13 I've booted of ffloppies, tries syslinux and smartboot, and I can't get the damned thing to install a new version of Linux 02:21:18 oh, I bet it can't boot from CD 02:21:22 I could go that route, probably 02:21:44 this machine came out when CD-boot was new, and there's a BIOS option for it, but it doesn't seem to work 02:21:58 it's attached to an Adapted 2940UW at the moment 02:22:01 Adaptec 02:22:04 what about a new mobo? 02:22:13 AT only, in that case 02:22:18 ah 02:22:30 the supply is really big, since it's triple hot-swap 02:22:34 get out the drill? 02:22:45 nice case - Antec KS-011B 02:22:51 course the PS would be a prob anyway 02:22:58 I've done that already, and the hacksaw and files ;) 02:23:44 if you were just looking for a system (and didn't already have the case and everything... 02:23:45 that's my dilemma - I have 11 SCSI hard drives, a tape drive, several CD-Roms and the ZIP drive (plus a few controllers) 02:23:51 I have an HP LPr server 02:23:58 but I can replace that al with a $299 wal-mart IDE special 02:24:08 dual 600MHz P3, two bay hot-plug SCSI, CD-ROM 02:24:16 all in 3.5" high rack mount 02:24:22 nice 02:24:28 did you have tha twith you at Fest? 02:24:36 I think I brought it 02:24:40 never did anything with it tho 02:24:41 ok - I think so too. 02:24:48 BDI and SCSI didn't get along back then 02:24:55 still might not 02:25:00 ubuntu 02:25:06 great hardware detection 02:25:19 yeah, but I've heard that SCSI does bad things to RT latency 02:25:24 not a factor for a server tho 02:25:34 DMA does, but you should be able to disable it 02:25:42 though I'm not sure for SCSI 02:25:48 sometimes I think I would like to set the LPr up as a server of some kind 02:25:55 other times it just seems silly 02:26:10 yep 02:26:32 less noise, better performance, less power, less space, and all that for only $150 :) 02:26:40 or so 02:26:43 it would be nice to have a RAID array for my /home directory, so I'd never loose anything even as I evolve thru different main computers 02:26:57 but not nice enough to be worth the hassle 02:27:08 the raid array is 2x18G drives 02:27:15 my drive on this box is 80G 02:27:21 that's part of my idea - I have a static IP, I'd like to have CVS access to projects when I'm away from home 02:27:32 IMAP for email 02:27:52 if I had static IP, then it would be a different story - serve webpages, host emc stuff, etc 02:27:55 and backups / redundancy for business projects 02:28:16 actually, the static IP costs me 1/3 of the hosting fees at DreamHost 02:28:37 well, if you ever think you could put that LPr to good use, let me know 02:28:37 I'm way better off with the extra $16/month for the offsite hosting 02:28:43 OK - will do. thanks 02:28:57 course you'd need a 19" rack 02:29:10 then you'd have a rack with 3.5" filled, and lots of empty space 02:29:24 which you would eventually fill ;-) 02:29:25 I have a short rack with a power supply on it right behind me 02:29:35 how deep? 02:29:40 this thing is 20" plus 02:29:51 18 deep 02:29:53 maybe 24" plus 02:30:04 the supply is around 20 as well 02:30:41 I have a server closet actually, so it's not really an issue 02:30:51 I just don't have a running server in the closet ATM 02:31:16 On a separate note, is this your comment (in tp.c)? 02:31:17 /* what the hell does this do? It is one of the key functions in 02:31:19 the whole planner, and it doesn't have any overall comments :-( 02:31:20 */ 02:31:27 (just above tpRunCycle) 02:31:28 yeah ;-) 02:31:36 heh - well I agree 02:31:54 I fixed the 3dChips problem by reintroducing the high speed blending problems 02:32:03 (apparently) 02:33:13 dunno if that is good or bad 02:33:21 me either 02:33:48 apparently the code inside the OLD_CODE ifdefs was an attempt to smooth out blending for machines like Les' 02:34:02 but it screwed up this other stuff, as we now know 02:34:05 smoothed it a little too much 02:34:13 heh - sort of 02:34:48 http://cgi.ebay.ca/ws/eBayISAPI.dll?ViewItem&item=5865618500 02:34:52 the runcycle - do you know how many segments there should be in the queue? 02:34:56 that is something like the LPr box 02:35:04 I've never dug into that code 02:35:06 h - OK 02:35:10 ok (on both) 02:35:20 you and cradek quickly got deeper than my knowledge last night 02:35:29 heh 02:35:34 mine too ;) 02:35:58 I should just scrap that big box - it doesn't even have 64/66 PCI 02:36:13 64 or 66, let alone both 02:36:25 don't you just hate it when that happens 02:36:37 something that was once top-of-the-line 02:36:38 yes, especially when I bought the thing for $5000 or so 02:36:45 ouch! 02:36:48 plus upgrades after the fact 02:36:52 yeah 02:36:58 I've never bought such stuff, I dumpster dive it 02:37:05 the SuperMicro motherboard was around $1000 alone 02:37:24 and it still hurts when I realize that it's dumb to keep it because it can be replaced (better) for a few hundred bucks 02:37:50 now I have a SuperMicro dual Opteron, and the MB cost $350 (and the whole computer was < $2500 + monitors) 02:37:54 yep 02:38:33 that one I grabbed today... I had this nagging voice in my head that said "you'll never actually use this, leave it in the dumpster" 02:38:44 heh - that's so hard to do 02:39:21 if the mechanicals were more normal I'd just grab the mobo, CPUs and memory 02:39:40 it's a full size AT board - I'm not sure there's a case made today that it'll fit in 02:39:43 but they are slot1 CPUs, with a special fan and ducting to cool them 02:39:50 ah - yours 02:39:54 yeah 02:39:54 same deal, I bet 02:40:07 on yours, the mobo is probalby the most obsolete part 02:40:19 (except for that pesky AT vs ATX thing) 02:41:03 yeah - I can always use the SCSI drives and controllers 02:41:13 the AHA-39160 is still a good card 02:41:21 you said 333MHz? even the mundane ones in the dumpster are better than that ;-) 02:41:24 (not SMP tho) 02:41:41 DUAL 333 MHz! 02:41:54 I paid $100 for the mobo and CPU in this box (on sale, Sempron 2800) 02:42:09 plus a Matrox Millennium II video card, and an actual soundblaster (with extra SIMM ram on it!) 02:42:19 lol 02:43:03 yeah - I just looked at a board for a friend - $225 for an A64 3000 (socket 939), and a board with both AGP and PCIe (both of which perform well), integrated GigE, up to 4G RAM, ... 02:43:46 boggles the mind 02:43:48 well - I may just build myself up an Opteron server, and a single opteron workstation - I think I need to replace the cpus in the duallie anyway 02:43:51 yes 02:44:17 "the dualie" that the 333Mhz one, or your new screamer? 02:44:23 e new screamer 02:44:25 the 02:44:36 why do you need to replace the CPUs? 02:44:57 unfortunately, I bought it about 6 hours before they released the new processor stepping - the one that lets VMWare emulate a 64-bit CPU 02:45:04 plus the SSE3 instructions 02:45:14 and a die shrink + HT speed increase ... 02:45:16 the perils of living on the bleeing edge 02:45:22 bleeding even 02:45:30 yes - and I didn't even buy fast opterons - they're 244s 02:45:39 I'll take the old ones off your hands ;-) 02:45:46 (how fast are they?) 02:45:51 well ... 02:45:55 1.8 GHz 02:46:03 maybe they're 246s 02:46:12 I dunno what those numbers mean 02:46:42 well - they start at [1,2,8]40, and go up to [1,2,8]54 right now 02:46:52 each 2 in the last position is .2 GHz 02:47:07 the first digit is the tpye of system they're for - 1, 2, or 8-way systems 02:47:10 type 02:47:18 so x54 = 5.4GHz? 02:47:22 seems too fast 02:47:52 no - they start at 1.2 or 1.4 GHz, and go up in steps of 0.2, so a 240 is 1.4GHz, and a 242 is 1.4 + 0.2 = 1.6 GHz 02:48:00 oh 02:48:39 so if the number is XYY 02:48:52 ok - I have 244s, which are 1.8 GHz 02:48:58 freq is YY/10 - 2.6 GHZ 02:49:09 nope 02:49:16 44/10 = 4.4 02:49:27 4.4 - 2.6 = 1.8 02:49:46 freq is 1.4 + ((YY-40) / 10) GHz 02:49:53 ok - sure 02:49:54 same thing 02:50:09 I read the - as a dash, not a minus sign ;) 02:50:35 unles YY is 60 or over 02:50:51 in which case it's a dual-core, and the model numbers go up by 5 02:51:01 for each 0.2 GHz increase in speed (I think) 02:51:11 so on raw clock they are only marginally faster than my sempron 2800 (I think it is 1.6G) 02:51:16 yes 02:51:27 but they have 1M of full core speed cache 02:51:31 right 02:51:33 per core 02:51:42 and the architecture is faster probably 02:51:43 and a dual-port RAM bus 02:51:52 dual challen, I mean 02:51:55 cahnnel 02:51:57 channel 02:51:59 lol 02:52:00 woohoo! 02:52:20 I type like bush speaks 02:52:21 well shit, here it is almost 10pm and I still haven't looked into the compile farm problem 02:52:26 heh 02:52:34 you can tell how much I'm looking forward to that 02:52:44 sorry - I'll go make tea, you look at the compile farm :) 02:52:56 do I have to? 02:53:09 can you subscribe the farm controller to the commit messages, and have it set a flag that way 02:53:19 then have the individual cards do a clean checkout 02:53:21 no mail on the farm 02:53:28 ok 02:53:34 and I don't want to try to set up mail on 4 different distros 02:53:42 no - only on the supervisor 02:53:54 there is no supervisor 02:54:04 ah - only to get the cards booted? 02:54:11 ? 02:54:32 I thought there weas a "controller" card that took care of getting the individual cards booted 02:54:36 rebooting them, etc 02:54:41 each card is a PC, there is a built in KVM that also "muxes" a floppy drive, and the power and reset switches 02:54:51 oh - OK 02:54:57 but the controller is dedicated HW, not a PC 02:55:03 got it 02:55:38 if I was willing to do a fresh checkout every time I could figure out some way to make it work 02:55:43 but gawd that sucks 02:55:49 can you check the cvs error return, or is that the same no matter what the error is? 02:55:52 and it shouldn't be needed 02:56:05 cvs apparently returns a failure 02:56:21 I might be able to parse the log and say "oh, its _that_ failure, ignore it" 02:56:27 but that sucks too 02:56:51 do you have a copy of the actual error returned (is that on the farm status page)? 02:56:55 the scripts are in cvs - the emc-HAL module 02:57:10 not on the status page 02:57:12 stand by 02:58:32 jmkasunich2 has joined #emc-devel 02:58:42 farming 02:58:51 howdy there, stranger 02:59:01 unforch, this box is text only 02:59:18 ok - the failure is anything that doesn't get a CVS_SUCCESS in the log 02:59:31 looking at the scripts? 02:59:33 yep 02:59:54 lemme alt-F2 and read the cvs-fail log 02:59:57 did you have locally created/modified cvsignore files? 03:00:52 no, not on the farm 03:01:41 ok - I thought that was the origin of the problem 03:02:02 when it happened on my main box I assumed that was the source 03:02:31 I should probably reboot that box back to the BDI-4.27 and see if it has the same problem 03:03:09 I see that the latest build of emc2 is from 1/24 03:03:13 right 03:03:28 ever since then the cvs up has been failing 03:03:41 didn't even notice till two days ago 03:03:55 sometimes I wonder if I should bother with the farm 03:04:23 it's good for forensic work, but it does seem to be underutilized these days 03:04:33 it'll be critical for releases though 03:04:44 I'm gonna reboot this box 03:04:47 jmkasunich has quit 03:06:32 I bet when I get it working again several compiles will fail 03:06:43 we'll see :) 03:06:52 (well, with the jepler changes that is a sure bet, but even before then... 03:07:06 there were a lot of changes since 1/24 03:07:13 here's what he wrote in this channel, a bit before you arrived: 03:07:20 jepler in case this reassures anyone of my good intentions, I'm installing bdi-live in qemu right now and will work this weekend to get emc2 compiling on it again 03:07:22 mostly by folks with no idea if they work on older systems 03:07:46 ok - but I was already reassured by his email to the list 03:07:53 I'm not sure what would cause cvs to fail though - that shouldn't have anything to do with the content of the changes 03:08:16 no, the cvs failures are definitely the .cvsignore 03:08:37 but once they are fixed, there are gonna be compile errors or warnings because of other changes 03:08:51 sure - that's what we need to see 03:08:58 well -cradek and jepler at least ;) 03:09:15 like a change to rtapi, the type of an arg passed to some RTAI function was changed from int to long or vice-versa 03:09:21 (don't remember which) 03:09:35 it fixes a warning on new systems, causes one on old systems 03:09:42 that was quite a while ago, I think 03:09:57 that was done once before, then reverted, but it was done again in the last couple weeks 03:10:02 ah 03:10:18 that brings up a point similar to the one raised by "Mark" 03:10:24 back to the other box 03:10:58 maybe RTAPI should be linked to the kernel (in terms of source), and that's the compatibility layer for HAL / emc 03:11:22 jmkasunich has joined #emc-devel 03:11:36 linked in a logical, source-control way, not like the last step in making an executable 03:12:26 I've thought about RTAPI as a separate package/project/tree/whatever 03:13:12 its only connection to sw like emc that uses it is a kernel module, a lib, and a .h file 03:13:37 it would be nice to be able to layer the system better - kernel / RT / RTAPI / HAL / emc (motion) / interpreter / UI 03:14:01 without a lot of hooks that bypass layers (and a clear interface definition) 03:14:26 but it's probably not worth the time 03:14:48 I would like HAL (or its successor) to be separate from EMC 03:15:11 I'd be tempted to merge RTAPI into HAL 03:15:12 yep - emc would have a HAL component or two, but otherwise separate 03:15:26 thats what I intended to do with BLOCS 03:15:52 right 03:16:05 ok, on this box, my old checkouts get the .cvsignore error every time I do an up 03:16:11 a new checkout doesn't 03:16:19 time for diff I think ;-) 03:16:21 what is the error? 03:16:38 cvs update: move away `include/.cvsignore'; it is in the way 03:16:38 C include/.cvsignore 03:16:46 three places 03:17:01 include, bin, and rtlib 03:17:15 ok 03:17:25 have you ever seen that? 03:17:28 cradek did 03:17:38 nope - not that I can remember 03:21:53 maybe the thing to do (and this may be what you meant) is to use cvs diff in the TRY_CVS function 03:22:32 not what I meant, I was diffing files in my checkout's CVS/ dir to see if the two checkouts differ 03:22:42 if it's ok 03:22:53 one checkout (made after the .cvsignore files were added, one made before) 03:23:00 both just did cvs up -dP 03:23:01 cvs diff returns success if there's no difference 03:23:05 both should be the same 03:23:10 should be ;) 03:23:25 but one prints those messages, one doesn't 03:23:32 I want to know why 03:23:51 very odd 03:24:22 only the first time, or every time you up? 03:24:27 every time 03:24:34 (pretty sure) 03:24:35 * jmkasunich checks 03:24:56 yep 03:25:30 one thing bin/, include/, and rtlib/ have in common 03:25:47 they start out empty 03:25:47 they don't actually contain anything in the repository (I think) 03:25:56 except the .cvsignore file 03:26:03 ls 03:26:04 started out empty 03:26:04 oops 03:26:12 ./ 03:26:13 ../ 03:26:24 (dunno what comes next ;) ) 03:28:32 the farm gets develper access, right? (not anonymous CVS) 03:28:37 developer 03:28:40 manually deleted the .cvsignore file in bin/ 03:28:51 next cvs up, it was happy (did a U .cvsignore) 03:28:56 the following one complained again 03:29:06 yes, dev access 03:29:17 and I have the SSH keys loaded so it doesn't prompt for a password 03:29:39 ok. I see the timeout is 60 seconds - I've been waiting as much as 15 seconds lately for the password prompt 03:29:49 if the server is that slow, it could be aproblem 03:29:56 these aren't timeouts 03:30:15 the cvs log file has the same message I just pasted 03:30:21 cvs update: move away `include/.cvsignore'; it is in the way 03:30:21 C include/.cvsignore 03:30:40 what's the date on the file? 03:30:51 cvsignore? 03:31:03 yes 03:31:17 jan 30 03:31:28 from an emc2 checkout? 03:31:29 (it is at version 1.2, that was committed on 1/30) 03:31:31 yes 03:31:40 in the include dir? 03:32:03 I'm looking in bin right now 03:32:06 lemme check include 03:32:19 1/24 03:32:21 ok - the include one I have is 1/24 at 16:45 03:32:52 yep, same in both checkouts here 03:32:52 hi guys 03:32:57 ok 03:32:59 hi 03:33:01 hi 03:33:26 cradek: to fill you in 03:33:34 I'm on my BDI box again 03:33:53 problems with ubuntu? 03:33:53 I have two checkouts of emc2, one in ~/emcdev/emc2head, one in ~/emcdev/emc2old 03:33:58 no 03:34:22 the emc2old checkout was my main working one, it was checked out a year or more ago 03:34:32 the other one was checked out after the .cvsignore was added 03:34:39 ok 03:34:47 still having problems with that? 03:34:48 right now, both are up to date (I think), I ran cvs up -dP on both 03:35:05 the old one complains about three .cvsignore files, the new one doesn't 03:35:13 I can't figure out what is the difference 03:35:43 did you look in CVS/Entries? 03:36:22 yes, sort of 03:36:30 (there is one of those in every dir in the tree) 03:36:51 the ones in that contain the files that its complaining about are exactly the same (diffed em) 03:37:17 well wtf 03:37:37 dat's pretty much what I've been saying 03:37:44 gonna do some more elaborate diffs 03:38:31 is this just academic or is there a reason you have to keep the old tree? 03:38:57 I don't want to do new checkouts on all four farm slots 03:39:24 and I want to get to the bottom of it, because if I do new checkouts and it recurrs when someone changes a .cvsignore, then I'll have to do it again 03:39:35 if its a bug in CVS I want to report it 03:39:41 I understand 03:39:45 if its something screwy about our repository I want to fix it 03:39:46 etc 03:40:03 well - I have a checkout that predates the cvsignore files, and it gives me no error 03:40:04 I dug through the info pages and there's not a lot of detail 03:40:32 let me check another dir 03:41:31 I find it interesting that the ones it complains about are in the dirs that are otherwise empty 03:42:28 what version of CVS are you running? (though it's the same for both checkouts on that box, duh) 03:42:52 1.12.9 03:43:14 ok - same here - the BDI 4.30 version 03:45:38 are you the same user as the checkout was done under? 03:45:43 yes 03:49:03 well - you could have the farm scripts check the log for "^C", and rm -rf the tree, then do a clean checkout if it's found 03:49:59 I'm not considering workarounds tonight 03:50:10 maybe tomorrow, if I can't figure out what is going on 03:50:12 that would be a pretty permanent solution 03:50:35 its not that simple, I would also have to copy the build script down into the new tree, etc 03:50:43 not insurmountable 03:50:46 bit I'd rather not 03:50:49 actually, any error that isn't a connection problem (not sure how to check that) can cause a re-checkout 03:51:17 there shouldn't be any error except connection problems 03:51:29 I agree - but in this case, there is 03:51:29 unfortunately I don't know how to trigger this so I can work on it 03:51:41 * jmkasunich is stubborn 03:51:47 come back with workarounds tomorrow 03:51:47 ther emay be other cases as well, so working around them may be a sane approach 03:52:06 farms been running for a couple years now, this is the first problem 03:52:14 I can't get it to hapeen here either - BDI 4.30, checkouts from before or after the files were added 03:52:34 does the farm do a make clean before or after the test build? 03:52:41 make clean before 03:52:47 ok 03:52:53 it does the whole thing, ./configure, make clean, make 03:53:47 but you're not doing that in your testing right now 03:53:53 ? 03:53:54 nope 03:53:58 just cvs up -dP 03:55:18 what are the contents of the CVS/Entries files under those 3 dirs? 03:55:48 I do not have this bug in ubuntu's cvs version 1.12.9 03:55:56 here's what I did 03:56:07 cvs -d:.... co -D2005/12/01 emc2 03:56:11 John@main:~/emcdev/emc2old/bin$ cat CVS/* 03:56:14 /.cvsignore/1.2/Mon Jan 30 16:51:33 2006// 03:56:14 D 03:56:14 emc2/bin 03:56:15 :ext:jmkasunich@cvs.sourceforge.net:/cvsroot/emc 03:56:28 cd emc2; touch .cvsignore; cvs up -A 03:56:34 I get the error 03:56:45 I remove .cvsignore, cvs up again, no error 03:57:07 the first time after I remove it I get no error (because it isn't there) 03:57:19 the 2nd (and subsequent) time I get the error again 03:57:30 what is -A 03:57:32 I did several, I never get the error again 03:57:44 -A = remove that previous date specification 03:58:26 what's the date on your machine? 03:58:42 and time 03:58:44 me? it's right 03:58:48 Fri Feb 10 22:58:36 EST 2006 03:59:00 ok - close enough ;) 03:59:02 set by ntp on boot 03:59:13 ok 04:01:44 did you try cvs up -C 04:01:49 not yet 04:01:53 I'm testing a theory 04:02:17 heh, caught jepler in a commit 04:03:42 ok, I only get the error when I do cvs up -d 04:03:48 me too...? 04:03:51 -P is ok 04:03:57 as is cvs up 04:04:03 aha 04:04:12 I don't typically use -d 04:04:28 this has got to be related to the fact that those dirs are empty (except for .cvsignore) 04:05:09 -d is the only way to make sure you get any newly added directories 04:05:13 critical for the farm 04:05:24 darned usefull for normal developers too 04:05:25 yeah 04:05:29 seems like a cvs bug then? 04:05:46 could be 04:05:57 wish I had a scratch repository to test things in 04:06:09 I wonder if it is because .cvsignore is a hidden file 04:07:11 so if you do cvs up without -d, is it fixed, or is -d broken forever? 04:07:32 if I do cvs up I get a normal cvs up 04:07:47 if I later do one with -d, I get the error 04:07:57 later yet, no -d, no error 04:08:09 so you can never use -d again? 04:08:12 wtf? 04:08:20 I don't have that behavior 04:08:30 fresh or old checkout? 04:08:41 because on my fresh checkout -dP works fine 04:08:58 damned if I can see any difference between the two checkouts 04:09:13 I don't think state is stored anywhere except in CVS/ 04:09:20 agreed 04:09:23 and they match 04:09:27 at least in those three dirs 04:09:36 lemme check the top dir 04:09:45 what are the timestamps of the .cvsignore files? 04:10:22 -rw-r--r-- 1 John John 179 2006-01-30 11:51 ./emc2old/bin/.cvsignore 04:10:22 -rw-r--r-- 1 John John 4 2006-01-31 16:15 ./emc2old/.cvsignore 04:10:23 -rw-r--r-- 1 John John 9 2006-01-24 16:45 ./emc2old/include/.cvsignore 04:10:23 -rw-r--r-- 1 John John 14 2006-01-24 16:56 ./emc2old/rtlib/.cvsignore 04:10:29 both from the CVA/Entries file, and ls 04:10:35 CVS ... 04:10:38 -rw-r--r-- 1 John John 179 2006-02-10 22:27 ./emc2head/bin/.cvsignore 04:10:38 -rw-r--r-- 1 John John 4 2006-01-31 16:15 ./emc2head/.cvsignore 04:10:38 -rw-r--r-- 1 John John 9 2006-01-24 16:45 ./emc2head/include/.cvsignore 04:10:39 -rw-r--r-- 1 John John 14 2006-01-24 16:56 ./emc2head/rtlib/.cvsignore 04:10:59 entries coming up 04:11:18 jmkasunich: I can't reproduce it on ubuntu. I made my conflicting include/.cvsignore but deleting it once (when it says to) solves the problem 04:11:33 John@main:~/emcdev$ cat emc2old/bin/CVS/Entries 04:11:36 /.cvsignore/1.2/Mon Jan 30 16:51:33 2006// 04:11:36 D 04:11:36 John@main:~/emcdev$ cat emc2head/bin/CVS/Entries 04:11:37 /.cvsignore/1.2/Sat Feb 11 03:27:27 2006// 04:11:37 D 04:12:10 and it's the emc2head dir that fails? 04:12:14 no, old 04:12:29 well - that's backwards 04:13:08 oh wait - I went the wrong way on the times 04:13:21 for head, the one in Entries is newer than the one on disk 04:13:31 Entries is in UTC 04:13:44 so it should be +5 from ls 04:13:54 assuming you're in EST5EDT 04:14:10 yeah 04:14:27 so they both are +5 04:14:39 but one date is the commit date for the file 04:14:43 the other is the checkout date 04:15:42 yes 04:15:57 http://lists.gnu.org/archive/html/info-cvs/2001-03/msg00163.html 04:16:06 that's what made me mention it 04:19:04 I'm gonna try deleting the bin/ directory and doing an up 04:19:28 http://www.monkey.org/openbsd/archive/misc/0004/msg00534.html 04:19:41 that message implies that it's a problem best solved with rm -rf 04:19:58 though you did that, and the issue came back the second time 04:20:19 I only removed the file 04:20:29 did you remove the line in Entries and the file at the same time? 04:20:32 this time I removed the dir (which includes CVS/ and Entries 04:20:34 right - the guy says remove the file ()or the entire directory) 04:21:40 looks like that fixed it 04:21:48 for the bin dir anyway 04:22:17 for include/ I'm gonna try just removing Entries and see if it replaces it 04:22:33 yes I think you should remove from Entires the same time you delete the file 04:22:51 then you'll get a 'U .cvsignore' when you up 04:23:02 I get the U anyway 04:23:15 it says ".cvsignore was lost" then "U .cvsignore" 04:23:39 I'm used to that one - if I hack on a file, then decide I don't like the changes, I rm it, and cvs up to get the original 04:23:41 it shouldn't say "was lost" I think 04:23:51 if you delete from Entries 04:23:58 I also rm README on the farm to force a build (because the farm sees the U) 04:24:00 if you delete the file, but not the Entry, it should 04:24:17 I didn't delete FROM Entries, I DELETED Entries ;-) 04:24:22 heh 04:24:43 it said Entries not found, then U .cvsignore, and apparently rebuilt Entries 04:25:14 that didn't fix it 04:25:33 deleting the entire dir did (for bin/), deleting .cvsignore and CVS/Entries didn't (for include/) 04:25:52 gonna try deleting CVS/* and .cvsignore 04:26:43 nope... 04:27:44 removing the entire directory fixes it 04:27:51 and it seems to stay fixed 04:28:11 I wonder if the dir timestamp is somehow screwing things up 04:28:20 (I wonder if it will stay fixed thru a build - I think make clean empties out those three dirs) 04:28:41 it doesn't rm -f any more, I think 04:29:00 no it does e.g. rm include/* 04:29:02 cd .. 04:29:14 you have moved up one directory level 04:29:27 you see a small pile of stones, and a towel 04:31:39 wow, jepler has been busy 04:31:52 make looks different 04:31:59 and it's a lot faster 04:32:16 the --with-make-quiet is noiser 04:32:23 went from 7:21 to 5:30 on my machine 04:33:45 some warnings from the interp that I'm not used to seing 04:33:47 seeing 04:34:06 all those volatile things? 04:34:18 and that type warning from arg 2 of rt_task_init_cpuid that I mentioned earlier 04:34:48 the interp ones are unused variables 04:34:59 I don't understand why new interp warnings showed up 04:35:10 ok - he may have turned on some warnings that had been off before 04:35:18 I had everything else cleaned up 04:35:35 I went warning-hunting a few nights ago 04:35:44 Compiling emc/rs274ngc/interp_convert.cc -fPIC 04:35:44 emc/rs274ngc/interp_convert.cc: In member function `int 04:35:44 Interp::convert_comment(char*)': 04:35:45 emc/rs274ngc/interp_convert.cc:795: warning: unused variable `int item' 04:35:45 emc/rs274ngc/interp_convert.cc: In member function `int 04:35:46 Interp::convert_m(block*, setup*)': 04:35:47 emc/rs274ngc/interp_convert.cc:1652: warning: unused variable `int index' 04:36:00 warning hunting is a noble thing - I try to do it every so often 04:36:30 I'm proud of the fact that "my" parts of emc2 are warning free 04:36:45 I agree int index is unused... 04:37:00 but I'm especially impressed when you hunt warnings in code that you aren't responsible for 04:37:03 thanks! 04:37:52 welcome - none of it's "my" code 04:38:01 I screw up all areas equally 04:38:11 several similar warnings in other files, interp_cycles.cc, etc 04:38:17 do you get them? 04:38:20 yes 04:38:34 ok 04:38:43 that last one is different 04:38:54 I'm surprised there is no fallout from my latest configure change 04:39:01 /home/John/emcdev/emc2old/src/rtapi/rtai_rtapi.c: In function `rtapi_task_new': 04:39:02 /home/John/emcdev/emc2old/src/rtapi/rtai_rtapi.c:674: warning: passing arg 2 of `rt_task_init_cpuid' from incompatible pointer type 04:39:10 this is familiar 04:39:19 I swear I fixed that 04:39:32 I think it's a function pointer 04:39:33 I think magma may use a differnet type for that arg than older RTAI does 04:39:41 ohhhh 04:39:46 maybe it's fixed for just me then 04:40:00 it's been "fixed" before, and reverted because it was wrong on other systems 04:40:12 thats what the compile farm is supposed to catch 04:40:52 speaking of which, now that I know how to fix the CVS prob, I'm gonna get it going again 04:40:56 great 04:41:03 we may really need it soon 04:41:05 /part 04:41:13 jmkasunich2 has quit 04:52:41 ok - bedtime for me. good night guys 04:52:45 SWPadnos is now known as SWP_Away 04:52:48 builds on BDI-2 and -TNG failed rather quickly 04:52:58 jmkasunich: those are the non-kbuild? 04:53:02 -Live and -4.20 are still going, thats a good sign 04:53:14 yes, but Live is non-kbuild too 04:53:19 jmkasunich: are they 2.2? 04:53:34 BDI-2 is, TNG is 2.4 04:53:41 so far, 2.2 is uncharted waters 04:53:45 http://www.linuxcnc.org/compile_farm/ 04:54:00 not just 2.2, BDI-2 is also RTLinux instead of rtai 04:54:07 ok 04:54:23 2.18 reports failed, but the log says success 04:54:41 oops - reload :) 04:54:43 sez you?? 04:54:52 make clean failed ;-/ 04:54:56 that one was in cache ;) 04:55:11 see - I told you I should go to sleep 04:56:10 -TNG has a problem with some kind of depend file - I don't know what that is about 04:56:51 maybe this weekend I can install ubuntu on a farm slot 04:57:16 I've have a nagging feeling I should install BDI-4.30 or 4.38, but I don't really want to 04:59:33 damn, midnight again 04:59:41 at least the farm is running now 04:59:44 bedtime for me 05:01:28 jmkasunich: how do I cause another farm run? 05:01:45 wait an hour, or ask me to kick it off 05:01:53 ok 05:03:02 the first two slots I already kicked off after you committed the warnings fix (but they failed) 05:03:11 the other two are still running their first compile 05:03:37 which is a good sign 05:04:01 can I log into these? 05:04:06 no 05:04:11 darn 05:04:22 they have no ssh or anything like that, and are firewalled out the wazoo 05:05:10 I have considered having them monitor #emc, and when CIA sends out a commit notice they could start immediately 05:05:46 that would be nice 05:05:57 but probably it would be finicky to set up 05:06:15 IRC works from those boxes, as long as they initiate things 05:06:38 irssi has simple to use perl scripting 05:06:48 what is irssi? 05:06:57 irc client 05:07:09 doesn't require x 05:07:18 good - these boxes are x-less 05:08:21 sometimes I think makefiles are write-only 05:08:42 yeah 05:08:56 I wonder if irssi can run blind (in the background) 05:09:18 you could run it in screen if you have to 05:09:23 just print everything said in the channel to stdout 05:10:29 on bdi-tng what does gcc -v give you? 05:11:17 2.96 05:11:21 crap 05:11:23 I figured 05:11:54 is there a gcc-3.xx anywhere on it? 05:12:02 doubt it 05:12:26 ./config is supposed to figure out that the compiler version isn't good for RT and use egcs instead 05:12:52 at least it did ages ago 05:13:12 you know, it is good that jepler wants to try to support the older systems 05:13:23 but I was serious when I said we should discuss it 05:13:30 the base of the problem is that gcc2 doesn't have the dependency-calculation scheme gcc3 has 05:13:33 maybe the time has come to drop some of them 05:14:35 Paul dropped support for TNG ages ago, RH did something to piss him off, he went to knoppix and then debian 05:14:38 maybe. 05:15:57 the dependency system in the old build system didn't work right 05:16:09 yeah it was totally wrong 05:16:12 I dunno if it ever did, but I know that a couple months ago it didn't 05:16:27 this one should be exactly right (and the depends are automatically maintained correctly) 05:16:33 I could modify a .h file and the files that included it didn't get rebuilt 05:16:44 yeah, the make finished, but the program didn't run right 05:16:49 I dealt with that a lot 05:16:54 it bites 05:17:32 with the new build, if you change a file, depends for the file are recalculated (because you might have added an #include) and then it is compiled along with all necessary things 05:17:41 and no UNnecessary things are compiled 05:18:03 but as written, it requires an available gcc3 05:18:33 I think we should seriously discuss dropping support for BDI-2.x and -TNG 05:19:06 we would probably not have a lot of complaints. 05:19:27 BDI-Live compiled OK, BDI-4.20 did not 05:19:28 it's nice that -live, outdated as it is, works 05:20:01 4.20 looks close... 05:20:21 I'll restart -TNG so it will get your warning fixes 05:20:38 do you think you might want to try anything for 4.20? 05:20:44 if not, I'll restart it too 05:20:56 if you want to try something, I'll wait 05:21:03 I don't see the error... just that ld failed with no error message 05:21:47 yeah, kinda strange 05:21:58 I don't know what to try right now, so go ahead 05:23:13 damn - I know what happened 05:23:17 disk is full 05:23:21 ahhhh 05:23:27 I was going to suggest that, but thought "nah" 05:23:31 gotta clean up a bit 05:25:09 is there any convenient way to find out where the big files are? 05:25:24 I like to use xdu 05:25:37 a recursive ls that lists only the total size of each directory contents or something 05:25:37 do you have remote X? 05:25:44 well there's du 05:25:46 I don't have remote anything 05:25:51 I walk over there and type 05:26:12 you'll have to get by with du I ugess 05:26:13 guess 05:26:21 that should work 05:26:39 especially check /tmp and /var 05:32:12 there's 300+ megs of .debs in /tmp 05:32:21 oh good 05:32:28 I guess those can go away 05:32:31 a smoking gun is always nice 05:32:46 I also had a many-meg farm log file 05:33:07 the cvs error caused that to bloat by about a factor of 6 05:33:38 is erasing debs gonna make apt get all confused? 05:33:46 not from /tmp 05:33:47 or does it cache them somewhere else 05:33:48 ok 05:38:45 ok, freed up 380+ meg and started it again 05:38:52 that slot only has a 2G disk 05:38:58 ok cool 05:39:05 darn I wanted to work on halcmd tonight, but didn't 05:39:08 tomorrow maybe 05:39:18 yeah, its late 05:39:22 what were you gonna do? 05:39:26 oh, module-helper? 05:39:29 yeah 05:39:35 last piece of the puzzle 05:39:55 I set up run-in-place to use module_helper now too 05:40:06 so if halcmd does it, we can have ONLY module_helper setuid 05:40:15 nice 05:40:34 I saw something about having to tell ./configure if you want to do run-in-place 05:40:43 yes, we now have to decide at configure-time whether we are building for rip 05:40:54 so if you enable rip, you disable install? 05:41:04 yes 05:41:20 you have to compile it one way or the other 05:41:28 that is ok 05:41:45 but the message at the end of configure should prominently identify which way it is set, and how to change it 05:41:57 the paths are hardcoded, there's nothing we can do (short of terrible hackery everywhere that guesses paths) 05:42:16 don't want terrible hackery 05:42:39 in fact, now that configure decides rip vs install, maybe that gawd awful mess in halcmd that tries to find the modules can go away 05:42:49 HAL_RTMOD_DIR etc 05:42:57 yes it probably could 05:43:53 the same evilness is in the realtime script 05:44:01 maybe we should take a look at all of that together sometime 05:44:05 yeah 05:44:11 maybe this weekend? 05:44:19 sure 05:45:15 maybe we can even investigate throwing it all out and using depmod 05:45:36 I don't like that 05:45:45 maybe for the RTAI modules 05:45:52 but HAL modules are NOT normal kernel modules 05:46:10 they are in that they depend on other things to be loaded first (have deps) 05:46:19 I think that's what depmod is for 05:46:20 HAL just happens to use the kernel module mechanism to get loaded into memory 05:46:39 but they don't become part of the kernel, they don't provide drivers or other services to the kernel 05:46:40 n.b. I haven't investigated this at all 05:47:16 it is probably a matter of opinion 05:47:26 I just have a strong opinion on the subject 05:47:39 I want to keep them apart as much as possible from "normal" kernel modules 05:47:41 I don't, but I have a strong aversion to the current complexity 05:47:58 that's all 05:48:04 HAL modules aren't complex, they depend only on hal and rtapi 05:48:12 there is no inter-module dependency 05:48:19 the complexity is the RTOS modules 05:48:24 I mean complexity of the parts like the realtime script 05:48:27 yeah 05:48:28 and I'm not opposed to depmod there 05:48:41 ok we should investigate that scheme then 05:48:42 I agree that realtime needs to be better 05:49:02 but loadrt should not use depmod IMNSHO 05:49:16 are those always in exactly one dir? 05:49:35 if so, that's simple then, have the dir compiled in (like module_helper does) 05:49:36 the hal ones? they should be 05:49:53 for rip it is emc2/rtlib 05:49:59 for installed, I'm not sure 05:50:05 it varies based on the system 05:50:10 but it's already figured out by configure 05:50:13 right 05:50:15 (and compiled into module_helper) 05:50:31 so getting it into halcmd is virtually done 05:50:54 maybe we'll do that first 05:51:08 goodnight john, the screen is getting blurry 05:51:23 goodnight 05:51:34 I'm writing a list message, then I'm gone too 05:52:00 "you may not want to cvs up for a couple days" haha 05:58:08 warnings are gone from BDI-Live build 05:58:20 except that rt_task_init pointer type one 05:58:36 maybe that needs an ifdef 05:58:47 ifdef magma or something 05:59:33 cool, BDI-4.20 succeeded too! 05:59:39 bedtime 05:59:56 jmkasunich is now known as jmk_away 16:15:21 rayh has joined #emc-devel 16:15:58 * rayh needs some help 16:17:02 ubuntu sucks 16:21:16 gnome sucks 16:23:19 rayh: maybe I can help you 16:23:26 rayh: (I hate gnome too, fwiw) 16:24:30 How does a person make a copy of m5i20 and then find it to run. 16:24:55 Got a guy trying to run cradeks stuff now and it isn't going at all 16:25:05 what's m5i20? 16:25:39 there's an m5i20 directory under /etc/emc2 16:26:16 He can start the m5i20 from the first screen but when he makes a copy of it, and names it new, he can't find the new or find any way to run it. 16:26:42 He can't even navigate the file browser to / much less etc 16:26:50 Is he using that GUI thing to choose the configuration? I think it only lists the things from /etc 16:27:13 So how does he find and start his own? 16:28:41 If you run 'emc somedir' at the command prompt, it will use 'somedir' instead of anything under /etc/emc2 16:29:20 but I'm not sure how you create a working copy of m5i20 without using that window that pops up when you run 'emc' without an argument or from the icon 16:29:32 We tried that but didn't find the new directory he tried to make witht he setupconfig stuff. 16:30:10 Where does the setupconfig make a new configuration? 16:30:14 he couldn't find it, or he got an error? 16:30:22 I think setupconfig tries to create it in /etc/emc2 too 16:30:32 Got an error when entering emc pantec in a terminal 16:30:46 Error in startup script: can't create directory "asdf": permission denied 16:30:46 while executing 16:30:46 "file mkdir $new_config_name" 16:30:48 something like this? 16:31:25 So the icon does not have permission to make a new configuration? 16:31:54 Try this: sudo chown USERNAME /etc/emc2 16:32:10 Try this: sudo chown -R USERNAME /etc/emc2 16:32:25 until a new emc2 package is installed/upgraded, USERNAME should be able to edit the configs, copy them, etc 16:34:34 Okay trying that now. 16:35:25 by doing this, I was able to create a new config called 'mysim', based on 'sim' 16:37:15 trying to run m5i20 or a copy, I get an error, but I think it's just because I don't have the hardware 16:37:21 insmod: error inserting '/usr/realtime-2.6.12-magma/modules/emc2/hal_m5i20.ko': -1 Operation not permitted 16:37:29 but dmesg says [138465.493029] M5I20: **** No M5I20 card detected **** 16:38:49 We got a new config. Thanks. 16:39:08 Right You don't have one of those cards, yet. 16:39:15 "yet"? 16:39:30 Where would we find the installed version of the tickle stuff. 16:39:51 'dpkg -L emc2' will show you all the files in the emc2 package 16:39:57 looks like it goes under /usr/share/emc 16:41:17 Thanks again. 16:41:23 I'm glad I can help 16:41:39 hello guys 16:41:48 Hi alex 16:42:03 phone trying to get a ubuntu guy running. 16:42:11 oh, coo 16:42:16 does he have any clue? 16:43:48 halconfig will not start up. can't find halcmd. 16:45:39 s**t. We lost another ubuntu user. 16:46:56 This guys just happens to be the "first" guy to apply a PC to motion. 16:47:41 It was his presentation at a conference that got FredP going on trajectory planning. 16:47:45 rayh: I think cradek said he would be happy to get feedback from new users 16:48:03 yeah, but it needs to be more useful than "this sucks, goodbye". 16:48:05 mostly from ones that can't use it 16:48:19 jepler: of course 16:48:30 Sorry. Thanks for trying jepp 16:48:46 jepler: Oh that's it. 16:49:18 Wow. What a different system that is. 16:49:20 that last bit was supposed to be sad/funny, maybe it didn't come out right. 16:49:49 I've tried gnome a couple of times but should not try to help with an emc with it. 16:50:03 np. Thanks a whole lot for your help. 16:50:18 Now I know where some of the installed files are. 16:50:45 We should put a list of locations on the wiki along with the way to make a copy of a config. 16:50:58 Where will configs be in a properly working system. 16:53:12 template/sample configs are in /etc/emc2; user configs are in /usr/local/etc/emc2 16:53:27 hi cradek 16:53:36 setupconfig doesn't do it right yet. 16:53:39 hi jepler 16:54:57 cradek: can I get the .config from your latest kernel without installing the linux-image deb? 16:55:01 because of the unfinished state of setupconfig, emc2 isn't ready for people who can't copy files/chown/etc 16:55:20 /usr/local/etc/emc2? Not ~/emc2 or something? 16:56:13 well it's an open question. the emc2 config is a mix of machine preferences (which go in a system folder such as /usr/local) and user preferences which go in a home directory 16:56:33 so I guess I'm not sure which we should pick. 16:56:34 cradek: maybe custom settings should go to ~/emc2 16:56:44 because they have been created by the user afterwards 16:57:08 I also favoured ~/nc_files as a default place for his NC files 16:57:17 but it's pretty much still open 16:57:49 If this machine was being used in a job shop, there will be several users, and a maintenence guy. 16:57:57 otoh, if you're thinking of a default machine & config, /etc/emc2 would be a good place 16:58:11 being an old unix user I'm always cognizant of systems being multiuser. seems the hardware attached to the machine is not a user preference, it's a system config. 16:58:14 rayh: right, so that means ~/emc2 is bad 16:58:28 cradek: you have a point there 16:58:33 yes for the basic configuration. 16:58:48 so basicly having /etc/emc2 for templates, and deb configs 16:58:50 but some of the things in our ini are definitely user prefs, like gui 16:58:56 and new ones go to /usr/local/.. 16:58:57 units maybe 16:59:10 nc_files location 16:59:19 cradek: help file 16:59:28 yes help file/language 16:59:44 Wah! It really gets complex in a hurry. 16:59:44 well language, not necessarily help file 16:59:50 this reminds me (OT: we might want to have a LANG= in the ini) 16:59:58 alex_joni: Why? 17:00:05 rayh: maybe we need ini includes 17:00:13 alex_joni: no, no other app works that way 17:00:16 jepler: for users running from the menu, or does systemwide LANG work? 17:00:31 alex_joni: I think the normal system setting for language should be good enough 17:00:33 ok, I take it back 17:00:53 Sure. I can see that at Sherline in Vista. Some would use Spanish and some English. 17:00:57 I only tried LANG=foo emc, never tried to change systemwide configs 17:01:07 On the same puter. 17:01:07 Vista? 17:01:27 Near San Diego 17:01:53 Can each user select his own language preference? 17:01:55 oh, thought you meant somethign else.. 17:01:59 rayh: sure 17:02:12 rayh: yes, the langauge is just part of the Unix environment 17:02:40 Then the user's language preference ought to be able to key tkemc? 17:03:00 and axis and mini(someday) 17:03:31 Okay. 17:03:43 rayh: thought you meant this: http://www.microsoft.com/Windowsvista/ 17:03:43 here's how I got emc to come up with german text on my ubuntu system: (unset LANGUAGE; export LANG=de; emc sim) 17:03:51 I've got a ubuntu disk on the way. Next day rush... 17:04:02 rayh: it'll blow your mind ;) 17:04:06 if a user preferred german text, the proper environment variables would already be set, and this would be unnecessary 17:04:11 I mean the new emc/ubuntu experience 17:04:21 I'll put another box on the net here. 17:04:34 jepler: I am sure there is a Sytem->configuration clickity way to do that 17:04:56 As folks around here say, alex_joni , I believe you but there's thousands that wouldn't" 17:05:50 I don't like gnome at all. Haven't since RedHat 5.0 17:05:58 I haven't either 17:06:05 but I only tried it way back 17:06:20 it doesn't look like any gnome I ever tried 17:06:44 Okay. I'll erase my prejudice... 17:06:54 and create a new one. 17:07:11 lol, basicly start with no prejudice 17:07:26 rayh: I hope you can come at all of this with an open mind. I know you've had problems with bdi packages, old gnome, etc., but I hope you can work with us to make this work right 17:07:41 That's hard for an old guy to do. 17:08:00 rayh: all your nagging only makes us do it better ;) 17:08:09 if you don't mind me saying that 17:08:14 Yep. We have to make it workable. 17:08:14 I think it's critical to the success of emc2 that we have an easy to install, easy to use system. 17:08:54 and that the packagers, board, developers, etc all work together and not at odds 17:09:07 we haven't had that for a while, now we can 17:09:20 I recognize that I'm trying to provide help for a system I know little about. 17:09:45 cradek: have we ever? 17:09:53 rayh: I'm always willing to help. 17:10:02 except the times when it was NIST's project 17:10:33 alex_joni: I don't know the whole history 17:10:43 alex_joni: but we haven't had it since I've been around. 17:10:55 ditto, although I'm newer 17:11:47 I think that we have come a long way with emc2 and ubuntu in the last six months. 17:12:27 I think more likely six weeks 17:13:33 It looks like the emc2 system that is in the apt was from the time when there were problems with how to run halconfig. 17:13:54 It wasn't under the tkemc scripts menu yet. 17:14:08 and it couldn't run from a terminal. 17:14:16 I'm sure it's in the tkemc menu 17:14:32 that's how I first ran it 17:14:37 it might be older 17:14:37 This was an apt from last night. 17:14:43 then it should be there 17:14:50 are you running sim? I ran sim 17:15:00 This wasn't my run. 17:15:09 was it tkemc for sure? 17:15:13 It was a m5i20 board 17:15:48 the only thing under scripts was the configuration gui. 17:16:53 my scripts menu has Set_Coordinates and HAL Config 17:17:10 HAL Config runs fine 17:17:26 this is emc2 2.0.0-alpha17 17:17:47 Gotta get out of here for a bit. 17:17:49 rayh: btw, how come the users jumped on the ubuntu train? 17:18:13 s/users/user/ 17:18:32 These guys are wanting to test this board 17:19:07 I see 17:19:08 without having to compile. 17:19:32 it would be better if setupconfig was done. 17:19:48 cradek: and make install to make a new deb ;) 17:19:53 right. and halconfig as well. 17:20:08 alex_joni: probably today 17:20:24 bbl 17:20:26 rayh has quit 17:22:18 cradek: are you saying you're going to fix 'make install'? 17:22:25 cradek: or that you expect me to do it today? 17:22:51 jepler: If you don't plan on doing it, I'll try to do it today 17:23:01 * alex_joni can help 17:23:05 jepler: I want the ability to make new debs soon 17:23:19 although looking at the Makefile my enthusiasm goes away :) 17:23:24 There shouldn't be anything subtle about 'make install' 17:24:11 alex_joni: What, you get put off by lines that read like this? TORTOBJS = $(foreach file,$($(patsubst %.o,%,$(1))-objs), objects/rt$(file)) 17:24:27 no, those are fine 17:24:43 What bothers you, then? 17:24:53 hang on, pasting soon ;) 17:25:09 I admit make has an odd way of declaring functions 17:26:07 depends/%.d: %.c 17:26:07 @mkdir -p $(dir $@) 17:26:07 @echo Depending $< 17:26:22 kidding, that line you pasted makes a good example 17:28:41 To do the non-recursive Make you end up doing a lot more complicated things in the Makefile, it's true 17:29:04 jepler: I'm sure it's not that complicated, once you know how to read it 17:29:32 and also you shouldn't have to look at the complicated parts to write 'make install' 17:29:42 install: userspace modules; all the stuff make install used to say 17:29:51 how about using the make install that was there? 17:30:00 alex_joni: I use Quick Reference on the make info page a LOT 17:30:16 * alex_joni never has 17:30:23 probably I should do so too 17:30:28 it is a very nice summary 17:30:56 `$(patsubst PATTERN,REPLACEMENT,TEXT)' 17:30:56 Replace words matching PATTERN with REPLACEMENT in TEXT. 17:31:31 ok, guys I need to get back and finish my presentation 17:31:37 I'll be reading in here on and off 17:32:39 * jepler idles too 17:33:09 darn projects.. don't really want to do that now, but I'm leaving on monday, so I need to have it done by then 17:35:58 I also have other work to do today 17:36:03 but maybe in the evening I'll work on emc 18:56:50 LawrenceG has quit 19:03:10 LawrenceG has joined #emc-devel 20:06:25 jmk_away is now known as jmkasunich 20:10:29 hi john 20:12:08 hi 20:12:42 I was reading back - ray's comments make me feel like I'm standing in front of a bus trying to stop it 20:13:05 (because someone is trying to drive it away while we have it up on jacks to change the tires) 20:27:09 heh 20:28:47 my opinion of the present stage of development is this: 20:29:06 If you are gonna go away in a huff as soon as things don't work, then the project isn't ready for you, come back later 20:29:17 fully agreed 20:29:29 if you are gonna help test, find bugs, and give us good usable reports, then we'll do our best to help you in return 20:29:41 although last week might have been a bit more stable than today, but it'll get better 20:30:11 or you weren't literally refering to 'today' ? 20:30:37 last month, this week, next week 20:30:47 ok 20:30:47 basically, until we issue a release candadate 20:30:58 well, the deb's are still named alpha 20:31:02 and that usually means alpha 20:31:25 we're working towards a beta soon, (we might even be there) 20:31:33 in a few days 20:31:39 but beta will be when setupconfig works ok, and halconfig works ok 20:31:55 setupconfig was built and tested in rip mode, needs work yet for installed mode 20:31:59 setupconfig is limited usefull for installed versions 20:32:02 right 20:32:35 it's lacking the /usr/share/emc2/configs/ support 20:32:36 I can't believe some generic user is out there using setupconfig in installed mode and then calling ray about it 20:32:42 that's just insane 20:33:00 my bet it's the other way around 20:33:12 huh? 20:33:13 they called ray and he suggested ubuntu/deb 20:33:26 for a quick starters on m5i20 20:33:34 without the need of recompiling 20:33:40 so far he hasn't been all that enthusiastic about ubuntu 20:33:55 right, but otoh not many places to read about that either 20:34:59 I'm kinda dissapointed at the deafening silence after my email about dropping support for BDI-2.x 20:35:18 only reply was jepler saying he'll work on getting it to compile 20:36:37 seems most users are not participating at all in any conversation 20:36:51 I just looked at frappr.. there are 64 registered users there 20:37:04 that should be 2 digits off 20:38:53 at least 1 digit, just based on the list subscribers 20:39:09 yeah, and based on sherline another digit 20:39:44 yeah, but 99% of sherline users are completely unaware of the lists and anything else except the manual they got with the machine and Ray's phone number 20:39:56 and they ignore the number too, unless they have a problem 20:40:21 they don't even know about frapper, and even if they did they wouldn't bother joining it 20:40:38 to them EMC is just another product, not a club to join 20:40:52 http://5128.rapidforum.com/topic=115676084706 20:40:58 heh, those guys are quick ;) 20:41:19 I can't read german 20:42:32 it's just a translation 20:42:38 but dated on the same day 20:42:51 translation of what? 20:44:02 of my news item at Sourceforge 20:44:36 Posted By: alex_joni 20:44:36 I figured out why I'm so confused (after I babelfished it) 20:44:36 Date: 2006-02-05 02:37 20:44:36 Summary: emc2 approaching release 20:44:36 Lots of work has been done recently on emc2, and it is almost ready for an initial release. 20:44:39 Check again soon for notifications about a first beta release. Until then you can try emc2 by using a CVS checkout of the code. 20:44:42 If you still have requests please use the Feature Request section to let us know. 20:44:48 why are you so confused? 20:44:49 the URL doesn't work for me, so I got a german error message 20:45:05 ahhh.. oops, forgot you need to be signed up on that forum 20:45:11 lol 20:46:20 I wonder where cradek is? 20:46:36 * jmkasunich needs help to get setupconfig working in "installed mode" 20:46:41 he had some stuff to do 20:46:45 jmkasunich: I can help 20:46:53 at least with install specifics issues 20:46:58 you may regret saying that ;-) 20:46:59 but I can't help with tcl 20:47:01 but ok 20:47:08 yeah I know 20:47:09 :D 20:47:21 ok. let me start with the problems 20:47:28 first problem is that the program needs to know whether it is rip or installed 20:47:35 if rip, all configs are in subdirs of configs/ 20:47:39 that's easier 20:47:47 if installed, samples are in one place, user configs in another 20:47:48 it already does that 20:48:04 and it should probably present the user with a list showing both 20:48:08 because it gets the config dir from teh runscript 20:48:17 so that works for both 20:48:28 from the runscript? that sucks 20:48:36 means it is broken when run alone 20:48:42 heh, you did that iirc 20:49:07 I'm here now 20:49:09 $SETUPCONFIG --configs-dir $EMC2_CONFIG_DIR --get-config $1) 20:49:27 jmkasunich: the main problem is that there is no default dir for the installed version 20:49:36 it's all configurable at ./configure time 20:50:00 darn, I shouldn't have said anything, this looks tough 20:50:09 cradek may want to place configs into /etc/emc2, I might want to place them in /usr/local/configs/emc2 20:50:17 # --configs-dir 20:50:17 # 20:50:17 # Assume that is the configs/ directory, and that 20:50:18 # subdirectories of contain individual configs. 20:50:18 # If --configs-dir is not given, the script attempts to 20:50:19 # find the directory itself, but that works only if the 20:50:20 # environment variable EMC2_ORIG_CONFIGS_DIR is set, or 20:50:22 # if the script was run from the configs dir, or one 20:50:24 # directly above or below it. 20:50:43 the "find the directory itself" part was based on rip only 20:50:47 shortsighted I know 20:50:52 how about making --configs-dir take a PATH-like list 20:50:54 jmkasunich: I think the proper fix is to have setupconfig be touched by configure 20:51:08 so it KNOWS where stuff is 20:51:25 and doesn't need to worry about searching and guessing and assuming 20:51:30 alex_joni: maybe there's no need for that since emc.in can provide it on the commandline? 20:51:44 cradek: jmk was talking about running setupconfig independently 20:51:47 assuming that emc.in is calling setupconfig 20:51:49 oh 20:52:07 that way setupconfig knows where emc is, so that part is fixed too 20:52:09 I don't know if setupconfig needs to be able to run alone, but its nice 20:52:18 yeah then you have to process it with configure I guess 20:52:28 I'm hesitant to touch more than necessary with configure 20:52:38 because everything turns into this.in and that.in, which sucks 20:52:44 a path type approach is kinda ok, but there should really be two seperate dirs (or paths) 20:52:49 well.. this.tcl.in 20:52:59 jmkasunich: or more than two 20:53:07 the PATH approach might allow that 20:53:19 one for samples (which might be RO) one for user configs (which is RW, and the target for the "NEW" command) 20:53:33 setupconfig --with-config-dirs=/etc/emc2:/usr/share/emc/configs/:~/emc2/configs/ 20:53:40 I think Ray's owner got stung by the RO part 20:53:52 yeah, but jepler solved that one quickly 20:53:57 how? 20:54:01 sudo chown -R USER /etc/emc2 20:54:10 that doesn't solve it 20:54:10 ouch 20:54:18 that made one guy happy (maybe) 20:54:19 it doesn't solve it right... 20:54:29 I didn't say it's right 20:54:35 I said it was quick 20:54:37 :-) 20:54:44 now we have the task to solve it for good 20:54:46 you said it was solved ;-P 20:54:55 yeah, for ray's owner 20:55:03 who owns ray? 20:55:08 cradek: customers 20:55:20 "a bug ain't solved until the solution is committed to CVS" 20:55:31 oh, CVS is still not solved 20:55:32 :) 20:55:44 ok, let's not worry semantics right now 20:55:52 we got 2 possible solutions 20:56:08 1. have configure touch setupconfig.tcl.in and replace path's & co 20:56:36 2. have setupconfig.tcl be run only from emc with a list of files supplied (or maybe even from the menu, with the same list supplied) 20:56:41 we actually have two problems too: 20:57:07 1) modify setupconfig.tcl to deal with multiple places where config can be stored, some of which are RO 20:57:17 2) figure out how to tell it where those places are 20:57:34 --with-template-dir --with-config-out-dir ? 20:57:38 setupconfig can simply use stat to see if writing configs in a certain place is possible 20:57:57 cradek: yes, that is one possible solution to problem 1 20:57:58 maybe I want to make a new template for my site in /usr/local/etc/emc2 20:58:18 I like alex's - two dirs (or paths) 20:58:45 jmkasunich: we should allow more than one for the first path 20:59:09 for problem 2, instead of setupconfig.tcl.in, how about emc_dirs.in 20:59:23 --with-template-dir=/etc/emc2:/usr/local/etc/emc2:~/emc2 --with-config-out-dir=~/emc2 20:59:24 that would contain ONLY directories, paths, et 20:59:27 etc 20:59:40 other scripts (realtime, setupconfig, etc) could source it 20:59:43 you still get the problem where does emc_dirs.in go to 20:59:49 and how you find that 21:00:05 it goes the same place the executables go 21:00:06 realtime goes to /etc/init.d/ 21:00:14 executables go to /usr/bin 21:00:15 oh... 21:00:19 :-( 21:00:25 tcl stuff goes to /usr/share/emc/tcl 21:00:30 need I go on? 21:00:33 ;-) 21:00:38 drat 21:00:49 I like the idea of all this damned directory stuff in one place 21:01:07 yeah, the problem is where is that 21:01:42 cradek: can you enlighten me on exactly how rip vs install are handled now? 21:01:58 if you ./config for rip, what happens if you do "make install" 21:02:11 if you ./config for install, what happens if you try to run it? 21:02:13 right now, it will install a non-working setup 21:02:28 you'll probably get errors when inserting modules 21:02:28 no, rght now it will barf because there is no make install 21:02:34 well that's true 21:02:47 so both cases are messed up 21:03:05 make install when built for rip should do nothing except an error message 21:03:05 yeah, you have to decide at configure time whether you are installing or not 21:03:14 I agree 21:03:20 we can do that 21:03:27 replace dirs with error messages 21:03:51 $bindir=nodir 21:03:51 alex_joni: we'll have to get $RUN_IN_PLACE into make (it's not written out to Makefile.inc right now) and then just test it 21:04:01 that will be the most explicit way to do it 21:04:01 yeah, that too 21:04:14 easy to solve 21:04:17 RUN_IN_PLACE=@RUN_IN_PLACE@ 21:04:24 yeah 21:04:25 into Makefile.inc.in 21:04:42 we can have that in scripts/emc too if we want 21:04:45 do you guys mind if I leave for 20 minutes? 21:04:46 I didn't because it's not needed right now. 21:04:53 of course not 21:04:58 yeah, scripts/emc has a workaround 21:05:01 alex: when you gotta go, you gotta go ;-) 21:05:07 my water is getting cold.. 21:05:17 * alex_joni goes to relax in a nice hot tub 21:05:25 a nice lukewarm tub 21:05:25 at least I hope it's still hot :D 21:05:56 hp2emc 21:05:57 hp2emc ist ein Tool, das aus einer HPGL-Plotter Datei funktionsfähigen Code für die EMC erzeugt. Das ganze basiert auf dem Tool hp2xx, welches die plt in NC-Code umwandelt. Das hp2emc Programm fügt noch Header und Footer für EMC hinzu und bietet weiter vielfältige Optionen. 21:06:24 hp2emc is a tool, that generates functional G-Code for EMC out of a HPGL-plotter file. 21:06:28 hey, I can almost read that 21:06:40 http://www.go2web.net/dlr/linuxcnc/index.htm 21:08:17 * alex_joni will be back 21:08:26 jmkasunich: how can I help? or should I busy myself with make install? 21:08:28 splish splash 21:08:57 I can write the tcl (eww, I can't believe I said that) but I need someone to bounce ideas off of and decide how it should work 21:09:08 ok bounce away 21:09:40 when we present a list of configs to run, they will come from multiple dirs 21:09:58 same as when the list of templates when doing a "new" 21:10:12 the destination of the "new" will now need to be specified somehow 21:10:36 the backup and restore commands are also getting messy 21:10:54 I was going to use configs/backup 21:11:42 seems like we need to back up a little 21:12:03 backup/restore to/from home dir maybe? 21:12:09 maybe 21:12:20 only dir that the user has guaranteed write access to 21:12:44 or maybe ~/Desktop on ubuntu 21:12:47 we have a high risk of getting into policy here 21:12:59 yeah 21:13:10 here's how I look at it 21:13:16 we kind of know what we're doing with unix 21:13:22 so we should provide sensible policy defaults. 21:13:30 what is right for a one man shop like you or I isn't right for a real shop with a supervisor who makes/edits configs and operators who just run the machine 21:13:41 we should not unnecessarily restrict anybody's ability to change the policy. 21:13:57 agreed 21:14:06 jmkasunich: we need sensible defaults + configurability 21:14:21 jmkasunich: configurability should come from unix in the normal way as much as possible (permissions, groups etc) 21:14:27 right now setupconfig has a lot of policy embedded in it 21:14:39 that's why I'm rooting for a PATH-like specification 21:14:40 if you can run emc, you can create a new config 21:14:56 and using stat to determine whether to allow creation/editing 21:15:02 (or you can attempt to create a new config, then get a lot of cryptic error messages if you don't have rights) 21:15:16 yeah, that makes sense 21:15:30 I wonder how tcl's support for stat is? 21:15:36 so as an administrator, I can make emc-users and emc-administrators groups if I want 21:16:02 yes 21:16:25 I can't find the tcl manpages... I bet there's [file writable ...] etc 21:17:00 I have O'Reilly's "TCL/TK in a Nutshell", looking now 21:17:34 file owned returns 1 if owned by current user, else 0.... might be usefull 21:18:09 yes, "file writable" exists 21:18:21 how does that work for creating a new file (or dir) 21:18:30 you need write acces to the containing dir? 21:18:35 yes 21:19:10 so on a "new" it could iterate down the path and select only the dirs that are writable 21:19:24 yes I think that's the right thing to do 21:19:25 if only 1, cool, if not, present the list to the user and make 'em choose 21:19:31 yes 21:19:57 and the deb should install /etc/emc2 non-writable 21:20:06 (sensible default #1) 21:20:18 an alternate approach would be a file picker dialog where we let them put the new config "anywhere" and name it anything 21:20:28 less custom code 21:20:37 but then you have a problem finding it later. 21:20:39 but setupconfig would be unable to find the new confis 21:20:42 ;-) 21:21:28 so one path, not two, and we use writability to decide where to stick new configs 21:22:10 that's my preference 21:22:24 ideally the path is expanded at runtime so you can put $HOME in it 21:22:58 that would allow for user-specific configs if someone wants them 21:23:05 yeah 21:23:18 I saw a conversation earlier that was a brain bender 21:23:43 machine config is the same for all users in a shop, but some want differnt GUIs or languages 21:23:52 different languages is easy 21:23:57 I gathered from the conversation that languages would take care of themselves 21:23:58 different guis is currently not possible 21:24:04 yes, that's automatic 21:24:30 it's my opinion that system config and user preferences are separate, but we have them together 21:24:30 different guis 21:24:40 yes, that is the fundamental problem 21:25:00 we could fix it in inifind 21:25:06 choice of GUI is somewhere in the middle 21:25:11 policy again 21:25:16 I think gui is a user preference 21:25:28 think of it as a "theme" in modern apps - definitely user pref 21:25:31 a shop owner may want all his users to have the same GUI, so the forman can help the machine operator if he gets confused 21:25:50 themes are less invasive 21:26:03 changing from axis to mini is NOT just a theme change 21:26:37 let's not argue over details :-) 21:26:43 yeah 21:26:55 I have some thoughts on a solution 21:27:03 unless we figure out a way to separate out GUI choice, its irrelevant anyway 21:27:08 inifind could read the base ini and then ~/.emc2rc 21:27:15 things in ~/.emc2rc override the ini settings 21:27:40 so I can have everything the system config has, except I want a different gui 21:27:51 or my nc_files are in a different place 21:27:53 interesting 21:27:54 or etc 21:28:02 lots of apps work that way don't they 21:28:04 yes 21:28:14 kind of a heirarchy of config files 21:28:25 yes, with the more personal overriding the more general 21:28:50 but how far do you let that go? do you let the personal reconfigure the HAL? 21:28:58 policy again 21:29:14 yeah none of that is clear, I am just thinking of the concept in general 21:29:28 I like it, but I think its more of a 2.2 thing 21:29:32 possibly we could move some things into a [USER_PREFS] section 21:29:42 oh, that sounds good 21:29:43 or something like that, and have .emc2rc override just those things 21:30:10 but then we have to decide what's a user pref and what's not! 21:30:41 in halcmd setp, a plain number is a value 21:30:53 $name fetches from environment 21:31:01 and [name]name fetches from ini file 21:31:19 could we use the [name]name syntax in the ini file to let any var be fetched from another section 21:31:33 the other section could be USER_PREFS 21:31:44 the base ini determines which things are hard coded and which are prefs 21:31:52 the base ini is RO to the user 21:32:24 the USER_PREF section of the base ini defines the default prefs, they can be overridden by the .emc2rc 21:32:40 I see what you're getting at 21:32:44 so the ini decides what is a user pref 21:32:53 sure I think we could do that 21:33:03 that way we provide mechanism, and the choice of hard coded or indirect references defines policy 21:33:26 as my friend used to say "it's just a simple matter of programming" (he said that when something was really hard) 21:33:32 heh 21:33:42 it could get messy 21:33:54 multiple levels of indirection, or worse, circular references 21:33:57 yeah. 21:34:24 should we go back to concentrating on what we need to do today? how can I help with that? 21:34:34 setupconfig 21:34:51 right, ok, so there's a path 21:35:19 --configs-dir '/a:/b:$HOME/c' 21:35:25 we decided that --configs-dir will be replaced by --configs-dirs [;dir][;dir] 21:35:35 : 21:35:39 ok 21:35:51 I wasn't sure what the convention was 21:36:04 that can get turned into a tcl list easily 21:36:15 ok, suppose nothing is passed 21:36:34 (for instance if it's invoked directly) 21:36:42 now, it tries to guess 21:36:45 here's the tricky part. We need to decide whether we want it invoked directly. I don't think we want that. 21:36:45 worked for rip 21:37:05 why not get it by running emc, and then hit cancel instead of running? it works the same. 21:37:31 its nice for development testing (and for the unix principle of standalone things working together) 21:37:41 but for testing, I can pass --config-dirs 21:37:46 true 21:38:00 so if no --config-dirs it will print a message and exit? 21:38:06 currently setupconfig isn't in the user's path 21:38:19 so the user will not run it standalone anyway (without hunting for it) 21:38:40 yeah, but we still need to decide what it will do if invoked without that option 21:38:49 yeah I vote for an error message 21:39:00 ok, error and exit 21:39:05 just thought of another complication 21:39:15 with only one dir, config names are unique 21:39:31 with a path, you could have two configs both called "foo" 21:39:36 true 21:39:48 so I guess the pick list needs to show the path, not just the name 21:39:50 messy 21:40:13 yeah, ick 21:40:27 how does unix do it 21:40:29 but it's likely I will want to copy the template "stepper" and make a local "stepper" with a few things changed 21:40:32 runs the first match it finds 21:40:45 with PATH? yes 21:41:08 I'm not sure this is exactly like PATH 21:41:26 not exactly 21:41:43 similar tho - if I say "emc foo", I want to run the first "foo" in the path 21:41:45 PATH is not used to present you with choices 21:41:51 yeah, that's probably true 21:42:00 presentation in the gui is the things that's not typical 21:42:04 thing 21:42:18 yeah 21:42:33 well, if I say "emc foo", I don't expect to get the gui 21:42:43 because I already made my choide 21:42:47 agreed 21:43:08 so its PATH like when passing a config name to emc 21:43:16 ok, I'll buy that 21:43:55 I wonder if were trying to use one program to do too many things 21:44:33 I honestly don't know that answer 21:44:37 picking a config to run, and making a new config 21:45:53 ok, lets consider a possiblity: 21:46:03 a prog called "choose_config" 21:46:07 back.. 21:46:08 accepts the following: 21:46:14 * alex_joni had a great idea 21:46:22 tell me what you think.. 21:46:23 --config-path=dir[:dir] 21:46:34 --config 21:46:37 --ini 21:47:00 requires --config-path 21:47:03 the other two are optional 21:47:14 if config is given, search path for it 21:47:31 if config contains multiple ini files, use --ini to pick one 21:47:35 right now we are running tcl/bin/halconfig & setupconfig.tcl, right? How about we make those not executable (-x), but instead let make create 2 simple bash files in bin/ with the proper dirs in them? (e.g. bin/setupconfig and bin/halconfig) 21:47:39 if --ini isn't given, GUI to choose 21:47:45 if --config isn't given, GUI to choose 21:48:29 alex: that solves the problem of getting --configs-path into the tcl without setupconfig.tcl.in 21:48:41 back to the picker 21:48:51 it ONLY picks a config to run 21:48:54 jmkasunich: this would remove the choose-a-config-to-run part from setupconfig? 21:49:01 yes 21:49:14 no "new" option, no backup or restore or edit 21:49:51 those functions would be handled by something else (perhaps still called setupconfig, that name seems appropriate) 21:50:32 of course, I don't know how you would invoke setupconfig 21:50:42 you think choose-a-config-to-run and manipulate-the-configs are two separate tasks 21:50:52 kinda 21:51:08 every machine operator in the shop will do the former every morning 21:51:14 jmkasunich: it'll go on the applications menu, of course 21:51:24 only the integrator/foreman/owner will do the latter 21:51:28 what applications menu? 21:51:38 oh, you mean another icon at the OS level? 21:51:40 jmkasunich: the one emc is currently in 21:51:55 "Run EMC" "Configure EMC" 21:51:58 sure 21:52:25 in a way, thats what I had in mind for when someone directly invokes setupconfig.tc 21:52:26 and equivalent bins in the path: emc emc-configuration 21:52:35 right, and the configure EMC will call the small bash I talked about 21:53:28 jmkasunich: do you plan to rip the config-picker out? 21:53:31 into a new file? 21:53:40 we're just discussing possibilities 21:53:50 seems better 21:53:52 but I'd be willing to do it if we thought it was the right thing to do 21:54:04 and there"s one more thing 21:54:23 we really need to do the default config stuff 21:54:25 probably wind up with three files, one with common code (present a list of configs and select one, used for run and for new (to pick the template) ) 21:54:52 what do you mean about default config stuff? 21:55:02 users runs the first time 21:55:12 selects a template, copies it, etc 21:55:21 oh, remember the previous one 21:55:31 after he's happy, checks a button/checkbox (run-as -default) 21:55:43 next emc invocation will run with that 21:56:00 question: once he's done that, how does it not run that one? 21:56:05 emc config 21:56:09 from the menu 21:57:04 this is another thing we shouldn't bother with because the desktop environment can do it just fine 21:57:11 that brings up setupconfig, with the current first page (but with radiobuttons to select the default config) 21:57:19 I can make an icon, or menu entry, or whatever - it runs "emc myconfig" 21:57:23 cradek: it can? 21:57:29 IOW, create an icon that does "emc my_favorite-config" 21:57:33 yeah, but can the user? 21:57:35 yes 21:57:37 sure 21:57:44 the user can make shortcuts to whatever he wants 21:57:45 cradek: depends on the user 21:57:52 no, aunt tillie can't 21:57:56 "can" = is permitted to by the system 21:58:03 ok, so he can't 21:58:15 much of this stuff is for the aunt tillie who might not know how to do that even in doze, and uses Linux ONLY for emc 21:58:18 so have the "make default" button write an icon file to ~/Desktop? 21:58:30 I dunno 21:58:40 nah.. that doesn't seem right 21:58:44 the make default button would be nice, but gets to be very distro dependent 21:58:48 yeah 21:58:50 because you will be platform dependent 21:59:04 I guess we have two classes of users 21:59:42 1) dumbshits, who we try to lead by the hand and never expose to the complexity (and power) of the OS or the windowing system 21:59:42 jmkasunich: Tillie might be perfectly happy (reassured even) if she has to click the machine configuration every time. 22:00:00 2) normal people, who can set up icons and do other such things 22:00:01 jmkasunich: a more advanced user can make a shortcut. 22:00:09 * alex_joni gives up 22:00:48 giving up on the default? 22:01:02 yup 22:01:10 you do have a point tho 22:01:25 yes I do, but it adds a problem 22:01:26 keep in mind, this isn't like an editor opening the last file edited by default 22:01:35 most PCs will only control ONE machine 22:01:35 where/how do you keep that data 22:01:56 jmkasunich: that's exactly why I favour a default 22:02:03 it seems kinda silly to make the user pick every time 22:02:15 or build another menu entry/icon 22:02:50 cradek: what would the "unix way" think of making a config (subdir) called default that is a symlink to the preferred one 22:02:57 the "make default" button could do that 22:03:18 and "emc" with no args would look for the "default" before invoking the picker 22:04:15 jmkasunich: yes that is a way, but there is another (at least GUI-wise), I like that more 22:04:27 on the config page, you have all setups/templates 22:04:42 have a radiobutton for each in a column called default config 22:04:54 and have a new line on top called 'None' 22:05:13 but I guess it's just a matter of taste 22:05:21 I like that too 22:05:26 that is the interface 22:05:31 what is the mechanism? 22:05:34 yes, underneath it's the same 22:05:37 perhaps the symlink is the mechanism 22:05:44 default symlink 22:05:53 checking none deletes the symlink "default" 22:05:57 yup 22:05:59 checking any other creates the symlink 22:06:33 cradek is being very quiet 22:06:58 bet he's being busy 22:07:00 while we talk 22:07:23 I'm watching, it's just that I don't have strong opinions about it. 22:07:26 ok, how do you like the bin/setupconfig stuff? 22:07:35 I want to do that now 22:08:05 don't call it bin/setupconfig 22:08:12 call it bin/emc-config 22:08:16 (IMO) 22:08:17 I agree 22:08:33 if we have multiple invocations in bin, they should be emc-* (with no extensions) 22:08:35 and it comes from emc-config.in 22:08:46 ok, it will be generated by make, so it won't be in the repository (which means name can change) 22:08:59 the .in will be in the repository 22:09:01 no need for .in 22:09:17 cat > $bindir/emc-config 22:09:29 generated by make, not by configure? 22:09:34 yeah 22:09:40 make has all the knowledge 22:09:55 that way we keep configure touched files low 22:09:56 and make can customize for rip or install 22:10:02 but either way is fine for me 22:10:03 seems to me like a job for configure 22:10:28 cradek: tell me again why we need to decide rip vs. install at the configure stage 22:10:37 jmkasunich: so the module helper knows where the modules are/will be 22:10:39 well, configure writes Makefile.inc which we'll use 22:10:51 what info gets compiled into which file that needs to be different? 22:10:57 ok, the module_helper whitelist 22:11:00 right 22:11:07 the dir whitelist 22:11:13 I can see why we don't want to handle that with wrapper scripts or something 22:11:21 what else, or is that it? 22:11:23 right, it needs to be compiled in. 22:11:27 any way of handling that is insecure 22:11:42 right now, that's it, but knowing this may let us simplify other things. 22:11:46 I haven't dug too deeply. 22:11:52 ok, here's a thought: 22:12:01 compile module helper twice 22:12:16 once has the install whitelist, and is installed setuid when you do make install 22:12:37 the other has the rip whitelist, and sits in the local dir, and needs to be invoked with sudo 22:12:45 (I assume we still require sudo for rip?) 22:12:48 no 22:12:53 if it's setuid no 22:12:56 we don't require sudo for anything 22:13:16 oh, thats right, you do make setuid 22:13:23 jmkasunich: there's another thing: the path to the module helper itself 22:13:31 configure also has to set that 22:13:44 set it where? 22:13:45 (in the realtime script) 22:13:57 and eventually in halcmd 22:14:00 right 22:14:04 today, if I get to it 22:14:21 cradek: I can't figure this Makefile out 22:14:30 alex_joni: I can help 22:14:34 I wanted to add the message for sudo make setuid back 22:14:42 but I have no clue where that should go 22:15:25 add a rule at the end of default: 22:15:49 logger_devel has joined #emc-devel 22:15:49 topic is: "Welcome to the Enhanced Machine Control development place. | Regular Developers' meetings 24/7 !" 22:15:49 Users on #emc-devel: logger_devel LawrenceG jmkasunich steve_stallings jepler cradek jtr_ anonimasu alex_joni @ChanServ SWP_Away 22:15:54 then add .PHONY: message 22:16:02 then add message: with echos after it 22:16:14 .PHONY anywhere? 22:16:18 or at the end? 22:16:29 couldn't you just add the echos to the default:? 22:16:37 default: userspace modules 22:16:44 echo stuff 22:16:57 that might work too I guess 22:17:15 I guess the message target means you can invoke the same message from more than one place tho 22:18:06 there should already be a .PHONY line in the makefile, just add message to it 22:18:16 alex_joni: put it up with .SUFFIXES I guess 22:18:21 no PHONY as I can see 22:18:26 ok 22:18:29 doesn't matter much 22:18:29 I added the echo and it works ok 22:18:40 without the message target 22:18:44 I haven't looked a tht new makefiles 22:18:52 yeah you can put them right in default: I guess 22:18:59 .PHONY is defense against some joker creating a file called 'default', and breaking the makefiles 22:19:00 matter of taste 22:19:04 something tells me when I do it will be "Toto, we're not in Kansas anymore" 22:19:21 I didn't write any .PHONYs 22:19:30 I wrote .PONY 22:19:40 does that count? 22:19:43 lol 22:20:02 In the case of 'message', it would become a feature if you can 'touch message' and shut up the makefile 22:20:27 jepler: you didn't do .PHONY because there are no phony targets, or because you just didn't get around to it yet? 22:21:10 jmkasunich: Because I didn't get around to it, I suppose 22:21:11 jmkasunich: if your PHONY targets aren't likely file names, .PHONY makes no difference 22:21:23 jmkasunich: so it's easy to overlook 22:21:41 so if I'm getting this right, if a user makes a file called 'default', make won't work anymore? 22:21:56 I'm accustomed to seeing ".PHONY all clean etc, etc" 22:21:59 right 22:22:04 yeah 22:22:07 jmkasunich: probably to not allow that 22:22:13 we'll worry lateron 22:22:28 yeah, the .PHONY lines should be added, but not critical 22:22:31 it's easy enough to add 22:23:29 wow this builds fast now 22:24:14 still 22 mins on the BDI-Live slot 22:24:26 (that includes configure and make clean as well as make) 22:24:39 real 0m53.316s 22:24:49 cradek: you may have the fastest machine of any of us 22:24:49 19 mins on the BDI-4.20 slot 22:24:53 53s from clean with -j3 here 22:25:09 cradek: are you using ccache? 22:25:12 cradek: hwo did you time it? 22:25:15 the compile farm machines are NOT fast ;-) 22:25:40 jepler: no, I don't think so 22:25:50 alex_joni: make clean; time make -j3 -s 22:26:20 deps already done I presume 22:26:26 yes 22:26:33 * alex_joni times it now 22:26:41 does make clean undo the deps? 22:26:44 no 22:26:48 jmkasunich: no, 'depclean' removes the deps 22:26:48 damn 22:26:57 why? 22:27:02 ok, then I should change the compile farm to do depclean 22:27:17 I don't mind if clean also removes deps 22:27:22 I want the farm to behave just like a compile by some newbie who has a fresh, virginal checkout 22:27:31 we do not need to routinely use clean anymore 22:27:44 real 1m27.701s 22:27:56 a bit slower 22:28:20 but this is my slower box :) 22:28:52 is make depclean supposed to re-do the depends? 22:29:06 because it is 22:29:19 Makefile:63: depends/libnml/rcs/rcs_print.d: No such file or directory 22:29:19 Makefile:63: depends/module_helper/module_helper.d: No such file or directory 22:29:19 Makefile:63: depends/rtapi/rtai_ulapi.d: No such file or directory 22:29:21 /bin/sh: line 1: cd: ../lib: No such file or directory 22:29:21 Depending rtapi/rtai_ulapi.c 22:29:21 Depending module_helper/module_helper.c 22:29:22 Depending libnml/rcs/rcs_print.cc 22:29:23 Depending libnml/rcs/rcs_exit.cc 22:29:24 if you run it twice, it will delete them, generate them, delete them 22:29:39 I did cvs up, ./configure, make depclean 22:29:47 yeah, it will generate then delete them 22:29:56 it deleted (or tried to, hence all the no such file), then it made them 22:29:58 huh 22:30:18 in order to run your command, the makefile has to include the dep files, so it creates them 22:30:34 I wonder about that /bin/sh: line 1 error too 22:30:46 I'm not sure about that 'cd: ../lib' error either 22:30:57 jmkasunich: you don't have a lib directory, cvs up -d will create it 22:31:00 I had that problem too 22:31:00 there is another one at the very end 22:31:07 RPATH := $(shell cd ../lib; /bin/pwd) 22:31:09 Depending emc/ini/iniaux.cc 22:31:09 Depending emc/canterp/canterp.cc 22:31:10 ah, it's from this line 22:31:10 /bin/sh: line 1: cd: ../lib: No such file or directory 22:31:24 I wrote that to get the absolute path where the shared libraries are created for run-in-place 22:31:25 does something remove it? 22:31:48 cvs up -d removes empty dirs 22:31:51 that's now available as $(rip_moduledir) 22:31:57 -dP removes empty 22:32:02 (the P ) 22:32:05 right 22:32:10 jepler: that's now available as $(rip_moduledir) 22:32:11 * alex_joni is tired :) 22:32:15 I routinely do cvs up -dP 22:32:44 because of the cvsignore files, include, bin, and rtlib don't get removed, but I guess lib does 22:32:52 I don't think the Makefile does a 'mkdir' on lib 22:33:02 so maybe it's broken for fresh checkouts 22:33:24 try cvs up -dP 22:33:32 but lib is in cvs 22:33:39 is it empty? 22:33:45 cradek: -P deletes empty dirs after checkout 22:33:52 oh 22:33:59 why do you use that then? 22:34:12 in order not to see empty dirs? 22:34:16 cradek: Because otherwise every directory that was ever populated will exist in a new checkout 22:34:19 so if someone commits "got rid of a dir full of cruft" the dir goes away on my local copy 22:34:25 oh 22:34:36 hmm 22:34:37 cradek: CVS doesn't have any way to express "a directory exists", except by having a file in it 22:34:39 cradek: that's true even for dirs created on some other branch 22:34:52 they show up in HEAD too, but empty 22:34:54 iirc 22:34:56 and I do -d so fi someone commits "added a dir full of wonderfull stuff" I get the dir 22:35:00 jepler: I think we should remove those target directories from cvs and create then with mkdir 22:35:16 I think install -d was used before 22:35:16 well I guess we can't have .cvsignores in them them 22:35:53 cradek: mind if we sort the directory mess out? 22:35:53 can the top level .cvsignore tell CVS to ignore an entire dir? 22:35:57 * cradek leaves this to the experts 22:36:09 jmkasunich: I think so 22:36:21 now that configure knows rip vs installed, that hacking in emc.in is not needed anymore 22:36:25 (in fact it looks like 'lib' is in the toplevel cvsignore) 22:36:26 then we can remove the created dirs (and their .cvsignores) from CVS 22:36:40 also, 'objects' and 'depends' are listed in src/.cvsignore 22:36:52 and add "if ( !d ) mkdir " to the makefile 22:38:46 changing the subject (back to an older one) 22:39:21 how do we feel about splitting the run-picker and config-manager functions of setupconfig.tcl into two 22:39:31 and invoking the latter with emc-config 22:39:33 jmkasunich: mkdir -p dir 22:39:45 jmkasunich: actually @mkdir -p dir 22:39:49 jmkasunich: very good actually 22:39:50 whatever 22:40:07 jmkasunich: I feel very good about that 22:40:13 the emc-config is almost done 22:40:21 alex: I hear you, what about the other guys 22:41:37 fine with me, I don't feel strongly about it either way 22:42:32 I think I will do it then, the new picker (for run) will be called pickconfig.tcl (unless somebody has a better suggestion) and that will be called from emc (aka emc.in) 22:43:18 setupconfig.tcl will be called from emc-config and emc-config.in (or is Alex getting rid of the .in versions and doing it all in makefiles?) 22:43:56 IMO substituting some stuff into files is the job of configure, not make 22:44:16 ok, you guys hash that out, I'm starting on the tcl progs 22:44:18 ok, I already have the .in in place 22:44:39 but I want to redo the whole configure folder stuff 22:44:49 guess i'll just commit, and fix afterwards 22:46:43 alex_joni: I use that approach whenever I work on axis, and I've found it works nicely when applied to emc2 too. 22:47:22 haha 22:47:38 sometimes people, in their frustration, help you finish 22:48:13 brb 22:48:24 I might break this for a few minutes.. bear with me 22:57:44 what is that place that fenn sometimes uses to post a few lines or pages of text? 22:57:53 pastebin 22:57:58 thanks 23:00:50 http://pastebin.com/550331 23:01:09 this is what the new picker will do - can you folks spare a couple minutes to see if it makes sense? 23:02:32 is this going to manipulate the default symlinks? 23:02:44 no, it only follows them 23:02:48 it will be invoked by "emc" 23:02:54 "emc-config" will manipulate 23:03:02 ok 23:03:13 why not call it always with default as param? 23:03:31 if it's not there, it displays the list 23:03:34 if it is, it runs 23:03:50 IOW, no special code needed to hunt for defaults 23:03:54 that is good 23:04:01 I agree 23:05:09 I still think multiple inis in a config is a bad idea 23:05:31 and the complexity caused by that bad decision is spreading to multiple places 23:05:41 cradek: probably so, but better than lots of dirs with the same config in it 23:05:56 alex: debatable 23:05:57 alex_joni: I disagree 23:06:05 but I don't want to have that debate today ;-/ 23:06:23 well, maybe a little debate: 23:06:29 haha 23:06:43 lots of dirs with the saem stuff is a problem only for developers who need to maintain the copies 23:07:00 multiple inis in one config is a problem (a decision to make) for users too 23:07:42 and it makes backup/restore less useful - the backup doesn't represent the entire machine configuration, you have to know something else too (which ini to use) 23:08:00 good point, I didn't think about that one 23:08:01 I think a config should represent exactly the machine configuration 23:08:10 right now, it doesn't 23:08:34 how about a compromize (might be the worst of both ways tho) 23:08:34 so it's also going to be a support problem 23:08:52 sample configs can have more than one, but when you do "new" it makes you pick one and copies only that one 23:09:20 worst of both worlds in that the run and pick code still needs to handle the case of multiple files 23:09:38 but at least users will only have one so the ambiguity is gone 23:09:38 I think that's an improvement, but you're right, it's still unnecessarily complex. 23:10:45 but it fixes my main complaint 23:11:42 nobody is going to maintain the inis for both units in their custom config 23:11:52 there is no reason to do that 23:12:01 so we just don't copy them in there 23:12:04 that seems sane to me 23:13:02 that fixes the support problem but does not allow us to remove complexity from setupconfig and friends 23:13:11 http://pastebin.com/550347 23:13:28 revised, now you can specify --config default --ini default and it will do the right thing 23:13:36 great 23:14:42 thanks alex that idea probably reduced the code by 20% or more 23:15:15 np, I'm about to commit too 23:15:52 I'll try to get pickconfig implemented today 23:16:19 $bindir/emc-config should work ok soon 23:16:20 its gonna go in emc2/tcl/bin, I don't know where it will get installed 23:16:34 emc-config will simply invoke setupconfig? 23:16:36 jmkasunich: no need to worry where it will get 23:16:58 it already does, but it also supplies --configs-dir $EMC2_CONFIG_DIR 23:17:13 how about --configs-path instead 23:17:21 (it can be more than one directory) 23:17:30 when it will knwo that it's easy to change 23:17:47 speaking of which, how will the user/installer set that path? 23:18:00 he won't, configure sets it 23:18:21 we talked about things like /etc/emc:/usr/something/emc:~/emc 23:18:33 but that is policy, the machine owner should set it 23:18:33 yup, we can still do that 23:18:42 other way: $HOME/emc2 /usr/local/etc/emc2 /etc/emc2 23:18:44 ok, then he needs to change something 23:19:35 a one man shop would want $HOME, a large shop with multiple users would not 23:19:57 so that needs to be chosen at ./configure time (or when installing the .deb, or something) 23:22:02 package require msgcat 23:22:02 if ([info exists env(LANG)]) { 23:22:02 msgcat::mclocale $env(LANG) 23:22:03 msgcat::mcload "../../src/po" 23:22:03 } 23:22:09 ../../src/po 23:22:13 yes, that is bad 23:22:16 something tells me that won't work installed 23:22:38 something is right 23:23:06 I mean the 'something' that tells you it won't work installed, is right 23:23:19 I understood ;-) 23:23:39 ok, now RIP which isn't configures as rip is completely busted 23:24:07 RIP now equals "rest in peace" 23:24:10 so to run-in-place you have to ./configure --enable-run-in-place and you'll get the proper dirs in the scripts 23:24:21 no, it still works as it should 23:24:23 the default ./configure should make a system that works after make install, and it should be --prefix of /usr/local 23:24:33 cradek: it is 23:24:36 great 23:24:56 but maybe I missed a spot :) 23:25:05 let me know if it doesn't work as it should 23:25:18 so only developers, or folks wanting to try out a new version without overwriting their old version would specify --enable-run-in-place 23:25:27 yup 23:25:27 right 23:25:41 gonna have to publicize that option 23:25:47 it should be in the INSTALL file 23:25:54 the normal behavior of './configure; make; make install' needs to work like every other program 23:26:04 sudo make install 23:26:06 right 23:26:13 and sudo make setuid ? 23:26:21 that is only needed for RIP 23:26:25 or maybe make install should take care of it 23:26:27 no, make install should set permissions on everything appropriately 23:26:33 right 23:26:35 (and should also be mentioned in INSTALL) 23:26:54 what's up with you and INSTALL? 23:26:58 j/k 23:26:59 it needs to use install -m ... -o ... etc, not our sloppy "cp bin/* ..." 23:27:03 ok, then README 23:27:10 I read you all right 23:27:19 :-P 23:27:36 jepler: still around? 23:27:44 * alex_joni has something to ask of you 23:28:02 shouldn't have said that, now he's gonna hide 23:28:13 I trust he won't 23:29:33 SWP_Away is now known as SWPadnos 23:29:41 hi guys 23:30:25 hi 23:30:31 hello 23:31:00 You guys have been talking a lot today - my backscroll buffer is cut off as of 4:00 or so ;) 23:31:22 hello 23:31:32 we do talk a lot :) 23:31:37 yeah, the brainsweat has been flowing 23:31:47 heh 23:32:06 the system/user config thing may have an easy (ish) solution 23:32:35 the KDE config system uses a search path for ini files (called desktop files in KDE-land) 23:33:02 the files are searched in order, and in any file, you can mark the whole file, a specific section, or a specific setting as "immutable" 23:33:16 yes, I remember reading about that 23:33:31 the immutable thing would require a change to our ini syntax 23:33:35 anything immutable isn't changed as the search progresses, anything non-immutable is changed each time it's encountered 23:33:55 you just add $i after the setting name, section name, or at the top of the file 23:34:01 right, and it searches from most generic (system) to most specific (user) 23:34:07 exactly 23:34:09 opposite of something like PATH 23:34:36 yes - so that immutable system settings are taken over user settings, but in all other cases user settings are honored 23:34:52 jmkasunich: happy now? 23:34:56 I think you can also load a complete ini tree into a structure, and then read from that - not reload the file every time 23:36:02 alex: yes, I'm happy, thank you ;-) 23:36:13 don't mention it :) 23:38:15 translation should never be started until the code is released 23:38:37 every time I change a message I think of the poor translators work that I just invalidated 23:38:39 probably so 23:38:54 oh, btw .. I just remembered 23:38:59 how about flo-h ? 23:39:07 I think we decided to add him 23:39:13 oh, sure 23:39:29 * alex_joni looks if he has done that 23:40:35 jepler (&others): please update the changelogs (debian/changelog docs/NEWS) when adding new stuff to emc2, it's hard to keep track of it otherwise 23:41:06 I update my local debian/changelog when I make a new deb 23:41:25 that's just supposed to document what has changed since the last deb 23:41:38 I'm not sure exactly how to handle it 23:41:45 how so? 23:41:52 but my local one goes up to alpha17 right now 23:42:20 jmkasunich: I see that flo-h is added, ok 23:43:21 (and now I'm going to get a merge) 23:44:59 ouch 23:45:13 anyways.. I'm off to bed 23:45:24 pretty late over here 23:45:45 ok goodnight 23:46:00 in the morning maybe you can clean up after us :-) 23:46:27 sure will 23:46:32 I got a box of tissues 23:46:34 ROFL 23:46:53 ?? 23:47:16 clean up? 23:47:36 not that kind of mess - the software kind 23:47:51 yeah I know.. was trying to be funny, but it's late :/ 23:48:01 I know 23:48:04 goodnight... 23:49:03 goodnight 23:50:53 how is it that cats can always figure out which book you're gonna need, and then lay down on it? 23:55:22 --configs-path: should that accept dirs with . or .. in them, or only absolute paths? 23:57:27 I don't think you need to do any validation 23:58:01 well right now, I pass the name to a normalize function that gets rid of . and .. and makes it absolute 23:58:09 why? 23:58:28 so it doesnt get screwed up if I cd 23:59:49 on a related note, I need to expand $HOME don't I 23:59:52 we cd to the config dir to run, don't we