forked from Mirror/pmbootstrap
pmbootstrap build --src: override source for any package (#1210)
* New "pmbootstrap build --src=/local/source/path hello-world" syntax * The local source path gets mounted inside the chroot * From there, a copy of the source code gets created with rsync (so we can write into the source folder if necessary, for better compatibility with all kinds of APKBUILDs) * After the aport gets copied into the chroot before building (as usually), we extend the APKBUILD with overrides to make it use mountpoint's source instead of downloading the package's source from the web as usually * The package built with the local source gets _pYYYYMMDDHHMMSS appended to the pkgver * linux-postmarketos-mainline: use $builddir, fix patch checksum
This commit is contained in:
parent
42ed5dcb0a
commit
0f371e426f
8 changed files with 276 additions and 17 deletions
38
test/test_frontend.py
Normal file
38
test/test_frontend.py
Normal file
|
@ -0,0 +1,38 @@
|
|||
"""
|
||||
Copyright 2018 Oliver Smith
|
||||
|
||||
This file is part of pmbootstrap.
|
||||
|
||||
pmbootstrap is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
pmbootstrap is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with pmbootstrap. If not, see <http://www.gnu.org/licenses/>.
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
import pytest
|
||||
|
||||
# Import from parent directory
|
||||
sys.path.append(os.path.realpath(
|
||||
os.path.join(os.path.dirname(__file__) + "/..")))
|
||||
import pmb.config
|
||||
import pmb.parse
|
||||
import pmb.helpers.frontend
|
||||
import pmb.helpers.logging
|
||||
|
||||
|
||||
def test_build_src_invalid_path():
|
||||
sys.argv = ["pmbootstrap.py", "build", "--src=/invalidpath", "hello-world"]
|
||||
args = pmb.parse.arguments()
|
||||
|
||||
with pytest.raises(RuntimeError) as e:
|
||||
pmb.helpers.frontend.build(args)
|
||||
assert str(e.value).startswith("Invalid path specified for --src:")
|
Loading…
Add table
Add a link
Reference in a new issue