You are not logged in.

#1 2013-12-31 16:11:33

Kalrish
Member
Registered: 2013-02-27
Posts: 62

abs, umask

Hello,

I have a group, abs, that I use to build packages. The folder /home/abs, owned by this group and with permissions u=rwx,g=rws,o=---, contains modified PKGBUILDs and is the place where I build things. Packages are stored in a local repository in /var/abs/local, that is also owned by abs and that has the same permissions. That way, I can, with my normal user:

$ cd /home/abs
$ # make
$ repo-add /var/abs/local/local.db.tar /var/abs/local/{ packages_ive_built }.pkg.tar.xz
$ sudo pacman -Sy

I'd like, however, to also be able to use the abs program with my normal user. Setting the setguid bit in /var/abs would work, but

$ grep -n umask $(which abs)
265:umask 0022

makes it impossible. Why is it used? Is it needed or can it be removed? I can manually edit the script, or create a patch, but I'd like to know why it is there and if it can be safely removed from upstream.

Thanks!
Kalrish

P.S.: I use a local repository because I build almost everything (e.g., pacman -S is able to find my own packages, and make-dependencies are fetched from the packages I've built, rather than the ones in official repos). I couldn't find a better approach.

EDIT: I thought I should ask this question in the mailing lists, but I was not sure to which one should I send the message.

Last edited by Kalrish (2013-12-31 16:36:21)

Offline

#2 2014-01-01 11:17:11

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,920

Re: abs, umask

There may be a simpler alternative :
look at /etc/abs.conf and you'll see it uses a variable called ABSROOT .

you could try setting it to /home/abs/some_folder and test if that allows you to run abs as your normal user.

Last edited by Lone_Wolf (2014-01-01 11:17:55)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2014-01-01 14:39:33

ANOKNUSA
Member
Registered: 2010-10-22
Posts: 2,141

Re: abs, umask

Read the wiki pages on ABS and makepkg. To add to what Lone_Wolf said, you shouldn't run 'make' manually; you can run 'makepkg -si' to have pacman install necessary build dependencies (as well as permanent package dependencies, if you don't wish to build those yourself) and install the package when the build is complete. The file /etc/makepkg.conf lets you set a custom directory in which completed packages are stored, which you can then set as a repository using 'repo-add' if you want.

Arch really isn't designed to be an ideal source-based distro, but if you're really looking to build all your new packages from ABS, check out srcpac and pacbuilder; development hasn't been active for a while, but they should still work.

One final note: Get out of the habit of using 'pacman -Sy' to install new packages.  Pacman will first take the '-y' flag and update its database, then install the new package. That runs the risk of effectively retrofitting single packages into an out-of-date system and breaking things in the process.  You should instead update the entire system regularly, then install new stuff.  That's true whether you use pacman binaries or the ABS tree.

Offline

#4 2014-01-01 18:31:25

Kalrish
Member
Registered: 2013-02-27
Posts: 62

Re: abs, umask

Lone_Wolf wrote:

There may be a simpler alternative :
look at /etc/abs.conf and you'll see it uses a variable called ABSROOT .

you could try setting it to /home/abs/some_folder and test if that allows you to run abs as your normal user.

I would prefer to stick with /var/abs. After all, if I manage to get what I want with another directory, I should be able to do the same with /var/abs.

ANOKNUSA wrote:

Read the wiki pages on ABS and makepkg. To add to what Lone_Wolf said, you shouldn't run 'make' manually; you can run 'makepkg -si' to have pacman install necessary build dependencies (as well as permanent package dependencies, if you don't wish to build those yourself) and install the package when the build is complete. The file /etc/makepkg.conf lets you set a custom directory in which completed packages are stored, which you can then set as a repository using 'repo-add' if you want.

Oh, sorry; I didn't mean I run make manually. I was referring to the make process:

$ makepkg -o
$ src/FOLDER/configure --help | vim -
:tabnew PKGBUILD
:wq
:q!
$ rm -rf pkg src && makepkg -fsric --nocheck

