首页 > 解决方案 > 是否可以对 yocto 食谱上的源文件进行更改并生效?

问题描述

如果这个问题无效,请告诉我。我在 yocto 构建中包含了http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-crypto/botan/botan_2.14.0.bb?h=master 。我只是好奇是否可以在其中一个库源文件中添加代码行?例如,我喜欢在 void CBC_Decryption::finish(secure_vector<uint8_t>& buffer, size_t offset)位于 /home/kjlau/yocto/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/botan/2.14.0-r0/package/usr/src/debug/的函数中添加标准输出botan/2.14.0-r0/Botan-2.14.0/src/lib/modes/cbc/cbc.cpp

如下图所示

void CBC_Decryption::finish(secure_vector<uint8_t>& buffer, size_t offset)
   {
     std::cout<<" CBC_Decryption::finish"<<std::endl;

   BOTAN_STATE_CHECK(state().empty() == false);
   BOTAN_ASSERT(buffer.size() >= offset, "Offset is sane");
   const size_t sz = buffer.size() - offset;

   const size_t BS = block_size();

   if(sz == 0 || sz % BS)
      throw Decoding_Error(name() + ": Ciphertext not a multiple of block size");

   update(buffer, offset);

   const size_t pad_bytes = BS - padding().unpad(&buffer[buffer.size()-BS], BS);
   buffer.resize(buffer.size() - pad_bytes); // remove padding
   if(pad_bytes == 0 && padding().name() != "NoPadding")
      {
      throw Decoding_Error("Invalid CBC padding");
      }
   }

如果我可以进行此更改,如何编译以确保其生效?我在应用程序端尝试了 bitbake botan 或 bitbake,我没有观察到发生变化。如果这是一个无效的问题,请告诉我,谢谢

标签: yoctobitbakeopenembedded

解决方案


推荐阅读