Peel and cut the eggplant into slices 1/4 inch thick. Layer the eggplant slices in a colander, salting each layer. Place a heavy plate on top with a weight, and leave for 1 hour. Rinse and pat dry.
Put flour in a large bowl. Lightly dredge as many eggplant slices as will fit into the skillet.
Transfer the slices to a large sieve and toss about to remove excess flour. (Flour enough slices for one batch only, or the flour will become damp and the slices will not fry well).
Heat the oil to hot in a large skillet and lightly brown the eggplant on both sides. Line a colander with paper towels and drain the slices, one layer at a time, covering each layer with more paper towels. When all the slices have been fried, set aside, reserving the frying oil, and prepare the sauce.
Drain 1/4 cup of the oil in which the eggplant has been fried through paper towels into a clean skillet.
Saute the chopped onion in the oil until transparent but not browned. Add the meat, basil, bay leaves, salt, pepper, and cinnamon. Saut until the meat is on longer pink, then add the tomatoes and tomato paste and simmer for 15 minutes.
Bring 5 quarts of water and 2 tablespoons coarse salt to a boil in a large pasta pot and boil the rigatoni for 4 minutes only. Add 2 cups of cold water to stop the cooking process. Drain; then mix with the butter, Gruyere and Parmesan.
Remove the bay leaves from the sauce and add the sauce to the pasta, mixing thoroughly.
Preheat the oven to 350°F.
Line a deep ovenproof dish with eggplant slices (we use a 10-inch; 25-cm terra-cotta casserole). Add a layer of half the pasta, then a layer of eggplant slices and a layer of the remaining pasta, ending with eggplant slices.
Bake for 35 minutes, or until lightly browned.