Mix the ingredients of the dry rub together with 1 tbsp salt then spread all over the meat, making sure it’s well coated. Wrap in foil and chill for at least 4 hours, preferably overnight. Heat the oven to 160C/fan 140C/gas 3. Take the meat out the fridge to bring to room temperature.
Heat the oil in a large non-stick frying pan, then fry the meat on all sides until browned. Put into a large, lidded casserole dish then cook for 3 1/2 hours, or until the meat is falling apart.
Meanwhile, make the barbecue sauce. Put all the ingredients in a small saucepan, cook over a medium heat for about 20 minutes until thickened. Turn the oven up to 240C/fan 220C/gas 9. Pour two thirds of the barbecue sauce over the meat and cook uncovered for 20-30 minutes until sticky and glazed. Shred the meat into chunks in the sauce.
To make the coleslaw, mix all the ingredients together, then season with black pepper and toss. Serve the pork stuffed into soft buns with a dollop of coleslaw on top. Serve the remaining barbecue sauce alongside.