[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Upstream source handling



Moin

During the linux packaging BoF at DebConf, Ben asked for usefull
upstream source handling.  No compeling ones were mentioned.

Some years ago (yes, years), I proposed some schema based on submodules,
but never got around to actually implement it.  I finally managed to do
an initial implementation.  It currently lives in the linux.git in
branch waldi/submodule.

Main principles:
- source of each featureset is a submodule, using version specific
  branches
- orig source via version specific tag
- 3.0 (custom) source format, script generates a source the archive
  understands

What will work:
- debuild -b/-B from the repo tree
- a script will create a plain 3.0 (quilt) source, which can be used at
  will

What will not work:
- debuild -s and similar calls from the repo tree

Workflow:
- New upstream version
  - Rebase old tag on top of new upstream, tag it with the new version
  - Rebase old main featureset branch on top of new orig tag as new
    branch
  - Rebase old other featureset branches on top of new main featureset
    branch or replace with new base and create new branch
  - Record new top commits and update changelog in main repo
- Cherry pick patch
  - (Make sure the submodules are on the correct branch, otherwise it
    will be hard to push changes or they will go to incorrect locations)
  - Cherry pick patch
  - Merge changes into all derived featuresets, if any
  - Record new top commits and update changelog in main repo

There are some things not yet implemented or different in my preview:
- debuild from the repo tree does not yet work, the rules are missing
  the special directory definitions
- orig is also a submodule

Please take a look and let me know what you think about this variant.
Most likely I've forgotten something, but I don't know what it is.

Regards,
Bastian

-- 
Intuition, however illogical, is recognized as a command prerogative.
		-- Kirk, "Obsession", stardate 3620.7


Reply to: