LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 12-16-2016, 08:50 PM   #61
atelszewski
Member
 
Registered: Aug 2007
Distribution: Slackware
Posts: 798

Rep: Reputation: Disabled

Hi,

Quote:
Originally Posted by bassmadrigal View Post

@atelszewski, it looks like the krusader source isn't available anymore. Have you changed your server around or is something broke? Unfortunately, I deleted my previously downloaded source during the qt5 build fiasco thinking it might've been spaced related (it wasn't).

Code:
ERROR: Download failed: Network failure.
  http://mirror.telszewski.net/source/krusader/krusader-git_20150309_13fa966.tar.xz
My server is down and will be for some more days.
If you don't find another mirror, let me know how can I pass you the tarball.

--
Best regards,
Andrzej Telszewski
 
Old 12-16-2016, 09:45 PM   #62
bassmadrigal
Senior Member
 
Registered: Nov 2003
Location: Newport News, VA
Distribution: Slackware
Posts: 4,571

Original Poster
Rep: Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503
Quote:
Originally Posted by atelszewski View Post
My server is down and will be for some more days.
If you don't find another mirror, let me know how can I pass you the tarball.
I tried to find it, but came up short. How big is the file? I created a quick form on my server to allow uploads (sorry, it's pretty basic... once you click the upload button, nothing will happen until it completes the upload, then it will move to another page). It currently has a limit of 8MB, but I think that should be enough for the source.

http://bassmadrigal.tk/upload-form.php

Or you could try emailing it (my email is in the patch below).

Thanks!
 
Old 12-16-2016, 09:51 PM   #63
atelszewski
Member
 
Registered: Aug 2007
Distribution: Slackware
Posts: 798

Rep: Reputation: Disabled
Hi,

1.7MB, you should have it right now.
Check the MD5, it must be the same as on SBo.

--
Best regards,
Andrzej Telszewski
 
1 members found this post helpful.
Old 12-16-2016, 10:04 PM   #64
bassmadrigal
Senior Member
 
Registered: Nov 2003
Location: Newport News, VA
Distribution: Slackware
Posts: 4,571

Original Poster
Rep: Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503
Got it. It's building now. Thanks!
 
Old 12-17-2016, 12:53 AM   #65
atelszewski
Member
 
Registered: Aug 2007
Distribution: Slackware
Posts: 798

Rep: Reputation: Disabled
Hi,

Quote:
Originally Posted by bassmadrigal View Post
I think this would be the ideal situation to add a IGNORE=yes|no option within the hintfile. This would tell slackpkg to ignore any changes to that slackbuild and use the previously compiled version. This could be useful for both developers and end-users, developers for the reasons you state... any minor change would invoke at least rebuilding that, if not a whole chain of other programs, possibly for a simple change of the README. End-users could use it to sit at a specific version if a newer one adds incompatibilities or for something like qt5. That takes forever and a day to compile on some systems (if it compiles at all), and it would be nice to allow your repo to sit at a specific version... then if you deem an upgrade is worth it, you can remove the IGNORE (or change it to no).
That might be one of the options.

But still, I would prefer to be:
1) given all the reasons for a rebuild,
2) asked if I want to rebuild or mark the package as rebuilt without actually rebuilding.

Quote:
Originally Posted by bassmadrigal View Post
I think for developers it would also be extremely handy to have a /etc/slackrepo/$repo/slackbuilds/ folder that can either override files in the regular repo (kinda like your own hintfiles can override the pre-provided ones -- this could allow you to easily change SlackBuilds if you need to tailor them to your system) or you can add your own SlackBuilds so you can test them with the various packages before submission to SBo. If there's an update for one of those programs pushed to SBo, you could simply tell the user and ask which version they want to use (if you really wanted, you could provide a diff like slackpkg does with .new files...
Isn't this better handled by git itself?

I have my local branch based on the upstream one.
Whenever there is a public update, I rebase my local branch on it.
Then I do the diff between the local and upstream branches and I immediately see if there are changes requiring my intervention.

--
Best regards,
Andrzej Telszewski
 
Old 12-17-2016, 08:17 AM   #66
bassmadrigal
Senior Member
 
Registered: Nov 2003
Location: Newport News, VA
Distribution: Slackware
Posts: 4,571

Original Poster
Rep: Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503
Quote:
Originally Posted by atelszewski View Post
Isn't this better handled by git itself?

