Melt the butter in a skillet over medium heat, and stir in the black pepper, cayenne pepper, thyme, oregano, dry mustard powder, and garlic. Cook and stir until the garlic is fragrant, about 1 minute. Remove from heat.
With a sharp knife, make several small slits in the pork roast. Place the roast into a roasting pan, and spread the spice mixture all over the roast and in the incisions. Surround the roast with celery, carrots, and onion, and season to taste with salt and black pepper.
Roast in the preheated oven until the pork roast is browned and an instant-read meat thermometer inserted into the center of the roast reads at least 150 degrees F (65 degrees C), about 2 hours. About 15 minutes before the end of cooking, turn the oven temperature up to 425 to help brown the roast.
Remove pork roast from oven, and allow to stand for about 10 minutes before slicing. Check temperature again; roast temperature should be at least 160 degrees F (75 degrees C) before serving.
While roast is resting, place the roasting pan containing vegetables and pan drippings over a stove burner set to medium heat. Whisk in the flour, and simmer the drippings and flour for about 3 minutes to remove raw taste from flour. Whisk in the pork stock, a little at a time, until the gravy is thickened. Strain the gravy, and serve with the roast.