Fwd: %forgemeta support for `git` tasks in checked-out code?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Just forwarding this question to more appropriate list.

----------  Forwarded Message  ----------

Subject: %forgemeta support for `git` tasks in checked-out code?
Date: Thursday, June 25, 2020, 6:42:42 PM CEST
From: PGNet Dev <pgnet.dev@xxxxxxxxx>
To: copr-devel@xxxxxxxxxxxxxxxxxxxxxx

I'm building a package using multiple sources.

I'm using $forgemeta to get/manage sources, as per example here:

	https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/#_multiple_sources_example

One of my sources pulls from upstream scm (github), and needs a subsequent 'git submodule--init'.

Is seems that what %forgemeta pulls/tars/expands is not initilialize git repo; rather, just the relevant target's files.

E.g., for a given scm source (here, ngx_brotli), the %forgemeta pull unpacks

	tree -L 1 -a ngx_brotli
		ngx_brotli
		├── config
		├── CONTRIBUTING.md
		├── deps
		├── filter
		├── .gitmodules
		├── LICENSE
		├── README.md
		├── script
		├── static
		└── .travis.yml

note, no ".git" folder, and no ability as is to `git submodule --init` in the tree.

otoh, a `git clone` of the same source results, as expected, in

	tree -L 1 -a ngx_brotli  
		ngx_brotli
		├── config
		├── CONTRIBUTING.md
		├── deps
		├── filter
!!		├── .git
		├── .gitmodules
		├── LICENSE
		├── README.md
		├── script
		├── static
		└── .travis.yml

currently, to workaround this, I DISABLE the forge for the source in question, and do the pull & submodule init in %prep,

e.g., this spec

	%global forgeurl0 https://github.com/nginx/nginx
	Version:          1.19.0
	%global tag0      release-%{version}

	%global forgeurl1 https://github.com/openresty/headers-more-nginx-module
	%global tag1      master

	# DISABLE global forgeurl1 https://github.com/google/ngx_brotli
	%global tag2      master

	%forgemeta -i -z 0
	%forgemeta -i -z 1
	# DISABLE forgemeta -i -z 2

	Name:           %{name}
	%define dist    %{scm0}
	Release:        %{dist}
	Summary:        %{name}
	License:        BSD
	URL:            %{forgeurl0}

	Source0:        %{forgesource0}
	Source1:        %{forgesource1}
	Source2:        https://github.com/google/ngx_brotli/archive/master/ngx_brotli-master.tar.gz
	...

	%prep
	pushd .
	cd %{_sourcedir}
	rm -rf ngx_brotli
	git clone https://github.com/google/ngx_brotli
	cd ngx_brotli
	git submodule update --init
	cd ..
	tar --remove-files -czf ngx_brotli.tar.gz ngx_brotli
	popd

	%setup -T -b 0 -n  nginx-%{tag0}
	%setup -T -b 1 -n  headers-more-nginx-module-%{tag1}
	...

	%build
	export DESTDIR=%{buildroot}
	cd %{_builddir}/%{name}-%{tag0}
	...

	%install
	cd %{_builddir}/%{name}-%{tag0}
	make install DESTDIR=%{buildroot} INSTALLDIRS=vendor
	...

appears to work, and the `git submodule --init` is taken care of correctly.

but, it's messy.

_is_ there a %forgemeta alternative to the manual git clone that will init/unpack the source _as_ a repo, allowing the submodule task to be exec'd?

this isn't, of course, ONLY a COPR question, but one of rpmbuild more generally.

_my_ goal _is_ to get it working on COPR, eventually.

that said, if this^ belongs on some other list, let me know.
_______________________________________________
copr-devel mailing list -- copr-devel@xxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to copr-devel-leave@xxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedorahosted.org/archives/list/copr-devel@xxxxxxxxxxxxxxxxxxxxxx

-----------------------------------------


_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux