Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Sep 2015 23:50:25 +0200
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        mfv <mfv@bway.net>
Cc:        Arto Pekkanen <isoa@kapsi.fi>, freebsd-pkg@freebsd.org
Subject:   Re: Suggestion to add build/revision number to "pkg stats"
Message-ID:  <20150923215025.GM16800@ivaldir.etoilebsd.net>
In-Reply-To: <20150923163731.70398452@gecko4>
References:  <20150916165829.46ba52f6@gecko4> <55FC6977.6010704@gmx.net> <20150922220600.GE16800@ivaldir.etoilebsd.net> <56027399.8040101@kapsi.fi> <20150923163731.70398452@gecko4>

next in thread | previous in thread | raw e-mail | index | archive | help

--Cqq5NadOW2RfLMJ/
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 23, 2015 at 04:37:31PM -0400, mfv wrote:
> > On Wed, 2015-09-23 at 12:40 Arto Pekkanen <isoa@kapsi.fi> wrote:
> >
> >I have a better solution: just expose the start date of repository
> >build in pkg stats.
> >
> >Something like this:
> >Local package database:
> >    Installed packages: 780
> >    Disk space occupied: 6 GiB
> >
> >Remote package database(s):
> >    Number of repositories: 1
> >    Packages available: 24561
> >    Unique packages: 24561
> >    Total size of packages: 44 GiB
> >    Repository build started at: 20150923T000000Z
> >
> >All of the methods (svn, git, etc) afaik support checking out the
> >closest revision by date. I know not many people use this, but still.
> >
> >See here:
> >http://svnbook.red-bean.com/en/1.6/svn.tour.revs.specifiers.html
> >
> >With this information I could simply pkg update, then see if
> >repository was updated (by grepping pkg update output OR by checking
> >pkg database checksum) AND if so, just do 'svn checkout -r <repository
> >build date from pkg stats> ...' on the branch the repository is based
> >on. After this the ports tree would be in sync with the repository.
> >
> >Sometime ago I asked if it would be possible to determine the start
> >date of repository build, but afaik this question was never answered.
> >
> >If this feature was implemented, I could finally finish my software
> >project. I am trying to create an alternative to poudriere, which does
> >ONLY builds those packages which have custom build options, and would
> >merge in packages (that do not need to be built) from base repository.
> >The goal of my project is to save tremendous amounts of time when
> >building a custom repository. Currently I've decided to halt the
> >development, since I cannot programmatically guarantee that I can get
> >ports in sync with the base repository, which would mean that my
> >software would end up botching the repository build every now and then.
> >
> >On 23.9.2015 1:06, Baptiste Daroussin wrote:
> >> On Fri, Sep 18, 2015 at 09:43:51PM +0200, Simon Wright wrote:
> >>> On 16/09/2015 22:58, mfv wrote:
> >>>
> >>> snipped
> >>>
> >>>> The build number is only available when the build begins, but the
> >>>> package upgrade is not possible until the build process ends many
> >>>> hours later.  Moreover, it is also possible to update the port
> >>>> tree to
> >>>
> >>> snipped
> >>>
> >>>> A simple solution would be to have the build number available as
> >>>> part of a port upgrade and made available in "pkg stats".  Its
> >>>> output could look like this:
> >>>>
> >>>> Local package database:
> >>>
> >>> snipped
> >>>
> >>>> Even better would be an argument to "pkg stats" that would only
> >>>> output the revision number, say "pkg stats -n"
> >>>>
> >>>> After running "pkg upgrade", it would then be an easy to extract
> >>>> the build number of that particular upgrade and then sync the
> >>>> ports tree to that number using subversion or, my favourite, svnup.
> >>>
> >>> +1, this information would be very useful for me. It might be=20
> >>> necessary to be able to specify a specific repository as well as
> >>> the local/remote switch; I have two remotes configured, my one
> >>> built by poudriere and also the "latest" freebsd.org repo.
> >>>
> >>> Simon.
> >>=20
> >> This is a bit more complexe than that as the ports tree can be
> >> checked out from portsnap, svn, git etc (aka different id).
> >>=20
> >> The right way would be to package the ports tree itself along with
> >> other packages so if you need to build something: pkg install ports
> >> and you are always 100% sure to be on good ports tree.
> >>=20
> >> But we are not there yet :(
> >>=20
> >> Best regards,
> >> Bapt
> >>=20
> >
>=20
> Hello Bapt and Arto,
>=20
> I read your messages with interest.  I did not realize there is not a
> uniform numbering system among the different systems that update the
> ports tree and had assumed that the subversion number was THE number. =20
> Could the the output of pkg stats identify the revision number for
> the different systems? Say,
>=20
>   Git revision number: 123456
>   Subversion number  : 654321

Well I cannot get both revision when building. But I do like the suggestion=
 of
the date.
>=20
> Concerning the use of subversion and svnup, I adapted a script found on
> the web that was able to extract the subversion/svnup number from the
> most current build:
>=20
>   https://gist.github.com/reedacartwright/8622973baf89b263a6d7
>=20
> The only significant problem is the long time gap between the start of
> the build (at which time the number is available) and the completion of
> the build.  There have been many occasions when my local ports tree was
> updated to a particular revision number BEFORE the package build was
> completed.  Because of the time gap it is possible to update the local
> repository against a particular revision and to update the ports tree to
> a newer revision.
>=20
> The following website may provide an answer to Arto's question as to
> when a build begins.
>=20
>   https://pkg-status.freebsd.org/
>=20
> I've tried to sync the ports tree and packages based on a date but have
> not been able to identify one.  However, between a date and a build
> number my guilt feeling is that the latter is the safer option.

Not if I take the date of the last commit of the revision we use except tha=
t it
won't work with portsnap but maybe we can find a trick there too.

>=20
> From past observations there is a 3 to 4 hour gap between the
> completion of a build and the availability of its package update.  I've
> always wondered why.

The time for everything to sync over the mirrors :)

Best regards,
Bapt

--Cqq5NadOW2RfLMJ/
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlYDHqEACgkQ8kTtMUmk6ExQNACfUl/bahUvEUQRScTZSHZEidbO
CxgAn2kmmM44rBUK4A+Z2ISR/7NKjiyi
=GxvZ
-----END PGP SIGNATURE-----

--Cqq5NadOW2RfLMJ/--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150923215025.GM16800>