The Gibeonites were not Israelites; they were descendants of the Amorites. The people of Israel had promised not to kill them, but Saul had tried to kill them because he wanted Israel and Judah to control all the land. David called the Gibeonites to him, and he talked with them.
Solomon sent for him and said: Shimei, you promised in the name of the LORD that you would never leave Jerusalem. I warned you that you would die if you did. You agreed that this was fair, didn't you?