Butterfly open the pork shoulder, making any additional cuts until the roast is of an even thickness. Trim off the thin pieces of meat on the ends of the pork shoulder and any excess fat to create a rectangular-shaped piece of meat. Ideally you will have about 8 to 10 ounces of meat and fat that you have trimmed off the roast. Cut this trimmed meat into 1-inch pieces.
In a food processor fitted with the blade attachment, combine the 1/2 cup olive oil, the leaves from 3 sprigs rosemary, the 16 basil leaves, the tablespoon lemon zest, the 3 cloves garlic, the 1 teaspoon salt, the 1/2 teaspoon fennel seed, and the 1/2 teaspoon chile flakes. Process to a smooth puree. Add the trimmed meat and pulse until the mixture resembles ground sausage.
Place the roast fat-side down on a work surface and evenly distribute the filling over the pork, leaving a 1-inch border around the sides so the filling doesn't fall out when you roll the meat. Press filling into any grooves.
Roll up the meat working from one short end to the other, creating a compact cylinder. Using several pieces of butcher's twine, tie the roast both crosswise and lengthwise to secure closed. Rub roast on all sides with the extra 1 tablespoon olive oil and season with the 3 teaspoons salt and 1/2 teaspoon black pepper. Push any filling that might have fallen out back into the roast. Let stand at room temperature for 30 minutes while the oven heats.
Heat oven to 300°F and place roast on a rack inside a roasting pan or over a baking sheet. Roast until the internal temperature reaches 160°F, about 2 to 3 hours. For extra crispy skin, increase the oven temperature to 450°F for the last 10-15 minutes of roasting, watching closely to prevent burning.
Transfer roast to a cutting board and loosely tent with foil. Let rest 20 to 30 minutes before slicing. Remove twine and carve into thin slices.