I have my local branch based on the upstream one.
Whenever there is a public update, I rebase my local branch on it.
Then I do the diff between the local and upstream branches and I immediately see if there are changes requiring my intervention.
For people who are familiar with git, probably, but I have no idea how to rebase anything (although, I imagine it wouldn't take much to learn). Up until earlier this year, I had no clue how to use git beyond cloning a repo so I could build from the latest source. Luckily, David took some time to help me learn the basics (branching, commits, and creating patches), but I'm still not that comfortable with it and I still have to google a lot of the commands (although, I have those basics I mentioned earlier down).

Currently, this program is still very usable for someone who has absolutely no experience with git (minus editing SlackBuilds or adding your own), so it would be nice to have the ability to override SlackBuilds or add your own without needing to learn git. It just seems like a steep learning curve just to be able to edit some files or add your own.
 
Old 12-30-2016, 11:48 PM   #67
bassmadrigal
Senior Member
 
Registered: Nov 2003
Location: Newport News, VA
Distribution: Slackware
Posts: 4,571

Original Poster
Rep: Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503
Any thoughts on why slackrepo is downloading a source file that's a different name than what's in the .info file? I just got my transgui SlackBuild added to SBo and then went to build it using slackrepo. Unfortunately, when it downloads the source, instead of downloading transgui-5.5.0.tar.gz like is specified in the DOWNLOAD url, it downloads transmisson-remote-gui-5.5.0.tar.gz (which is the name of the github repo).

If I use wget or the browser on the $DOWNLOAD link, it downloads it with the expected name, but slackrepo doesn't. It looks like if content-disposition is used, it renames the download, but bare wget doesn't and leaves it as expected. Is this a new github thing, or did I just misunderstand how it works (since I never use content-disposition)? Or do I need to rework my SlackBuild to deal with this?

(NOTE: The repo being dirty should be unrelated as it is only for the qt5-repack package I have under the libaries/ section)

Code:
DOWNLOAD="https://github.com/leonsoft-kras/transmisson-remote-gui/archive/v5.5.0/transgui-5.5.0.tar.gz"
Code:
root@slackrepo:~# slackrepo --keep-tmp -vv build transgui
Checking whether git is clean ... no.
Indexing SlackBuilds ... done.
git repo: /var/lib/slackrepo/SBo/slackbuilds
branch:   14.2
date:     Fri Dec 30 20:24:46 EST 2016
revision: aed98cb0ea115318492ea983996224a3824c6a03 (DIRTY)
title:    Public www update: Sat Dec 31 01:24:19 UTC 2016.

================================================================================
network/transgui                                                        23:30:43
================================================================================

Calculating dependencies ...
Dependency tree:
network/transgui (add version 5.5.0)
  development/lazarus (ok)
    development/fpc-source (ok)
    development/fpc (ok)

Starting network/transgui (add version 5.5.0) ------------------------- 23:30:44
Downloading source files ...
--2016-12-30 23:30:45--  https://github.com/leonsoft-kras/transmisson-remote-gui/archive/v5.5.0/transgui-5.5.0.tar.gz
Resolving github.com (github.com)... 192.30.253.113, 192.30.253.112
Connecting to github.com (github.com)|192.30.253.113|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/leonsoft-kras/transmisson-remote-gui/tar.gz/v5.5.0 [following]
--2016-12-30 23:30:45--  https://codeload.github.com/leonsoft-kras/transmisson-remote-gui/tar.gz/v5.5.0
Resolving codeload.github.com (codeload.github.com)... 192.30.253.121, 192.30.253.120
Connecting to codeload.github.com (codeload.github.com)|192.30.253.121|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: 'transmisson-remote-gui-5.5.0.tar.gz'

transmisson-remote-gui-5.5.0.tar.gz      [ <=>                                                                ] 962.46K  5.59MB/s    in 0.2s

2016-12-30 23:30:45 (5.59 MB/s) - 'transmisson-remote-gui-5.5.0.tar.gz' saved [985559]

Verifying source files ... done.
Installing dependencies ...
fpc-3.0.0-x86_64-1_SBo: Free Pascal is a Pascal compiler ............... [142M]
fpc-source-3.0.0-noarch-1_SBo: Free Pascal sources ..................... [236M]
lazarus-1.6.2-x86_64-1_SBo: Rapid Application Development Tool for FreeP [515M]
Running transgui.SlackBuild ...
env MAKEFLAGS='-j4' /usr/libexec/slackrepo/unbuffer nice -n 5 sh ./transgui.SlackBuild

---->8-------->8-------->8-------->8-------->8-------->8-------->8-------->8----

tar: /tmp/slackrepo.Cn13WW/slackbuild_transgui/transgui-5.5.0.tar.gz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

----8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<----

network/transgui: transgui.SlackBuild failed (status 2)                 23:31:21
tar: /tmp/slackrepo.Cn13WW/slackbuild_transgui/transgui-5.5.0.tar.gz: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
See /var/log/slackrepo/SBo/network/transgui/build.log
Unmounting chroot ... done.
:-( network/transgui FAILED )-:

================================================================================
SUMMARY                                                                 23:31:23
================================================================================

Logfile:     /var/log/slackrepo/SBo/slackrepo_2016-12-30_23:30:42.log
Runtime:     0h 0m 42s
Failed:      1
  network/transgui
 
Old 12-31-2016, 05:45 AM   #68
slalik
Member
 
Registered: Nov 2014
Location: Moscow, Russia
Distribution: Slackware
Posts: 119

Rep: Reputation: 54
Plain wget downloads what is asked, for example
Code:
wget https://github.com/leonsoft-kras/transmisson-remote-gui/archive/v5.5.0/foo.tar.gz
gives foo.tar.gz.

With "--content-disposition" it always gives the name from "Content-Disposition" headers:
Code:
wget --content-disposition https://github.com/leonsoft-kras/transmisson-remote-gui/archive/v5.5.0/foo.tar.gz
gives transmisson-remote-gui-5.5.0.tar.gz
 
1 members found this post helpful.
Old 12-31-2016, 09:52 AM   #69
bassmadrigal
Senior Member
 
Registered: Nov 2003
Location: Newport News, VA
Distribution: Slackware
Posts: 4,571

Original Poster
Rep: Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503
Yeah, I ended up figuring that out. I'll just have to rework two of my scripts to make sure the downloads always match what content-disposition headers show (one I tried to shorten the name, the other I tried to change the version to an SBo compatible one... I'll just have to use SRCNAM for the first and SRCVER for the second).

