Whisk together the BBQ sauce ingredients and set aside.
In a small mixing bowl, combine the dry rub ingredients and set aside.
Take the pork shoulder, rub with the dry rub mixture, and leave to marinate for 30 minutes at room temperature.
Preheat the oven to 150C (300F).
Heat the olive oil in a Dutch oven (4qt/4 liters) over a medium-high heat and brown all pieces of the pork on each side. When done, remove onto a plate.
To the same Dutch oven, add extra oil if needed and onions with garlic. Season with salt and black pepper and cook until slightly browned. Then, add a splash of water to deglaze the bottom of the oven and place the meat back.
Pour the beer and chicken broth in, cover the Dutch oven with a lid, and place in the preheated oven for around 3 hours. Then remove the lid and let the meat cook for 1 more hour until it pulls apart easily.
After, remove the meat from the Dutch oven into a large bowl or onto a plate and let it rest for 5-10 minutes.
Meanwhile, place the Dutch oven on the stove and bring the remaining liquids to a simmer. Add the BBQ sauce and cook until thickened to your taste (can take from 5-15 minutes depends on how much liquids left in the Dutch oven after baking). Remove from the heat.
Using 2 forks, shred the meat and place back into the Dutch oven. Stir well to combine with the BBQ sauce.
Serve it hot topped with chopped cilantro and lime wedges.