On Wed, Apr 03, 2013 at 12:59:42PM +0100, Carlos R. Mafra wrote:
> What about using a unified dockapp version for all dockapps under
> the repository?
> Say that I tag the repo now as 'version 0.5' and all dockapps
> will have the extra version 'dockapps v0.5' attached to them.
There is wmweather+ with version 2.12.  So, all dockapps must
have version greater than 2.12.  Another option is to switch to
timestamps, like YYYY.MM.DD, this is even better.

> > I'd suggest to move from repo.or.cz to github.
> > We will have all github social features,
> > like forks, pull requests, issues and stuff.  Github also
> > provides tarball download features for all published tags that
> > will satisfy package maintainer.
> I don't see that as really necessary. Apart from the pull request,
> which is not really needed for dockapp patches unless someone
> starts working with them as his/her dayjob and writing dozens of them,
> repo.or.cz has the other features too (which nobody uses anyway too).
For me, main reason to use github and separate repositories is
tarballs.  Look what I have in, for example, wmpager.spec:

===8<===
%global treeish 88ece7e5
URL: http://repo.or.cz/w/dockapps.git
Source: %{url}/snapshot/%{name}-%{version}-g%{treeish}.tar.gz

%prep
%setup -q -c

%build
cd dockapps
...
===>8===

For a given dockapp, you need to know tree-ish of a subdirectory
in dockapps repo (you can't even use tag name to download
snapshot of a single subdirectory with gitweb).  In generated
tarball all files will be placed in "dockapps/" subdirectory and
have timestamps of time when tarball was generated which results
in different tarball checksums every time the tarball downloaded.

Compare with github repo (wmvolman):

===8<===
Url: http://github.com/raorn/%{name}
Source: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
===>8===

Tag name is version number (2.0.1), all files in tarball placed
in "%{name}-%{version}" subdirectory.  And I get the same
tarball with each download, timestams inherited from tag creation
time (described in git-archive(1)).

I have packaged three dockapps from dockapps.git repo and it's
really painful...

[..skip..]
> It's _way_ more efficient to have them under the same repository.
When two worlds collide - The Maintainer and The Packager.

Packagers need official place to download tarballs.  Timestaped
version of a single dockapp is the date of the last commit in a
given subdirectory:

UNIXTS="$(git --no-pager log -n 1 --format=format:%ct -- "$SUBDIR")"
VERSION="$(date --date="@$UNIXTS" +'%Y.%m.%d')"

Tag with name "dockapps-%Y.%m.%d" must exist.  Tarball can be made with:

git archive --format=tar.gz --prefix="$SUBDIR-$VERSION/" \
  -o /some/where/"$SUBDIR-$VERSION.tar.gz" \
  "dockapps-$VERSION" "$SUBDIR"

In this case, The Maintainer will have additional tasks:

1. Create tags when necessary
2. Create tarballs when new tag appears for all affected dockapps
3. Upload new tarballs to "official source"

Carlos, can you do it if I write you some scripts?

-- 
Regards,    --
Sir Raorn.   --- http://thousandsofhate.blogspot.com/

Attachment: signature.asc
Description: Digital signature

Reply via email to