How does a package change in terms of "publishing a single page" and "Publishing a bundle with a single page"? Also, how does the package change when "publishing a bundle with a page AND a dynamic component"?
I don't think the package will have any difference, since you're still rendering a page or a DCP (there is a package instance for each rendering). If you need to render something differently based on this data, then you'll have to look at the PublishTransaction (accessible under
engine.PublishingContext.RenderContext.PublishTransaction) - the
Items property will contain the item that was sent to the publishing queue.