Re: What is the source code (was: [RFC] General Resolution to deploy tag2upload)
On Wed, 19 Jun 2024 at 12:57, Gerardo Ballabio
<gerardo.ballabio@gmail.com> wrote:
>
> Paul R. Tagliamonte wrote:
> > I wonder if we have a good idea of what the project believes to be the case between #1 and #2:
> >
> > 1) Is the source of a package the debian source distribution?
> > 2) Is the source of a package the VCS where the source is held?
>
> Let me rewrite that in a different way:
>
> 1) is the source of a package the current version of the code? [*]
> 2) is the source of a package the complete history of the project? [**]
That is a very different set of questions and that is based on a false premise.
There is a very significant difference between the files in the latest
debian source distribution and the
files in the latest checkout of the git repo that the Debian developer
is using to maintain that package.
The latest checkout does not even actually have all the information
that is required to generate
the contents of the produced Debian source distribution.
For example, in the git-debrabase workflow that Russ described on this
list recently the latest checkout
would not have any of the debian/patches files in it. The patches in
this case are represented as separate
commits in the recent git history that are rebased on top of the
latest upstream release version commit.
Conversions from git repo to Debian source *generates* those patch
files. It is all still *just* the source for
the current release version, but it is not coming from latest
checkout, but from recent commit history.
The minimal set of source data would then be the contents of the
files/folders in the latest upstream release,
plus contents and metadata of all rebased patches on top of that
latest release commit. And that is the source
as that is the preferred way to modify this software.
History before the upstream release commit does not really matter
anymore in the source code context. If one
would shallow clone the git repo with depth to at least the last
upstream merge commit, they will get the same
results in generating the Debian source package and in all following steps.
Using git for maintenance does not require keeping or shipping the
*entire* history of the project. Just the latest
iteration is enough. But that one latest iteration may involve more
than one file/folder tree and more than one commit.
The questions that Paul wrote are very different: is the specific
format that Debian chose to package the source
code for consumption inside Debian toolchain considered to be *the*
source for software, or is it just an
intermediate technical artefact of the process and the *actual* source
of the software is whatever VCS or workflow
that the Debian and/or upstream developer is using to actually manage
and modify the software.
It has nothing to do with history. Unless you want to do deep dives
and do git blame research. Something that is
not possible with Debian source code packages beyond the
uploader/maintainer/developer boundary.
--
Best regards,
Aigars Mahinovs mailto:aigarius@debian.org
#--------------------------------------------------------------#
| .''`. Debian GNU/Linux (http://www.debian.org) |
| : :' : Latvian Open Source Assoc. (http://www.laka.lv) |
| `. `' Linux Administration and Free Software Consulting |
| `- (http://www.aiteki.com) |
#--------------------------------------------------------------#
Reply to: