Preheat the oven to 220C/200C Fan/Gas 7.
Season the pork all over with plenty of salt and pepper. Rub the seasoning into the pork.
Lay the pork, skin-side down, onto a chopping board, with the shortest end facing you. Sprinkle over the sliced onions, sage, apple, lemon zest and half the butter. Season again with salt and pepper.
Roll the pork up into a long sausage shape, keeping it as tightly rolled as possible. Secure the roll with cooking string at intervals.
Make a little noose in the end of the string, then loop around the pork, pull the string through the noose, then pull it tight. Continue down the pork, wrapping the string around, then looping it back through the string, keeping it taught all the time. Tie it at the end to secure.
Place the quartered onions, carrots and garlic into a large, deep-sided roasting tray, then place the pork on top. Rub the remaining butter over the pork, then pour in the wine. Roast the pork and vegetables for 30 minutes, then reduce the temperature to 150C/130C Fan/Gas 4 and continue to cook for 3-4 hours, until the pork is fall-apart tender.
Meanwhile, for the apple sauce, heat the apples, half of the sugar, a little of the lemon juice, a splash of water and the butter in a non-reactive saucepan over a low heat, stirring until the sugar has dissolved and the butter has melted. Continue to cook for 4-5 minutes, until the apple has broken down. Taste and add more sugar, lemon juice or water, as needed.
Beat the sauce with a spoon until nearly smooth, leaving a few chunks in the mixture, then season, to taste, with salt.
Switch off the oven and remove the roast pork and vegetables. Transfer the pork to a serving plate and set aside to rest for at least 30 minutes. Transfer the roasted vegetables to an ovenproof dish and keep warm in the oven.
Heat the roasting tray containing the pork juices over a medium heat, scraping up any browned bits stuck to the bottom of the tray using a wooden spoon. Season, to taste, with salt and pepper, then strain through a fine sieve and keep warm until ready to serve.
Bring a pan of salted water to the boil, add the broccoli and cook for 3-4 minutes, or until just tender. Drain well and toss with a knob of butter.
To serve, slice the rolled pork and divide the slices among 8-10 serving plates. Spoon the roasted vegetables alongside, and a dollop of apple sauce. Drizzle over the sauce.