I think it was just my misunderstanding on how github managed their downloads. I thought I could rename them to whatever, regardless of the content-disposition, by changing the filename after the release version. I didn't realize that content disposition will override the filename.

slackrepo runs into this issue because David specified --content-disposition in the wget command (which was a good idea). sbopkg does not do this, so when Willy tested the package using sbopkg, it built fine.

Code:
wget $wgetboredom $wgetprogress --no-check-certificate --content-disposition -U "$useragent" "$url"

Last edited by bassmadrigal; 12-31-2016 at 09:55 AM.
 
Old 12-31-2016, 01:47 PM   #70
55020
Senior Member
 
Registered: Sep 2009
Location: Yorks. W.R. 167397
Distribution: Slackware
Posts: 1,136
Blog Entries: 4

Rep: Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565
Mm, sorry about that. You have exactly the right interpretation of the problem.

The only reason ever why I used --content-disposition was to be deliberately evil. It's intended to find download problems that people will experience when clicking the links on the SBo website and building manually. Unfortunately, it's a bloody awful design decision for actually building packages...

When I re-do the whole download thing to use an sbosrcarch style md5sum tree, it'll be able to downgrade this error to a warning and do the build.
 
Old 03-29-2017, 08:16 PM   #71
bassmadrigal
Senior Member
 
Registered: Nov 2003
Location: Newport News, VA
Distribution: Slackware
Posts: 4,571

Original Poster
Rep: Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503Reputation: 2503
Ok, I'm at it again with another patch for slackrepo. This adds the ability to remove dependencies from the REQUIRES line by specifying a DELREQUIRES line in your hint file for that program (DELREQUIRES was suggested earlier in the thread by atelszewski). It should only apply to the package for the hintfile, not any parent or children in the dependency tree.

This was my first major foray into arrays, so hopefully it is problem free. Let me know if you have any issues.

To apply the patch, save the it and run the following. This is based on his git master, which I think is slightly ahead of the package. If it doesn't apply, let me know and I'll try to rework it for the RC1 release.

Code:
cd /usr/libexec/slackrepo/functions.d/
patch -p3 < /location/to/delrequires.patch
Here's the patch:

Code:
From adf13c0cb6d59ce37aa9a587e22618b1fea005c6 Mon Sep 17 00:00:00 2001
From: Jeremy Hansen <jebrhansen+SBo@gmail.com>
Date: Wed, 29 Mar 2017 19:19:17 -0400
Subject: [PATCH] Add DELREQUIRES support to remove dependencies.

