Bush supported amnesty bills as well.
And it's not like McCain was originally against amnesty and turned in favor.
Maybe McCain did act like he'd be against amnesty during the election, but that's just being a politician.
Using Bush as an example of why we should not criticize McCain does not do McCain any favors. I think Bush was an idiot for his position on this (and other) piece(s) of legislation. Yes, Bush kept us safe from terrorist attacks but he sure screwed everything else up.
We have to get past this idea. We will not be able to make proper judgments about the people we elect to lead the nation if lying is tolerated. This isn't idealistic rather truthfulness is vital to determine who should be voted into leadership positions.