From 31d5318d20eb6413d30ccd62cec4a95f5b3ba554 Mon Sep 17 00:00:00 2001 From: h00465007 Date: Fri, 6 Mar 2020 16:41:31 +0800 Subject: [PATCH] package init --- ...ros-Do-not-use-awk-s-inplace-feature.patch | 30 ++++++++ README.en.md | 36 --------- README.md | 37 ---------- rust-packaging.spec | 69 ++++++++++++++++++ rust2rpm-10.tar.xz | Bin 0 -> 18744 bytes 5 files changed, 99 insertions(+), 73 deletions(-) create mode 100644 0001-macros-Do-not-use-awk-s-inplace-feature.patch delete mode 100644 README.en.md delete mode 100644 README.md create mode 100644 rust-packaging.spec create mode 100644 rust2rpm-10.tar.xz diff --git a/0001-macros-Do-not-use-awk-s-inplace-feature.patch b/0001-macros-Do-not-use-awk-s-inplace-feature.patch new file mode 100644 index 0000000..dd83986 --- /dev/null +++ b/0001-macros-Do-not-use-awk-s-inplace-feature.patch @@ -0,0 +1,30 @@ +From fac21ad662a14a4f901b3365a25749b516918554 Mon Sep 17 00:00:00 2001 +From: Igor Gnatenko +Date: Mon, 24 Jun 2019 20:27:20 +0200 +Subject: [PATCH] macros: Do not use awk's inplace feature + +gawk 5.x changed variable name to `inplace::suffix` but gawk 4.x does +not like that name so we can't set both. + +Signed-off-by: Igor Gnatenko +--- + data/macros.cargo | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/data/macros.cargo b/data/macros.cargo +index 1182850..5066587 100644 +--- a/data/macros.cargo ++++ b/data/macros.cargo +@@ -89,7 +89,8 @@ if %__cargo_is_lib; then \ + # Drop all dependency/features information \ + # so that cargo doesn't fail resolving dependencies: \ + # https://github.com/rust-lang/cargo/pull/6729 \ +- %{__awk} -i inplace -v INPLACE_SUFFIX=.deps '/^\\\[((.+\\\.)?((dev|build)-)?dependencies|features)/{f=1;next} /^\\\[/{f=0}; !f' Cargo.toml \ ++ mv Cargo.toml{,.deps} \ ++ awk '/^\\\[((.+\\\.)?((dev|build)-)?dependencies|features)/{f=1;next} /^\\\[/{f=0}; !f' Cargo.toml.deps > Cargo.toml \ + %{__cargo} package -l | xargs -d '\\\n' %{__cp} --parents -a -t $REG_DIR \ + %{__mv} Cargo.toml{.deps,} \ + %{__cp} -a Cargo.toml $REG_DIR/Cargo.toml \ +-- +2.22.0 + diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 88995ff..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# rust-packaging - -#### Description -RPM macros for building Rust packages on various architectures - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md deleted file mode 100644 index 82cec10..0000000 --- a/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# rust-packaging - -#### 介绍 -RPM macros for building Rust packages on various architectures - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 码云特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 -5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/rust-packaging.spec b/rust-packaging.spec new file mode 100644 index 0000000..41ce8fd --- /dev/null +++ b/rust-packaging.spec @@ -0,0 +1,69 @@ +%{?python_enable_dependency_generator} +# https://pagure.io/koji/issue/659 +%global debug_package %{nil} + +Name: rust-packaging +Version: 10 +Release: 1 +Summary: RPM macros for building Rust packages on various architectures +License: MIT +URL: https://pagure.io/fedora-rust/rust2rpm +Source: https://releases.pagure.org/fedora-rust/rust2rpm/rust2rpm-%{version}.tar.xz + +Patch0001: 0001-macros-Do-not-use-awk-s-inplace-feature.patch + +BuildRequires: python3-devel python3-setuptools +# use for check +BuildRequires: python3-pytest cargo python3-semantic_version + +# gawk is needed for stripping dev-deps in macro +Requires: gawk python3-rust2rpm = %{version}-%{release} +Requires: rust-srpm-macros = %{version} rust cargo + +%description +The package provides macros for building projects in Rust +on various architectures. + +%package -n python3-rust2rpm +Summary: Convert Rust packages to RPM + +Requires: cargo + +Provides: rust2rpm = %{version}-%{release} +%{?python_provide:%python_provide python3-rust2rpm} + +%description -n python3-rust2rpm +Convert Rust packages to RPM. + +%prep +%autosetup -n rust2rpm-%{version} -p1 + +%build +%py3_build + +%install +%py3_install +install -D -p -m 0644 -t %{buildroot}%{_rpmmacrodir} data/macros.rust data/macros.cargo +install -D -p -m 0644 -t %{buildroot}%{_fileattrsdir} data/cargo.attr + +%check +py.test-%{python3_version} -vv test.py + +%files +%defattr(-,root,root) +%license LICENSE +%{_rpmmacrodir}/macros.rust +%{_rpmmacrodir}/macros.cargo +%{_fileattrsdir}/cargo.attr + +%files -n python3-rust2rpm +%defattr(-,root,root) +%license LICENSE +%{_bindir}/rust2rpm +%{_bindir}/cargo-inspector +%{python3_sitelib}/rust2rpm/ +%{python3_sitelib}/rust2rpm-*.egg-info/ + +%changelog +* Wed Mar 4 2020 hexiujun - 10-1 +- Package init diff --git a/rust2rpm-10.tar.xz b/rust2rpm-10.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..99cf975364a58f0ebac1afb92d7e8f11afac151e GIT binary patch literal 18744 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 literal 0 HcmV?d00001 -- Gitee