1. Preheat the oven to 250°F.
2. Place pork in a roasting pan and season with salt and pepper. Cook for 1 – 2 hours or until tender.
3. Remove pork from the oven. Tent it with foil and allow it to rest for at least 1 hour.
4. Preheat the oven to 500°F. Return pork to the oven and roast for 20 minutes.
5. For the barbecue sauce, melt butter in a medium saucepan over medium heat. Add chopped onion, minced garlic bulbs, tomato sauce, apple cider vinegar, honey, Worcestershire sauce, brown sugar, yellow mustard, hot sauce, salt, pepper, and cayenne pepper. Bring to a boil and simmer for 20 minutes.
7. Transfer the sauce to a blender and blend until smooth.
8. Serve the roast pork glazed with barbecue sauce.