docker-lineageos icon indicating copy to clipboard operation
docker-lineageos copied to clipboard

repo version should be updated

Open oupala opened this issue 4 years ago • 15 comments

When launching a build, the console is outputting the following warning:

... A new repo command ( 1.26) is available. ... You should upgrade soon:

Maybe the repo version in the docker image should be updated.

oupala avatar Oct 14 '19 10:10 oupala

I just triggered the Docker container to rebuild. Give it 10minutes or so and test if the message is still there.

jfloff avatar Oct 14 '19 11:10 jfloff

I updated the image, and the message is still there.

For information, the hash of the image I am using is cf6b995b758c.

oupala avatar Oct 14 '19 15:10 oupala

It seems that the url where your Dockerfile is getting the repo binary is only proposing repo 1.13.7:

https://github.com/jfloff/docker-lineageos/blob/61ba7feca3946803fb182061df13f5351bee0cf8/Dockerfile#L85

This is why a simple rebuild of the docker-lineageos image does not change the version of the repo binary.

The strange thing is that the repo repo is only offering version 1.13.7. See here:

https://gerrit.googlesource.com/git-repo/

So, my final question is: where is repo 1.26 available as said on the repo CLI:

$ ./repo --version

... A new repo command ( 1.26) is available.
... You should upgrade soon:

    cp /home/user/project/.repo/repo/repo /home/user/project/repo

repo version v1.13.7
       (from https://gerrit.googlesource.com/git-repo)
repo launcher version 1.25
       (from /home/user/project/repo)
       (currently at 1.13.7)
repo User-Agent git-repo/1.13.7 (Linux) git/2.20.1 Python/2.7.16
git 2.20.1
git User-Agent git/2.20.1 (Linux) git-repo/1.13.7
Python 2.7.16 (default, Oct  7 2019, 17:36:04) 
[GCC 8.3.0]

Any clue?

oupala avatar Oct 22 '19 11:10 oupala

Same here, I also looking for an answer

GeorgBor avatar Feb 28 '20 14:02 GeorgBor

In fact, I think that there is a misunderstanding about repo.

repo is composed of 2 parts: repo and repo laucher.

  • repo is available as version 1.13.x, 2.2, 2.3, 2.4, 2.4.x
  • repo launcher is available as version 1.25, 1.26

But it seems that you're installing repo (and probably repo launcher) from the right source, (according to the documentation](https://gerrit.googlesource.com/git-repo/+/refs/heads/master/README.md#install).

I don't understand why the last version of repo is not installed. @jfloff Could you please try to trigger a new build of the docker image?

When I install repo today, I get an updated version of repo:

$ curl https://storage.googleapis.com/git-repo-downloads/repo > repo
$ python repo init
$ python repo version
repo version v2.4.1
       (from https://gerrit.googlesource.com/git-repo)
repo launcher version 2.4
       (from /home/user/repo)
       (currently at 2.4.1)
repo User-Agent git-repo/2.4.1 (Linux) git/2.20.1 Python/3.7.5
git 2.20.1
git User-Agent git/2.20.1 (Linux) git-repo/2.4.1
Python 3.7.5 (default, Nov 20 2019, 09:21:52) 
[GCC 9.2.1 20191008]

oupala avatar Mar 09 '20 23:03 oupala

I made some extensive testing about this image.

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
jfloff/lineageos    latest              cf6b995b758c        4 months ago        1.03GB

$ docker run -it --rm jfloff/lineageos /bin/bash
lineageos@8ebd105cfa9d:~$ sudo repo init
gpg: keybox '/root/.repoconfig/gnupg/pubring.kbx' created
gpg: /root/.repoconfig/gnupg/trustdb.gpg: trustdb created
gpg: key 16530D5E920F5C65: public key "Repo Maintainer <[email protected]>" imported
gpg: key 67B7E448692B382C: public key "Conley Owens <[email protected]>" imported
gpg: Total number processed: 2
gpg:               imported: 2

Get https://gerrit.googlesource.com/git-repo/clone.bundle
Get https://gerrit.googlesource.com/git-repo
remote: Counting objects: 2, done
remote: Finding sources: 100% (52/52)
remote: Total 52 (delta 26), reused 52 (delta 26)
Unpacking objects: 100% (52/52), done.
From https://gerrit.googlesource.com/git-repo
   d38300c..e20da3e  master     -> origin/master
   0b57eed..d957ec6  stable     -> origin/stable
 * [new tag]         v2.4       -> v2.4
 * [new tag]         v2.4.1     -> v2.4.1
repo: warning: Python 2 is no longer supported; Please upgrade to Python 3.6+.

... A new version of repo (2.4) is available.
... You should upgrade soon:

    cp /home/lineageos/.repo/repo/repo /usr/bin/repo

fatal: manifest url (-u) is required.

lineageos@8ebd105cfa9d:~$ repo version
repo: warning: Python 2 is no longer supported; Please upgrade to Python 3.6+.

... A new version of repo (2.4) is available.
... You should upgrade soon:

    cp /home/lineageos/.repo/repo/repo /usr/bin/repo

repo version v2.4.1
       (from https://gerrit.googlesource.com/git-repo)
repo launcher version 1.25
       (from /usr/bin/repo)
       (currently at 2.4.1)
repo User-Agent git-repo/2.4.1 (Linux) git/2.11.0 Python/2.7.13
git 2.11.0
git User-Agent git/2.11.0 (Linux) git-repo/2.4.1
Python 2.7.13 (default, Sep 26 2018, 18:42:22) 
[GCC 6.3.0 20170516]

The strange thing is that the repo version command ouputs some inconsistent informations:

lineageos@8ebd105cfa9d:~$ repo version
repo: warning: Python 2 is no longer supported; Please upgrade to Python 3.6+.
... A new version of repo (2.4) is available.
... You should upgrade soon:
repo version v2.4.1
       (from https://gerrit.googlesource.com/git-repo)
repo launcher version 1.25
       (from /usr/bin/repo)
       (currently at 2.4.1)
repo User-Agent git-repo/2.4.1 (Linux) git/2.11.0 Python/2.7.13

Either repo is in version 2.4 or 2.4.1 and it does not need to be updated. Either it needs to be updated but it is not in version 2.4 or 2.4.1.

Maybe the first thing would be to build this from from an image more recent than openjdk:8 so that we can benefit from python 3.6 or later (switching from stretch to buster, for example, while sticking to openjdk8).

oupala avatar Mar 10 '20 14:03 oupala

I tried to change the FROM image of the Dockerfile from openjdk:8 to openjdk:8u242-slim-buster.

The problem is that the image does not build any more: the libesd0-dev package is missing from debian buster. I don't now if I can remove the package from the image, if I can replace it by another package (the closest I found is libesd-java bit I'm absolutely not sure the latter can replace the prior). The curl command is also missing and should be added as a package. With these two changes, I can achieve to build an image, but I don't know if the resulting image is working well.

In the end, this small update is driving me much further than I tought and I do not feel skilled enough to achieve this task.

Maybe @jfloff can be helpful to say what dependency is required or optional.

oupala avatar Mar 13 '20 13:03 oupala

unzip was also missing.

Here is the current diff of my Dockerfile:

$ git diff
diff --git a/Dockerfile b/Dockerfile
index 28245ce..a0fe27d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM openjdk:8
+FROM openjdk:8u242-slim-buster
 LABEL maintainer="[email protected]"
 
 ###################
@@ -28,6 +28,8 @@ RUN set -ex ;\
           bc \
           bison \
           build-essential \
+          curl \
+          unzip \
           flex \
           g++-multilib \
           gcc-multilib \
@@ -38,7 +40,7 @@ RUN set -ex ;\
           lib32ncurses5-dev \
           lib32readline-dev \
           lib32z1-dev \
-          libesd0-dev \
+          libesd-java \
           liblz4-tool \
           libncurses5-dev \
           libsdl1.2-dev \

oupala avatar Mar 13 '20 14:03 oupala

I get an error about another missing library:

error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

I think I can't go any further without some help.

oupala avatar Mar 13 '20 15:03 oupala

Is there any hope to get some help?

Is there anyone having an idea of the current version of repo?

@jfloff Have you a few minutes to help me just a little?

oupala avatar Aug 21 '20 16:08 oupala

I get an error about another missing library:

error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

I think I can't go any further without some help.

It is libncurses-dev.

erhan- avatar Dec 17 '20 10:12 erhan-

In this comment (22 Oct 2019), I was saying that repo was only available in version 1.13.7 in the repo repo. This repo is currently proposing a lot a releases between 1.13.7 and 2.11.1.

Currently, a simple rebuild should be enough to update the version of repo.

oupala avatar Jan 20 '21 21:01 oupala

Can we have a new update, please?

Output from running repo sync:

info: A new version of repo is available repo: Updating release signing keys to keyset ver 2.3 warning: repo is not tracking a remote branch, so it will not receive updates repo reset: error: Entry 'fetch.py' not uptodate. Cannot merge. fatal: Cannot reset index file to version "v2.17.3^0".

sailinggalaxians avatar Oct 28 '21 09:10 sailinggalaxians

You should have a look at https://github.com/lineageos4microg/docker-lineage-cicd

erhan- avatar Oct 28 '21 10:10 erhan-

repo reset: error: Entry 'fetch.py' not uptodate. Cannot merge.

I'm getting this now. Did you solve it?

lag-linaro avatar Nov 26 '21 11:11 lag-linaro