---
 libexec/functions.d/parsefunctions.sh | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/libexec/functions.d/parsefunctions.sh b/libexec/functions.d/parsefunctions.sh
index fc7cd18..226919e 100755
--- a/libexec/functions.d/parsefunctions.sh
+++ b/libexec/functions.d/parsefunctions.sh
@@ -451,7 +451,7 @@ function parse_info_and_hints
   if [ -n "${HINTFILE[$itemid]}" ] && [ -s "${HINTFILE[$itemid]}" ]; then
     local SKIP \
           VERSION ADDREQUIRES OPTIONS GROUPADD USERADD CONFLICTS INSTALL NUMJOBS ANSWER CLEANUP \
-          PRAGMA SPECIAL ARCH DOWNLOAD MD5SUM SHA256SUM
+          PRAGMA SPECIAL ARCH DOWNLOAD MD5SUM SHA256SUM DELREQUIRES
     . "${HINTFILE[$itemid]}"
 
     # Process the hint file's variables individually (looping for each variable would need
@@ -581,7 +581,8 @@ function parse_info_and_hints
       ${DOWNLOAD+"DOWNLOAD=\"$DOWNLOAD\""} \
       ${MD5SUM+"MD5SUM=\"$MD5SUM\""} \
       ${SHA256SUM+"SHA256SUM=\"$SHA256SUM\""} \
-      ${ADDREQUIRES+"ADDREQUIRES=\"$ADDREQUIRES\""} )"
+      ${ADDREQUIRES+"ADDREQUIRES=\"$ADDREQUIRES\""} \
+      ${DELREQUIRES+"DELREQUIRES=\"$DELREQUIRES\""} )"
 
     unset VERSION OPTIONS GROUPADD USERADD \
           CONFLICTS \
@@ -603,6 +604,13 @@ function parse_info_and_hints
       INFOREQUIRES[$itemid]=""
     fi
   else
+    # If DELREQUIRES is set, remove those entries from the INFOREQUIRES array
+    if [ -v DELREQUIRES ]; then
+      for DELREQ in ${DELREQUIRES[@]}; do
+        INFOREQUIRES[$itemid]="$(echo ${INFOREQUIRES[$itemid]//$DELREQ/})"
+      done
+    fi
+
     # Get rid of %README% silently, and append ADDREQUIRES
     INFOREQUIRES[$itemid]="$(echo ${INFOREQUIRES[$itemid]//%README%/} ${ADDREQUIRES})"
   fi
-- 
2.9.0
 
Old 06-04-2017, 06:35 PM   #72
atelszewski
Member
 
Registered: Aug 2007
Distribution: Slackware
Posts: 798

Rep: Reputation: Disabled
Hi,

@David Would it be possible to replace:
Code:
[ -f /lib/modules/"$(uname -r)"/kernel/fs/overlayfs/overlay.ko ] && SYS_OVERLAYFS='y'
with
Code:
[ -d /sys/module/overlay ] && SYS_OVERLAYFS='y'
?

I won't go into details now, but it solves the problem with my particular setup.
(If you need the details, I can provide them later on).

--
Best regards,
Andrzej Telszewski
 
Old 06-04-2017, 08:10 PM   #73
55020
Senior Member
 
Registered: Sep 2009
Location: Yorks. W.R. 167397
Distribution: Slackware
Posts: 1,136
Blog Entries: 4

Rep: Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565
Sure! that looks a lot better thanks. Also, looking back up thread, DELREQUIRES is just what we need for -current. Hopefully this week
 
Old 09-11-2017, 09:12 AM   #74
55020
Senior Member
 
Registered: Sep 2009
Location: Yorks. W.R. 167397
Distribution: Slackware
Posts: 1,136
Blog Entries: 4

Rep: Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565Reputation: 1565
Hi folks, please forgive the thread bump but it relates to previous discussions here. It's now potentially quite close to a new release and I'm wondering what your priorities are between (a) getting a release done, and (b) doing some requests that I haven't done yet, and (c) any other requests you might have.

First, this keeps coming up again and again

