Issue #1071
closedIssue #1065: Make sure *we* provide all the corresponding source code.
Host all the upstream project code that we use.
Added by Denis 'GNUtoo' Carikli over 10 years ago. Updated almost 6 years ago.
Description
we want to be able to build the source code even if the upstream project's git disappear.
Updated by Paul Kocialkowski about 10 years ago
- Target version changed from 21 to Any version
Updated by Denis 'GNUtoo' Carikli over 9 years ago
- Device Not device specific added
Updated by Wolfgang Wiedmeyer about 8 years ago
- Device added
- Device deleted (
Not device specific)
I added a LineageOS mirror with all the repos that are needed for Replicant 6.0: https://git.replicant.us/LineageOS-mirror
The mirror is configured with the manifest branch LineageOS-mirror: https://git.replicant.us/replicant/manifest/log/?h=LineageOS-mirror
And the mirror is in use since this commit
Git bundles are also deployed now so the server load shouldn't be too high.
Maintenance-wise, it makes sense to use a mirror for LineageOS because they don't tag versions. Mirroring allows to add tags and freeze the code at a certain version. The AOSP code is already tagged, so there is not necessarily a need to create a mirror to ease maintenance, but it would be quite easy to add another subproject like "AOSP-mirror" and host all the AOSP code at git.replicant.us.
Updated by Wolfgang Wiedmeyer almost 8 years ago
- Assignee changed from Paul Kocialkowski to Wolfgang Wiedmeyer
Added documentation for the LineageOS mirror: LineageMirror
Updated by Denis 'GNUtoo' Carikli about 6 years ago
- Target version changed from Any version to Replicant 6.0 0004
Updated by Denis 'GNUtoo' Carikli almost 6 years ago
I've sent the patch for that to the mailing list (I've tested it).
Updated by Denis 'GNUtoo' Carikli almost 6 years ago
With that patch, only one repository remains which is f-droid.
As it will temporarily removed once the patch has been merged we can close this bug when it'll be removed.
Updated by Denis 'GNUtoo' Carikli almost 6 years ago
Here's the script that has been used for most of the AOSP repos:
#!/bin/sh # Copyright 2019 Denis 'GNUtoo' Carikli # In the cases where this work is copyrightable, it falls under the GPLv2 # or later license that is available here: # https://www.gnu.org/licenses/gpl-2.0.txt set -e for path in $(grep 'remote="aosp"' manifest.xml | awk '{print $2}' | sed 's#path="##' | sed 's#"$##') ; do name=$(grep "path=\"${path}\"" manifest.xml | awk '{print $3}' | sed 's#name="##' | sed 's#"$##' | sed 's#/#_#g') git -C ${path} \ fetch --unshallow aosp || true git -C ${path} \ push \ -f \ ssh://git@replicant-git/AOSP-mirror/${name} \ HEAD:refs/tags/android-6.0.1_r81 \ sed "/.* path=\"$(echo $path | sed 's#/#\\/#g')\" .*/d" -i manifest.xml done
is it to be used in the top directory and the manifest.xml file has to be copied there.
Updated by Denis 'GNUtoo' Carikli almost 6 years ago
- Status changed from New to Resolved
All the relevant patches have been pushed in the manifest git on replicant-6.0-dev branch so this issue is resolved.
Updated by Denis 'GNUtoo' Carikli almost 6 years ago
I forgot to add the python source code that generates the manifest.xml that is then parsed by shell script.
manifest.xml -> python script -> new manifest.xml that only contains AOSP mirror entries -> shell script
#!/usr/bin/env python # Copyright 2019 Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> # In the cases where this work is copyrightable, it falls under the GPLv3 # or later license that is available here: # https://www.gnu.org/licenses/gpl-3.0.txt import re file = open ('default.xml', mode='r') for line in file: if re.search('remote="aosp"', line): match = re.search('name="(.*)" ', line) if match: old_name = re.sub('".*', '', re.sub('^name="', '', match.group(0))) new_name = old_name.replace('/', '_') line = line.replace('name="{0}"'.format(old_name), 'name="AOSP-mirror/{0}"'.format(new_name)) #print(line.replace('\n', '')) line = line.replace('\n', '') print (line,)