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

Re: Packaging TeXLive 2008: Source packages



Dear all

2009/1/21 Norbert Preining <preining@logic.at>:
> On Mi, 21 Jan 2009, Hilmar Preusse wrote:
>
> for exactely that reason. All the packages that have been removed since
> the release of the tar balls have to be again cancelled. Much better and
> easier for the future to always start from some svn checkout. That way
> if some package is removed due to licensing problems, we just build a
> new .orig.tar.gz from the svn checkout where the package is removed.
> Much cleaner.

If I may add my own two cents: I also Norbert's vision.  It's the
easiest way.  You could automate the creation of the SVN tarball.  I
have done so with the "cjk" package, which fetches a tarball from the
upstream GIT source.

Here is an extract from the rules file [1]:

# Stuff for get-orig-source.
# Getting the revision numbers according to debian/changelog, the HARD way.
upstream_version := $(shell dpkg-parsechangelog | sed -ne 's/^Version:
\(.*\)-.*/\1/p')
isodate := $(shell dpkg-parsechangelog | sed -ne
's/^Version.*git\(.*\)-.*/\1/p')
unixdate := $(shell date -d $(isodate) +%s)
# Add 24 hours to the Unix time.
unixdate := $(shell expr $(unixdate) + 86400 )

# To get the Master revision number (e.g. 4.8.0) instead, use:
# dpkg-parsechangelog | sed -ne 's/^Version: *\([^+-]*\).*/\1/p'

get-orig-source:
        # Cleaning
        rm -rf cjk-$(upstream_version)
        rm -f ../cjk_$(upstream_version).orig.tar.gz

        # Download the latest GIT version and downgrade it to $(isodate).
        git-clone git://git.sv.gnu.org/cjk.git cjk-$(upstream_version)
        cd cjk-$(upstream_version) && git reset --hard `git rev-list
--all -n 1 --before=$(unixdate)`

        # Make a pristine package.
# --no-name/-n is important because it won't save the timestamp in the
# 5th to 8th byte of the gzip.
        cd cjk-$(upstream_version) && git-archive --format=tar
--prefix=cjk-$(upstream_version)/ master | gzip -9 --no-name >
../../tarballs/cjk_$(upstream_version).orig.tar.gz

        # Clean again, because we use svn-buildpackage afterwards.
        rm -rf cjk-$(upstream_version)

I just have to change the first line in debian/changelog to get the
version I want.  E.g. I change "cjk (4.8.2+git20091010-1) UNRELEASED;
urgency=low" into "cjk (4.8.2+git20090105-1)", and a simple
"svn-buildpackage" will do all the rest.

Perhaps this might be an option for TeXlive as well?  However, it will
cause more internet traffic from the upstream SVN server.

And that's the end of my email, as I have no more change left in my pockets. :D

[1]
http://svn.debian.org/wsvn/debian-tex/cjk/trunk/debian/rules?op=file&rev=0&sc=0


Best regards


-- 
Danai


Reply to: