In a small bowl, mix together all of the ingredients for the spice rub.
Cut the pork into very large chunks. I generally buy a whole pork shoulder and cut this into 4 large pieces.
Place the pork into a large bowl.
Rub the spice rub all over the pork.
Cover the bowl with plastic wrap.
Leave the meat to marinate for about 30 minutes, but you can also do this overnight.
Before cooking, let the meat come to room temperature first. This might take about an hour, depending on how warm your kitchen is.
Preheat the oven to 150°C/300°F) (without fan).
Heat a large oven-proof pan with some olive oil. The pan should be large enough to snugly fit the pieces of meat in one layer.
Brown the meat on both sides, taking care not to burn the spice rub.
Remove the meat to a large plate.
Cook the onion until it has softened.
Return the meat to the pan, sitting it on top of the onions.
Pour over the chicken stock. The liquid should come to about halfway up the sides of the meat.
Place a lid on the pan, and place the pan into the oven.
Cook for about 3 to 3.5 hours, or until the meat is very tender and a metal spoon cuts through the meat easily. I recommend checking on the meat about 2-3 times, basting the meat each time. (See Kitchen Notes below for using a slow cooker, pressure cooker or Instant Pot.)
Once the meat is ready, shred the meat directly in the pan, into the pan juices. The liquid in the pan (which should be very flavourful by now) will help to keep the meat moist. But if you prefer a drier pulled pork, simply discard some of the liquid.
The pulled pork is ready to use.