Preheat the oven to at 300˚F.
Drizzle some oil into an ovenproof pot or Dutch oven set over medium-high heat.
Place the pork shoulder in a large bowl and toss with the chili powder, paprika, brown sugar, cumin, and salt and pepper to taste. Brown the meat in batches, transferring it to a bowl or plate as you go.
Add the onion to the pan and cook for a few minutes, until it starts to soften and loosen any browned bits in the bottom of the pan.
Return all the pork to the pan and add the chicken stock or beer—there should be enough to come about halfway up the side of the meat.
Cover and braise for 3 hours, or until the pork is very tender.
Pull the meat apart with two forks, adding enough barbecue sauce to moisten. Serve on soft buns or biscuits.