How to do_fetch by hand in a Yocto Project - yocto

My question is raised because my build-yocto server ran into the error:
ERROR: Fetcher failure: Fetch command failed with exit code 128, output:
Cloning into bare repository '/mnt/wd2tb/home/Work/skrzg1h_iWg21m_QtHmi/build/downloads/git2/github.com.qtproject.qtenginio.git'...
Fetcher failure for URL: 'git://github.com/qtproject/qtenginio.git;name=qtenginio;branch=5.6;protocol=git'. Unable to fetch URL from any source.
In the meantime, my PC can do that. So, I cloned the qtenginio repo to my local PC.
$ git clone git://github.com/qtproject/qtenginio.git;name=qtenginio;branch=5.6;protocol=git
And copy the downloaded source code above into the downloads/git2/github.com.qtproject.qtenginio.git folder of Yocto project.
Finally, I run the bitbake command.
$ bitbake qtenginio
But the fetch still fails.
Anyone can help me in this case ?

bitbake clones bare git repo, please add option '--bare' and touch a .done file to tell bitbake that do_fetch has been done already:
$ git clone --bare git://github.com/qtproject/qtenginio.git;name=qtenginio;branch=5.6 /mnt/wd2tb/home/Work/skrzg1h_iWg21m_QtHmi/build/downloads/git2/github.com.qtproject.qtenginio.git
$ touch /mnt/wd2tb/home/Work/skrzg1h_iWg21m_QtHmi/build/downloads/git2/github.com.qtproject.qtenginio.git.done

Step 1: download the package by hand (wget, git clone ...)
Step 2: copy the package into ./build/downloads
Step 3: touch a package_name.done file.
Step 4: change permission for the *.done file: chmod 777 package_name.done

Related

How to add package from sub-directory of monorepo with yarn

I have a fork of the expo monorepo that has changes in only one of the sub-packages (e.g. expo-speech). I want to import only that sub-package in my application. Given these parameters:
GitHub organization: my-org
Repo: expo
Branch: main
Sub-package: expo-speech
Sub-directory: packages/expo-speech
how would I add this package to my application using yarn?
Commands I have tried:
# with yarn 1.22.19
yarn add expo-speech#my-org/expo#workspace=expo-speech # fails with git error: "Could not read from remote repository."
yarn add expo-speech#my-org/expo#workspace=packages/expo-speech # fails with git error: "Could not read from remote repository."
yarn add expo-speech#my-org/expo#workspace=packages/#expo/expo-speech # fails with git error: "Could not read from remote repository."
# using https://gitpkg.vercel.app/
yarn add 'https://gitpkg.now.sh/my-org/expo/expo-speech?main' # fails with 500 or 504, no message
# with yarn 3.3.1
yarn add expo-speech#my-org/expo#workspace=expo-speech # never finishes
yarn add expo-speech#my-org/expo#workspace=packages/expo-speech # never finishes
yarn add expo-speech#my-org/expo#workspace=packages/#expo/expo-speech # never finishes
Most of the attempts above are from this GitHub comment. I can find very little about importing from sub-directories or yarn workspaces of monorepos.

vercel deployment failed: Host key verification failed

I got this error when deploying a project on vercel. I have 4 other projects hosted on vercel and never had this issue before:
warning Pattern ["ethereumjs-abi#git+https://github.com/ethereumjs/ethereumjs-abi.git"]
is trying to unpack in the same destination
"/vercel/.cache/yarn/v6/npm-ethereumjs-abi-0.6.8-ee3994657fa7a427238e6ba92a84d0b529bbcde0/node_modules/ethereumjs-abi"
as pattern ["ethereumjs-abi#^0.6.8"]. This could result in non-deterministic behavior, skipping.
error Command failed.
Exit code: 128
Command: git
Arguments: ls-remote --tags --heads ssh://git#github.com/ethereumjs/ethereumjs-abi.git
Directory: /vercel/path0
Output:
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Error: Command "yarn install" exited with 128
deleted the package-lock.json and tried it
I made sure dev dependencies are correctly separated from dependencies.
BUt still same error. I could successfully build with
npm run build
yarn build
locally.
What worked for me was deleting my git repository using:
rm -fr .git
and initializing a new repository in the same directory but this time I didn't use npm , instead used yarn. So make sure to delete package-lock.json and node modules and then run :
yarn
In your package.json you will have this dependency:
"ethereumjs-abi": "github:ethereumjs/ethereumjs-abi"
This kind of reference defaults to access github over ssh, but github have deprecated this mode of access. Instead you should use https like this:
"ethereumjs-abi": "https://github.com/ethereumjs/ethereumjs-abi"

Failed to download metadata for repo appstream

Running on centos 8 today want to install new package and before it wants to run:
yum update -y
but got this:
Failed to download metadata for repo 'appstream': Cannot prepare
internal mirrorlist: No URLs in mirrorlist
Then I did search and found a solution to fix it:
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
I did this but still error persist, any idea? how to fix this? Is there new solution in 2022?
After use this solution
Now error:
Errors during downloading metadata for repository 'extras':
Status code: 403 for https://vault.centos.org/centos/8/extras/x86_64/os/repodata/repomd.xml
(IP: 13.249.9.66) Error: Failed to download metadata for repo
'extras': Cannot download repomd.xml: Cannot download
repodata/repomd.xml: All mirrors were tried

Bitbake rpi-basic-image Error ninja-build

I'm learning Yocto project. Started creating an image for Raspberry Pi 4.
I ran bitbake rpi-basic-image and got an error:
fatal: repository '/PATH/yocto/rpi64-build/downloads/git2/github.com.ninja-build.ninja.git/' does not exist
but when i run bitbake -c menuconfig virtual/kernel everything dowloads and works fine.
I didn't find anything about it.
Can you share more of the build log? It looks like a previous download of ninja has been manually previously deleted, try deleting *ninja-build* in downloads/ and downloads/git/.
files tree screenshot
terminal screenshot

clone fails with "smudge filter lfs failed (...) HTTP_1_1_REQUIRED"

I'm trying to clone a git repo from my corp locally-hosted TFS/devops. However, I get failure:
batch response: Post (...) HTTP_1_1_REQUIRED
I saw recommendation to skip smudge by running git lfs install --skip-smudge
or setting GIT_LFS_SKIP_SMUDGE=1, but then the lfs-provided binaries don't get pulled and I get compile errors.
Solution - Before clone, run: git config --global --replace-all http.version HTTP/1.1
Ref, from the git-lfs developer which added the http.version option: https://github.com/git-lfs/git-lfs/issues/3875#issuecomment-607260728