About your final note, thank you. I didn't know about it; I even thought it was a good approach. My system is largely outdated,

$ pacman -Qu | wc -l
73

(plus the packages that, being present in my local repository, override those in official repos) and I indeed sometimes get into the problem of partial updates, but... my system is so slow that compiling anything when it is updated would be... hard.

Thanks for your answers. I would still like to contact the developers. Can you please tell me what mailing list I should use?

Thanks again!

Offline

#5 2014-01-01 18:45:27

falconindy
Developer
From: New York, USA
Registered: 2009-10-22
Posts: 4,111
Website

Re: abs, umask

Kalrish wrote:

Thanks for your answers. I would still like to contact the developers. Can you please tell me what mailing list I should use?

abs (the script) is essentially bit rotting. There isn't anyone interested in maintaining it.

Offline

#6 2014-01-01 19:05:03

Kalrish
Member
Registered: 2013-02-27
Posts: 62

Re: abs, umask

falconindy wrote:
Kalrish wrote:

Thanks for your answers. I would still like to contact the developers. Can you please tell me what mailing list I should use?

abs (the script) is essentially bit rotting. There isn't anyone interested in maintaining it.

Oh :/. Then, I will just modify it.

Are there any problems with it? If I can, I would love to contribute.

Last edited by Kalrish (2014-01-01 19:05:12)

Offline

#7 2014-01-01 23:28:55

ANOKNUSA
Member
Registered: 2010-10-22
Posts: 2,141

Re: abs, umask

I can't speak for the devs, but it's my understanding that the abs script isn't getting much attention because the ABS tree is maintained via Git, and since the entire tree consumes ~40Mb-50Mb of disk space, cloning then entire tree from git (and periodically pulling updates) is simpler and more efficient than maintaining a script to rsync individual files bit-by-bit.

Offline

#8 2014-01-03 22:46:32

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,920

Re: abs, umask

Maybe that git tree should be made available to regular users then ?
read-only anonymous access along with a wiki page detailing how to get/update the tree looks like a good replacement for abs


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#9 2014-01-03 22:59:50

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,559

Re: abs, umask

Arch is using SVN as a backend although there is a Git mirror. SVN is available to regular users, I gave up on the ABS a while back and switched to SVN when I need it.

https://www.archlinux.org/svn/

Offline

#10 2014-01-04 00:49:51

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,390
Website

Re: abs, umask

Lone_Wolf wrote:

Maybe that git tree should be made available to regular users then ?

It is.

https://projects.archlinux.org/svntogit/packages.git/
https://projects.archlinux.org/svntogit/community.git/

Offline

#11 2014-01-04 20:43:31

Kalrish
Member
Registered: 2013-02-27
Posts: 62

Re: abs, umask

Thanks! I will then use the SVNGIT tree.

ANOKNUSA wrote:

Arch really isn't designed to be an ideal source-based distro

Why? The Arch Build System is very powerful, and -at least for me- very beautiful. As I'm going to build a new computer, and I'd like to build everything, I've looked at the so-called "source distros" (mainly Gentoo) but I'm sure I'd miss pacman and PKGBUILDs. Is there a way to acommodate Arch for these purposes?

P.S.: I've looked at both srcpac and pacbuilder and the later seems promising. However, my only computer has just got broken (damn laptops) so I can't test it.

Last edited by Kalrish (2014-01-04 20:45:10)

Offline

#12 2014-01-04 21:14:08

ANOKNUSA
Member
Registered: 2010-10-22
Posts: 2,141

Re: abs, umask

Allan wrote:
Lone_Wolf wrote:

Maybe that git tree should be made available to regular users then ?

It is.

https://projects.archlinux.org/svntogit/packages.git/
https://projects.archlinux.org/svntogit/community.git/

The whole packages.git tree does consist of both architectures, though, so maybe cloning the whole thing isn't a great idea...

Offline

Board footer

Powered by FluxBB