Quote:
Originally Posted by atelszewski View Post
But still, I would prefer to be: 1) given all the reasons for a rebuild, 2) asked if I want to rebuild or mark the package as rebuilt without actually rebuilding.
Quote:
Originally Posted by bassmadrigal View Post
IGNORE=yes|no option within the hintfile. This would tell slackpkg to ignore any changes to that slackbuild and use the previously compiled version
Quote:
Originally Posted by atelszewski View Post
developing SlackBuilds becomes a pain and it boils down to the automatic rebuilds. I would love to see a possibility of preventing rebuilding of a package and marking it as up to date. It would be helpful in situation where you, for example: update the README, update the download URL in the .info, and so on.
Quote:
Originally Posted by slalik View Post
when slackrepo builds a package that already installed, it upgrades it to the newly built version. This is not always good
I think if I make the SKIP= hint non-fatal, it will have the version-freezing effect that you all want, but I haven't yet experimented with it. This seems to be your number one priority, is that correct?

There's now a --preview control argument that shows what would be updated or rebuilt, but doesn't do any builds. It's like a very lazy --dry-run. This might be useful

Quote:
Originally Posted by atelszewski View Post
solution not to rebuild the package after git commit, after the commit, even if the committed SlackBuild is the same as the dirty one, then slackrepo will issue rebuild of it.
I'm close to finishing a solution, but I'm very worried that I'll add lots of new bugs when I release it.

Quote:
Originally Posted by bassmadrigal View Post
Add c++11 override to pragma
When I start looking at -current (still haven't started yet!) I'll consider this (and whatever similar fixes are frequently needed). But really, any scripts that need this are broken, and we need to send the fixes to ponce. You also mention setting arbitrary environment variables: it would definitely be good to do that in hintfiles.

Quote:
Originally Posted by atelszewski View Post
handling of build-time and run-time only dependencies
I've done BUILDTIME=, but not RUNTIME=. The whole concept of run-time only dependencies seems bogus. They still need to be built and kept up to date, and the package that depends on them might need to be updated when they change. The current setup does all that and I don't see another good way of making that happen, at the moment.

Quote:
Originally Posted by atelszewski View Post
handling of circular dependencies
I've fixed the huge bug in circular dependency detection, but I've not added any way of building circular dependencies. I think this can be done (with a new CIRCULAR= hint), but it will need lots of coding and testing.

Quote:
Originally Posted by atelszewski View Post
possibility of having source code tarballs in single/flat location,
I'm going to do a big rewrite of the source repository, but it will take a long time and there will be lots of new bugs

Quote:
Originally Posted by bassmadrigal View Post
it would also be extremely handy to have a /etc/slackrepo/$repo/slackbuilds/ folder that can override files in the regular repo
This is another frequent request and I don't think that the frequent answer ("use your own git branch") is making people happy

The best solution will need a big scary rewrite to do two things -- (1) add a 'local' repo as a first-class repo like SBo, csb etc, and (2) integrate all the repos so they can share dependencies. Maybe I should stop thinking about the best solution and just give you the worst solution

Quote:
Originally Posted by slalik View Post
'slackrepo update' doesn't want to work with my local repository directly (my guess is that slackrepo contructed to work with a remote repository)
I think this could be solved with a new start hook, but it will need some experiments before it's ready to release.

-----

So anyway, if you want to tell me what your priorities are, and to remind me of other good ideas that I've forgotten, this is your chance

Last thing -- THANKS FOR ALL THE ENCOURAGEMENT AND THANKS FOR THE GREAT NEW IDEAS
 
4 members found this post helpful.
Old 09-11-2017, 02:52 PM   #75
atelszewski
Member
 
Registered: Aug 2007
Distribution: Slackware
Posts: 798

Rep: Reputation: Disabled
Hi,

@David I will certainly comment on what you asked about.
I will soon update to the latest commit and have a look in the next couple of days.

Quote:
Originally Posted by 55020
Last thing -- THANKS FOR ALL THE ENCOURAGEMENT AND THANKS FOR THE GREAT NEW IDEAS
Oh man, it's the other way round, THANKS for the tool :-)

--
Best regards,
Andrzej Telszewski
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Two questions / wishes related to slackrepo slalik Slackware 3 07-21-2015 06:18 AM
Howto undo updates or roll system back to initial installation? suguru SUSE / openSUSE 2 01-09-2006 12:31 AM
Howto? upgrade kernel on initial boot into Sarge haertig Debian 12 11-13-2005 12:58 AM
Initial questions after first Linux use Foxy Mandriva 11 07-04-2004 04:55 AM
Initial setup .. umd Linux From Scratch 9 04-05-2003 01:36 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 10:13 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration