Closed mikhailnov closed 4 years ago
spectool
скачивает нормально.
Это разные программы. abf put берет файл liblqr-%{version}.tar.gz лежащий в директории проекта и отправляет его на файлс-тор.
File liblqr-0.4.2.tar.gz not found or empty, URL will be used instead. Skipping.
Вот это означает, что нужного файла в директории текущей не существует. Вот собственно сама проверка. Файла нет, заливать нечего, появляется сообщение. https://github.com/OpenMandrivaSoftware/abf-console-client/blob/master/abf/console/misc.py#L548
spectool эта штуковина для того чтобы скачать файлы не с АБФ, а из Source
Я на rosa2016.1 всегда делал так: менял цифры в спеке, делал abf put (при этом файла не лежало в папке), он сам все скачивал и закачивал на файлостор, без лишних телодвижений
Можно такое вернуть/сделать?
попробуй такое сначала echo '%_disable_source_fetch 0' >>~/.rpmmacros
А это не вызвано тем, что в rosa2016.1 rpmbuild умеет сам скачать из инета исходники? В текущем rpm4 этого нет.
А это не вызвано тем, что в rosa2016.1 rpmbuild умеет сам скачать из инета исходники? В текущем rpm4 этого нет.
Скорее всего это так и есть, за скачивание исходников из сети отвечает %_disable_source_fetch 0'
abf-put Broken
rubygem-glib2]$ abf put -v
Initializing models for https://abf.openmandriva.org
2020-02-14 02:24:50,598 DEBUG in abf:put:805: PUT started
2020-02-14 02:24:50,598 DEBUG in abf:_update_location:1546: Updating project location for /home/colin/Development/rubygem-gtk2/rubygem-glib2
2020-02-14 02:24:50,599 DEBUG in misc.py:execute_command:367: Executing command: ['git', 'remote', 'show', 'origin', '-n']
2020-02-14 02:24:50,605 DEBUG in misc.py:execute_command:408: Child returncode was: 0
2020-02-14 02:24:50,605 DEBUG in misc.py:upload_files:497: Uploading files for directory /home/colin/Development/rubygem-gtk2/rubygem-glib2
2020-02-14 02:24:50,618 DEBUG in misc.py:is_text_file:462: Magic type of file glib2-3.4.1.gem is application/x-tar; charset=binary
2020-02-14 02:24:50,618 DEBUG in jsn.py:upload_file:256: Looking for "glib2-3.4.1.gem" in file-store...
2020-02-14 02:24:50,618 DEBUG in jsn.py:upload_file:258: File hash is 48f8b780bb83b72762e9d762d916e3ccbb63c787
2020-02-14 02:24:50,618 DEBUG in jsn.py:get_url_contents:145: Fetching url https://file-store.openmandriva.org/api/v1/file_stores.json?hash=48f8b780bb83b72762e9d762d916e3ccbb63c787
2020-02-14 02:24:50,619 DEBUG in jsn.py:get_url_contents:165: It was cached! ETag: W/"4f53cda18c2baa0c0354bb5f9a3ecbe5"
2020-02-14 02:24:50,966 DEBUG in jsn.py:get_url_contents:177: Getting cached result (cache was validated)
2020-02-14 02:24:50,979 INFO in jsn.py:upload_file:281: Uploading glib2-3.4.1.gem (145.0K)
Traceback (most recent call last):
File "/usr/bin/abf", line 1772, in
Itchka it's different issues your is fixed, @mikhailnov issue related to RPMv4 behaviour.
12.02.2020 16:46, Alexander Stefanov пишет:
попробуй такое сначала echo '%_disable_source_fetch 0' >>~/.rpmmacros
Не помогает.
С %_disable_source_fetch 0
по abf rpmbuild
тарболл стал скачиваться, но abf put не работает.
abf put всё-таки работает как задумано. Здесь в коде нет ничего что бы скачивало исходник из SourceХ https://github.com/OpenMandrivaSoftware/abf-console-client/blob/master/abf/console/misc.py#L496 как нет и вызова rpm Попробуй стрейсом выловить кто именно скачивает source при abf put в дистре с rpm5
180 stat("asciidoc-py3-986f99d.tar.gz", 0x7ffccbc58590) = -1 ENOENT (Нет такого файла или каталога)
180 stat("/home/user/rpmbuild/SOURCES/asciidoc-py3-986f99d.tar.gz", {st_mode=S_IFREG|0644, st_size=576929, ...}) = 0
180 stat("/home/user/rpmbuild/SOURCES/asciidoc-py3-986f99d.tar.gz", {st_mode=S_IFREG|0644, st_size=576929, ...}) = 0
180 stat("/home/user/rpmbuild/SOURCES/asciidoc-py3-986f99d.tar.gz", {st_mode=S_IFREG|0644, st_size=576929, ...}) = 0
180 stat("/home/user/.magic.mgc", 0x7ffccbc57f60) = -1 ENOENT (Нет такого файла или каталога)
180 stat("/home/user/.magic", 0x7ffccbc57f60) = -1 ENOENT (Нет такого файла или каталога)
180 access("/usr/share/misc/magic.mime.mgc", R_OK) = -1 ENOENT (Нет такого файла или каталога)
180 open("/usr/share/misc/magic.mgc", O_RDONLY) = 3
180 fstat(3, {st_mode=S_IFREG|0644, st_size=4936744, ...}) = 0
180 mmap(NULL, 4936744, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0x7fb9474d9000
180 close(3) = 0
180 mprotect(0x7fb9474d9000, 4936744, PROT_READ) = 0
180 lstat("/home/user/rpmbuild/SOURCES/asciidoc-py3-986f99d.tar.gz", {st_mode=S_IFREG|0644, st_size=576929, ...}) = 0
180 stat("/home/user/rpmbuild/SOURCES/asciidoc-py3-986f99d.tar.gz", {st_mode=S_IFREG|0644, st_size=576929, ...}) = 0
180 open("/home/user/rpmbuild/SOURCES/asciidoc-py3-986f99d.tar.gz", O_RDONLY) = 3
180 fcntl(3, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
180 fcntl(3, F_SETFL, O_RDONLY|O_LARGEFILE) = 0
180 read(3, "\37\213\10\0\0\0\0\0\0\3\354[ko\333H\226\355\317\372\25\0054\260\2643\221\314\247(\32\223"..., 1048576) = 576929
180 close(3) = 0
180 open("/home/user/rpmbuild/SOURCES/asciidoc-py3-986f99d.tar.gz", O_RDONLY) = 3
180 fstat(3, {st_mode=S_IFREG|0644, st_size=576929, ...}) = 0
180 fstat(3, {st_mode=S_IFREG|0644, st_size=576929, ...}) = 0
180 read(3, "\37\213\10\0\0\0\0\0\0\3\354[ko\333H\226\355\317\372\25\0054\260\2643\221\314\247(\32\223"..., 1048576) = 576929
180 read(3, "", 471040) = 0
180 read(3, "", 1048576) = 0
180 close(3) = 0
180 open("/tmp/abf_cache/etags/7/75/751ebf2d42780d2581ffd420d6a310f866cdcc67.lock", O_RDONLY|O_CREAT, 0777) = 3
180 flock(3, LOCK_SH) = 0
180 access("/tmp/abf_cache/etags/container_file/7/75/751ebf2d42780d2581ffd420d6a310f866cdcc67.cache", F_OK) = 0
180 open("/tmp/abf_cache/etags/container_file/7/75/751ebf2d42780d2581ffd420d6a310f866cdcc67.cache", O_RDONLY) = 4
180 fstat(4, {st_mode=S_IFREG|0644, st_size=188, ...}) = 0
180 fstat(4, {st_mode=S_IFREG|0644, st_size=188, ...}) = 0
180 read(4, "(dp1\nS'http://file-store.rosalin"..., 4096) = 188
180 close(4) = 0
180 flock(3, LOCK_UN) = 0
180 close(3) = 0
180 open("/tmp/abf_cache/etags/7/75/751ebf2d42780d2581ffd420d6a310f866cdcc67.lock", O_RDONLY|O_CREAT, 0777) = 3
180 flock(3, LOCK_SH) = 0
180 access("/tmp/abf_cache/etags/container_file/7/75/751ebf2d42780d2581ffd420d6a310f866cdcc67.cache", F_OK) = 0
180 open("/tmp/abf_cache/etags/container_file/7/75/751ebf2d42780d2581ffd420d6a310f866cdcc67.cache", O_RDONLY) = 4
180 fstat(4, {st_mode=S_IFREG|0644, st_size=188, ...}) = 0
180 fstat(4, {st_mode=S_IFREG|0644, st_size=188, ...}) = 0
180 read(4, "(dp1\nS'http://file-store.rosalin"..., 4096) = 188
180 close(4) = 0
180 flock(3, LOCK_UN) = 0
180 close(3) = 0
180 open("/tmp/abf_cache/etag_data/6/60/60b2b47d44f655217211982812790417f31ae2a9.lock", O_RDONLY|O_CREAT, 0777) = 3
180 flock(3, LOCK_SH) = 0
180 access("/tmp/abf_cache/etag_data/container_file/6/60/60b2b47d44f655217211982812790417f31ae2a9.cache", F_OK) = 0
180 open("/tmp/abf_cache/etag_data/container_file/6/60/60b2b47d44f655217211982812790417f31ae2a9.cache", O_RDONLY) = 4
180 fstat(4, {st_mode=S_IFREG|0644, st_size=90, ...}) = 0
180 fstat(4, {st_mode=S_IFREG|0644, st_size=90, ...}) = 0
180 read(4, "(dp1\nS'W/\"4f53cda18c2baa0c0354bb"..., 4096) = 90
180 close(4) = 0
180 flock(3, LOCK_UN) = 0
180 close(3) = 0
PID 180 был у основного процесса abf
.
Вот скачивание:
212 execve("/usr/bin/wget", ["wget", "https://github.com/asciidoc/asci"..., "-O", "/home/user/rpmbuild/SOURCES/asci"...], 0x267a4d0 /* 22 vars */) = 0
pstree
показал так:
bash(1)---sudo(614)---abf(615)---sh(642)---sh(646)---wget(647)-+-grep(649)
Один sh здесь лишний, потому что я сделал:
mv -v /usr/bin/wget /usr/bin/wget.bin
nano /usr/bin/wget
chmod +x /usr/bin/wget
$ cat /usr/bin/wget
#!/bin/sh
pstree -hp | grep wget >> /tmp/log
/usr/bin/wget.bin "$@"
т.е. rpm нет в цепочке вызова wget
Ну в abf-c-c wget совершенно точно нигде не вызывается есть вот такое https://github.com/OpenMandrivaSoftware/abf-console-client/blob/master/abf.py#L856 но это легайси и никогда не использовалось, можно спокойно выкинуть.
В rpm5 есть такое:
macros/mandriva.in:35:%__urlgetfile(url, dest) (test -f `basename %1` && cp `basename %1` %2) || (wget %1 -O %2 || (rm -f %2 && exit 1))
rosa-2016 asciidoc (rosa2019.1) # rpm -E %__urlgetfile
(test -f `basename %1` && cp `basename %1` %2) || (wget %1 -O %2 || (rm -f %2 && exit 1))
Как раз форк шелла, о чем в выводе pstree выше есть.
Но я написал %__urlgetfile %nil
в /etc/rpm/macros
, а abf put
все равно сработал.
Да, это скачивает rpm5:
Breakpoint 1, urlGetFile (url=0x2441b40 "https://github.com/asciidoc/asciidoc-py3/archive/986f99d743d0b6ddc2014bdc8dcfa991ab9b4863/asciidoc-py3-986f99d.tar.gz", dest=dest@entry=0xc40650 "/home/user/rpmbuild/SOURCES/asciidoc-py3-986f99d.tar.gz") at url.c:621
621 cmd = rpmExpand("%{?__urlgetfile:%{__urlgetfile ", url, " ", dest, "}}", NULL);
(gdb)
Вот здесь брейк сработал: https://abf.io/soft/rpm5/blob/master/rpmio/url.c#lc-621
В таком случае очень жаль терять такой удобный функционал при переходе на rpm4.
В спеке:
Source0: https://github.com/carlobaldassi/liblqr/archive/v%{version}.tar.gz?/liblqr-%{version}.tar.gz
делаю abf put клиентом из ОМА (rpm4), пишет:File liblqr-0.4.2.tar.gz not found or empty, URL will be used instead. Skipping.
черезrosa2016.1
работает Что он хочет?