devtools's People
Forkers
gmkurtzer learn-rocky wsoyinka shaneutt jwbowen neilhanlon dithotxgh pedroalvesbatista manas-rust skip77 doytsujin yifengyoudevtools's Issues
rockybuild javapackages-tools:201902
- from Readme.md, only javapackages-tools:201801 was built. Looks like an exercise left as homework ;)
- create /etc/mock/rocky.x86_64/modules/javapackages-tools:201902.cfg
[me@centos8t01 modules]$ pwd
/etc/mock/rocky.x86_64/modules
[me@centos8t01 modules]$ cp javapackages-tools:201801.cfg javapackages-tools:201902.cfg
[me@centos8t01 modules]$ perl -pi -e 's!201801!201902!' javapackages-tools:201902.cfg
[me@centos8t01 modules]$ diff -ru javapackages-tools:201801.cfg javapackages-tools:201902.cfg
--- javapackages-tools:201801.cfg 2021-04-11 19:14:31.433162184 -0400
+++ javapackages-tools:201902.cfg 2021-04-11 20:37:29.629844295 -0400
@@ -36,7 +36,7 @@
"""
config_opts['module_setup_commands'] = [
- ('enable', 'javapackages-tools:201801'),
+ ('enable', 'javapackages-tools:201902'),
]
[me@centos8t01 modules]$
- build 201801 first then 201901, otherwise javapackages-tools:201902 one will failed.
[me@centos8t01 r8-stream-201902]$ rockybuild javapackages-tools:201902
<snipped>
Wrote: /builddir/build/RPMS/apache-ivy-2.5.0~rc1-2.el8_3.noarch.rpm
Wrote: /builddir/build/RPMS/apache-ivy-javadoc-2.5.0~rc1-2.el8_3.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.NdGwha
+ umask 022
+ cd /builddir/build/BUILD
+ cd apache-ivy-2.5.0-rc1
+ /usr/bin/rm -rf /builddir/build/BUILDROOT/apache-ivy-2.5.0~rc1-2.el8_3.x86_64
+ exit 0
Finish: rpmbuild apache-ivy-2.5.0~rc1-2.el8.src.rpm
Finish: build phase for apache-ivy-2.5.0~rc1-2.el8.src.rpm
INFO: Done(SRPMS/apache-ivy-2.5.0~rc1-2.el8.src.rpm) Config(javapackages-tools:201902) 1 minutes 9 seconds
INFO: Results and/or logs in: /home/me/rocky/apache-ivy/r8-stream-201902
INFO: Cleaning up build root ('cleanup_on_success=True')
Start: clean chroot
Finish: clean chroot
Finish: run
+ cp apache-ivy-2.5.0~rc1-2.el8_3.noarch.rpm apache-ivy-2.5.0~rc1-2.el8_3.src.rpm apache-ivy-javadoc-2.5.0~rc1-2.el8_3.noarch.rpm SRPMS/apache-ivy-2.5.0~rc1-2.el8.src.rpm /usr/share/nginx/html/repo/
+ createrepo /usr/share/nginx/html/repo
Directory walk started
Directory walk done - 218 packages
Temporary output repo path: /usr/share/nginx/html/repo/.repodata/
Preparing sqlite DBs
Pool started (with 5 workers)
Pool finished
[me@centos8t01 r8-stream-201902]$
[me@centos8t01 rocky]$ ls -lrt /usr/share/nginx/html/repo/|grep java
-rw-r--r-- 1 me me 641412 Apr 11 20:47 apache-ivy-javadoc-2.4.0-14.el8_3.noarch.rpm
-rw-r--r-- 1 me me 665504 Apr 11 20:49 apache-ivy-javadoc-2.5.0~rc1-2.el8_3.noarch.rpm
[me@centos8t01 rocky]$
- Question, not sure why 201801 has to build first.
RFE: Using sed instead of curl as example in README.md
Not sure if there is other rpm make time shorter than sed.
- sed take two minutes while curl took 26 minutes.
[me@centos8t01 devtools]$ time make build sed
<snipped>
+ exit 0
Finish: rpmbuild sed-4.5-2.el8.src.rpm
Finish: build phase for sed-4.5-2.el8.src.rpm
INFO: Done(/home/me/rocky/rpms/sed/r8/SRPMS/sed-4.5-2.el8.src.rpm) Config(baseos) 2 minutes 5 seconds
INFO: Results and/or logs in: /home/me/rocky/builds/sed/r8
INFO: Cleaning up build root ('cleanup_on_success=True')
<snipped>
Pool started (with 5 workers)
Pool finished
real 2m13.505s
user 1m9.002s
sys 0m27.331s
[me@centos8t01 devtools]$time make build curl
<snipped>
Finish: rpmbuild curl-7.61.1-14.el8.1.src.rpm
Finish: build phase for curl-7.61.1-14.el8.1.src.rpm
INFO: Done(/home/me/rocky/rpms/curl/r8/SRPMS/curl-7.61.1-14.el8.1.src.rpm) Config(baseos) 26 minutes 5 seconds
INFO: Results and/or logs in: /home/me/rocky/builds/curl/r8
INFO: Cleaning up build root ('cleanup_on_success=True')
<snipped>
Pool finished
real 26m15.985s
user 20m34.508s
sys 2m0.709s
[me@centos8t01 devtools]$
RFC: Merging rocky* commands into one
Is this a good idea or you rather keeping commands separated ?
Also command is 1 character shorter to type ;)
'go get' is no longer supported outside a module
Following these instructions, when I run make
I get this error:
[trecker@localhost ~]$ cd devtools-main/
[trecker@localhost devtools-main]$ make
go get gopkg.in/yaml.v2
go: go.mod file not found in current directory or any parent directory.
'go get' is no longer supported outside a module.
To build and install a command, use 'go install' with a version,
like 'go install example.com/cmd@latest'
For more information, see https://golang.org/doc/go-get-install-deprecation
or run 'go help get' or 'go help install'.
make: *** [Makefile:18: .go-setup] Error 1
Failed to install devtools on Rocky Linux 9
I follow instructions to install devtools on Rocky Linux 9 but get the following error message:
$ sudo make install
sudo dnf config-manager --set-enabled powertools
Error: No matching repo to modify: powertools.
make: *** [Makefile:12: .system] Error 1
I'm newbie of RL .
No such file or directory: 'javapackages-tools:201801'
- install
git pull
make
sudo make install
- Test for pull#3.
$ rockyget apache-ivy
$ cd apache-ivy/r8-stream-201801
$ rockybuild javapackages-tools:201801
- rockyget
[me@centos8t01 ~]$ cat /usr/local/bin/rockyget
[me@centos8t01 ~]$ cat /usr/local/bin/rockyget
#!/bin/sh
set -xe
mkdir /tmp/srpmproc-cache 2>/dev/null ||:
srpmproc --version 8 --source-rpm "$1" --upstream-prefix https://git.rockylinux.org/staging --storage-addr file:///tmp/srpmproc-cache --tmpfs-mode "$1"
[me@centos8t01 ~]$
* rockybuild
[me@centos8t01 r8-stream-201801]$ cat /usr/local/bin/rockybuild
#!/bin/sh
ARCH=uname -m
if [ -z "$1" ]; then
if basename $PWD | grep -q "^r8-"; then
echo "ERROR: This branch seems to be a module, append the module:stream to the rockybuild command"
exit 255
fi
MOCKCONFIG="/etc/mock/rocky.$ARCH/baseos.cfg"
else
if [ -f "/etc/mock/rocky.$ARCH/modules/$1.cfg" ]; then
MOCKCONFIG="/etc/mock/rocky.$ARCH/modules/$1.cfg"
shift
else
echo "ERROR: Could not find module config for: '$1'"
exit 255
fi
fi
set -xe
createrepo /usr/share/nginx/html/repo
rpmbuild -bs --nodeps --define "%_topdir pwd
" --define "dist .el8" SPECS/*.spec
touch /tmp/mock-include.tpl
mock -r "$MOCKCONFIG" --resultdir=pwd
SRPMS/*.src.rpm --cleanup-after "$@"
cp .rpm SRPMS/.src.rpm /usr/share/nginx/html/repo/
createrepo /usr/share/nginx/html/repo
[me@centos8t01 r8-stream-201801]$
* build logs
[me@centos8t01 ~]$ ls
github go rocky rpmbuild
[me@centos8t01 ~]$ cd rocky/
[me@centos8t01 rocky]$ ls
apache-ivy curl
[me@centos8t01 rocky]$ rm -rf apache-ivy/
[me@centos8t01 rocky]$ rockyget apache-ivy
- mkdir /tmp/srpmproc-cache
- :
- srpmproc --version 8 --source-rpm apache-ivy --upstream-prefix https://git.rockylinux.org/staging --storage-addr file:///tmp/srpmproc-cache --tmpfs-mode apache-ivy
2021/04/11 15:46:53 using tmpfs dir: apache-ivy
2021/04/11 15:46:54 tag: imports/c8-stream-201801/apache-ivy-2.4.0-14.module+el8+2598+06babf2e
2021/04/11 15:46:54 tag: imports/c8-beta-stream-201801/apache-ivy-2.4.0-14.module+el8+2598+06babf2e
2021/04/11 15:46:54 tag: imports/c8-stream-201902/apache-ivy-2.5.0%7erc1-2.module+el8.2.0+4938+c0cffa5b
2021/04/11 15:46:54 using remote: https://git.rockylinux.org/staging/rpms/apache-ivy.git
2021/04/11 15:46:54 using refspec: +refs/heads/r8-stream-201801:refs/remotes/origin/r8-stream-201801
2021/04/11 15:46:54 set reference to ref: refs/heads/r8-stream-201801
2021/04/11 15:46:54 checking out upstream refspec +refs/heads/c8-stream-201801:refs/tags/imports/c8-stream-201801/apache-ivy-2.4.0-14.module+el8+2598+06babf2e
2021/04/11 15:46:54 downloading 1efa73e73b5fc14ef003ff2fcb182f039db33ce2 from blob storage
2021/04/11 15:46:54 set reference to ref: refs/heads/r8-stream-201801
2021/04/11 15:46:54 info: patch repo not found
2021/04/11 15:46:54 using remote: https://git.rockylinux.org/staging/rpms/apache-ivy.git
2021/04/11 15:46:54 using refspec: +refs/heads/r8-stream-201902:refs/remotes/origin/r8-stream-201902
2021/04/11 15:46:54 set reference to ref: refs/heads/r8-stream-201902
2021/04/11 15:46:54 checking out upstream refspec +refs/heads/c8-stream-201902:refs/tags/imports/c8-stream-201902/apache-ivy-2.5.0%7erc1-2.module+el8.2.0+4938+c0cffa5b
2021/04/11 15:46:55 downloading c48b7254fced9f5c6d544b60efa2be47eae869bb from blob storage
2021/04/11 15:46:55 set reference to ref: refs/heads/r8-stream-201902
2021/04/11 15:46:55 info: patch repo not found
{}
[me@centos8t01 rocky]$ cd apache-ivy/r8-stream-201801
[me@centos8t01 r8-stream-201801]$ ls
SOURCES SPECS
[me@centos8t01 r8-stream-201801]$ rockybuild javapackages-tools:201801 - createrepo /usr/share/nginx/html/repo
Directory walk started
Directory walk done - 214 packages
Temporary output repo path: /usr/share/nginx/html/repo/.repodata/
Preparing sqlite DBs
Pool started (with 5 workers)
Pool finished
++ pwd - rpmbuild -bs --nodeps --define '%_topdir /home/me/rocky/apache-ivy/r8-stream-201801' --define 'dist .el8' SPECS/apache-ivy.spec
Wrote: /home/me/rocky/apache-ivy/r8-stream-201801/SRPMS/apache-ivy-2.4.0-14.el8.src.rpm - touch /tmp/mock-include.tpl
++ pwd - mock -r /etc/mock/rocky8.cfg --resultdir=/home/me/rocky/apache-ivy/r8-stream-201801 SRPMS/apache-ivy-2.4.0-14.el8.src.rpm --cleanup-after javapackages-tools:201801
INFO: mock.py version 2.9 starting (python version = 3.6.8, NVR = mock-2.9-1.el8)...
Start(bootstrap): init plugins
INFO: selinux disabled
Finish(bootstrap): init plugins
Start: init plugins
INFO: selinux disabled
Finish: init plugins
INFO: Signal handler active
Start: run
ERROR: Cannot find/open srpm: javapackages-tools:201801. Error: [Errno 2] No such file or directory: 'javapackages-tools:201801'
[me@centos8t01 r8-stream-201801]$
remove module code and makefile references
we should be using LazyBuilder for module builds
RFE: Ability to compare Rocky VS upstream RPM
- WHAT: Nee to see/understand diff of rocky rpm changes if any, per @gmkurtzer idea.
- WHY: So we can show rocky is identical with upstream except the needed diffs we introduced.
- HOW: Per Googling, See already available tool at https://github.com/lvc/pkgdiff .
From pkgdiff -h excerpts
EXAMPLES:
pkgdiff OLD.rpm NEW.rpm
pkgdiff OLD.deb NEW.deb
pkgdiff OLD.tar.gz NEW.tar.gz
ARGUMENTS:
PKG1
Path to the old version of a package (RPM, DEB, TAR.GZ, etc).
If you need to analyze a group of packages then you can
pass an XML-descriptor of this group (VERSION.xml file):
<version>
/* Group version */
</version>
<group>
/* Group name */
</group>
<packages>
/path1/to/package(s)
/path2/to/package(s)
...
</packages>
- End
rockymockgen: missing yaml module/package
Following the directions, seems to be a missing module for go ( both zip file and git main
branch.
[root@dhcp-10-11-31-211 ~]# git clone https://github.com/rocky-linux/devtools.git
Cloning into 'devtools'...
remote: Enumerating objects: 294, done.
remote: Counting objects: 100% (294/294), done.
remote: Compressing objects: 100% (223/223), done.
remote: Total 294 (delta 111), reused 221 (delta 65), pack-reused 0
Receiving objects: 100% (294/294), 143.29 KiB | 3.18 MiB/s, done.
Resolving deltas: 100% (111/111), done.
[root@dhcp-10-11-31-211 ~]# cd devtools/
[root@dhcp-10-11-31-211 devtools]# make
go get gopkg.in/yaml.v2
touch .go-setup
go build -o src/rockymockgen src/rockymockgen.go
src/rockymockgen.go:8:5: no required module provides package gopkg.in/yaml.v2: go.mod file not found in current directory or any parent directory; see 'go help modules'
make: *** [Makefile:31: src/rockymockgen] Error 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.